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

commit b139f446fea61f58091296a8eaa5a690515503c7
Author: Toshiya Kobayashi <[email protected]>
AuthorDate: Tue Oct 3 18:42:33 2023 +0900

    [DROOLS-7298] Implement memberOf (#35)
---
 .../drools-drl10-parser/src/main/antlr4/org/drools/parser/DRLLexer.g4   | 1 +
 .../drools-drl10-parser/src/main/antlr4/org/drools/parser/DRLParser.g4  | 2 ++
 .../src/test/java/org/drools/parser/MiscDRLParserTest.java              | 2 --
 3 files changed, 3 insertions(+), 2 deletions(-)

diff --git 
a/drools-drl/drools-drl10-parser/src/main/antlr4/org/drools/parser/DRLLexer.g4 
b/drools-drl/drools-drl10-parser/src/main/antlr4/org/drools/parser/DRLLexer.g4
index 0d9a61ca91..0add536a0b 100644
--- 
a/drools-drl/drools-drl10-parser/src/main/antlr4/org/drools/parser/DRLLexer.g4
+++ 
b/drools-drl/drools-drl10-parser/src/main/antlr4/org/drools/parser/DRLLexer.g4
@@ -44,6 +44,7 @@ DRL_NOT : 'not';
 DRL_IN : 'in';
 DRL_FROM : 'from';
 DRL_MATCHES : 'matches';
+DRL_MEMBEROF : 'memberOf';
 DRL_ACCUMULATE : 'accumulate' | 'acc';
 DRL_INIT : 'init';
 DRL_ACTION : 'action';
diff --git 
a/drools-drl/drools-drl10-parser/src/main/antlr4/org/drools/parser/DRLParser.g4 
b/drools-drl/drools-drl10-parser/src/main/antlr4/org/drools/parser/DRLParser.g4
index 24f4595ce8..76651552ac 100644
--- 
a/drools-drl/drools-drl10-parser/src/main/antlr4/org/drools/parser/DRLParser.g4
+++ 
b/drools-drl/drools-drl10-parser/src/main/antlr4/org/drools/parser/DRLParser.g4
@@ -154,6 +154,7 @@ drlKeywords
     | DRL_IN
     | DRL_FROM
     | DRL_MATCHES
+    | DRL_MEMBEROF
     | DRL_ACCUMULATE
     | DRL_INIT
     | DRL_ACTION
@@ -205,6 +206,7 @@ drlExpression
     | drlExpression bop=(LE | GE | GT | LT) drlExpression
     | drlExpression bop=INSTANCEOF (typeType | pattern)
     | drlExpression bop=DRL_MATCHES drlExpression
+    | drlExpression DRL_NOT? DRL_MEMBEROF drlExpression
     | drlExpression bop=(EQUAL | NOTEQUAL) drlExpression
     | drlExpression bop=BITAND drlExpression
     | drlExpression bop=CARET drlExpression
diff --git 
a/drools-drl/drools-drl10-parser/src/test/java/org/drools/parser/MiscDRLParserTest.java
 
b/drools-drl/drools-drl10-parser/src/test/java/org/drools/parser/MiscDRLParserTest.java
index 2528dacb5e..9a92386c5a 100644
--- 
a/drools-drl/drools-drl10-parser/src/test/java/org/drools/parser/MiscDRLParserTest.java
+++ 
b/drools-drl/drools-drl10-parser/src/test/java/org/drools/parser/MiscDRLParserTest.java
@@ -2168,7 +2168,6 @@ class MiscDRLParserTest {
         assertThat(((FromDescr) 
cheese.getSource()).getDataSource().toString()).isEqualTo("$cheesery");
     }
 
-    @Disabled("Priority : High | Implement memberOf")
     @Test
     public void parse_Memberof() throws Exception {
         final String text = "rule X when Country( $cities : city )\nPerson( 
city memberOf $cities )\n then end";
@@ -2182,7 +2181,6 @@ class MiscDRLParserTest {
         assertThat(fieldConstr.getExpression()).isEqualTo("city memberOf 
$cities");
     }
 
-    @Disabled("Priority : High | Implement not memberOf")
     @Test
     public void parse_NotMemberof() throws Exception {
         final String text = "rule X when Country( $cities : city )\nPerson( 
city not memberOf $cities ) then end\n";


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

Reply via email to