%{
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <sys/wait.h>
%}
%%
[a-zA-Z_][a-zA-Z0-9_]* { printf("Identifier: %s\n", yytext); }
[0-9]+ { printf
("
Number: %s\n", yytext); } [=+\-*/] { printf("Operator: %s\n", yytext); }
. { printf("Symbol: %s\n", yytext); }
%%
int main() {
char *test_input = "x = 10 + y;"; // Hardcoded Input
printf("Processing: %s\n", test_input);
yy_scan_string(test_input); // Pass input to Lex
yylex();
return 0;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8dW5pc3RkLmg+CiNpbmNsdWRlIDxmY250bC5oPgojaW5jbHVkZSA8ZXJybm8uaD4KI2luY2x1ZGUgPHN5cy90eXBlcy5oPgojaW5jbHVkZSA8c3lzL3N0YXQuaD4KI2luY2x1ZGUgPHN5cy9tbWFuLmg+CiNpbmNsdWRlIDxzeXMvd2FpdC5oPgolfQoKJSUKW2EtekEtWl9dW2EtekEtWjAtOV9dKiAgIHsgcHJpbnRmKCJJZGVudGlmaWVyOiAlc1xuIiwgeXl0ZXh0KTsgfQpbMC05XSsgICAgICAgICAgICAgICAgICAgeyBwcmludGYoIk51bWJlcjogJXNcbiIsIHl5dGV4dCk7IH0KWz0rXC0qL10gICAgICAgICAgICAgICAgIHsgcHJpbnRmKCJPcGVyYXRvcjogJXNcbiIsIHl5dGV4dCk7IH0KLiAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbnRmKCJTeW1ib2w6ICVzXG4iLCB5eXRleHQpOyB9CiUlCgppbnQgbWFpbigpIHsKICAgIGNoYXIgKnRlc3RfaW5wdXQgPSAieCA9IDEwICsgeTsiOyAgLy8gSGFyZGNvZGVkIElucHV0CiAgICBwcmludGYoIlByb2Nlc3Npbmc6ICVzXG4iLCB0ZXN0X2lucHV0KTsKICAgIHl5X3NjYW5fc3RyaW5nKHRlc3RfaW5wdXQpOyAgLy8gUGFzcyBpbnB1dCB0byBMZXgKICAgIHl5bGV4KCk7CiAgICByZXR1cm4gMDsKfQoK