Guest User

parser.l

a guest
Mar 24th, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.58 KB | None | 0 0
  1. %{
  2. #include "y.tab.h"
  3.  
  4. void yyerror (char *s);
  5. int yylex();
  6. %}
  7.  
  8. %%
  9.  
  10. /* Whitespace */
  11. [ \t\n] ;
  12.  
  13. "print" return print;
  14. "exit" return exit_cmd;
  15.  
  16. [a-zA-Z\_][a-zA-Z0-9\_]* {yylval.str = yytext; printf("Identifier `%s` found\n", yytext); return identifier;}
  17. [\'\"].*?[\'\"] {yylval.str = yytext; return string;}
  18. [0-9]+ {yylval.num = atoi(yytext); return number;}
  19.  
  20. [\=\-\+\/\*\^] return yytext[0];
  21.  
  22. . {fprintf(stderr, "Unexpected character `%s` \n", yytext);}
  23.  
  24. %%
  25.  
  26. int yywrap(void) {return 1;}
Add Comment
Please, Sign In to add comment