%{
#include <stdio.h>
#include <stdlib.h>
#define KEYWORD1 "int"
#define KEYWORD2 "float"
#define KEYWORD3 "return"
#define KEYWORD4 "if"
#define KEYWORD5 "else"
%}
%option noyywrap
%%
"int" { printf("Keyword: %s\n", yytext); }
"float" { printf("Keyword: %s\n", yytext); }
"return" { printf("Keyword: %s\n", yytext); }
"if" { printf("Keyword: %s\n", yytext); }
"else" { printf("Keyword: %s\n", yytext); }
[a-zA-Z_][a-zA-Z0-9_]* { printf("Identifier: %s\n", yytext); }
[ \t\n]+ ; /* Skip whitespace */
. { printf("Other character: %c\n", *yytext); }
%%
int main(int argc, char **argv) {
yylex();
return 0;
}
int yywrap() {
return 1;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2RlZmluZSBLRVlXT1JEMSAiaW50IgojZGVmaW5lIEtFWVdPUkQyICJmbG9hdCIKI2RlZmluZSBLRVlXT1JEMyAicmV0dXJuIgojZGVmaW5lIEtFWVdPUkQ0ICJpZiIKI2RlZmluZSBLRVlXT1JENSAiZWxzZSIKJX0KJW9wdGlvbiBub3l5d3JhcAolJQoiaW50IiB7IHByaW50ZigiS2V5d29yZDogJXNcbiIsIHl5dGV4dCk7IH0KImZsb2F0IiB7IHByaW50ZigiS2V5d29yZDogJXNcbiIsIHl5dGV4dCk7IH0KInJldHVybiIgeyBwcmludGYoIktleXdvcmQ6ICVzXG4iLCB5eXRleHQpOyB9CiJpZiIgeyBwcmludGYoIktleXdvcmQ6ICVzXG4iLCB5eXRleHQpOyB9CiJlbHNlIiB7IHByaW50ZigiS2V5d29yZDogJXNcbiIsIHl5dGV4dCk7IH0KW2EtekEtWl9dW2EtekEtWjAtOV9dKiB7IHByaW50ZigiSWRlbnRpZmllcjogJXNcbiIsIHl5dGV4dCk7IH0KWyBcdFxuXSsgOyAvKiBTa2lwIHdoaXRlc3BhY2UgKi8KLiB7IHByaW50ZigiT3RoZXIgY2hhcmFjdGVyOiAlY1xuIiwgKnl5dGV4dCk7IH0KJSUKCmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewogICAgeXlsZXgoKTsKICAgIHJldHVybiAwOwp9CgppbnQgeXl3cmFwKCkgewogICAgcmV0dXJuIDE7Cn0K