l%{
#include <stdio.h>
%}
%%
"int" { printf("keyword: int\n"); }
"float"
{ printf
("keyword
: float\n"
); }"char" { printf("keyword: char\n"); }
"if" { printf("keyword: if\n"); }
"else" { printf("keyword: else\n"); }
"+" { printf("operator: +\n"); }
"-" { printf("operator: -\n"); }
"*" { printf("operator: *\n"); }
"/" { printf("operator: /\n"); }
"=" { printf("operator: =\n"); }
[a-zA-Z_][a-zA-Z0-9_]* { printf("identifier: %s\n", yytext); }
[ \t\n] ; /* ignore spaces */
. { printf("symbol: %s\n", yytext); }
%%
int main() {
yylex();
return 0;
}
int yywrap() {
return 1;
}
bCV7CiNpbmNsdWRlIDxzdGRpby5oPgolfQoKJSUKCiJpbnQiICAgICAgeyBwcmludGYoImtleXdvcmQ6IGludFxuIik7IH0KImZsb2F0IiAgICB7IHByaW50Zigia2V5d29yZDogZmxvYXRcbiIpOyB9CiJjaGFyIiAgICAgeyBwcmludGYoImtleXdvcmQ6IGNoYXJcbiIpOyB9CiJpZiIgICAgICAgeyBwcmludGYoImtleXdvcmQ6IGlmXG4iKTsgfQoiZWxzZSIgICAgIHsgcHJpbnRmKCJrZXl3b3JkOiBlbHNlXG4iKTsgfQoKIisiICAgICAgICB7IHByaW50Zigib3BlcmF0b3I6ICtcbiIpOyB9CiItIiAgICAgICAgeyBwcmludGYoIm9wZXJhdG9yOiAtXG4iKTsgfQoiKiIgICAgICAgIHsgcHJpbnRmKCJvcGVyYXRvcjogKlxuIik7IH0KIi8iICAgICAgICB7IHByaW50Zigib3BlcmF0b3I6IC9cbiIpOyB9CiI9IiAgICAgICAgeyBwcmludGYoIm9wZXJhdG9yOiA9XG4iKTsgfQoKW2EtekEtWl9dW2EtekEtWjAtOV9dKiAgIHsgcHJpbnRmKCJpZGVudGlmaWVyOiAlc1xuIiwgeXl0ZXh0KTsgfQoKWyBcdFxuXSAgIDsgICAgICAgIC8qIGlnbm9yZSBzcGFjZXMgKi8KCi4gICAgICAgICB7IHByaW50Zigic3ltYm9sOiAlc1xuIiwgeXl0ZXh0KTsgfQoKJSUKCmludCBtYWluKCkgewogICAgeXlsZXgoKTsKICAgIHJldHVybiAwOwp9CgppbnQgeXl3cmFwKCkgewogICAgcmV0dXJuIDE7Cn0K