diff --git a/src/main/wacc/parser.scala b/src/main/wacc/parser.scala index 8141a4c..115dc58 100644 --- a/src/main/wacc/parser.scala +++ b/src/main/wacc/parser.scala @@ -117,12 +117,17 @@ object parser { // Statements private lazy val `` = Program( - "begin" ~> many( - atomic(``.label("function declaration") <~> `` <~ "(") <**> `` - ).label("function declaration"), - (atomic(`` <~ "(").verifiedExplain("function is missing return type") | ``.label( + "begin" ~> ( + many( + atomic( + ``.label("function declaration") <~> `` <~ "(" + ) <**> `` + ).label("function declaration") | + atomic(`` <~ "(").verifiedExplain("function declaration is missing return type") + ), + ``.label( "main program body" - )) <~ "end" + ) <~ "end" ) private lazy val `` = FuncDecl(