%{
#include<stdio.h>
#include<string.h>
%}
%%
#.* {printf("\n%s is a preprocessor", yytext);}
int
|float|double
|long
{printf
("\n
%s is a keyword", yytext);}
[a-zA-Z][a-zA-Z0-9]* { printf("\n%s is an identifier", yytext);}
[0-9]+ {printf("\n%s is a digit", yytext);}
[=+/*%] {printf("\n%s is an operator", yytext);}
[(){}|,;] {printf("\n%s is an end statement", yytext);}
%%
int main ()
{
yylex();
return 0;
}
int yywrap(void)
{
}
JXsKI2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RyaW5nLmg+CiV9CgolJQoKIy4qIHtwcmludGYoIlxuJXMgaXMgYSBwcmVwcm9jZXNzb3IiLCB5eXRleHQpO30KCmludHxmbG9hdHxkb3VibGV8bG9uZyB7cHJpbnRmKCJcbiVzIGlzIGEga2V5d29yZCIsIHl5dGV4dCk7fQoKW2EtekEtWl1bYS16QS1aMC05XSogeyBwcmludGYoIlxuJXMgaXMgYW4gaWRlbnRpZmllciIsIHl5dGV4dCk7fQoKWzAtOV0rIHtwcmludGYoIlxuJXMgaXMgYSBkaWdpdCIsIHl5dGV4dCk7fQoKWz0rLyolXSB7cHJpbnRmKCJcbiVzIGlzIGFuIG9wZXJhdG9yIiwgeXl0ZXh0KTt9CgpbKCl7fXwsO10ge3ByaW50ZigiXG4lcyBpcyBhbiBlbmQgc3RhdGVtZW50IiwgeXl0ZXh0KTt9CgolJQoKaW50IG1haW4gKCkKewp5eWxleCgpOwpyZXR1cm4gMDsKfQppbnQgeXl3cmFwKHZvaWQpCnsKfQ==