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" ⇒