%{ #define set_estado(x) BEGIN(_stack[_i]=x) #define push_to_stack(x) _stack[++_i]=YY_START; set_estado(x) #define pop_back set_estado(_stack[--_i]) #include #include #define MAX 1000 int _i=0; int _stack[MAX]; int i; int cont_idmat= 1; %} LETRA [a-zA-Z\.:] OP [\+\-=] NUMINT [0-9]+ NUMREAL ({NUMINT}\.{NUMINT}*)+ BLANK [\n\t ] %Start e1 e2 e3 %% set_estado(e1); \ printf("\n", cont_idmat++); %%