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

aradzinski pushed a commit to branch NLPCRAFT-206
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git


The following commit(s) were added to refs/heads/NLPCRAFT-206 by this push:
     new 9ae2c0d  WIP.
9ae2c0d is described below

commit 9ae2c0d0d4659aa0307ea8f1f906e0ac929cdcc6
Author: Aaron Radzinzski <[email protected]>
AuthorDate: Sat Feb 13 15:31:21 2021 -0800

    WIP.
---
 .../model/intent/impl/antlr4/NCIntentDsl.g4        |  8 ++--
 .../model/intent/impl/antlr4/NCIntentDsl.interp    |  4 +-
 .../impl/antlr4/NCIntentDslBaseListener.java       |  8 ++--
 .../intent/impl/antlr4/NCIntentDslListener.java    | 16 +++----
 .../intent/impl/antlr4/NCIntentDslParser.java      | 54 +++++++++++-----------
 .../intent/impl/ver2/NCIntentDslCompiler.scala     |  8 +++-
 6 files changed, 51 insertions(+), 47 deletions(-)

diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/antlr4/NCIntentDsl.g4
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/antlr4/NCIntentDsl.g4
index bbe1cdf..8c6bc55 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/antlr4/NCIntentDsl.g4
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/antlr4/NCIntentDsl.g4
@@ -52,15 +52,15 @@ javaFqn
     ;
 termId: LPAR ID RPAR;
 expr
-    : unaryExpr
+    : unary
     | expr (AND | OR | EQ | NEQ | MULT | DIV | PLUS | MINUS | MOD | LTEQ | 
GTEQ | LT | GT) expr
     | atom
     | expr COMMA atom
     | LPAR expr RPAR
-    | funCall
+    | call
     ;
-unaryExpr: (MINUS | NOT) expr;
-funCall: ID LPAR expr? RPAR; // Buit-in function call.
+unary: (MINUS | NOT) expr;
+call: ID LPAR expr? RPAR; // Buit-in function call.
 atom
     : NULL
     | INT REAL? EXP?
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/antlr4/NCIntentDsl.interp
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/antlr4/NCIntentDsl.interp
index 6a5c1c7..bc92308 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/antlr4/NCIntentDsl.interp
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/antlr4/NCIntentDsl.interp
@@ -115,8 +115,8 @@ clsNer
 javaFqn
 termId
 expr
-unaryExpr
-funCall
+unary
+call
 atom
 qstring
 minMax
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/antlr4/NCIntentDslBaseListener.java
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/antlr4/NCIntentDslBaseListener.java
index 546447d..52d0a51 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/antlr4/NCIntentDslBaseListener.java
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/antlr4/NCIntentDslBaseListener.java
@@ -208,25 +208,25 @@ public class NCIntentDslBaseListener implements 
NCIntentDslListener {
         *
         * <p>The default implementation does nothing.</p>
         */
-       @Override public void enterUnaryExpr(NCIntentDslParser.UnaryExprContext 
ctx) { }
+       @Override public void enterUnary(NCIntentDslParser.UnaryContext ctx) { }
        /**
         * {@inheritDoc}
         *
         * <p>The default implementation does nothing.</p>
         */
-       @Override public void exitUnaryExpr(NCIntentDslParser.UnaryExprContext 
ctx) { }
+       @Override public void exitUnary(NCIntentDslParser.UnaryContext ctx) { }
        /**
         * {@inheritDoc}
         *
         * <p>The default implementation does nothing.</p>
         */
-       @Override public void enterFunCall(NCIntentDslParser.FunCallContext 
ctx) { }
+       @Override public void enterCall(NCIntentDslParser.CallContext ctx) { }
        /**
         * {@inheritDoc}
         *
         * <p>The default implementation does nothing.</p>
         */
-       @Override public void exitFunCall(NCIntentDslParser.FunCallContext ctx) 
{ }
+       @Override public void exitCall(NCIntentDslParser.CallContext ctx) { }
        /**
         * {@inheritDoc}
         *
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/antlr4/NCIntentDslListener.java
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/antlr4/NCIntentDslListener.java
index b1ee655..2277019 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/antlr4/NCIntentDslListener.java
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/antlr4/NCIntentDslListener.java
@@ -168,25 +168,25 @@ public interface NCIntentDslListener extends 
ParseTreeListener {
         */
        void exitExpr(NCIntentDslParser.ExprContext ctx);
        /**
-        * Enter a parse tree produced by {@link NCIntentDslParser#unaryExpr}.
+        * Enter a parse tree produced by {@link NCIntentDslParser#unary}.
         * @param ctx the parse tree
         */
-       void enterUnaryExpr(NCIntentDslParser.UnaryExprContext ctx);
+       void enterUnary(NCIntentDslParser.UnaryContext ctx);
        /**
-        * Exit a parse tree produced by {@link NCIntentDslParser#unaryExpr}.
+        * Exit a parse tree produced by {@link NCIntentDslParser#unary}.
         * @param ctx the parse tree
         */
-       void exitUnaryExpr(NCIntentDslParser.UnaryExprContext ctx);
+       void exitUnary(NCIntentDslParser.UnaryContext ctx);
        /**
-        * Enter a parse tree produced by {@link NCIntentDslParser#funCall}.
+        * Enter a parse tree produced by {@link NCIntentDslParser#call}.
         * @param ctx the parse tree
         */
-       void enterFunCall(NCIntentDslParser.FunCallContext ctx);
+       void enterCall(NCIntentDslParser.CallContext ctx);
        /**
-        * Exit a parse tree produced by {@link NCIntentDslParser#funCall}.
+        * Exit a parse tree produced by {@link NCIntentDslParser#call}.
         * @param ctx the parse tree
         */
-       void exitFunCall(NCIntentDslParser.FunCallContext ctx);
+       void exitCall(NCIntentDslParser.CallContext ctx);
        /**
         * Enter a parse tree produced by {@link NCIntentDslParser#atom}.
         * @param ctx the parse tree
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/antlr4/NCIntentDslParser.java
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/antlr4/NCIntentDslParser.java
index abaeace..aea685d 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/antlr4/NCIntentDslParser.java
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/antlr4/NCIntentDslParser.java
@@ -27,15 +27,15 @@ public class NCIntentDslParser extends Parser {
                RULE_intent = 0, RULE_intentId = 1, RULE_orderedDecl = 2, 
RULE_flowDecl = 3, 
                RULE_metaDecl = 4, RULE_jsonObj = 5, RULE_jsonPair = 6, 
RULE_jsonVal = 7, 
                RULE_jsonArr = 8, RULE_terms = 9, RULE_termEq = 10, RULE_term = 
11, RULE_clsNer = 12, 
-               RULE_javaFqn = 13, RULE_termId = 14, RULE_expr = 15, 
RULE_unaryExpr = 16, 
-               RULE_funCall = 17, RULE_atom = 18, RULE_qstring = 19, 
RULE_minMax = 20, 
-               RULE_minMaxShortcut = 21, RULE_minMaxRange = 22;
+               RULE_javaFqn = 13, RULE_termId = 14, RULE_expr = 15, RULE_unary 
= 16, 
+               RULE_call = 17, RULE_atom = 18, RULE_qstring = 19, RULE_minMax 
= 20, RULE_minMaxShortcut = 21, 
+               RULE_minMaxRange = 22;
        private static String[] makeRuleNames() {
                return new String[] {
                        "intent", "intentId", "orderedDecl", "flowDecl", 
"metaDecl", "jsonObj", 
                        "jsonPair", "jsonVal", "jsonArr", "terms", "termEq", 
"term", "clsNer", 
-                       "javaFqn", "termId", "expr", "unaryExpr", "funCall", 
"atom", "qstring", 
-                       "minMax", "minMaxShortcut", "minMaxRange"
+                       "javaFqn", "termId", "expr", "unary", "call", "atom", 
"qstring", "minMax", 
+                       "minMaxShortcut", "minMaxRange"
                };
        }
        public static final String[] ruleNames = makeRuleNames();
@@ -1120,8 +1120,8 @@ public class NCIntentDslParser extends Parser {
        }
 
        public static class ExprContext extends ParserRuleContext {
-               public UnaryExprContext unaryExpr() {
-                       return getRuleContext(UnaryExprContext.class,0);
+               public UnaryContext unary() {
+                       return getRuleContext(UnaryContext.class,0);
                }
                public AtomContext atom() {
                        return getRuleContext(AtomContext.class,0);
@@ -1134,8 +1134,8 @@ public class NCIntentDslParser extends Parser {
                        return getRuleContext(ExprContext.class,i);
                }
                public TerminalNode RPAR() { return 
getToken(NCIntentDslParser.RPAR, 0); }
-               public FunCallContext funCall() {
-                       return getRuleContext(FunCallContext.class,0);
+               public CallContext call() {
+                       return getRuleContext(CallContext.class,0);
                }
                public TerminalNode AND() { return 
getToken(NCIntentDslParser.AND, 0); }
                public TerminalNode OR() { return 
getToken(NCIntentDslParser.OR, 0); }
@@ -1188,7 +1188,7 @@ public class NCIntentDslParser extends Parser {
                        case MINUS:
                                {
                                setState(178);
-                               unaryExpr();
+                               unary();
                                }
                                break;
                        case SQSTRING:
@@ -1214,7 +1214,7 @@ public class NCIntentDslParser extends Parser {
                        case ID:
                                {
                                setState(184);
-                               funCall();
+                               call();
                                }
                                break;
                        default:
@@ -1284,29 +1284,29 @@ public class NCIntentDslParser extends Parser {
                return _localctx;
        }
 
-       public static class UnaryExprContext extends ParserRuleContext {
+       public static class UnaryContext extends ParserRuleContext {
                public ExprContext expr() {
                        return getRuleContext(ExprContext.class,0);
                }
                public TerminalNode MINUS() { return 
getToken(NCIntentDslParser.MINUS, 0); }
                public TerminalNode NOT() { return 
getToken(NCIntentDslParser.NOT, 0); }
-               public UnaryExprContext(ParserRuleContext parent, int 
invokingState) {
+               public UnaryContext(ParserRuleContext parent, int 
invokingState) {
                        super(parent, invokingState);
                }
-               @Override public int getRuleIndex() { return RULE_unaryExpr; }
+               @Override public int getRuleIndex() { return RULE_unary; }
                @Override
                public void enterRule(ParseTreeListener listener) {
-                       if ( listener instanceof NCIntentDslListener ) 
((NCIntentDslListener)listener).enterUnaryExpr(this);
+                       if ( listener instanceof NCIntentDslListener ) 
((NCIntentDslListener)listener).enterUnary(this);
                }
                @Override
                public void exitRule(ParseTreeListener listener) {
-                       if ( listener instanceof NCIntentDslListener ) 
((NCIntentDslListener)listener).exitUnaryExpr(this);
+                       if ( listener instanceof NCIntentDslListener ) 
((NCIntentDslListener)listener).exitUnary(this);
                }
        }
 
-       public final UnaryExprContext unaryExpr() throws RecognitionException {
-               UnaryExprContext _localctx = new UnaryExprContext(_ctx, 
getState());
-               enterRule(_localctx, 32, RULE_unaryExpr);
+       public final UnaryContext unary() throws RecognitionException {
+               UnaryContext _localctx = new UnaryContext(_ctx, getState());
+               enterRule(_localctx, 32, RULE_unary);
                int _la;
                try {
                        enterOuterAlt(_localctx, 1);
@@ -1336,30 +1336,30 @@ public class NCIntentDslParser extends Parser {
                return _localctx;
        }
 
-       public static class FunCallContext extends ParserRuleContext {
+       public static class CallContext extends ParserRuleContext {
                public TerminalNode ID() { return 
getToken(NCIntentDslParser.ID, 0); }
                public TerminalNode LPAR() { return 
getToken(NCIntentDslParser.LPAR, 0); }
                public TerminalNode RPAR() { return 
getToken(NCIntentDslParser.RPAR, 0); }
                public ExprContext expr() {
                        return getRuleContext(ExprContext.class,0);
                }
-               public FunCallContext(ParserRuleContext parent, int 
invokingState) {
+               public CallContext(ParserRuleContext parent, int invokingState) 
{
                        super(parent, invokingState);
                }
-               @Override public int getRuleIndex() { return RULE_funCall; }
+               @Override public int getRuleIndex() { return RULE_call; }
                @Override
                public void enterRule(ParseTreeListener listener) {
-                       if ( listener instanceof NCIntentDslListener ) 
((NCIntentDslListener)listener).enterFunCall(this);
+                       if ( listener instanceof NCIntentDslListener ) 
((NCIntentDslListener)listener).enterCall(this);
                }
                @Override
                public void exitRule(ParseTreeListener listener) {
-                       if ( listener instanceof NCIntentDslListener ) 
((NCIntentDslListener)listener).exitFunCall(this);
+                       if ( listener instanceof NCIntentDslListener ) 
((NCIntentDslListener)listener).exitCall(this);
                }
        }
 
-       public final FunCallContext funCall() throws RecognitionException {
-               FunCallContext _localctx = new FunCallContext(_ctx, getState());
-               enterRule(_localctx, 34, RULE_funCall);
+       public final CallContext call() throws RecognitionException {
+               CallContext _localctx = new CallContext(_ctx, getState());
+               enterRule(_localctx, 34, RULE_call);
                int _la;
                try {
                        enterOuterAlt(_localctx, 1);
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/ver2/NCIntentDslCompiler.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/ver2/NCIntentDslCompiler.scala
index 5096cd8..b7c7312 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/ver2/NCIntentDslCompiler.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/ver2/NCIntentDslCompiler.scala
@@ -233,7 +233,7 @@ object NCIntentDslCompiler extends LazyLogging {
             }
         }
 
-        override def exitFunCall(ctx: NCIntentDslParser.FunCallContext): Unit 
= {
+        override def exitCall(ctx: NCIntentDslParser.CallContext): Unit = {
             val fun = ctx.ID().getText
 
             termCode += ((tok: NCToken, stack: StackType, ctx: 
NCDslTermContext) ⇒ {
@@ -297,6 +297,7 @@ object NCIntentDslCompiler extends LazyLogging {
                     case "is_alphanum_space" ⇒ 
pushBoolean(doIsAlphaNumSpace(), usedTok)
                     case "substring" ⇒
                     case "index" ⇒
+                    case "regex" ⇒
                     case "soundex" ⇒
                     case "split" ⇒
                     case "replace" ⇒
@@ -342,6 +343,8 @@ object NCIntentDslCompiler extends LazyLogging {
                     case "values" ⇒
                     case "length" ⇒
                     case "count" ⇒
+                    case "take" ⇒
+                    case "drop" ⇒
                     case "size" ⇒
                     case "reverse" ⇒
                     case "is_empty" ⇒
@@ -351,7 +354,8 @@ object NCIntentDslCompiler extends LazyLogging {
                     // Date-time functions.
                     case "year" ⇒
                     case "month" ⇒
-                    case "day" ⇒
+                    case "day_of_month" ⇒
+                    case "day_of_week" ⇒
                     case "hour" ⇒
                     case "min" ⇒
                     case "sec" ⇒

Reply via email to