%{
#include <stdio.h>
%}
// Definitions section
%%
[ \t\n]+ ; // Ignore whitespace
int { printf("Keyword: int\n"); }
return { printf("Keyword: return\n"); }
[a-zA-Z_][a-zA-Z0-9_]* { printf("Identifier: %s\n", yytext); }
[0-9]+ { printf
("
Number: %s\n", yytext); } . { printf("Unknown character: %s\n", yytext); }
%%
// User code section
int main() {
yylex
(); // Call the lexer
return 0;
}
int yywrap() {
return 1; // Indicate end of input
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CiV9CgovLyBEZWZpbml0aW9ucyBzZWN0aW9uCiUlClsgXHRcbl0rICAgICAgICAgICAgICAgIDsgLy8gSWdub3JlIHdoaXRlc3BhY2UKaW50ICAgICAgICAgICAgICAgICAgICAgeyBwcmludGYoIktleXdvcmQ6IGludFxuIik7IH0KcmV0dXJuICAgICAgICAgICAgICAgICAgeyBwcmludGYoIktleXdvcmQ6IHJldHVyblxuIik7IH0KW2EtekEtWl9dW2EtekEtWjAtOV9dKiB7IHByaW50ZigiSWRlbnRpZmllcjogJXNcbiIsIHl5dGV4dCk7IH0KWzAtOV0rICAgICAgICAgICAgICAgICAgeyBwcmludGYoIk51bWJlcjogJXNcbiIsIHl5dGV4dCk7IH0KLiAgICAgICAgICAgICAgICAgICAgICAgeyBwcmludGYoIlVua25vd24gY2hhcmFjdGVyOiAlc1xuIiwgeXl0ZXh0KTsgfQolJQoKLy8gVXNlciBjb2RlIHNlY3Rpb24KaW50IG1haW4oKSB7CiAgICB5eWxleCgpOyAvLyBDYWxsIHRoZSBsZXhlcgogICAgcmV0dXJuIDA7Cn0KCmludCB5eXdyYXAoKSB7CiAgICByZXR1cm4gMTsgLy8gSW5kaWNhdGUgZW5kIG9mIGlucHV0Cn0K