mirror of
https://github.com/404Simon/WhileLoopInterpreter.git
synced 2025-02-17 04:13:17 +00:00
20 lines
494 B
ANTLR
20 lines
494 B
ANTLR
grammar Loop;
|
|
start: prog EOF;
|
|
VAR: ('x'|'y'|'z') INT;
|
|
expr: var=VAR '+' num=INT #Plus
|
|
| var=VAR '-' num=INT #Minus
|
|
;
|
|
asrt: var=VAR '=' ex=expr ';' #Ex
|
|
| varTo=VAR '=' varFrom=VAR ';' #Va
|
|
| var=VAR '=' num=INT ';' #Num
|
|
;
|
|
prog: asrt #Asert
|
|
| 'LOOP' var=VAR 'DO' p=prog 'END' #Loop
|
|
| 'WHILE' var=VAR '!=' c=INT 'DO' p=prog 'END' #While
|
|
| prog prog #ProgProg
|
|
;
|
|
|
|
INT: [0-9]+ ;
|
|
NEWLINE : [\r\n]+ -> skip;
|
|
LEER: [ \t]+ -> skip;
|
|
LINE_COMMENT: '//' ~[\r\n]* -> skip; |