compilator-2000/al.lex
Arnaud Vergnet 6e00634d28 First draft
2021-03-12 10:48:48 +01:00

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