%{
#include <stdio.h>
#include <string.h>
%}
ID [a-zA-Z_][a-zA-Z0-9_]*
%%
"struct"[ \t]+{ID} { printf("Structure : %s\n", yytext); }
{ID}"(".*")" { printf("Function : %s\n", yytext); }
{ID}"["[0-9]+"]" { printf("Array : %s\n", yytext); }
{ID} { printf("Variable : %s\n", yytext); }
[ \t\n]+ ;
. { printf("Invalid : %s\n", yytext); }
%%
int main() {
printf("Enter input:\n");
yylex();
return 0;
}
int yywrap() {
return 1;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KJX0KCklEICAgICAgW2EtekEtWl9dW2EtekEtWjAtOV9dKgoKJSUKInN0cnVjdCJbIFx0XSt7SUR9ICAgICAgICAgIHsgcHJpbnRmKCJTdHJ1Y3R1cmUgOiAlc1xuIiwgeXl0ZXh0KTsgfQoKe0lEfSIoIi4qIikiICAgICAgICAgICAgICAgIHsgcHJpbnRmKCJGdW5jdGlvbiA6ICVzXG4iLCB5eXRleHQpOyB9Cgp7SUR9IlsiWzAtOV0rIl0iICAgICAgICAgICAgeyBwcmludGYoIkFycmF5IDogJXNcbiIsIHl5dGV4dCk7IH0KCntJRH0gICAgICAgICAgICAgICAgICAgICAgICB7IHByaW50ZigiVmFyaWFibGUgOiAlc1xuIiwgeXl0ZXh0KTsgfQoKWyBcdFxuXSsgICAgICAgICAgICAgICAgICAgIDsKCi4gICAgICAgICAgICAgICAgICAgICAgICAgICB7IHByaW50ZigiSW52YWxpZCA6ICVzXG4iLCB5eXRleHQpOyB9CiUlCgppbnQgbWFpbigpIHsKICAgIHByaW50ZigiRW50ZXIgaW5wdXQ6XG4iKTsKICAgIHl5bGV4KCk7CiAgICByZXR1cm4gMDsKfQoKaW50IHl5d3JhcCgpIHsKICAgIHJldHVybiAxOwp9