From 03f1806f2998dfb8bde781ddebab0a33e48582ef Mon Sep 17 00:00:00 2001 From: Baitinq Date: Tue, 21 Jan 2025 23:54:17 +0100 Subject: Feature: Add support for while statements --- grammar.ebnf | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'grammar.ebnf') diff --git a/grammar.ebnf b/grammar.ebnf index 1af657b..890ba2d 100644 --- a/grammar.ebnf +++ b/grammar.ebnf @@ -1,6 +1,6 @@ Program ::= Statement+ -Statement ::= (AssignmentStatement | FunctionCallStatement | IfStatement | ReturnStatement) SEMICOLON +Statement ::= (AssignmentStatement | FunctionCallStatement | IfStatement | WhileStatement | ReturnStatement) SEMICOLON AssignmentStatement ::= "let" IDENTIFIER EQUALS Expression @@ -8,6 +8,8 @@ FunctionCallStatement ::= IDENTIFIER LPAREN FunctionArguments? RPAREN IfStatement ::= "if" Expression LBRACE Statement* RBRACE -- TODO: Should function definitions be allowed? +WhileStatement ::= "while" Expression LBRACE Statement* RBRACE + ReturnStatement ::= RETURN Expression FunctionArguments ::= Expression ("," Expression)* -- cgit 1.4.1