/* SIMPLIFICADOR DE EXPRESIONES MATEMATICAS */ /* ==================================================*/ /* === Programa: 1.lex ===*/ /* === TEcnica: Dirigida por la sintAxis ===*/ /* === Programador: J. Rafael R. ochoa ===*/ /* ==================================================*/ %{ #include "y.tab.h" %} let [a-zA-Z0-9_-] dig [0-9] entero ({dig}+) variable ([x]|[X]) todo ({let}+) %% "+" {return MAS; } "*" {return POR; } "(" {return LEFT; } ")" {return RIGHT; } "\n" {return LINEA; } {variable} { sprintf(yylval.cadena, "%s",yytext); return VAR; } {entero} { sprintf(yylval.cadena, "%s",yytext); return NUM;} . {;} %% int yywrap() { return(1); }