Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- grammar Ass2;
- prog
- : code
- ;
- code
- : statement+
- | EOF
- ;
- statement
- : expr NEWLINE
- | loop NEWLINE
- | ID '=' expr NEWLINE
- | NEWLINE
- ;
- loop
- : WHILE expr
- ;
- expr
- : expr op=('*'|'/') expr #MulDiv
- | expr op=('+'|'-') expr #AddSub
- | expr op=(GT|LT|GTEQ|LTEQ) expr #Comp
- | INT #Integer
- | ID #Identifier
- | '(' expr ')' #Parens
- | expr '(' expr ')' #MulPar
- ;
- GT: '>';
- LT: '<';
- GTEQ: '>=';
- LTEQ: '<=';
- WHILE: 'while';
- ID: [A-Za-z_][A-Za-z_0-9]* ;
- INT: [0-9]+ ;
- NEWLINE: '\r'? '\n' ;
- WS: [ \t]+ -> skip;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement