From 5467d086689edd31ea1973fec1e741c2fc0d3806 Mon Sep 17 00:00:00 2001 From: Arturo Perez Date: Tue, 11 Feb 2025 14:36:36 +0100 Subject: [PATCH 1/4] Allow trailing comma in parameter list --- UnrealAngelscriptParser/Grammar/UnrealAngelscriptParser.g4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/UnrealAngelscriptParser/Grammar/UnrealAngelscriptParser.g4 b/UnrealAngelscriptParser/Grammar/UnrealAngelscriptParser.g4 index 9058b72..e54bf50 100644 --- a/UnrealAngelscriptParser/Grammar/UnrealAngelscriptParser.g4 +++ b/UnrealAngelscriptParser/Grammar/UnrealAngelscriptParser.g4 @@ -445,7 +445,7 @@ theTypeId: typeSpecifierSeq; parameterDeclarationClause: parameterDeclarationList; parameterDeclarationList: - parameterDeclaration (Comma parameterDeclaration)*; + parameterDeclaration (Comma parameterDeclaration )* Comma?; parameterDeclaration: declSpecifierSeq Identifier? (Assign initializerClause)?; From c5196bcdce9682913871286123b93ad76dae461f Mon Sep 17 00:00:00 2001 From: Arturo Perez Date: Tue, 11 Feb 2025 14:56:14 +0100 Subject: [PATCH 2/4] Fix space --- UnrealAngelscriptParser/Grammar/UnrealAngelscriptParser.g4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/UnrealAngelscriptParser/Grammar/UnrealAngelscriptParser.g4 b/UnrealAngelscriptParser/Grammar/UnrealAngelscriptParser.g4 index e54bf50..7e84c0a 100644 --- a/UnrealAngelscriptParser/Grammar/UnrealAngelscriptParser.g4 +++ b/UnrealAngelscriptParser/Grammar/UnrealAngelscriptParser.g4 @@ -445,7 +445,7 @@ theTypeId: typeSpecifierSeq; parameterDeclarationClause: parameterDeclarationList; parameterDeclarationList: - parameterDeclaration (Comma parameterDeclaration )* Comma?; + parameterDeclaration (Comma parameterDeclaration)* Comma?; parameterDeclaration: declSpecifierSeq Identifier? (Assign initializerClause)?; From 37848af44c3a31667eabb1d1acfb7844024c303a Mon Sep 17 00:00:00 2001 From: Arturo Perez Date: Tue, 11 Feb 2025 15:41:05 +0100 Subject: [PATCH 3/4] Allow empty default statement in switch --- UnrealAngelscriptParser/Grammar/UnrealAngelscriptParser.g4 | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/UnrealAngelscriptParser/Grammar/UnrealAngelscriptParser.g4 b/UnrealAngelscriptParser/Grammar/UnrealAngelscriptParser.g4 index 7e84c0a..6dfaf26 100644 --- a/UnrealAngelscriptParser/Grammar/UnrealAngelscriptParser.g4 +++ b/UnrealAngelscriptParser/Grammar/UnrealAngelscriptParser.g4 @@ -230,10 +230,8 @@ statement: ); labeledStatement: - (Identifier - | Case constantExpression - | Default - ) Colon statement; + ((Identifier | Case constantExpression) Colon statement) + | Default Colon statement?; expressionStatement: expression? Semi; From a5b954e1c2472ddcd7a8258bd9895a3bc1cb47b1 Mon Sep 17 00:00:00 2001 From: Arturo Perez Date: Tue, 11 Feb 2025 16:16:13 +0100 Subject: [PATCH 4/4] Allow also empty statements in non default cases --- UnrealAngelscriptParser/Grammar/UnrealAngelscriptParser.g4 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/UnrealAngelscriptParser/Grammar/UnrealAngelscriptParser.g4 b/UnrealAngelscriptParser/Grammar/UnrealAngelscriptParser.g4 index 6dfaf26..7386c22 100644 --- a/UnrealAngelscriptParser/Grammar/UnrealAngelscriptParser.g4 +++ b/UnrealAngelscriptParser/Grammar/UnrealAngelscriptParser.g4 @@ -230,8 +230,10 @@ statement: ); labeledStatement: - ((Identifier | Case constantExpression) Colon statement) - | Default Colon statement?; + (Identifier + | Case constantExpression + | Default + ) Colon statement?; expressionStatement: expression? Semi;