Small modifications for better visitors

This commit is contained in:
Kenzie Togami 2019-10-13 02:20:10 -07:00
parent 7d52374fc0
commit 9f1e7cdaaf
No known key found for this signature in database
GPG Key ID: 5D200B325E157A81

View File

@ -79,17 +79,17 @@ allStatements : statements EOF ;
statements : statement+ ;
statement
: block
| ifStatement
| whileStatement
| doStatement
| forStatement
| breakStatement
| continueStatement
| returnStatement
| switchStatement
| expressionStatement
| SEMI_COLON
: block # BlockStmt
| ifStatement # IfStmt
| whileStatement # WhileStmt
| doStatement # DoStmt
| forStatement # ForStmt
| breakStatement # BreakStmt
| continueStatement # ContinueStmt
| returnStatement # ReturnStmt
| switchStatement # SwitchStmt
| expressionStatement # ExpressionStmt
| SEMI_COLON # EmptyStmt
;
block : '{' statements '}' ;
@ -118,29 +118,28 @@ returnStatement : RETURN expression? ;
switchStatement : SWITCH '(' expression ')' '{' (switchLabel ':' statements )+ '}' ;
switchLabel
: CASE constantExpression
| DEFAULT
: CASE constantExpression # Case
| DEFAULT # Default
;
expressionStatement : expression SEMI_COLON ;
expression
: constantExpression
| functionCall
| identifierExpression
| '(' expression ')'
| unaryOp expression
| identifierExpression binaryAssignOp expression
| expression binaryOp expression
| expression postUnaryOp
: unaryOp expression # UnaryExpr
| expression binaryOp expression # BinaryExpr
| expression postUnaryOp # PostUnaryExpr
| ID binaryAssignOp expression # AssignExpr
| expression '?' expression ':' expression # TernaryExpr
| functionCall # FunctionCallExpr
| constantExpression # ConstantExpr
| ID # IdExpr
| '(' expression ')' # WrappedExpr
;
constantExpression : NUMBER ;
functionCall : ID '(' (expression ( ',' expression )*)? ')' ;
identifierExpression : ID ;
unaryOp
: MINUS
| EXCLAMATION_MARK