Skip to content

Commit

Permalink
Update grammar to support proper path descriptions
Browse files Browse the repository at this point in the history
  • Loading branch information
Mats-SX committed Mar 3, 2016
1 parent ec69c1c commit b38c32f
Show file tree
Hide file tree
Showing 7 changed files with 770 additions and 388 deletions.
Expand Up @@ -11,29 +11,38 @@ T__9=10
T__10=11
T__11=12
T__12=13
IntegerLiteral=14
DecimalLiteral=15
DIGIT=16
NONZERODIGIT=17
INFINITY=18
FloatingPointLiteral=19
FloatingPointRepr=20
EXPONENTPART=21
SymbolicNameString=22
WS=23
IDENTIFIER=24
StringLiteral=25
T__13=14
T__14=15
T__15=16
INTEGER_LITERAL=17
DECIMAL_LITERAL=18
DIGIT=19
NONZERODIGIT=20
INFINITY=21
FLOAT_LITERAL=22
FLOAT_REPR=23
EXPONENTPART=24
SYMBOLIC_NAME=25
WS=26
IDENTIFIER=27
STRING_LITERAL=28
STRING_BODY=29
ESCAPED_APOSTROPHE=30
'('=1
')'=2
'['=3
']'=4
'<'=5
'>'=6
', '=7
'true'=8
'false'=9
'null'=10
'{'=11
'}'=12
':'=13
' '=23
'-'=7
'->'=8
'<-'=9
'true'=10
'false'=11
'null'=12
', '=13
'{'=14
'}'=15
':'=16
' '=26
'\\\''=30
Expand Up @@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// Generated from /Users/mats/gitRoots/3.0-main/neo4j/community/cypher/compatibility-suite/src/main/resources/FeatureResults.g4 by ANTLR 4.5.1
// Generated from /Users/mats/gitRoots/3.0-copy/neo4j/community/cypher/compatibility-suite/src/main/resources/FeatureResults.g4 by ANTLR 4.5.1
package cypher.feature.parser.generated;

import org.antlr.v4.runtime.ParserRuleContext;
Expand Down Expand Up @@ -54,6 +54,18 @@ public class FeatureResultsBaseListener implements FeatureResultsListener {
* <p>The default implementation does nothing.</p>
*/
@Override public void exitNode(FeatureResultsParser.NodeContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterNodeDesc(FeatureResultsParser.NodeDescContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitNodeDesc(FeatureResultsParser.NodeDescContext ctx) { }
/**
* {@inheritDoc}
*
Expand All @@ -66,6 +78,18 @@ public class FeatureResultsBaseListener implements FeatureResultsListener {
* <p>The default implementation does nothing.</p>
*/
@Override public void exitRelationship(FeatureResultsParser.RelationshipContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterRelationshipDesc(FeatureResultsParser.RelationshipDescContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitRelationshipDesc(FeatureResultsParser.RelationshipDescContext ctx) { }
/**
* {@inheritDoc}
*
Expand All @@ -83,13 +107,49 @@ public class FeatureResultsBaseListener implements FeatureResultsListener {
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterPathElement(FeatureResultsParser.PathElementContext ctx) { }
@Override public void enterPathBody(FeatureResultsParser.PathBodyContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitPathBody(FeatureResultsParser.PathBodyContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterPathLink(FeatureResultsParser.PathLinkContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitPathLink(FeatureResultsParser.PathLinkContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterForwardsRelationship(FeatureResultsParser.ForwardsRelationshipContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitForwardsRelationship(FeatureResultsParser.ForwardsRelationshipContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterBackwardsRelationship(FeatureResultsParser.BackwardsRelationshipContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitPathElement(FeatureResultsParser.PathElementContext ctx) { }
@Override public void exitBackwardsRelationship(FeatureResultsParser.BackwardsRelationshipContext ctx) { }
/**
* {@inheritDoc}
*
Expand Down
Expand Up @@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// Generated from /Users/mats/gitRoots/3.0-main/neo4j/community/cypher/compatibility-suite/src/main/resources/FeatureResults.g4 by ANTLR 4.5.1
// Generated from /Users/mats/gitRoots/3.0-copy/neo4j/community/cypher/compatibility-suite/src/main/resources/FeatureResults.g4 by ANTLR 4.5.1
package cypher.feature.parser.generated;
import org.antlr.v4.runtime.Lexer;
import org.antlr.v4.runtime.CharStream;
Expand All @@ -37,31 +37,33 @@ public class FeatureResultsLexer extends Lexer {
new PredictionContextCache();
public static final int
T__0=1, T__1=2, T__2=3, T__3=4, T__4=5, T__5=6, T__6=7, T__7=8, T__8=9,
T__9=10, T__10=11, T__11=12, T__12=13, IntegerLiteral=14, DecimalLiteral=15,
DIGIT=16, NONZERODIGIT=17, INFINITY=18, FloatingPointLiteral=19, FloatingPointRepr=20,
EXPONENTPART=21, SymbolicNameString=22, WS=23, IDENTIFIER=24, StringLiteral=25;
T__9=10, T__10=11, T__11=12, T__12=13, T__13=14, T__14=15, T__15=16, INTEGER_LITERAL=17,
DECIMAL_LITERAL=18, DIGIT=19, NONZERODIGIT=20, INFINITY=21, FLOAT_LITERAL=22,
FLOAT_REPR=23, EXPONENTPART=24, SYMBOLIC_NAME=25, WS=26, IDENTIFIER=27,
STRING_LITERAL=28, STRING_BODY=29, ESCAPED_APOSTROPHE=30;
public static String[] modeNames = {
"DEFAULT_MODE"
};

public static final String[] ruleNames = {
"T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8",
"T__9", "T__10", "T__11", "T__12", "IntegerLiteral", "DecimalLiteral",
"DIGIT", "NONZERODIGIT", "INFINITY", "FloatingPointLiteral", "FloatingPointRepr",
"EXPONENTPART", "SymbolicNameString", "WS", "IDENTIFIER", "StringLiteral",
"StringElement", "EscapedSingleQuote"
"T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "INTEGER_LITERAL",
"DECIMAL_LITERAL", "DIGIT", "NONZERODIGIT", "INFINITY", "FLOAT_LITERAL",
"FLOAT_REPR", "EXPONENTPART", "SYMBOLIC_NAME", "WS", "IDENTIFIER", "STRING_LITERAL",
"STRING_BODY", "ESCAPED_APOSTROPHE"
};

private static final String[] _LITERAL_NAMES = {
null, "'('", "')'", "'['", "']'", "'<'", "'>'", "', '", "'true'", "'false'",
"'null'", "'{'", "'}'", "':'", null, null, null, null, null, null, null,
null, null, "' '"
null, "'('", "')'", "'['", "']'", "'<'", "'>'", "'-'", "'->'", "'<-'",
"'true'", "'false'", "'null'", "', '", "'{'", "'}'", "':'", null, null,
null, null, null, null, null, null, null, "' '", null, null, null, "'\\''"
};
private static final String[] _SYMBOLIC_NAMES = {
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, "IntegerLiteral", "DecimalLiteral", "DIGIT", "NONZERODIGIT",
"INFINITY", "FloatingPointLiteral", "FloatingPointRepr", "EXPONENTPART",
"SymbolicNameString", "WS", "IDENTIFIER", "StringLiteral"
null, null, null, null, null, "INTEGER_LITERAL", "DECIMAL_LITERAL", "DIGIT",
"NONZERODIGIT", "INFINITY", "FLOAT_LITERAL", "FLOAT_REPR", "EXPONENTPART",
"SYMBOLIC_NAME", "WS", "IDENTIFIER", "STRING_LITERAL", "STRING_BODY",
"ESCAPED_APOSTROPHE"
};
public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);

Expand Down Expand Up @@ -118,71 +120,76 @@ public FeatureResultsLexer(CharStream input) {
public ATN getATN() { return _ATN; }

public static final String _serializedATN =
"\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\2\33\u00c5\b\1\4\2"+
"\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4"+
"\13\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22"+
"\t\22\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31"+
"\t\31\4\32\t\32\4\33\t\33\4\34\t\34\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\b\3\b\3\b\3\t\3\t\3\t\3\t\3\t\3\n\3\n\3\n\3\n\3\n\3\n"+
"\3\13\3\13\3\13\3\13\3\13\3\f\3\f\3\r\3\r\3\16\3\16\3\17\5\17`\n\17\3"+
"\17\3\17\3\20\3\20\3\20\7\20g\n\20\f\20\16\20j\13\20\5\20l\n\20\3\21\3"+
"\21\5\21p\n\21\3\22\3\22\3\23\5\23u\n\23\3\23\3\23\3\23\3\23\3\24\5\24"+
"|\n\24\3\24\3\24\3\25\6\25\u0081\n\25\r\25\16\25\u0082\3\25\3\25\6\25"+
"\u0087\n\25\r\25\16\25\u0088\3\25\5\25\u008c\n\25\3\25\3\25\6\25\u0090"+
"\n\25\r\25\16\25\u0091\3\25\5\25\u0095\n\25\3\25\3\25\3\25\3\25\6\25\u009b"+
"\n\25\r\25\16\25\u009c\3\25\5\25\u00a0\n\25\5\25\u00a2\n\25\3\26\3\26"+
"\5\26\u00a6\n\26\3\26\6\26\u00a9\n\26\r\26\16\26\u00aa\3\27\3\27\3\30"+
"\3\30\3\31\6\31\u00b2\n\31\r\31\16\31\u00b3\3\32\3\32\7\32\u00b8\n\32"+
"\f\32\16\32\u00bb\13\32\3\32\3\32\3\33\3\33\5\33\u00c1\n\33\3\34\3\34"+
"\3\34\2\2\35\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16"+
"\33\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33\65\2\67"+
"\2\3\2\7\3\2\63;\4\2GGgg\4\2--//\7\2&&\62;C\\aac|\4\2\2(*\u0201\u00d7"+
"\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\r\3\2"+
"\2\2\2\17\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\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2"+
"\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\3\2\2"+
"\2\2\61\3\2\2\2\2\63\3\2\2\2\39\3\2\2\2\5;\3\2\2\2\7=\3\2\2\2\t?\3\2\2"+
"\2\13A\3\2\2\2\rC\3\2\2\2\17E\3\2\2\2\21H\3\2\2\2\23M\3\2\2\2\25S\3\2"+
"\2\2\27X\3\2\2\2\31Z\3\2\2\2\33\\\3\2\2\2\35_\3\2\2\2\37k\3\2\2\2!o\3"+
"\2\2\2#q\3\2\2\2%t\3\2\2\2\'{\3\2\2\2)\u00a1\3\2\2\2+\u00a3\3\2\2\2-\u00ac"+
"\3\2\2\2/\u00ae\3\2\2\2\61\u00b1\3\2\2\2\63\u00b5\3\2\2\2\65\u00c0\3\2"+
"\2\2\67\u00c2\3\2\2\29:\7*\2\2:\4\3\2\2\2;<\7+\2\2<\6\3\2\2\2=>\7]\2\2"+
">\b\3\2\2\2?@\7_\2\2@\n\3\2\2\2AB\7>\2\2B\f\3\2\2\2CD\7@\2\2D\16\3\2\2"+
"\2EF\7.\2\2FG\7\"\2\2G\20\3\2\2\2HI\7v\2\2IJ\7t\2\2JK\7w\2\2KL\7g\2\2"+
"L\22\3\2\2\2MN\7h\2\2NO\7c\2\2OP\7n\2\2PQ\7u\2\2QR\7g\2\2R\24\3\2\2\2"+
"ST\7p\2\2TU\7w\2\2UV\7n\2\2VW\7n\2\2W\26\3\2\2\2XY\7}\2\2Y\30\3\2\2\2"+
"Z[\7\177\2\2[\32\3\2\2\2\\]\7<\2\2]\34\3\2\2\2^`\7/\2\2_^\3\2\2\2_`\3"+
"\2\2\2`a\3\2\2\2ab\5\37\20\2b\36\3\2\2\2cl\7\62\2\2dh\5#\22\2eg\5!\21"+
"\2fe\3\2\2\2gj\3\2\2\2hf\3\2\2\2hi\3\2\2\2il\3\2\2\2jh\3\2\2\2kc\3\2\2"+
"\2kd\3\2\2\2l \3\2\2\2mp\7\62\2\2np\5#\22\2om\3\2\2\2on\3\2\2\2p\"\3\2"+
"\2\2qr\t\2\2\2r$\3\2\2\2su\7/\2\2ts\3\2\2\2tu\3\2\2\2uv\3\2\2\2vw\7K\2"+
"\2wx\7p\2\2xy\7h\2\2y&\3\2\2\2z|\7/\2\2{z\3\2\2\2{|\3\2\2\2|}\3\2\2\2"+
"}~\5)\25\2~(\3\2\2\2\177\u0081\5!\21\2\u0080\177\3\2\2\2\u0081\u0082\3"+
"\2\2\2\u0082\u0080\3\2\2\2\u0082\u0083\3\2\2\2\u0083\u0084\3\2\2\2\u0084"+
"\u0086\7\60\2\2\u0085\u0087\5!\21\2\u0086\u0085\3\2\2\2\u0087\u0088\3"+
"\2\2\2\u0088\u0086\3\2\2\2\u0088\u0089\3\2\2\2\u0089\u008b\3\2\2\2\u008a"+
"\u008c\5+\26\2\u008b\u008a\3\2\2\2\u008b\u008c\3\2\2\2\u008c\u00a2\3\2"+
"\2\2\u008d\u008f\7\60\2\2\u008e\u0090\5!\21\2\u008f\u008e\3\2\2\2\u0090"+
"\u0091\3\2\2\2\u0091\u008f\3\2\2\2\u0091\u0092\3\2\2\2\u0092\u0094\3\2"+
"\2\2\u0093\u0095\5+\26\2\u0094\u0093\3\2\2\2\u0094\u0095\3\2\2\2\u0095"+
"\u00a2\3\2\2\2\u0096\u0097\5!\21\2\u0097\u0098\5+\26\2\u0098\u00a2\3\2"+
"\2\2\u0099\u009b\5!\21\2\u009a\u0099\3\2\2\2\u009b\u009c\3\2\2\2\u009c"+
"\u009a\3\2\2\2\u009c\u009d\3\2\2\2\u009d\u009f\3\2\2\2\u009e\u00a0\5+"+
"\26\2\u009f\u009e\3\2\2\2\u009f\u00a0\3\2\2\2\u00a0\u00a2\3\2\2\2\u00a1"+
"\u0080\3\2\2\2\u00a1\u008d\3\2\2\2\u00a1\u0096\3\2\2\2\u00a1\u009a\3\2"+
"\2\2\u00a2*\3\2\2\2\u00a3\u00a5\t\3\2\2\u00a4\u00a6\t\4\2\2\u00a5\u00a4"+
"\3\2\2\2\u00a5\u00a6\3\2\2\2\u00a6\u00a8\3\2\2\2\u00a7\u00a9\5!\21\2\u00a8"+
"\u00a7\3\2\2\2\u00a9\u00aa\3\2\2\2\u00aa\u00a8\3\2\2\2\u00aa\u00ab\3\2"+
"\2\2\u00ab,\3\2\2\2\u00ac\u00ad\5\61\31\2\u00ad.\3\2\2\2\u00ae\u00af\7"+
"\"\2\2\u00af\60\3\2\2\2\u00b0\u00b2\t\5\2\2\u00b1\u00b0\3\2\2\2\u00b2"+
"\u00b3\3\2\2\2\u00b3\u00b1\3\2\2\2\u00b3\u00b4\3\2\2\2\u00b4\62\3\2\2"+
"\2\u00b5\u00b9\7)\2\2\u00b6\u00b8\5\65\33\2\u00b7\u00b6\3\2\2\2\u00b8"+
"\u00bb\3\2\2\2\u00b9\u00b7\3\2\2\2\u00b9\u00ba\3\2\2\2\u00ba\u00bc\3\2"+
"\2\2\u00bb\u00b9\3\2\2\2\u00bc\u00bd\7)\2\2\u00bd\64\3\2\2\2\u00be\u00c1"+
"\t\6\2\2\u00bf\u00c1\5\67\34\2\u00c0\u00be\3\2\2\2\u00c0\u00bf\3\2\2\2"+
"\u00c1\66\3\2\2\2\u00c2\u00c3\7^\2\2\u00c3\u00c4\7)\2\2\u00c48\3\2\2\2"+
"\26\2_hkot{\u0082\u0088\u008b\u0091\u0094\u009c\u009f\u00a1\u00a5\u00aa"+
"\u00b3\u00b9\u00c0\2";
"\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\2 \u00d3\b\1\4\2\t"+
"\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+
"\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+
"\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+
"\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\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\b\3\b\3\t\3\t\3\t\3\n\3\n\3\n"+
"\3\13\3\13\3\13\3\13\3\13\3\f\3\f\3\f\3\f\3\f\3\f\3\r\3\r\3\r\3\r\3\r"+
"\3\16\3\16\3\16\3\17\3\17\3\20\3\20\3\21\3\21\3\22\5\22n\n\22\3\22\3\22"+
"\3\23\3\23\3\23\7\23u\n\23\f\23\16\23x\13\23\5\23z\n\23\3\24\3\24\5\24"+
"~\n\24\3\25\3\25\3\26\5\26\u0083\n\26\3\26\3\26\3\26\3\26\3\27\5\27\u008a"+
"\n\27\3\27\3\27\3\30\6\30\u008f\n\30\r\30\16\30\u0090\3\30\3\30\6\30\u0095"+
"\n\30\r\30\16\30\u0096\3\30\5\30\u009a\n\30\3\30\3\30\6\30\u009e\n\30"+
"\r\30\16\30\u009f\3\30\5\30\u00a3\n\30\3\30\3\30\3\30\3\30\6\30\u00a9"+
"\n\30\r\30\16\30\u00aa\3\30\5\30\u00ae\n\30\5\30\u00b0\n\30\3\31\3\31"+
"\5\31\u00b4\n\31\3\31\6\31\u00b7\n\31\r\31\16\31\u00b8\3\32\3\32\3\33"+
"\3\33\3\34\6\34\u00c0\n\34\r\34\16\34\u00c1\3\35\3\35\7\35\u00c6\n\35"+
"\f\35\16\35\u00c9\13\35\3\35\3\35\3\36\3\36\5\36\u00cf\n\36\3\37\3\37"+
"\3\37\2\2 \3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33"+
"\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33\65\34\67"+
"\359\36;\37= \3\2\7\3\2\63;\4\2GGgg\4\2--//\7\2&&\62;C\\aac|\4\2\2(*\u0201"+
"\u00e7\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"+
"\r\3\2\2\2\2\17\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\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2"+
"\2#\3\2\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2"+
"/\3\2\2\2\2\61\3\2\2\2\2\63\3\2\2\2\2\65\3\2\2\2\2\67\3\2\2\2\29\3\2\2"+
"\2\2;\3\2\2\2\2=\3\2\2\2\3?\3\2\2\2\5A\3\2\2\2\7C\3\2\2\2\tE\3\2\2\2\13"+
"G\3\2\2\2\rI\3\2\2\2\17K\3\2\2\2\21M\3\2\2\2\23P\3\2\2\2\25S\3\2\2\2\27"+
"X\3\2\2\2\31^\3\2\2\2\33c\3\2\2\2\35f\3\2\2\2\37h\3\2\2\2!j\3\2\2\2#m"+
"\3\2\2\2%y\3\2\2\2\'}\3\2\2\2)\177\3\2\2\2+\u0082\3\2\2\2-\u0089\3\2\2"+
"\2/\u00af\3\2\2\2\61\u00b1\3\2\2\2\63\u00ba\3\2\2\2\65\u00bc\3\2\2\2\67"+
"\u00bf\3\2\2\29\u00c3\3\2\2\2;\u00ce\3\2\2\2=\u00d0\3\2\2\2?@\7*\2\2@"+
"\4\3\2\2\2AB\7+\2\2B\6\3\2\2\2CD\7]\2\2D\b\3\2\2\2EF\7_\2\2F\n\3\2\2\2"+
"GH\7>\2\2H\f\3\2\2\2IJ\7@\2\2J\16\3\2\2\2KL\7/\2\2L\20\3\2\2\2MN\7/\2"+
"\2NO\7@\2\2O\22\3\2\2\2PQ\7>\2\2QR\7/\2\2R\24\3\2\2\2ST\7v\2\2TU\7t\2"+
"\2UV\7w\2\2VW\7g\2\2W\26\3\2\2\2XY\7h\2\2YZ\7c\2\2Z[\7n\2\2[\\\7u\2\2"+
"\\]\7g\2\2]\30\3\2\2\2^_\7p\2\2_`\7w\2\2`a\7n\2\2ab\7n\2\2b\32\3\2\2\2"+
"cd\7.\2\2de\7\"\2\2e\34\3\2\2\2fg\7}\2\2g\36\3\2\2\2hi\7\177\2\2i \3\2"+
"\2\2jk\7<\2\2k\"\3\2\2\2ln\7/\2\2ml\3\2\2\2mn\3\2\2\2no\3\2\2\2op\5%\23"+
"\2p$\3\2\2\2qz\7\62\2\2rv\5)\25\2su\5\'\24\2ts\3\2\2\2ux\3\2\2\2vt\3\2"+
"\2\2vw\3\2\2\2wz\3\2\2\2xv\3\2\2\2yq\3\2\2\2yr\3\2\2\2z&\3\2\2\2{~\7\62"+
"\2\2|~\5)\25\2}{\3\2\2\2}|\3\2\2\2~(\3\2\2\2\177\u0080\t\2\2\2\u0080*"+
"\3\2\2\2\u0081\u0083\7/\2\2\u0082\u0081\3\2\2\2\u0082\u0083\3\2\2\2\u0083"+
"\u0084\3\2\2\2\u0084\u0085\7K\2\2\u0085\u0086\7p\2\2\u0086\u0087\7h\2"+
"\2\u0087,\3\2\2\2\u0088\u008a\7/\2\2\u0089\u0088\3\2\2\2\u0089\u008a\3"+
"\2\2\2\u008a\u008b\3\2\2\2\u008b\u008c\5/\30\2\u008c.\3\2\2\2\u008d\u008f"+
"\5\'\24\2\u008e\u008d\3\2\2\2\u008f\u0090\3\2\2\2\u0090\u008e\3\2\2\2"+
"\u0090\u0091\3\2\2\2\u0091\u0092\3\2\2\2\u0092\u0094\7\60\2\2\u0093\u0095"+
"\5\'\24\2\u0094\u0093\3\2\2\2\u0095\u0096\3\2\2\2\u0096\u0094\3\2\2\2"+
"\u0096\u0097\3\2\2\2\u0097\u0099\3\2\2\2\u0098\u009a\5\61\31\2\u0099\u0098"+
"\3\2\2\2\u0099\u009a\3\2\2\2\u009a\u00b0\3\2\2\2\u009b\u009d\7\60\2\2"+
"\u009c\u009e\5\'\24\2\u009d\u009c\3\2\2\2\u009e\u009f\3\2\2\2\u009f\u009d"+
"\3\2\2\2\u009f\u00a0\3\2\2\2\u00a0\u00a2\3\2\2\2\u00a1\u00a3\5\61\31\2"+
"\u00a2\u00a1\3\2\2\2\u00a2\u00a3\3\2\2\2\u00a3\u00b0\3\2\2\2\u00a4\u00a5"+
"\5\'\24\2\u00a5\u00a6\5\61\31\2\u00a6\u00b0\3\2\2\2\u00a7\u00a9\5\'\24"+
"\2\u00a8\u00a7\3\2\2\2\u00a9\u00aa\3\2\2\2\u00aa\u00a8\3\2\2\2\u00aa\u00ab"+
"\3\2\2\2\u00ab\u00ad\3\2\2\2\u00ac\u00ae\5\61\31\2\u00ad\u00ac\3\2\2\2"+
"\u00ad\u00ae\3\2\2\2\u00ae\u00b0\3\2\2\2\u00af\u008e\3\2\2\2\u00af\u009b"+
"\3\2\2\2\u00af\u00a4\3\2\2\2\u00af\u00a8\3\2\2\2\u00b0\60\3\2\2\2\u00b1"+
"\u00b3\t\3\2\2\u00b2\u00b4\t\4\2\2\u00b3\u00b2\3\2\2\2\u00b3\u00b4\3\2"+
"\2\2\u00b4\u00b6\3\2\2\2\u00b5\u00b7\5\'\24\2\u00b6\u00b5\3\2\2\2\u00b7"+
"\u00b8\3\2\2\2\u00b8\u00b6\3\2\2\2\u00b8\u00b9\3\2\2\2\u00b9\62\3\2\2"+
"\2\u00ba\u00bb\5\67\34\2\u00bb\64\3\2\2\2\u00bc\u00bd\7\"\2\2\u00bd\66"+
"\3\2\2\2\u00be\u00c0\t\5\2\2\u00bf\u00be\3\2\2\2\u00c0\u00c1\3\2\2\2\u00c1"+
"\u00bf\3\2\2\2\u00c1\u00c2\3\2\2\2\u00c28\3\2\2\2\u00c3\u00c7\7)\2\2\u00c4"+
"\u00c6\5;\36\2\u00c5\u00c4\3\2\2\2\u00c6\u00c9\3\2\2\2\u00c7\u00c5\3\2"+
"\2\2\u00c7\u00c8\3\2\2\2\u00c8\u00ca\3\2\2\2\u00c9\u00c7\3\2\2\2\u00ca"+
"\u00cb\7)\2\2\u00cb:\3\2\2\2\u00cc\u00cf\t\6\2\2\u00cd\u00cf\5=\37\2\u00ce"+
"\u00cc\3\2\2\2\u00ce\u00cd\3\2\2\2\u00cf<\3\2\2\2\u00d0\u00d1\7^\2\2\u00d1"+
"\u00d2\7)\2\2\u00d2>\3\2\2\2\26\2mvy}\u0082\u0089\u0090\u0096\u0099\u009f"+
"\u00a2\u00aa\u00ad\u00af\u00b3\u00b8\u00c1\u00c7\u00ce\2";
public static final ATN _ATN =
new ATNDeserializer().deserialize(_serializedATN.toCharArray());
static {
Expand Down

0 comments on commit b38c32f

Please sign in to comment.