/* OPERACIONES CON CONJUNTOS */ /* ==================================================*/ /* === Programa: 1.lex ===*/ /* === TEcnica: Dirigida por la sintAxis ===*/ /* === Programador: J. Rafael R. ochoa ===*/ /* ==================================================*/ %{ #include "y.tab.h" %} st [ \t] blank ({st}) let [a-z] dig_pos [1-9] dig [0-9] dig_seq ({dig_pos}{dig}*) entero ({dig_seq}|[0]) let_o_dig ([a-z0-9_-]) secuencia ({let_o_dig}+) variable ([v]{let_o_dig}+) todo (\<[^\>]*\>) %% "+" {return UNION;} "*" {return INTER;} "," {return COMA;} "[" {return CLEFT;} "]" {return CRIGHT;} "=" {return IGUAL;} "\n" {return LINEA;} "(" {return PLEFT;} ")" {return PRIGHT;} print {return PRINT;} PRINT {return PRINT;} "salir" {return SALIR;} {secuencia} { sprintf(yylval.str, "%s",yytext); return CAD;} . { ; } %% int yywrap() { return(1); }