DERIVA.LEX



/* DERIVACION DE EXPRESIONES DE UNA VARIABLE {X} */
/* ==================================================*/
/* === 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 MENOS; }
"*"                    {return POR; }
"("                    {return LEFT; }
")"                    {return RIGHT; }
"\n"                   {return LINEA; }
"salir"                {return SALIR;}
{variable}             { sprintf(yylval.str, "%s",yytext);
                         return VAR;
                       }
{entero}               { sprintf(yylval.str, "%s",yytext);
                         return NUM;}
todo                   { return CUALQUIER_COSA; }
%%

int yywrap()  { return(1); }