summaryrefslogtreecommitdiff
path: root/Compiler/CGrammar.g4
diff options
context:
space:
mode:
Diffstat (limited to 'Compiler/CGrammar.g4')
-rw-r--r--Compiler/CGrammar.g44
1 files changed, 3 insertions, 1 deletions
diff --git a/Compiler/CGrammar.g4 b/Compiler/CGrammar.g4
index b0f145f..1b47978 100644
--- a/Compiler/CGrammar.g4
+++ b/Compiler/CGrammar.g4
@@ -44,7 +44,7 @@ statement
declaration
- : 'int' name=ID ('=' value=expression)? ';' #variableDeclaration
+ : 'int' ptr='*' name=ID ('=' value=expression)? ';' #variableDeclaration
;
expression
@@ -52,6 +52,8 @@ expression
// | left=expression ',' right=expression #commaExpression
| constant #constantExpression
| target '=' expression #assignmentExpression
+ | '*' expression #dereferenceExpression
+ | '&' target #addressOfExpression
| ID #variableExpression
| ID '(' ( params+=expression (',' params+=expression )* )? ')' #callExpression