33 lines
843 B
ANTLR
33 lines
843 B
ANTLR
grammar Hoo;
|
|
|
|
import hoolexer;
|
|
|
|
statement: expressionStatement;
|
|
|
|
expressionStatement: expression ';';
|
|
|
|
expression:
|
|
primary # PrimaryExpression
|
|
| expression '*' expression # MultiplicationExpression
|
|
| expression '/' expression # DivisionExpression
|
|
| expression '%' expression # ReminderExpression
|
|
| expression '+' expression # AdditiveExpression
|
|
| expression '-' expression # SubtractExpression
|
|
| expression '<' '<' expression # LeftShiftExpression
|
|
| expression '>' '>' expression # RightShiftExpression
|
|
| expression '&' '&' expression # LogicalAndExpression
|
|
| expression '|' '|' expression # LogicalOrExpression;
|
|
|
|
primary:
|
|
literal # PrimaryLiteral
|
|
| '(' expression ')' # NestedExpression;
|
|
|
|
literal:
|
|
INTEGER_LITERAL
|
|
| DOUBLE_LITERAL
|
|
| BOOL_LITERAL
|
|
| CHAR_LITERAL
|
|
| STRING_LITERAL
|
|
| TEXT_BLOCK;
|
|
|
|
unit: statement; |