Guest User

Untitled

a guest
Oct 23rd, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1. %{
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include "y.tab.h"
  5. int line=1;
  6. %}
  7.  
  8. %start COMMENT
  9. %%
  10. <INITIAL>"quit" exit(0);
  11. <INITIAL>"how_many_line" {fprintf(stderr, "%d lines are read.\n", line);return HOW_MANY_LINE;};
  12. <INITIAL>"(" return LP;
  13. <INITIAL>")" return RP;
  14. <INITIAL>"+" return ADD;
  15. <INITIAL>"-" return SUB;
  16. <INITIAL>"*" return MUL;
  17. <INITIAL>"/" return DIV;
  18. <INITIAL>"%" return MOD;
  19. <INITIAL>[1-9][0-9]* {sscanf(yytext,"%d",&yylval);return INT_LITERAL;};
  20. <INITIAL>[A-Za-z_][A-Za-z_0-9]* {sscanf(yytext,"%s",&yylval);return STR;};
  21. <INITIAL>[0-9]*\.[0-9]* ;
  22. <INITIAL>[ \t] ;
  23. <INITIAL>[\n\r]|\r\n {line++;return NL;};
  24. <INITIAL>^# BEGIN COMMENT;
  25. <INITIAL>. fprintf(stderr, "Please input 'quit' to finish the program.\n");
  26. <COMMENT>\n|\r|\r\n BEGIN INITIAL;
  27. <COMMENT>. ;
  28. %%
Add Comment
Please, Sign In to add comment