54 lines
961 B
Text
54 lines
961 B
Text
%{
|
|
#include "as.tab.h"
|
|
%}
|
|
|
|
D [0-9]
|
|
|
|
%%
|
|
|
|
{D}+(e{D}+)? {
|
|
yylval.nombre = atoi(yytext);
|
|
return tNB;
|
|
}
|
|
|
|
"+" { return tADD; }
|
|
"-" { return tSUB; }
|
|
"*" { return tMUL; }
|
|
"/" { return tDIV; }
|
|
"=" { return tEQ; }
|
|
"(" { return tPO; }
|
|
")" { return tPF; }
|
|
";" { return tPV; }
|
|
"," { return tVIRG; }
|
|
"{" { return tAO; }
|
|
"}" { return tAF; }
|
|
"!" { return tNOT; }
|
|
"==" { return tEQ2; }
|
|
"!=" { return tNOTEQ; }
|
|
"<" { return tINF; }
|
|
"<=" { return tINFEQ; }
|
|
">" { return tSUP; }
|
|
">=" { return tSUPEQ; }
|
|
"&&" { return tAND; }
|
|
"||" { return tOR; }
|
|
[ \t\n]+ { }
|
|
|
|
"int" { return tINT; }
|
|
"const" { return tCONST; }
|
|
"main" { return tMAIN; }
|
|
"if" { return tIF; }
|
|
"else" { return tELSE; }
|
|
"elsif" { return tELSIF; }
|
|
"while" { return tWHILE; }
|
|
"printf" { return tPRINTF; }
|
|
[a-zA-Z][a-zA-Z0-9_]* { return tID; }
|
|
|
|
%%
|
|
|
|
int yywrap() {
|
|
return 1;
|
|
}
|
|
// int main () {
|
|
// yylex();
|
|
// return 1;
|
|
// }
|