This is an automated email from the ASF dual-hosted git repository.

mariofusco pushed a commit to branch dev-new-parser
in repository https://gitbox.apache.org/repos/asf/incubator-kie-drools.git


The following commit(s) were added to refs/heads/dev-new-parser by this push:
     new b869b83735 [new-parser] Fix two minor type declaration issues (#5815)
b869b83735 is described below

commit b869b83735b1ca7080ba686811dd7133a8065100
Author: Jiří Locker <[email protected]>
AuthorDate: Wed Apr 3 11:01:19 2024 +0200

    [new-parser] Fix two minor type declaration issues (#5815)
    
    * Allow semicolon after type declaration end
    
    * Allow DRL keywords to be used as field names in type declarations
---
 .../src/main/antlr4/org/drools/drl/parser/antlr4/DRLParser.g4     | 4 ++--
 .../main/java/org/drools/drl/parser/antlr4/DRLVisitorImpl.java    | 8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git 
a/drools-drl/drools-drl-parser/src/main/antlr4/org/drools/drl/parser/antlr4/DRLParser.g4
 
b/drools-drl/drools-drl-parser/src/main/antlr4/org/drools/drl/parser/antlr4/DRLParser.g4
index 90b9801e42..b71b4ea219 100644
--- 
a/drools-drl/drools-drl-parser/src/main/antlr4/org/drools/drl/parser/antlr4/DRLParser.g4
+++ 
b/drools-drl/drools-drl-parser/src/main/antlr4/org/drools/drl/parser/antlr4/DRLParser.g4
@@ -50,7 +50,7 @@ declaredef : DRL_DECLARE (
                          | entryPointDeclaration
                          | windowDeclaration
                          | typeDeclaration
-                         ) DRL_END ;
+                         ) DRL_END SEMI?;
 
 /*
  * typeDeclaration := [TYPE] qualifiedIdentifier (EXTENDS qualifiedIdentifier)?
@@ -533,7 +533,7 @@ assignmentOperator : ASSIGN
                    |   MOD_ASSIGN
                    |   LT LT ASSIGN ;
 
-label : IDENTIFIER COLON ;
+label : drlIdentifier COLON ;
 unif : IDENTIFIER DRL_UNIFY ;
 
 /* extending JavaParser variableInitializer */
diff --git 
a/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/antlr4/DRLVisitorImpl.java
 
b/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/antlr4/DRLVisitorImpl.java
index 292b366e81..228ea473b2 100644
--- 
a/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/antlr4/DRLVisitorImpl.java
+++ 
b/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/antlr4/DRLVisitorImpl.java
@@ -344,7 +344,7 @@ public class DRLVisitorImpl extends 
DRLParserBaseVisitor<Object> {
     @Override
     public TypeFieldDescr visitField(DRLParser.FieldContext ctx) {
         TypeFieldDescr typeFieldDescr = new TypeFieldDescr();
-        typeFieldDescr.setFieldName(ctx.label().IDENTIFIER().getText());
+        typeFieldDescr.setFieldName(ctx.label().drlIdentifier().getText());
         typeFieldDescr.setPattern(new PatternDescr(ctx.type().getText()));
         if (ctx.ASSIGN() != null) {
             
typeFieldDescr.setInitExpr(getTextPreservingWhitespace(ctx.initExpr));
@@ -475,7 +475,7 @@ public class DRLVisitorImpl extends 
DRLParserBaseVisitor<Object> {
         PatternDescr patternDescr = (PatternDescr)patternDescrList.get(0);
 
         if (ctx.label() != null) {
-            patternDescr.setIdentifier(ctx.label().IDENTIFIER().getText());
+            patternDescr.setIdentifier(ctx.label().drlIdentifier().getText());
         } else if (ctx.unif() != null) {
             patternDescr.setIdentifier(ctx.unif().IDENTIFIER().getText());
             patternDescr.setUnification(true);
@@ -491,7 +491,7 @@ public class DRLVisitorImpl extends 
DRLParserBaseVisitor<Object> {
                 .map(PatternDescr.class::cast)
                 .forEach(patternDescr -> {
                     if (ctx.label() != null) {
-                        
patternDescr.setIdentifier(ctx.label().IDENTIFIER().getText());
+                        
patternDescr.setIdentifier(ctx.label().drlIdentifier().getText());
                     }
                     orDescr.addDescr(patternDescr);
                 });
@@ -609,7 +609,7 @@ public class DRLVisitorImpl extends 
DRLParserBaseVisitor<Object> {
     @Override
     public AccumulateDescr.AccumulateFunctionCallDescr 
visitAccumulateFunction(DRLParser.AccumulateFunctionContext ctx) {
         String function = ctx.IDENTIFIER().getText();
-        String bind = ctx.label() == null ? null : 
ctx.label().IDENTIFIER().getText();
+        String bind = ctx.label() == null ? null : 
ctx.label().drlIdentifier().getText();
         String[] params = new 
String[]{getTextPreservingWhitespace(ctx.drlExpression())};
         return new AccumulateDescr.AccumulateFunctionCallDescr(function, bind, 
false, params);
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to