%{
#include <stdio.h>
#include "y.tab.h" // This header file contains token definitions from Bison
%}
%%
[0-9]+ { yylval
.num
= atoi
(yytext
); return
NUMBER; } "+" { return OPERATOR_PLUS; }
"-" { return OPERATOR_MINUS; }
"*" { return OPERATOR_MULT; }
"/" { return OPERATOR_DIV; }
"(" { return LPAREN; }
")" { return RPAREN; }
[ \t\n] ; // Ignore whitespace and newline characters
. { fprintf(stderr, "Unexpected character: %s\n", yytext); }
%%
int yywrap() {
return 1; // Indicate end of input
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlICJ5LnRhYi5oIiAvLyBUaGlzIGhlYWRlciBmaWxlIGNvbnRhaW5zIHRva2VuIGRlZmluaXRpb25zIGZyb20gQmlzb24KJX0KCiUlClswLTldKyAgICAgIHsgeXlsdmFsLm51bSA9IGF0b2koeXl0ZXh0KTsgcmV0dXJuIE5VTUJFUjsgfQoiKyIgICAgICAgICB7IHJldHVybiBPUEVSQVRPUl9QTFVTOyB9CiItIiAgICAgICAgIHsgcmV0dXJuIE9QRVJBVE9SX01JTlVTOyB9CiIqIiAgICAgICAgIHsgcmV0dXJuIE9QRVJBVE9SX01VTFQ7IH0KIi8iICAgICAgICAgeyByZXR1cm4gT1BFUkFUT1JfRElWOyB9CiIoIiAgICAgICAgIHsgcmV0dXJuIExQQVJFTjsgfQoiKSIgICAgICAgICB7IHJldHVybiBSUEFSRU47IH0KWyBcdFxuXSAgICAgOyAvLyBJZ25vcmUgd2hpdGVzcGFjZSBhbmQgbmV3bGluZSBjaGFyYWN0ZXJzCi4gICAgICAgICAgIHsgZnByaW50ZihzdGRlcnIsICJVbmV4cGVjdGVkIGNoYXJhY3RlcjogJXNcbiIsIHl5dGV4dCk7IH0KJSUKCmludCB5eXdyYXAoKSB7CiAgICByZXR1cm4gMTsgLy8gSW5kaWNhdGUgZW5kIG9mIGlucHV0Cn0K