%{
#include<stdio.h>
%}
%%
[0-9]+[.][0-9]+ printf("%s is a floating point number\n",yytext);
int
|float|char
|double
|void printf
("
%s is a datatype\n",yytext); [0-9]+printf("%s is an integer number\n",yytext);
[a-z]+[()] printf("%s is a function\n",yytext);
[a-z]+ printf("%s is an identifier\n",yytext);
[+=*/-] printf("%s is an operator\n",yytext);
; printf("%s is an delimiter\n",yytext);
, printf("%s is a separator\n",yytext);
[#][a-z\.h]+ printf("%s is a preprocessor\n",yytext);
%% int yywrap(void)
{ return 1; }
int main(void) {
yylex(); return
0; }
JXsKI2luY2x1ZGU8c3RkaW8uaD4KJX0KJSUKWzAtOV0rWy5dWzAtOV0rIHByaW50ZigiJXMgaXMgYSBmbG9hdGluZyBwb2ludCBudW1iZXJcbiIseXl0ZXh0KTsKaW50fGZsb2F0fGNoYXJ8ZG91YmxlfHZvaWQgcHJpbnRmKCIlcyBpcyBhIGRhdGF0eXBlXG4iLHl5dGV4dCk7IFswLTldKwpwcmludGYoIiVzIGlzIGFuIGludGVnZXIgbnVtYmVyXG4iLHl5dGV4dCk7ClthLXpdK1soKV0gcHJpbnRmKCIlcyBpcyBhIGZ1bmN0aW9uXG4iLHl5dGV4dCk7ClthLXpdKyBwcmludGYoIiVzIGlzIGFuIGlkZW50aWZpZXJcbiIseXl0ZXh0KTsKWys9Ki8tXSBwcmludGYoIiVzIGlzIGFuIG9wZXJhdG9yXG4iLHl5dGV4dCk7CjsgcHJpbnRmKCIlcyBpcyBhbiBkZWxpbWl0ZXJcbiIseXl0ZXh0KTsKLCBwcmludGYoIiVzIGlzIGEgc2VwYXJhdG9yXG4iLHl5dGV4dCk7ClsjXVthLXpcLmhdKyBwcmludGYoIiVzIGlzIGEgcHJlcHJvY2Vzc29yXG4iLHl5dGV4dCk7CiUlIGludCB5eXdyYXAodm9pZCkKeyByZXR1cm4gMTsgfQppbnQgbWFpbih2b2lkKSB7Cnl5bGV4KCk7IHJldHVybgowOyB9Cg==