Lista 2, Questão 10
No arquivo tinypy.jflex
:
[rR][eE][pP][eE][aA][tT] { return new Token(Token.REPEAT, yyline); }
[uU][nN][tT][iI][lL] { return new Token(Token.UNTIL, yyline); }
No arquivo tinypy.jacc
, primeira seção:
%token <Token> READ WRITE IF WHILE ELSE ELIF INT BOOL VOID NEG REPEAT
%token <Token> PASS TRUE FALSE AND OR NOT ATRIB ID NUM BEGIN END UNTIL
No arquivo tinypy.jacc
, segunda seção, não-terminal cmd
:
| REPEAT BEGIN cmds END UNTIL exp { $$ = new Repeat($3, $6, $5.lin); }
Arquivo ast\Repeat.java
: