WIP.
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/makro/antlr4/NCMacroDsl.g4 b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/makro/antlr4/NCMacroDsl.g4
index 962f23a..282f067 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/makro/antlr4/NCMacroDsl.g4
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/makro/antlr4/NCMacroDsl.g4
@@ -42,8 +42,8 @@
 fragment ESC_CHAR: [{}\\_[\]|,];
 fragment ESC: '\\' ESC_CHAR;
 fragment TXT_CHAR
-    : [~!@#$%^&*?()+._]
-    | [-=<>/\\;:`'",]
+    : [~!@#$%^&*?()+.]
+    | [-=<>/\\;:`'"]
     | 'A'..'Z'
     | 'a'..'z'
     | '0'..'9'
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/makro/antlr4/NCMacroDslLexer.interp b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/makro/antlr4/NCMacroDslLexer.interp
index 97a62a2..eae5764 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/makro/antlr4/NCMacroDslLexer.interp
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/makro/antlr4/NCMacroDslLexer.interp
@@ -50,4 +50,4 @@
 DEFAULT_MODE
 
 atn:
-[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 13, 96, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 5, 9, 48, 10, 9, 3, 10, 3, 10, 6, 10, 52, 10, 10, 13, 10, 14, 10, 53, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 7, 11, 62, 10, 11, 12, 11, 14, 11, 65, 11, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 7, 12, 74, 10, 12, 12, 12, 14, 12, 77, 11, 12, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 6, 13, 84, 10, 13, 13, 13, 14, 13, 85, 3, 14, 6, 14, 89, 10, 14, 13, 14, 14, 14, 90, 3, 14, 3, 14, 3, 15, 3, 15, 4, 63, 75, 2, 16, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 2, 15, 2, 17, 2, 19, 8, 21, 9, 23, 10, 25, 11, 27, 12, 29, 13, 3, 2, 6, 6, 2, 46, 46, 93, 95, 97, 97, 125, 127, 19, 2, 35, 92, 94, 94, 96, 124, 128, 128, 162, 593, 603, 660, 690, 881, 1026, 1281, 7684, 7925, 7939, 8193, 8206, 8207, 8257, 8258, 8306, 8593, 11266, 12273, 12291, 55297, 63746, 64977, 65010, 65535, 5, 2, 34, 34, 46, 46, 50, 59, 5, 2, 11, 12, 14, 15, 34, 34, 2, 98, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 3, 31, 3, 2, 2, 2, 5, 33, 3, 2, 2, 2, 7, 35, 3, 2, 2, 2, 9, 37, 3, 2, 2, 2, 11, 39, 3, 2, 2, 2, 13, 41, 3, 2, 2, 2, 15, 43, 3, 2, 2, 2, 17, 47, 3, 2, 2, 2, 19, 49, 3, 2, 2, 2, 21, 57, 3, 2, 2, 2, 23, 69, 3, 2, 2, 2, 25, 83, 3, 2, 2, 2, 27, 88, 3, 2, 2, 2, 29, 94, 3, 2, 2, 2, 31, 32, 7, 125, 2, 2, 32, 4, 3, 2, 2, 2, 33, 34, 7, 127, 2, 2, 34, 6, 3, 2, 2, 2, 35, 36, 7, 126, 2, 2, 36, 8, 3, 2, 2, 2, 37, 38, 7, 46, 2, 2, 38, 10, 3, 2, 2, 2, 39, 40, 7, 97, 2, 2, 40, 12, 3, 2, 2, 2, 41, 42, 9, 2, 2, 2, 42, 14, 3, 2, 2, 2, 43, 44, 7, 94, 2, 2, 44, 45, 5, 13, 7, 2, 45, 16, 3, 2, 2, 2, 46, 48, 9, 3, 2, 2, 47, 46, 3, 2, 2, 2, 48, 18, 3, 2, 2, 2, 49, 51, 7, 93, 2, 2, 50, 52, 9, 4, 2, 2, 51, 50, 3, 2, 2, 2, 52, 53, 3, 2, 2, 2, 53, 51, 3, 2, 2, 2, 53, 54, 3, 2, 2, 2, 54, 55, 3, 2, 2, 2, 55, 56, 7, 95, 2, 2, 56, 20, 3, 2, 2, 2, 57, 58, 7, 49, 2, 2, 58, 59, 7, 49, 2, 2, 59, 63, 3, 2, 2, 2, 60, 62, 11, 2, 2, 2, 61, 60, 3, 2, 2, 2, 62, 65, 3, 2, 2, 2, 63, 64, 3, 2, 2, 2, 63, 61, 3, 2, 2, 2, 64, 66, 3, 2, 2, 2, 65, 63, 3, 2, 2, 2, 66, 67, 7, 49, 2, 2, 67, 68, 7, 49, 2, 2, 68, 22, 3, 2, 2, 2, 69, 70, 7, 96, 2, 2, 70, 71, 7, 96, 2, 2, 71, 75, 3, 2, 2, 2, 72, 74, 11, 2, 2, 2, 73, 72, 3, 2, 2, 2, 74, 77, 3, 2, 2, 2, 75, 76, 3, 2, 2, 2, 75, 73, 3, 2, 2, 2, 76, 78, 3, 2, 2, 2, 77, 75, 3, 2, 2, 2, 78, 79, 7, 96, 2, 2, 79, 80, 7, 96, 2, 2, 80, 24, 3, 2, 2, 2, 81, 84, 5, 17, 9, 2, 82, 84, 5, 15, 8, 2, 83, 81, 3, 2, 2, 2, 83, 82, 3, 2, 2, 2, 84, 85, 3, 2, 2, 2, 85, 83, 3, 2, 2, 2, 85, 86, 3, 2, 2, 2, 86, 26, 3, 2, 2, 2, 87, 89, 9, 5, 2, 2, 88, 87, 3, 2, 2, 2, 89, 90, 3, 2, 2, 2, 90, 88, 3, 2, 2, 2, 90, 91, 3, 2, 2, 2, 91, 92, 3, 2, 2, 2, 92, 93, 8, 14, 2, 2, 93, 28, 3, 2, 2, 2, 94, 95, 11, 2, 2, 2, 95, 30, 3, 2, 2, 2, 10, 2, 47, 53, 63, 75, 83, 85, 90, 3, 8, 2, 2]
\ No newline at end of file
+[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 13, 96, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 5, 9, 48, 10, 9, 3, 10, 3, 10, 6, 10, 52, 10, 10, 13, 10, 14, 10, 53, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 7, 11, 62, 10, 11, 12, 11, 14, 11, 65, 11, 11, 3, 11, 3, 11, 3, 11, 3, 12, 3, 12, 3, 12, 3, 12, 7, 12, 74, 10, 12, 12, 12, 14, 12, 77, 11, 12, 3, 12, 3, 12, 3, 12, 3, 13, 3, 13, 6, 13, 84, 10, 13, 13, 13, 14, 13, 85, 3, 14, 6, 14, 89, 10, 14, 13, 14, 14, 14, 90, 3, 14, 3, 14, 3, 15, 3, 15, 4, 63, 75, 2, 16, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 2, 15, 2, 17, 2, 19, 8, 21, 9, 23, 10, 25, 11, 27, 12, 29, 13, 3, 2, 6, 6, 2, 46, 46, 93, 95, 97, 97, 125, 127, 21, 2, 35, 45, 47, 92, 94, 94, 96, 96, 98, 124, 128, 128, 162, 593, 603, 660, 690, 881, 1026, 1281, 7684, 7925, 7939, 8193, 8206, 8207, 8257, 8258, 8306, 8593, 11266, 12273, 12291, 55297, 63746, 64977, 65010, 65535, 5, 2, 34, 34, 46, 46, 50, 59, 5, 2, 11, 12, 14, 15, 34, 34, 2, 98, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 3, 31, 3, 2, 2, 2, 5, 33, 3, 2, 2, 2, 7, 35, 3, 2, 2, 2, 9, 37, 3, 2, 2, 2, 11, 39, 3, 2, 2, 2, 13, 41, 3, 2, 2, 2, 15, 43, 3, 2, 2, 2, 17, 47, 3, 2, 2, 2, 19, 49, 3, 2, 2, 2, 21, 57, 3, 2, 2, 2, 23, 69, 3, 2, 2, 2, 25, 83, 3, 2, 2, 2, 27, 88, 3, 2, 2, 2, 29, 94, 3, 2, 2, 2, 31, 32, 7, 125, 2, 2, 32, 4, 3, 2, 2, 2, 33, 34, 7, 127, 2, 2, 34, 6, 3, 2, 2, 2, 35, 36, 7, 126, 2, 2, 36, 8, 3, 2, 2, 2, 37, 38, 7, 46, 2, 2, 38, 10, 3, 2, 2, 2, 39, 40, 7, 97, 2, 2, 40, 12, 3, 2, 2, 2, 41, 42, 9, 2, 2, 2, 42, 14, 3, 2, 2, 2, 43, 44, 7, 94, 2, 2, 44, 45, 5, 13, 7, 2, 45, 16, 3, 2, 2, 2, 46, 48, 9, 3, 2, 2, 47, 46, 3, 2, 2, 2, 48, 18, 3, 2, 2, 2, 49, 51, 7, 93, 2, 2, 50, 52, 9, 4, 2, 2, 51, 50, 3, 2, 2, 2, 52, 53, 3, 2, 2, 2, 53, 51, 3, 2, 2, 2, 53, 54, 3, 2, 2, 2, 54, 55, 3, 2, 2, 2, 55, 56, 7, 95, 2, 2, 56, 20, 3, 2, 2, 2, 57, 58, 7, 49, 2, 2, 58, 59, 7, 49, 2, 2, 59, 63, 3, 2, 2, 2, 60, 62, 11, 2, 2, 2, 61, 60, 3, 2, 2, 2, 62, 65, 3, 2, 2, 2, 63, 64, 3, 2, 2, 2, 63, 61, 3, 2, 2, 2, 64, 66, 3, 2, 2, 2, 65, 63, 3, 2, 2, 2, 66, 67, 7, 49, 2, 2, 67, 68, 7, 49, 2, 2, 68, 22, 3, 2, 2, 2, 69, 70, 7, 96, 2, 2, 70, 71, 7, 96, 2, 2, 71, 75, 3, 2, 2, 2, 72, 74, 11, 2, 2, 2, 73, 72, 3, 2, 2, 2, 74, 77, 3, 2, 2, 2, 75, 76, 3, 2, 2, 2, 75, 73, 3, 2, 2, 2, 76, 78, 3, 2, 2, 2, 77, 75, 3, 2, 2, 2, 78, 79, 7, 96, 2, 2, 79, 80, 7, 96, 2, 2, 80, 24, 3, 2, 2, 2, 81, 84, 5, 17, 9, 2, 82, 84, 5, 15, 8, 2, 83, 81, 3, 2, 2, 2, 83, 82, 3, 2, 2, 2, 84, 85, 3, 2, 2, 2, 85, 83, 3, 2, 2, 2, 85, 86, 3, 2, 2, 2, 86, 26, 3, 2, 2, 2, 87, 89, 9, 5, 2, 2, 88, 87, 3, 2, 2, 2, 89, 90, 3, 2, 2, 2, 90, 88, 3, 2, 2, 2, 90, 91, 3, 2, 2, 2, 91, 92, 3, 2, 2, 2, 92, 93, 8, 14, 2, 2, 93, 28, 3, 2, 2, 2, 94, 95, 11, 2, 2, 2, 95, 30, 3, 2, 2, 2, 10, 2, 47, 53, 63, 75, 83, 85, 90, 3, 8, 2, 2]
\ No newline at end of file
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/makro/antlr4/NCMacroDslLexer.java b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/makro/antlr4/NCMacroDslLexer.java
index a28fe8a..7e4b3fa 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/makro/antlr4/NCMacroDslLexer.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/makro/antlr4/NCMacroDslLexer.java
@@ -114,26 +114,26 @@
 		"\13\3\13\3\f\3\f\3\f\3\f\7\fJ\n\f\f\f\16\fM\13\f\3\f\3\f\3\f\3\r\3\r\6"+
 		"\rT\n\r\r\r\16\rU\3\16\6\16Y\n\16\r\16\16\16Z\3\16\3\16\3\17\3\17\4?K"+
 		"\2\20\3\3\5\4\7\5\t\6\13\7\r\2\17\2\21\2\23\b\25\t\27\n\31\13\33\f\35"+
-		"\r\3\2\6\6\2..]_aa}\177\23\2#\\^^`|\u0080\u0080\u00a2\u0251\u025b\u0294"+
-		"\u02b2\u0371\u0402\u0501\u1e04\u1ef5\u1f03\u2001\u200e\u200f\u2041\u2042"+
-		"\u2072\u2191\u2c02\u2ff1\u3003\ud801\uf902\ufdd1\ufdf2\uffff\5\2\"\"."+
-		".\62;\5\2\13\f\16\17\"\"\2b\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3"+
-		"\2\2\2\2\13\3\2\2\2\2\23\3\2\2\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3\2\2"+
-		"\2\2\33\3\2\2\2\2\35\3\2\2\2\3\37\3\2\2\2\5!\3\2\2\2\7#\3\2\2\2\t%\3\2"+
-		"\2\2\13\'\3\2\2\2\r)\3\2\2\2\17+\3\2\2\2\21/\3\2\2\2\23\61\3\2\2\2\25"+
-		"9\3\2\2\2\27E\3\2\2\2\31S\3\2\2\2\33X\3\2\2\2\35^\3\2\2\2\37 \7}\2\2 "+
-		"\4\3\2\2\2!\"\7\177\2\2\"\6\3\2\2\2#$\7~\2\2$\b\3\2\2\2%&\7.\2\2&\n\3"+
-		"\2\2\2\'(\7a\2\2(\f\3\2\2\2)*\t\2\2\2*\16\3\2\2\2+,\7^\2\2,-\5\r\7\2-"+
-		"\20\3\2\2\2.\60\t\3\2\2/.\3\2\2\2\60\22\3\2\2\2\61\63\7]\2\2\62\64\t\4"+
-		"\2\2\63\62\3\2\2\2\64\65\3\2\2\2\65\63\3\2\2\2\65\66\3\2\2\2\66\67\3\2"+
-		"\2\2\678\7_\2\28\24\3\2\2\29:\7\61\2\2:;\7\61\2\2;?\3\2\2\2<>\13\2\2\2"+
-		"=<\3\2\2\2>A\3\2\2\2?@\3\2\2\2?=\3\2\2\2@B\3\2\2\2A?\3\2\2\2BC\7\61\2"+
-		"\2CD\7\61\2\2D\26\3\2\2\2EF\7`\2\2FG\7`\2\2GK\3\2\2\2HJ\13\2\2\2IH\3\2"+
-		"\2\2JM\3\2\2\2KL\3\2\2\2KI\3\2\2\2LN\3\2\2\2MK\3\2\2\2NO\7`\2\2OP\7`\2"+
-		"\2P\30\3\2\2\2QT\5\21\t\2RT\5\17\b\2SQ\3\2\2\2SR\3\2\2\2TU\3\2\2\2US\3"+
-		"\2\2\2UV\3\2\2\2V\32\3\2\2\2WY\t\5\2\2XW\3\2\2\2YZ\3\2\2\2ZX\3\2\2\2Z"+
-		"[\3\2\2\2[\\\3\2\2\2\\]\b\16\2\2]\34\3\2\2\2^_\13\2\2\2_\36\3\2\2\2\n"+
-		"\2/\65?KSUZ\3\b\2\2";
+		"\r\3\2\6\6\2..]_aa}\177\25\2#-/\\^^``b|\u0080\u0080\u00a2\u0251\u025b"+
+		"\u0294\u02b2\u0371\u0402\u0501\u1e04\u1ef5\u1f03\u2001\u200e\u200f\u2041"+
+		"\u2042\u2072\u2191\u2c02\u2ff1\u3003\ud801\uf902\ufdd1\ufdf2\uffff\5\2"+
+		"\"\"..\62;\5\2\13\f\16\17\"\"\2b\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2"+
+		"\t\3\2\2\2\2\13\3\2\2\2\2\23\3\2\2\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3"+
+		"\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\3\37\3\2\2\2\5!\3\2\2\2\7#\3\2\2\2\t"+
+		"%\3\2\2\2\13\'\3\2\2\2\r)\3\2\2\2\17+\3\2\2\2\21/\3\2\2\2\23\61\3\2\2"+
+		"\2\259\3\2\2\2\27E\3\2\2\2\31S\3\2\2\2\33X\3\2\2\2\35^\3\2\2\2\37 \7}"+
+		"\2\2 \4\3\2\2\2!\"\7\177\2\2\"\6\3\2\2\2#$\7~\2\2$\b\3\2\2\2%&\7.\2\2"+
+		"&\n\3\2\2\2\'(\7a\2\2(\f\3\2\2\2)*\t\2\2\2*\16\3\2\2\2+,\7^\2\2,-\5\r"+
+		"\7\2-\20\3\2\2\2.\60\t\3\2\2/.\3\2\2\2\60\22\3\2\2\2\61\63\7]\2\2\62\64"+
+		"\t\4\2\2\63\62\3\2\2\2\64\65\3\2\2\2\65\63\3\2\2\2\65\66\3\2\2\2\66\67"+
+		"\3\2\2\2\678\7_\2\28\24\3\2\2\29:\7\61\2\2:;\7\61\2\2;?\3\2\2\2<>\13\2"+
+		"\2\2=<\3\2\2\2>A\3\2\2\2?@\3\2\2\2?=\3\2\2\2@B\3\2\2\2A?\3\2\2\2BC\7\61"+
+		"\2\2CD\7\61\2\2D\26\3\2\2\2EF\7`\2\2FG\7`\2\2GK\3\2\2\2HJ\13\2\2\2IH\3"+
+		"\2\2\2JM\3\2\2\2KL\3\2\2\2KI\3\2\2\2LN\3\2\2\2MK\3\2\2\2NO\7`\2\2OP\7"+
+		"`\2\2P\30\3\2\2\2QT\5\21\t\2RT\5\17\b\2SQ\3\2\2\2SR\3\2\2\2TU\3\2\2\2"+
+		"US\3\2\2\2UV\3\2\2\2V\32\3\2\2\2WY\t\5\2\2XW\3\2\2\2YZ\3\2\2\2ZX\3\2\2"+
+		"\2Z[\3\2\2\2[\\\3\2\2\2\\]\b\16\2\2]\34\3\2\2\2^_\13\2\2\2_\36\3\2\2\2"+
+		"\n\2/\65?KSUZ\3\b\2\2";
 	public static final ATN _ATN =
 		new ATNDeserializer().deserialize(_serializedATN.toCharArray());
 	static {