%{
#include<stdio.h>
%}
%%
"int"|"float"|"char" { printf("<KEYWORD,%s>\n",yytext);}
[0-9]+ { printf
("
<NUMBER,%s>\n",yytext);} [a-zA-Z0-9_]* { printf("<IDENTIFIER,%s>\n",yytext);}
"+"|"-"|"*"|"/"|"=" { printf("<OPERATOR,%s>\n",yytext);}
"("|")"|"{"|"}"|";"|"#"|","|"."|"<"|">" { printf("<SYMBOL,%s>\n",yytext);}
[\t\n]+
%%
int main(int argc,char **argv)
{
if (argc<2)
{
fprintf(stderr,"Usage:%s \n",argv[0]);
exit(1); }
FILE *file = fopen(argv[1],"r");
if (!file)
{
perror("ERROR while opening the file");
exit(1);
}
yyin=file;
yylex();
fclose(file);
return 0;
}
JXsgCiNpbmNsdWRlPHN0ZGlvLmg+CiV9IAolJSAKImludCJ8ImZsb2F0InwiY2hhciIgeyBwcmludGYoIjxLRVlXT1JELCVzPlxuIix5eXRleHQpO30gClswLTldKyB7IHByaW50ZigiPE5VTUJFUiwlcz5cbiIseXl0ZXh0KTt9ClthLXpBLVowLTlfXSogeyBwcmludGYoIjxJREVOVElGSUVSLCVzPlxuIix5eXRleHQpO30gCiIrInwiLSJ8IioifCIvInwiPSIgeyBwcmludGYoIjxPUEVSQVRPUiwlcz5cbiIseXl0ZXh0KTt9IAoiKCJ8IikifCJ7InwifSJ8IjsifCIjInwiLCJ8Ii4ifCI8InwiPiIgeyBwcmludGYoIjxTWU1CT0wsJXM+XG4iLHl5dGV4dCk7fQpbXHRcbl0rIAolJSAKaW50IG1haW4oaW50IGFyZ2MsY2hhciAqKmFyZ3YpIAp7IAppZiAoYXJnYzwyKSAKeyAKZnByaW50ZihzdGRlcnIsIlVzYWdlOiVzIFxuIixhcmd2WzBdKTsgCmV4aXQoMSk7IH0gCkZJTEUgKmZpbGUgPSBmb3Blbihhcmd2WzFdLCJyIik7CmlmICghZmlsZSkKewpwZXJyb3IoIkVSUk9SIHdoaWxlIG9wZW5pbmcgdGhlIGZpbGUiKTsKZXhpdCgxKTsKfSAKeXlpbj1maWxlOwp5eWxleCgpOyAKZmNsb3NlKGZpbGUpOyAKcmV0dXJuIDA7Cn0=