No Description
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.

analyse_lexicale.lex 1.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. ADD "+"
  2. SUB "-"
  3. MUL "*"
  4. DIV "/"
  5. tPO "("
  6. tPF ")"
  7. tAO "{"
  8. tAF "}"
  9. EOL "\n"
  10. EOI ";"
  11. SPACE " "
  12. TAB "\t"
  13. VIRGULE ","
  14. EGAL "="
  15. LT "<"
  16. GT ">"
  17. tINT "int"
  18. tMAIN "main"
  19. tPRINT "printf"
  20. tRETURN "return"
  21. tIF "if"
  22. tELSE "else"
  23. tWHILE "while"
  24. tNOT "!"
  25. tAND "&&"
  26. tOR "||"
  27. DIGIT [0-9]
  28. VARIABLE [A-Za-z0-9_]+
  29. DECIMAL {DIGIT}+
  30. EXPONENTIEL {DIGIT}+"^"{DIGIT}+
  31. ENTIER {DECIMAL}|{EXPONENTIEL}
  32. OPERATION {ADD}|{SUB}|{MUL}|{DIV}
  33. COMPARATEUR {EGAL}|{LT}|{GT}
  34. SEPARATOR {SPACE}|{TAB}
  35. %%
  36. {ADD} {printf("tADD ");}
  37. {SUB} {printf("tSUB ");}
  38. {MUL} {printf("tMUL ");}
  39. {DIV} {printf("tDIV ");}
  40. {tPO} {printf("tPO ");}
  41. {tPF} {printf("tPF ");}
  42. {tAO} {printf("tAO ");}
  43. {tAF} {printf("tAF ");}
  44. {EOI} {printf("tPV ");}
  45. {SEPARATOR} {}
  46. {EOL} {}
  47. {VIRGULE} {printf("tVIRGULE ");}
  48. {EGAL} {printf("tEGAL ");}
  49. {LT} {printf("tLT ");}
  50. {GT} {printf("tGT ");}
  51. {tMAIN} {printf("tMAIN ");}
  52. {tINT} {printf("tINT ");}
  53. {tPRINT} {printf("tPRINT ");}
  54. {tRETURN} {printf("tRETURN ");}
  55. {tOR} {printf("tOR ");}
  56. {tAND} {printf("tAND ");}
  57. {tIF} {printf("tIF ");}
  58. {tELSE} {printf("tELSE ");}
  59. {tWHILE} {printf("tWHILE ");}
  60. {ENTIER} {printf("tENTIER ");}
  61. {VARIABLE} {printf("tVAR ");}
  62. %%
  63. int yywrap(void){
  64. return 1;
  65. }
  66. int main(void){
  67. yylex();
  68. }