diff options
author | Erik Oosting | 2023-12-12 15:20:56 +0100 |
---|---|---|
committer | Erik Oosting | 2023-12-12 15:20:56 +0100 |
commit | d9ffc2f3f679bf6e87cf12dc1ed9809badf673da (patch) | |
tree | 8e7d9cf3b5ea50790353290c34566f00e6de05f2 /grammar | |
parent | 60c8f636596de722a91f9dba1f2ae631a61a6484 (diff) |
start working on actual visitor
Diffstat (limited to 'grammar')
-rw-r--r-- | grammar/ANF.g4 | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/grammar/ANF.g4 b/grammar/ANF.g4 index 07e199e..f940a20 100644 --- a/grammar/ANF.g4 +++ b/grammar/ANF.g4 @@ -5,6 +5,7 @@ aexp | 'false' # false | IDENT #var | NUMBER #num + | STRING #str | '(' aexp '+' aexp ')' #add | '(' aexp '-' aexp ')' #sub | '(' aexp '*' aexp ')' #mul @@ -17,7 +18,7 @@ aexp | '(' aexp '&&' aexp ')' #and | '(' aexp '||' aexp ')' #or | '(' aexp '^^' aexp ')' #xor - | '(' IDENT ':' cexp ')' #lam + | '(' IDENT (',' IDENT)* ':' cexp ')' #lam ; funcall @@ -32,6 +33,7 @@ cexp IDENT: Letter (Letter | Digit)*; NUMBER: Digit+; +STRING: '"' ([^"]|'\\'.)* '"'; fragment Letter: 'A' .. 'Z' | 'a' .. 'z'; fragment Digit: '0'..'9'; |