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.

interpreter.l 837B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. %{
  2. #include "y.tab.h"
  3. %}
  4. vSEP [ \t\r\n]
  5. %%
  6. ADD {return tADD;}
  7. MUL {return tMUL;}
  8. SOU {return tSOU;}
  9. DIV {return tDIV;}
  10. COP {return tCOP;}
  11. AFC {return tAFC;}
  12. JMP {return tJMP;}
  13. JMF {return tJMF;}
  14. LT {return tLT;}
  15. LTE {return tLTE;}
  16. GT {return tGT;}
  17. GTE {return tGTE;}
  18. EQ {return tEQ;}
  19. NEQ {return tNEQ;}
  20. PRI {return tPRI;}
  21. AND {return tAND;}
  22. OR {return tOR;}
  23. NOT {return tNOT;}
  24. RET {return tRET;}
  25. LEA {return tLEA;}
  26. COP_LD {return tCOP_LD;}
  27. COP_STR {return tCOP_STR;}
  28. CALL {return tCALL;}
  29. "[" {return tOB;}
  30. "]" {return tCB;}
  31. -?[0-9]+ {
  32. yylval.nb = atoi(yytext);
  33. return tNB;
  34. }
  35. {vSEP} {}
  36. . {
  37. fprintf(stderr, "ERROR lex : Unknown pattern %s", yytext);
  38. exit(1);
  39. }
  40. %%
  41. int yywrap(void) { return 1; }
  42. //int main(int argc, char *argv[]) { while (yylex()!=0) ; return 0; }