diff --git a/Language-specifications/typee_specs_LL1-v9-1.grm b/Language-specifications/typee_specs_LL1-v9-1.grm index 8d24a7c..49b7749 100644 --- a/Language-specifications/typee_specs_LL1-v9-1.grm +++ b/Language-specifications/typee_specs_LL1-v9-1.grm @@ -476,8 +476,8 @@ SOFTWARE. ::= ';' ::= '{' '}' - | ### | ### + | ### | ### ## | ### ## | ### diff --git a/src/FrontEnd/Parser/fe_parser.py b/src/FrontEnd/Parser/fe_parser.py index 4fb76ba..b42e442 100644 --- a/src/FrontEnd/Parser/fe_parser.py +++ b/src/FrontEnd/Parser/fe_parser.py @@ -3050,8 +3050,9 @@ def _spaced_template_def(self) -> bool: ### def _statements_block(self) -> bool: ### #======================================================================= # ::= '{' '}' - # | - # | + # | + # | + # | #======================================================================= if self._current.is_BRACEOP(): self._append_syntaxic_node() @@ -3064,12 +3065,10 @@ def _statements_block(self) -> bool: ### else: self._append_error( FESyntaxErrors.BODY_END ) return True - elif self._nop_statement(): - if not self._simple_statement_end(): - self._append_error( FESyntaxErrors.STATEMENT_END ) - return True - elif self._simple_statement_end(): + elif self._compound_statement() or self._simple_statement(): return True + elif self._empty_statement(): + return self._statements_block() else: return False