12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- %{
- #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_]* {
- yylval.symbol_name = malloc(sizeof(yytext));
- strcpy(yylval.symbol_name, yytext);
- return tID;
- }
-
- %%
-
- int yywrap() {
- return 1;
- }
- // int main () {
- // yylex();
- // return 1;
- // }
|