le compilateur super performant
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

al.lex 961B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. %{
  2. #include "as.tab.h"
  3. %}
  4. D [0-9]
  5. %%
  6. {D}+(e{D}+)? {
  7. yylval.nombre = atoi(yytext);
  8. return tNB;
  9. }
  10. "+" { return tADD; }
  11. "-" { return tSUB; }
  12. "*" { return tMUL; }
  13. "/" { return tDIV; }
  14. "=" { return tEQ; }
  15. "(" { return tPO; }
  16. ")" { return tPF; }
  17. ";" { return tPV; }
  18. "," { return tVIRG; }
  19. "{" { return tAO; }
  20. "}" { return tAF; }
  21. "!" { return tNOT; }
  22. "==" { return tEQ2; }
  23. "!=" { return tNOTEQ; }
  24. "<" { return tINF; }
  25. "<=" { return tINFEQ; }
  26. ">" { return tSUP; }
  27. ">=" { return tSUPEQ; }
  28. "&&" { return tAND; }
  29. "||" { return tOR; }
  30. [ \t\n]+ { }
  31. "int" { return tINT; }
  32. "const" { return tCONST; }
  33. "main" { return tMAIN; }
  34. "if" { return tIF; }
  35. "else" { return tELSE; }
  36. "elsif" { return tELSIF; }
  37. "while" { return tWHILE; }
  38. "printf" { return tPRINTF; }
  39. [a-zA-Z][a-zA-Z0-9_]* { return tID; }
  40. %%
  41. int yywrap() {
  42. return 1;
  43. }
  44. // int main () {
  45. // yylex();
  46. // return 1;
  47. // }