%{
#include <stdio.h>
%}
%%
"if"|"else"|"while"|"for"|"int"|"float"|"char"|"return" { printf("Keyword: %s\n", yytext); }
[0-9]+ { printf
("
Number: %s\n", yytext); } "+"|"-"|"*"|"/"|"=" { printf("Operator: %s\n", yytext); }
[a-zA-Z_][a-zA-Z0-9_]* { printf("Identifier: %s\n", yytext); }
"("|")"|"{|"}"|";" { printf("Delimiter: %s\n", yytext); }
[ \t\n] ; // Ignore whitespace
. { printf("Unknown: %s\n", yytext); }
%%
int main() {
yylex();
return 0;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CiV9CgolJQoKImlmInwiZWxzZSJ8IndoaWxlInwiZm9yInwiaW50InwiZmxvYXQifCJjaGFyInwicmV0dXJuIiAgeyBwcmludGYoIktleXdvcmQ6ICVzXG4iLCB5eXRleHQpOyB9ClswLTldKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBwcmludGYoIk51bWJlcjogJXNcbiIsIHl5dGV4dCk7IH0KIisifCItInwiKiJ8Ii8ifCI9IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBwcmludGYoIk9wZXJhdG9yOiAlc1xuIiwgeXl0ZXh0KTsgfQpbYS16QS1aX11bYS16QS1aMC05X10qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IHByaW50ZigiSWRlbnRpZmllcjogJXNcbiIsIHl5dGV4dCk7IH0KIigifCIpInwie3wifSJ8IjsiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbnRmKCJEZWxpbWl0ZXI6ICVzXG4iLCB5eXRleHQpOyB9ClsgXHRcbl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgLy8gSWdub3JlIHdoaXRlc3BhY2UKCi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbnRmKCJVbmtub3duOiAlc1xuIiwgeXl0ZXh0KTsgfQoKJSUKCmludCBtYWluKCkgewogICAgeXlsZXgoKTsKICAgIHJldHVybiAwOwp9Cg==