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]