%{
#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==
aW50IG1haW4oKSB7CiAgICBpbnQgeCA9IDU7CiAgICBpZiAoeCAmZ3Q7IDApIHsKICAgICAgICBwcmludGYoJnF1b3Q7UG9zaXRpdmVcbiZxdW90Oyk7CiAgICB9IGVsc2UgewogICAgICAgIHByaW50ZigmcXVvdDtOb24tcG9zaXRpdmVcbiZxdW90Oyk7CiAgICB9CiAgICByZXR1cm4gMDsKfQo=
int main() {
int x = 5;
if (x > 0) {
printf("Positive\n");
} else {
printf("Non-positive\n");
}
return 0;
}