%{
#include <stdio.h>
#include "y.tab.h" // If used with yacc/bison, needed for token definitions
%}
%%
"i" { return ID; }
"+" { return PLUS; }
"*" { return MUL; }
"(" { return LPAREN; }
")" { return RPAREN; }
[ \t\n]+ { /* skip whitespace */ }
. { printf("Invalid character: %s\n", yytext); }
%%
int yywrap() {
return 1;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlICJ5LnRhYi5oIiAgLy8gSWYgdXNlZCB3aXRoIHlhY2MvYmlzb24sIG5lZWRlZCBmb3IgdG9rZW4gZGVmaW5pdGlvbnMKJX0KCiUlCgoiaSIgICAgICAgICAgICAgeyByZXR1cm4gSUQ7IH0KIisiICAgICAgICAgICAgIHsgcmV0dXJuIFBMVVM7IH0KIioiICAgICAgICAgICAgIHsgcmV0dXJuIE1VTDsgfQoiKCIgICAgICAgICAgICAgeyByZXR1cm4gTFBBUkVOOyB9CiIpIiAgICAgICAgICAgICB7IHJldHVybiBSUEFSRU47IH0KWyBcdFxuXSsgICAgICAgIHsgLyogc2tpcCB3aGl0ZXNwYWNlICovIH0KLiAgICAgICAgICAgICAgIHsgcHJpbnRmKCJJbnZhbGlkIGNoYXJhY3RlcjogJXNcbiIsIHl5dGV4dCk7IH0KCiUlCgppbnQgeXl3cmFwKCkgewogICAgcmV0dXJuIDE7Cn0=