/* 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); }