Advertisement
Benjo_M

cisséplusplus flex

Nov 21st, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.78 KB | None | 0 0
  1. %option noyywrap
  2. %{
  3. #include <string>
  4.  
  5. // structure pour stocker les adresses pour les sauts condistionnels et autres...
  6. typedef struct adr {
  7. int ic_goto;
  8. int ic_false;
  9. } t_adresse;
  10.  
  11. #include "benjotest.bison.hpp"
  12.  
  13. using namespace std;
  14.  
  15. %}
  16. %%
  17.  
  18. [0-9]+(\.[0-9]*)?([Ee][0-9]+)? { yylval.valeur = atof(yytext); return NUMBER; }
  19.  
  20. Répéter|Réitérer { return REPEAT; }
  21.  
  22. (A|a)fficher|(I|i)mprimer {return PRINT;}
  23.  
  24. si|SI|Si {return SI;}
  25. Alors|alors|ALORS {return ALORS;}
  26. Sinon|sinon|SINON {return SINON;}
  27. FinSi|finsi|FINSI {return FINSI;}
  28.  
  29. [A-Za-z_][0-9A-Za-z_]* { strcpy(yylval.nom,yytext); return VARIABLE; }
  30.  
  31. \r\n { return '\n'; }
  32. \r { return '\n'; }
  33. \n { return '\n'; }
  34.  
  35. [ \t] { }
  36.  
  37. . { return yytext[0]; }
  38.  
  39. %%
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement