%{
#include <stdio.h>
%}
DIGIT [0-9]
KEYWORD if|else|while|int
ID [_a-zA-Z][a-zA-Z0-9]*
OP "
>"
|"
<"
|"
="
|"
<="
|"
>="
|"
+"
|"
-"
|"
*"
|"
/"
SC "'"|":"|";"|","|"("|")"
%%
{DIGIT}+ { printf("%s is a digit\n", yytext); }
{KEYWORD} { printf("%s is a keyword\n", yytext); }
{ID} { printf("%s is an identifier\n", yytext); }
{OP} { printf("%s is an operator\n", yytext); }
{SC} { printf("%s is a special character\n", yytext); }
[ \t\n]+ { /* skip whitespace */ }
. { printf("%s is an unknown character\n", yytext); }
%%
int main()
{
printf("Enter the string:\n");
yylex();
return 0;
}
int yywrap()
{
return 1;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CiV9CgpESUdJVCAgIFswLTldCktFWVdPUkQgaWZ8ZWxzZXx3aGlsZXxpbnQKSUQgICAgICBbX2EtekEtWl1bYS16QS1aMC05XSoKT1AgICAgICAiPiJ8IjwifCI9InwiPD0ifCI+PSJ8IisifCItInwiKiJ8Ii8iClNDICAgICAgIicifCI6InwiOyJ8IiwifCIoInwiKSIKCiUlCntESUdJVH0rICAgICAgICB7IHByaW50ZigiJXMgaXMgYSBkaWdpdFxuIiwgeXl0ZXh0KTsgfQp7S0VZV09SRH0gICAgICAgeyBwcmludGYoIiVzIGlzIGEga2V5d29yZFxuIiwgeXl0ZXh0KTsgfQp7SUR9ICAgICAgICAgICAgeyBwcmludGYoIiVzIGlzIGFuIGlkZW50aWZpZXJcbiIsIHl5dGV4dCk7IH0Ke09QfSAgICAgICAgICAgIHsgcHJpbnRmKCIlcyBpcyBhbiBvcGVyYXRvclxuIiwgeXl0ZXh0KTsgfQp7U0N9ICAgICAgICAgICAgeyBwcmludGYoIiVzIGlzIGEgc3BlY2lhbCBjaGFyYWN0ZXJcbiIsIHl5dGV4dCk7IH0KWyBcdFxuXSsgICAgICAgIHsgLyogc2tpcCB3aGl0ZXNwYWNlICovIH0KLiAgICAgICAgICAgICAgIHsgcHJpbnRmKCIlcyBpcyBhbiB1bmtub3duIGNoYXJhY3RlclxuIiwgeXl0ZXh0KTsgfQolJQoKaW50IG1haW4oKQp7CiAgICBwcmludGYoIkVudGVyIHRoZSBzdHJpbmc6XG4iKTsKICAgIHl5bGV4KCk7CiAgICByZXR1cm4gMDsKfQoKaW50IHl5d3JhcCgpCnsKICAgIHJldHVybiAxOwp9Cg==