%{
#include<stdio.h>
%}
%option noyymrap
%%
[\t\n]+ {/*ignore whitespace*/}
"int"|"float"|"else"|"whie"|"{printf("keyword:%s\n",yytext);}
[0-9]+ {printf
("
integer constant
:%s\n",yytext);} [0-9]*"
,"
[0-9]+ {printf
("
float constant
:%s\n",yytext);} "//",* {printf("single-line comment\n");}
"^*"[^*]*"\*/" {printf("multi-line comment\n");}
[a-zA-Z_][a-zA-Z0-9_]*{printf("identifer:%s\n",yytext);}
"=="|"!"|"<"|"="|"+"|"-"|"*"|"/" {printf("operator:%s\n",yytext);}
.
{printf("unknown token":%s\n",yytext);}
%%
int main(){
print("enter input:");
yylex();
return 0;
}
JXsKI2luY2x1ZGU8c3RkaW8uaD4KJX0KJW9wdGlvbiBub3l5bXJhcAolJQpbXHRcbl0rIHsvKmlnbm9yZSB3aGl0ZXNwYWNlKi99CiJpbnQifCJmbG9hdCJ8ImVsc2UifCJ3aGllInwie3ByaW50Zigia2V5d29yZDolc1xuIix5eXRleHQpO30KWzAtOV0rIHtwcmludGYoImludGVnZXIgY29uc3RhbnQ6JXNcbiIseXl0ZXh0KTt9ClswLTldKiIsIlswLTldKyB7cHJpbnRmKCJmbG9hdCBjb25zdGFudDolc1xuIix5eXRleHQpO30KIi8vIiwqIHtwcmludGYoInNpbmdsZS1saW5lIGNvbW1lbnRcbiIpO30KIl4qIlteKl0qIlwqLyIge3ByaW50ZigibXVsdGktbGluZSBjb21tZW50XG4iKTt9ClthLXpBLVpfXVthLXpBLVowLTlfXSp7cHJpbnRmKCJpZGVudGlmZXI6JXNcbiIseXl0ZXh0KTt9CiI9PSJ8IiEifCI8InwiPSJ8IisifCItInwiKiJ8Ii8iIHtwcmludGYoIm9wZXJhdG9yOiVzXG4iLHl5dGV4dCk7fQouCQp7cHJpbnRmKCJ1bmtub3duIHRva2VuIjolc1xuIix5eXRleHQpO30KJSUKaW50IG1haW4oKXsKcHJpbnQoImVudGVyIGlucHV0OiIpOwp5eWxleCgpOwpyZXR1cm4gMDsKfQ==