eval.l 760 B

12345678910111213141516171819202122232425
  1. /* -- eval.l --
  2. Evaluation d'une expression
  3. Partie analyseur lexical.
  4. Utilisation : flex eval.l */
  5. %{
  6. #include "eval.tab.h" /* Généré par bison grâce à l'option %defines */
  7. %}
  8. %option noinput
  9. %option nounput
  10. %option noyywrap
  11. BLANC [ \n\t]
  12. %%
  13. [0-9]+ yylval = atoi(yytext); return nombre; /* atoi = ascii to integer; yylval est la
  14. valeur sémantique (par défaut un int)
  15. associée au token */
  16. [-*+()=] return yytext[0]; /* caracteres unites lexicales */
  17. {BLANC}+ ;
  18. . fprintf(stderr, "Caractere (%c) non reconnu\n", yytext[0]); /* tout le reste (les règles sont évaluées de haut en bas */