hoolang/Hoo.g4
2025-07-11 08:28:22 +05:30

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;