diff --git a/src/main/wacc/parser.scala b/src/main/wacc/parser.scala index 71198b2..6a3407d 100644 --- a/src/main/wacc/parser.scala +++ b/src/main/wacc/parser.scala @@ -121,12 +121,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(