Está en la página 1de 2

int E(){ T(); Eprima(); return 0; } int Eprima() { switch(token){ case +: consumir (+); T(); Eprima(); break; case

-: consumir (-); T(); Eprima(); break; } return 0; } int T(){ F(); Tprima(); return 0; } int Tprima() { switch(token){ case *: consumir (*); F(); Tprima(); break; case /: consumir (/); F(); Tprima(); break; } return 0; }

int F() { switch(token){ case (: consumir ((); E(); consumir ()); break; case id: consumir (id); break; case num: consumir (num); break;

} return 0; } int main () { int ret= 0; ret= E(); if (ret==0) printf("Cadena de Tokens sintcticamente correcta!!!"); return 0; } void consumir (int token) { if((*tokens)==token) tokens++; else{ printf ("ERROR SINTACTICO"); exit(1); } } aqui se prssupone que la cadena de tokens se encuentra en una variable global de clarada como: int*tokens; se puede hacer lo siguiente tokens= {num, suma, num};

También podría gustarte