diff --git a/Parser.cpp b/Parser.cpp index 4277ef54f..c96593f64 100644 --- a/Parser.cpp +++ b/Parser.cpp @@ -293,7 +293,6 @@ ASTPointer Parser::parseEnumDefinition() nodeFactory.markEndPosition(); expectToken(Token::RBrace); - expectToken(Token::Semicolon); return nodeFactory.createNode(name, members); } diff --git a/grammar.txt b/grammar.txt index 5ba0ef238..5e6e65f85 100644 --- a/grammar.txt +++ b/grammar.txt @@ -13,7 +13,7 @@ FunctionDefinition = 'function' Identifier ParameterList ( 'returns' ParameterList )? Block EnumValue = Identifier -EnumDefinition = 'enum' '{' EnumValue (',' EnumValue)* '}' ';' +EnumDefinition = 'enum' '{' EnumValue (',' EnumValue)* '}' ParameterList = '(' ( VariableDeclaration (',' VariableDeclaration)* )? ')' // semantic restriction: mappings and structs (recursively) containing mappings // are not allowed in argument lists