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 ba41ed36fb2d70f4a39c8e21f64b64cc159aa3a0 Author: Toshiya Kobayashi <[email protected]> AuthorDate: Fri Sep 22 15:45:58 2023 +0900 [DROOLS-7290] Implement BigInteger literal, BigDecimal literal (#31) --- .../src/main/antlr4/org/drools/parser/DRLLexer.g4 | 9 +++++++++ .../src/main/antlr4/org/drools/parser/DRLParser.g4 | 2 ++ .../src/test/java/org/drools/parser/MiscDRLParserTest.java | 7 +++---- 3 files changed, 14 insertions(+), 4 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 8264c7b87e..56d0ada08c 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 @@ -85,6 +85,15 @@ DRL_STRING_LITERAL | ('\'' ( DrlEscapeSequence | ~('\\'|'\'') )* '\'') { setText( normalizeString( getText() ) ); } ; +DRL_BIG_DECIMAL_LITERAL + : ('0'..'9')+ [B] + | ('0'..'9')+ '.' ('0'..'9')+ [B] + ; + +DRL_BIG_INTEGER_LITERAL + : ('0'..'9')+ [I] + ; + ///////////////// // SYMBOLS ///////////////// 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 0daeb201ae..d775f02b27 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 @@ -230,6 +230,8 @@ drlPrimary drlLiteral : integerLiteral | floatLiteral + | DRL_BIG_DECIMAL_LITERAL + | DRL_BIG_INTEGER_LITERAL | CHAR_LITERAL | DRL_STRING_LITERAL | BOOL_LITERAL 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 7b4074b16e..b678d1ccce 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 @@ -3176,13 +3176,12 @@ class MiscDRLParserTest { } - @Disabled("Priority : High | Implement BigInteger literal, BigDecimal literal") @Test - public void parse_BigLiterals() throws Exception { + public void parse_BigLiterals() { final String text = "rule X when Primitives( bigInteger == (10I), " + " bigDecimal == (10B), " + " bigInteger < 50I, " + - " bigDecimal < 50B ) then end"; + " bigDecimal < 50.2B ) then end"; PatternDescr pattern = (PatternDescr) parseAndGetFirstRuleDescr( text ).getLhs().getDescrs().get( 0 ); @@ -3197,7 +3196,7 @@ class MiscDRLParserTest { assertThat(ecd.getExpression()).isEqualTo("bigInteger < 50I"); ecd = (ExprConstraintDescr) pattern.getDescrs().get( 3 ); - assertThat(ecd.getExpression()).isEqualTo("bigDecimal < 50B"); + assertThat(ecd.getExpression()).isEqualTo("bigDecimal < 50.2B"); } @Test --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
