From dc7dce48d9cb9b238720b093eb2451f5898d1816 Mon Sep 17 00:00:00 2001 From: nitrix Date: Mon, 16 Dec 2019 22:40:33 +0100 Subject: [PATCH] add variable deklaration --- src/main/antlr4/de/hsrm/compiler/Klang/Klang.g4 | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/antlr4/de/hsrm/compiler/Klang/Klang.g4 b/src/main/antlr4/de/hsrm/compiler/Klang/Klang.g4 index a6dbbb7..b266c6c 100644 --- a/src/main/antlr4/de/hsrm/compiler/Klang/Klang.g4 +++ b/src/main/antlr4/de/hsrm/compiler/Klang/Klang.g4 @@ -23,6 +23,7 @@ braced_block statement : print | if_statement + | variable_declaration | variable_assignment | return_statement ; @@ -33,7 +34,11 @@ print if_statement : IF OPAR cond = expression CPAR then = braced_block (ELSE (alt = braced_block | elif = if_statement) )? - ; + ; + +variable_declaration + : LET IDENT (EQUAL expression)? SCOL + ; variable_assignment : IDENT EQUAL expression SCOL @@ -72,6 +77,7 @@ IF: 'if'; ELSE: 'else'; FUNC: 'function'; RETURN: 'return'; +LET: 'let'; SCOL: ';'; OBRK: '{';