%{
%}
identifier [a-zA-Z]*
digit [0-9]
letter [a-zA-Z]
int com = 0,com1 = 0;
%%
#.* { printf("\n%s is PRE PROCESSOR DIRECTIVE",yytext); }
int
|float|if
{ if
(!com
) printf
("\n keyword
%s ",yytext); }"/*" { com=1; printf("\n Comments"); }
"*/" { com=0; }
[a-z]+ { if(!com) printf("\n varibles %s ",yytext); }
{identifier}\( { if(!com) printf("\n function %s",yytext); }
\{ { if(!com) printf("\n block begines "); }
\} { if(!com) printf("\n block ends "); }
\"
.*\"
{ if
(!com
) printf
("\n string
is %s ",yytext); }[0-9]+ { if
(!com
) printf
("\n
number is %s ",yytext); } \\ { if(!com) printf("\n\t"); }
= { if(!com) printf("\n assigment %s ",yytext); }
\<=|\>=|\>|\<|\== { if(!com) printf("\n relational operators %s
",yytext); }
%%
main(argc,argv)
int argc;
char **argv;
{
if(argc>1)
{
FILE *file;
file=fopen(argv[1],"r");
if(!file)
{
printf
("couldnot
open %s",argv[1]);exit(0);
}
yyin=file;
}
yylex();
}
int yywrap()
{
return(0);
}
JXsgCiV9CmlkZW50aWZpZXIgW2EtekEtWl0qCmRpZ2l0IFswLTldCmxldHRlciBbYS16QS1aXQogaW50IGNvbSA9IDAsY29tMSA9IDA7CiUlCiMuKiB7IHByaW50ZigiXG4lcyBpcyBQUkUgUFJPQ0VTU09SIERJUkVDVElWRSIseXl0ZXh0KTsgfQppbnR8ZmxvYXR8aWYgeyBpZighY29tKSBwcmludGYoIlxuIGtleXdvcmQgJXMgIix5eXRleHQpOyB9CiIvKiIgeyBjb209MTsgcHJpbnRmKCJcbiBDb21tZW50cyIpOyB9CiIqLyIgeyBjb209MDsgfQpbYS16XSsgeyBpZighY29tKSBwcmludGYoIlxuIHZhcmlibGVzICVzICIseXl0ZXh0KTsgfQp7aWRlbnRpZmllcn1cKCB7IGlmKCFjb20pIHByaW50ZigiXG4gZnVuY3Rpb24gJXMiLHl5dGV4dCk7IH0KXHsgeyBpZighY29tKSBwcmludGYoIlxuIGJsb2NrIGJlZ2luZXMgIik7IH0KXH0geyBpZighY29tKSBwcmludGYoIlxuIGJsb2NrIGVuZHMgIik7IH0KXCIuKlwiIHsgaWYoIWNvbSkgcHJpbnRmKCJcbiBzdHJpbmcgaXMgJXMgIix5eXRleHQpOyB9ClswLTldKyB7IGlmKCFjb20pIHByaW50ZigiXG4gbnVtYmVyIGlzICVzICIseXl0ZXh0KTsgfQpcXCB7IGlmKCFjb20pIHByaW50ZigiXG5cdCIpOyB9Cj0geyBpZighY29tKSBwcmludGYoIlxuIGFzc2lnbWVudCAlcyAiLHl5dGV4dCk7IH0KXDw9fFw+PXxcPnxcPHxcPT0geyBpZighY29tKSBwcmludGYoIlxuIHJlbGF0aW9uYWwgb3BlcmF0b3JzICVzIAoiLHl5dGV4dCk7IH0KJSUKbWFpbihhcmdjLGFyZ3YpCmludCBhcmdjOwpjaGFyICoqYXJndjsKewppZihhcmdjPjEpCnsKRklMRSAqZmlsZTsKZmlsZT1mb3Blbihhcmd2WzFdLCJyIik7CmlmKCFmaWxlKQp7CnByaW50ZigiY291bGRub3Qgb3BlbiAlcyIsYXJndlsxXSk7CmV4aXQoMCk7Cn0KeXlpbj1maWxlOwp9Cnl5bGV4KCk7Cn0KaW50IHl5d3JhcCgpCnsKcmV0dXJuKDApOwp9CiA=