You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nlpcraft.apache.org by ar...@apache.org on 2021/02/05 02:43:51 UTC
[incubator-nlpcraft] branch NLPCRAFT-206 updated: WIP.
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 384fdc0 WIP.
384fdc0 is described below
commit 384fdc08dc1bc0d92a427b831a399e5df08e85ac
Author: Aaron Radzinski <ar...@datalingvo.com>
AuthorDate: Thu Feb 4 18:43:38 2021 -0800
WIP.
---
.../model/intent/impl/antlr4/NCIntentDsl.g4 | 29 +++++++++++++++-------
.../mgrs/model/NCModelSynonymDslCompiler.scala | 10 ++++----
.../probe/mgrs/model/antlr4/NCSynonymDsl.g4 | 2 +-
3 files changed, 26 insertions(+), 15 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 09c1ee2..43ed661 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
@@ -37,7 +37,17 @@ termEq
: EQ // Do not use conversation.
| TILDA // Use conversation.
;
-term: 'term' termId? termEq LCURLY item RCURLY minMax?;
+term
+ : dslTerm
+ | clsTerm
+ ;
+dslTerm: 'term' termId? termEq LCURLY item RCURLY minMax?;
+clsTerm: 'term' termId? termEq FSLASH clsNer FSLASH minMax?;
+clsNer: javaFqn? POUND ID;
+javaFqn
+ : ID
+ | javaFqn DOT ID
+ ;
termId: LPAREN ID RPAREN;
item
: pred
@@ -56,12 +66,13 @@ mathOp
: MINUS
| PLUS
| STAR
- | DEVIDE
+ | FSLASH
;
val
: singleVal
| LPAREN val RPAREN
- | val COMMA val
+ |
+
;
singleVal
: 'null'
@@ -89,9 +100,9 @@ modelMeta // Model metadata: #prop
| POUND ID LBR qstring RBR
;
intentMeta // Intent metadata: $prop
- : DOLLAR ID
- | DOLLAR ID LBR INT RBR
- | DOLLAR ID LBR qstring RBR
+ : PERCENT ID
+ | PERCENT ID LBR INT RBR
+ | PERCENT ID LBR qstring RBR
;
qstring
: SQSTRING
@@ -143,13 +154,13 @@ EQ: '=';
PLUS: '+';
QUESTION: '?';
STAR: '*';
-DEVIDE: '/';
-DOLLAR: '$';
+FSLASH: '/';
+PERCENT: '%';
POWER: '^';
BOOL: 'true' | 'false';
INT: '0' | [1-9][_0-9]*;
EXP: DOT [0-9]+;
-ID: (UNDERSCORE|[a-z]|[A-Z])+([a-z]|[A-Z]|[0-9]|COLON|MINUS|UNDERSCORE)*;
+ID: (UNDERSCORE|[a-z]|[A-Z]|[$])+([$]|[a-z]|[A-Z]|[0-9]|COLON|MINUS|UNDERSCORE)*;
WS: [ \r\t\u000C\n]+ -> skip ;
ErrorCharacter
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelSynonymDslCompiler.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelSynonymDslCompiler.scala
index f2cb1c1..9926d92 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelSynonymDslCompiler.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelSynonymDslCompiler.scala
@@ -59,7 +59,7 @@ object NCModelSynonymDslCompiler extends LazyLogging {
*/
class FiniteStateMachine extends NCSynonymDslBaseListener {
private val predStack = new mutable.ArrayStack[NCToken ⇒ Boolean] // Stack of predicates.
- private val lvalParts = ArrayBuffer.empty[String] // lval parts collector.
+ private val tokQualParts = ArrayBuffer.empty[String] // lval parts collector.
private val rvalList = ArrayBuffer.empty[String] // rval list collector.
private var alias: String = _
private var rval: String = _
@@ -81,8 +81,8 @@ object NCModelSynonymDslCompiler extends LazyLogging {
rvalList += rval
}
- override def exitLvalPart(ctx: NCSynonymDslParser.LvalPartContext): Unit = {
- lvalParts += ctx.ID().getText.trim()
+ override def exitTokQualPart(ctx: NCSynonymDslParser.TokQualPartContext): Unit = {
+ tokQualParts += ctx.ID().getText.trim()
}
override def exitAlias(ctx: NCSynonymDslParser.AliasContext): Unit = {
@@ -197,7 +197,7 @@ object NCModelSynonymDslCompiler extends LazyLogging {
}
val pred = new NCDslTokenPredicate(
- lvalParts.asJava,
+ tokQualParts.asJava,
lvalFunc,
lval,
op,
@@ -210,7 +210,7 @@ object NCModelSynonymDslCompiler extends LazyLogging {
})
// Reset.
- lvalParts.clear()
+ tokQualParts.clear()
rvalList.clear()
rval = null
}
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/antlr4/NCSynonymDsl.g4 b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/antlr4/NCSynonymDsl.g4
index aae4ee5..a889df1 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/antlr4/NCSynonymDsl.g4
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/antlr4/NCSynonymDsl.g4
@@ -44,7 +44,7 @@ mathOp
val
: singleVal
| LPAREN val RPAREN
- | val COMMA val
+ | val COMMA singleVal
;
singleVal
: 'null'