From 200095290423c2c1558438b6484ba8b746b816d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wilma=20Krutr=C3=B6k?= <wilkru-7@student.ltu.se> Date: Fri, 6 Nov 2020 12:14:09 +0000 Subject: [PATCH] Update HOME_EXAM.md --- HOME_EXAM.md | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/HOME_EXAM.md b/HOME_EXAM.md index 7c1c0d1..b0a11c2 100644 --- a/HOME_EXAM.md +++ b/HOME_EXAM.md @@ -86,7 +86,7 @@ The implemented langugage is desciribed usign EBNF grammar below. The language i #### EBNF ```ebnf Program - :Programs + :Program* |Function |Decl |Expr @@ -95,8 +95,7 @@ Program ```ebnf Stmt - :Function - |"if" Expr BlockExpr "else"? BlockExpr? + :"if" Expr BlockExpr ("else" BlockExpr)? |"while" Expr BlockExpr |Decl |Expr @@ -105,14 +104,14 @@ Stmt ```ebnf Function - :"fn" Id "(" Args ")" "->" Type BlockExpr + :"fn" Id "(" Arg* ")" "->" Type BlockExpr |"fn" Id "()" "->" "()" BlockExpr ; ``` ```ebnf BlockExpr - :"{" Stmts "}" + :"{" Stmt* "}" ; ``` @@ -134,18 +133,11 @@ Arg Expr :Expr ExprOp Factor |Expr LogicOp Factor - |Id "(" Exprs ")" - |PrefixOp "(" Expr ")" + |Id "(" Expr* ")" |Factor ; ``` -```ebnf -Prefix - :"-" - ; -``` - ```ebnf ExprOp :"+" -- GitLab