%{ #define sval(X,Y) {yylval.val=symsexp(X);return(Y);} %} iss ([0-9]+) variavel ([a-z][a-z0-9]*) str (\"[^\"]*\") %% "==" {sval("equal",OPREL);} {str} {yylval.val=strsexp(yytext); return(JSTR);} {iss}("."{iss})? {yylval.val=intsexp(atoi(yytext)); return(JINT);} {variavel} {sval(yytext,JSYM);} ^\.$ return('$'); [()*+/=.-] return(yytext[0]); .|\n ; %%