mirror of
https://github.com/SecurityBrewery/catalyst.git
synced 2026-02-22 13:05:26 +01:00
1867 lines
62 KiB
JavaScript
1867 lines
62 KiB
JavaScript
// Generated from CAQLParser.g4 by ANTLR 4.9.2
|
|
// jshint ignore: start
|
|
import antlr4 from 'antlr4';
|
|
import CAQLParserListener from './CAQLParserListener.js';
|
|
|
|
const serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786",
|
|
"\u5964\u0003P\u00c0\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004\u0004",
|
|
"\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t\u0007",
|
|
"\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004\f\t\f",
|
|
"\u0003\u0002\u0003\u0002\u0003\u0002\u0003\u0003\u0003\u0003\u0003\u0003",
|
|
"\u0003\u0003\u0005\u0003 \n\u0003\u0003\u0003\u0003\u0003\u0003\u0003",
|
|
"\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003",
|
|
"\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0005\u0003",
|
|
"0\n\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003",
|
|
"\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003",
|
|
"\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0005\u0003",
|
|
"B\n\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003",
|
|
"\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003",
|
|
"\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003",
|
|
"\u0003\u0003\u0007\u0003V\n\u0003\f\u0003\u000e\u0003Y\u000b\u0003\u0003",
|
|
"\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0003\u0004\u0005",
|
|
"\u0004a\n\u0004\u0003\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0003",
|
|
"\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0005\u0005k\n\u0005\u0003",
|
|
"\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0003",
|
|
"\u0005\u0003\u0005\u0007\u0005u\n\u0005\f\u0005\u000e\u0005x\u000b\u0005",
|
|
"\u0003\u0006\u0003\u0006\u0005\u0006|\n\u0006\u0003\u0007\u0003\u0007",
|
|
"\u0003\u0007\u0005\u0007\u0081\n\u0007\u0003\u0007\u0003\u0007\u0007",
|
|
"\u0007\u0085\n\u0007\f\u0007\u000e\u0007\u0088\u000b\u0007\u0003\u0007",
|
|
"\u0005\u0007\u008b\n\u0007\u0003\u0007\u0003\u0007\u0003\b\u0003\b\u0003",
|
|
"\t\u0003\t\u0005\t\u0093\n\t\u0003\t\u0003\t\u0007\t\u0097\n\t\f\t\u000e",
|
|
"\t\u009a\u000b\t\u0003\t\u0005\t\u009d\n\t\u0003\t\u0003\t\u0003\n\u0003",
|
|
"\n\u0005\n\u00a3\n\n\u0003\n\u0003\n\u0007\n\u00a7\n\n\f\n\u000e\n\u00aa",
|
|
"\u000b\n\u0003\n\u0005\n\u00ad\n\n\u0003\n\u0003\n\u0003\u000b\u0003",
|
|
"\u000b\u0003\u000b\u0003\u000b\u0003\u000b\u0003\u000b\u0003\u000b\u0003",
|
|
"\u000b\u0003\u000b\u0003\u000b\u0003\u000b\u0005\u000b\u00bc\n\u000b",
|
|
"\u0003\f\u0003\f\u0003\f\u0004\u0086\u0098\u0004\u0004\b\r\u0002\u0004",
|
|
"\u0006\b\n\f\u000e\u0010\u0012\u0014\u0016\u0002\u000b\u0003\u0002\f",
|
|
"\r\u0003\u0002\u000e\u0010\u0003\u0002\b\u000b\u0003\u0002\u0006\u0007",
|
|
"\u0005\u0002\u001d\u001d\u001f\u001f00\u0004\u0002\u0006\u000b((\u0004",
|
|
"\u0002\u0004\u0005..\u0007\u0002$$22::HIKK\u0004\u0002GGKK\u0002\u00d8",
|
|
"\u0002\u0018\u0003\u0002\u0002\u0002\u0004\u001f\u0003\u0002\u0002\u0002",
|
|
"\u0006`\u0003\u0002\u0002\u0002\bj\u0003\u0002\u0002\u0002\n{\u0003",
|
|
"\u0002\u0002\u0002\f}\u0003\u0002\u0002\u0002\u000e\u008e\u0003\u0002",
|
|
"\u0002\u0002\u0010\u0090\u0003\u0002\u0002\u0002\u0012\u00a0\u0003\u0002",
|
|
"\u0002\u0002\u0014\u00bb\u0003\u0002\u0002\u0002\u0016\u00bd\u0003\u0002",
|
|
"\u0002\u0002\u0018\u0019\u0005\u0004\u0003\u0002\u0019\u001a\u0007\u0002",
|
|
"\u0002\u0003\u001a\u0003\u0003\u0002\u0002\u0002\u001b\u001c\b\u0003",
|
|
"\u0001\u0002\u001c \u0005\u000e\b\u0002\u001d \u0005\b\u0005\u0002\u001e",
|
|
" \u0005\u0006\u0004\u0002\u001f\u001b\u0003\u0002\u0002\u0002\u001f",
|
|
"\u001d\u0003\u0002\u0002\u0002\u001f\u001e\u0003\u0002\u0002\u0002 ",
|
|
"W\u0003\u0002\u0002\u0002!\"\f\u000f\u0002\u0002\"#\t\u0002\u0002\u0002",
|
|
"#V\u0005\u0004\u0003\u0010$%\f\u000e\u0002\u0002%&\t\u0003\u0002\u0002",
|
|
"&V\u0005\u0004\u0003\u000f\'(\f\r\u0002\u0002()\u0007\u0014\u0002\u0002",
|
|
")V\u0005\u0004\u0003\u000e*+\f\f\u0002\u0002+,\t\u0004\u0002\u0002,",
|
|
"V\u0005\u0004\u0003\r-/\f\u000b\u0002\u0002.0\u00071\u0002\u0002/.\u0003",
|
|
"\u0002\u0002\u0002/0\u0003\u0002\u0002\u000201\u0003\u0002\u0002\u0002",
|
|
"12\u0007(\u0002\u00022V\u0005\u0004\u0003\f34\f\n\u0002\u000245\t\u0005",
|
|
"\u0002\u00025V\u0005\u0004\u0003\u000b67\f\t\u0002\u000278\t\u0006\u0002",
|
|
"\u000289\t\u0007\u0002\u00029V\u0005\u0004\u0003\n:;\f\b\u0002\u0002",
|
|
";<\t\u0006\u0002\u0002<=\u00071\u0002\u0002=>\u0007(\u0002\u0002>V\u0005",
|
|
"\u0004\u0003\t?A\f\u0007\u0002\u0002@B\u00071\u0002\u0002A@\u0003\u0002",
|
|
"\u0002\u0002AB\u0003\u0002\u0002\u0002BC\u0003\u0002\u0002\u0002CD\t",
|
|
"\b\u0002\u0002DV\u0005\u0004\u0003\bEF\f\u0006\u0002\u0002FG\u0007\u001e",
|
|
"\u0002\u0002GV\u0005\u0004\u0003\u0007HI\f\u0005\u0002\u0002IJ\u0007",
|
|
"3\u0002\u0002JV\u0005\u0004\u0003\u0006KL\f\u0004\u0002\u0002LM\u0007",
|
|
"\u0011\u0002\u0002MN\u0005\u0004\u0003\u0002NO\u0007\u0012\u0002\u0002",
|
|
"OP\u0005\u0004\u0003\u0005PV\u0003\u0002\u0002\u0002QR\f\u0003\u0002",
|
|
"\u0002RS\u0007\u0011\u0002\u0002ST\u0007\u0012\u0002\u0002TV\u0005\u0004",
|
|
"\u0003\u0004U!\u0003\u0002\u0002\u0002U$\u0003\u0002\u0002\u0002U\'",
|
|
"\u0003\u0002\u0002\u0002U*\u0003\u0002\u0002\u0002U-\u0003\u0002\u0002",
|
|
"\u0002U3\u0003\u0002\u0002\u0002U6\u0003\u0002\u0002\u0002U:\u0003\u0002",
|
|
"\u0002\u0002U?\u0003\u0002\u0002\u0002UE\u0003\u0002\u0002\u0002UH\u0003",
|
|
"\u0002\u0002\u0002UK\u0003\u0002\u0002\u0002UQ\u0003\u0002\u0002\u0002",
|
|
"VY\u0003\u0002\u0002\u0002WU\u0003\u0002\u0002\u0002WX\u0003\u0002\u0002",
|
|
"\u0002X\u0005\u0003\u0002\u0002\u0002YW\u0003\u0002\u0002\u0002Z[\u0007",
|
|
"\f\u0002\u0002[a\u0005\u0004\u0003\u0002\\]\u0007\r\u0002\u0002]a\u0005",
|
|
"\u0004\u0003\u0002^_\u00071\u0002\u0002_a\u0005\u0004\u0003\u0002`Z",
|
|
"\u0003\u0002\u0002\u0002`\\\u0003\u0002\u0002\u0002`^\u0003\u0002\u0002",
|
|
"\u0002a\u0007\u0003\u0002\u0002\u0002bc\b\u0005\u0001\u0002ck\u0007",
|
|
"G\u0002\u0002dk\u0005\n\u0006\u0002ek\u0005\f\u0007\u0002fg\u0007\u0016",
|
|
"\u0002\u0002gh\u0005\u0004\u0003\u0002hi\u0007\u0017\u0002\u0002ik\u0003",
|
|
"\u0002\u0002\u0002jb\u0003\u0002\u0002\u0002jd\u0003\u0002\u0002\u0002",
|
|
"je\u0003\u0002\u0002\u0002jf\u0003\u0002\u0002\u0002kv\u0003\u0002\u0002",
|
|
"\u0002lm\f\u0004\u0002\u0002mn\u0007\u0003\u0002\u0002nu\u0007G\u0002",
|
|
"\u0002op\f\u0003\u0002\u0002pq\u0007\u001a\u0002\u0002qr\u0005\u0004",
|
|
"\u0003\u0002rs\u0007\u001b\u0002\u0002su\u0003\u0002\u0002\u0002tl\u0003",
|
|
"\u0002\u0002\u0002to\u0003\u0002\u0002\u0002ux\u0003\u0002\u0002\u0002",
|
|
"vt\u0003\u0002\u0002\u0002vw\u0003\u0002\u0002\u0002w\t\u0003\u0002",
|
|
"\u0002\u0002xv\u0003\u0002\u0002\u0002y|\u0005\u0010\t\u0002z|\u0005",
|
|
"\u0012\n\u0002{y\u0003\u0002\u0002\u0002{z\u0003\u0002\u0002\u0002|",
|
|
"\u000b\u0003\u0002\u0002\u0002}~\u0007G\u0002\u0002~\u0080\u0007\u0016",
|
|
"\u0002\u0002\u007f\u0081\u0005\u0004\u0003\u0002\u0080\u007f\u0003\u0002",
|
|
"\u0002\u0002\u0080\u0081\u0003\u0002\u0002\u0002\u0081\u0086\u0003\u0002",
|
|
"\u0002\u0002\u0082\u0083\u0007\u0015\u0002\u0002\u0083\u0085\u0005\u0004",
|
|
"\u0003\u0002\u0084\u0082\u0003\u0002\u0002\u0002\u0085\u0088\u0003\u0002",
|
|
"\u0002\u0002\u0086\u0087\u0003\u0002\u0002\u0002\u0086\u0084\u0003\u0002",
|
|
"\u0002\u0002\u0087\u008a\u0003\u0002\u0002\u0002\u0088\u0086\u0003\u0002",
|
|
"\u0002\u0002\u0089\u008b\u0007\u0015\u0002\u0002\u008a\u0089\u0003\u0002",
|
|
"\u0002\u0002\u008a\u008b\u0003\u0002\u0002\u0002\u008b\u008c\u0003\u0002",
|
|
"\u0002\u0002\u008c\u008d\u0007\u0017\u0002\u0002\u008d\r\u0003\u0002",
|
|
"\u0002\u0002\u008e\u008f\t\t\u0002\u0002\u008f\u000f\u0003\u0002\u0002",
|
|
"\u0002\u0090\u0092\u0007\u001a\u0002\u0002\u0091\u0093\u0005\u0004\u0003",
|
|
"\u0002\u0092\u0091\u0003\u0002\u0002\u0002\u0092\u0093\u0003\u0002\u0002",
|
|
"\u0002\u0093\u0098\u0003\u0002\u0002\u0002\u0094\u0095\u0007\u0015\u0002",
|
|
"\u0002\u0095\u0097\u0005\u0004\u0003\u0002\u0096\u0094\u0003\u0002\u0002",
|
|
"\u0002\u0097\u009a\u0003\u0002\u0002\u0002\u0098\u0099\u0003\u0002\u0002",
|
|
"\u0002\u0098\u0096\u0003\u0002\u0002\u0002\u0099\u009c\u0003\u0002\u0002",
|
|
"\u0002\u009a\u0098\u0003\u0002\u0002\u0002\u009b\u009d\u0007\u0015\u0002",
|
|
"\u0002\u009c\u009b\u0003\u0002\u0002\u0002\u009c\u009d\u0003\u0002\u0002",
|
|
"\u0002\u009d\u009e\u0003\u0002\u0002\u0002\u009e\u009f\u0007\u001b\u0002",
|
|
"\u0002\u009f\u0011\u0003\u0002\u0002\u0002\u00a0\u00a2\u0007\u0018\u0002",
|
|
"\u0002\u00a1\u00a3\u0005\u0014\u000b\u0002\u00a2\u00a1\u0003\u0002\u0002",
|
|
"\u0002\u00a2\u00a3\u0003\u0002\u0002\u0002\u00a3\u00a8\u0003\u0002\u0002",
|
|
"\u0002\u00a4\u00a5\u0007\u0015\u0002\u0002\u00a5\u00a7\u0005\u0014\u000b",
|
|
"\u0002\u00a6\u00a4\u0003\u0002\u0002\u0002\u00a7\u00aa\u0003\u0002\u0002",
|
|
"\u0002\u00a8\u00a6\u0003\u0002\u0002\u0002\u00a8\u00a9\u0003\u0002\u0002",
|
|
"\u0002\u00a9\u00ac\u0003\u0002\u0002\u0002\u00aa\u00a8\u0003\u0002\u0002",
|
|
"\u0002\u00ab\u00ad\u0007\u0015\u0002\u0002\u00ac\u00ab\u0003\u0002\u0002",
|
|
"\u0002\u00ac\u00ad\u0003\u0002\u0002\u0002\u00ad\u00ae\u0003\u0002\u0002",
|
|
"\u0002\u00ae\u00af\u0007\u0019\u0002\u0002\u00af\u0013\u0003\u0002\u0002",
|
|
"\u0002\u00b0\u00bc\u0007G\u0002\u0002\u00b1\u00b2\u0005\u0016\f\u0002",
|
|
"\u00b2\u00b3\u0007\u0012\u0002\u0002\u00b3\u00b4\u0005\u0004\u0003\u0002",
|
|
"\u00b4\u00bc\u0003\u0002\u0002\u0002\u00b5\u00b6\u0007\u001a\u0002\u0002",
|
|
"\u00b6\u00b7\u0005\u0004\u0003\u0002\u00b7\u00b8\u0007\u001b\u0002\u0002",
|
|
"\u00b8\u00b9\u0007\u0012\u0002\u0002\u00b9\u00ba\u0005\u0004\u0003\u0002",
|
|
"\u00ba\u00bc\u0003\u0002\u0002\u0002\u00bb\u00b0\u0003\u0002\u0002\u0002",
|
|
"\u00bb\u00b1\u0003\u0002\u0002\u0002\u00bb\u00b5\u0003\u0002\u0002\u0002",
|
|
"\u00bc\u0015\u0003\u0002\u0002\u0002\u00bd\u00be\t\n\u0002\u0002\u00be",
|
|
"\u0017\u0003\u0002\u0002\u0002\u0016\u001f/AUW`jtv{\u0080\u0086\u008a",
|
|
"\u0092\u0098\u009c\u00a2\u00a8\u00ac\u00bb"].join("");
|
|
|
|
|
|
const atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN);
|
|
|
|
const decisionsToDFA = atn.decisionToState.map( (ds, index) => new antlr4.dfa.DFA(ds, index) );
|
|
|
|
const sharedContextCache = new antlr4.PredictionContextCache();
|
|
|
|
export default class CAQLParser extends antlr4.Parser {
|
|
|
|
static grammarFileName = "CAQLParser.g4";
|
|
static literalNames = [ null, "'.'", "'=~'", "'!~'", "'=='", "'!='",
|
|
"'<'", "'>'", "'<='", "'>='", "'+'", "'-'",
|
|
"'*'", "'/'", "'%'", "'?'", "':'", "'::'", "'..'",
|
|
"','", "'('", "')'", "'{'", "'}'", "'['", "']'" ];
|
|
static symbolicNames = [ null, "DOT", "T_REGEX_MATCH", "T_REGEX_NON_MATCH",
|
|
"T_EQ", "T_NE", "T_LT", "T_GT", "T_LE", "T_GE",
|
|
"T_PLUS", "T_MINUS", "T_TIMES", "T_DIV", "T_MOD",
|
|
"T_QUESTION", "T_COLON", "T_SCOPE", "T_RANGE",
|
|
"T_COMMA", "T_OPEN", "T_CLOSE", "T_OBJECT_OPEN",
|
|
"T_OBJECT_CLOSE", "T_ARRAY_OPEN", "T_ARRAY_CLOSE",
|
|
"T_AGGREGATE", "T_ALL", "T_AND", "T_ANY", "T_ASC",
|
|
"T_COLLECT", "T_DESC", "T_DISTINCT", "T_FALSE",
|
|
"T_FILTER", "T_FOR", "T_GRAPH", "T_IN", "T_INBOUND",
|
|
"T_INSERT", "T_INTO", "T_K_SHORTEST_PATHS",
|
|
"T_LET", "T_LIKE", "T_LIMIT", "T_NONE", "T_NOT",
|
|
"T_NULL", "T_OR", "T_OUTBOUND", "T_REMOVE",
|
|
"T_REPLACE", "T_RETURN", "T_SHORTEST_PATH",
|
|
"T_SORT", "T_TRUE", "T_UPDATE", "T_UPSERT",
|
|
"T_WITH", "T_KEEP", "T_COUNT", "T_OPTIONS",
|
|
"T_PRUNE", "T_SEARCH", "T_TO", "T_CURRENT",
|
|
"T_NEW", "T_OLD", "T_STRING", "T_INT", "T_FLOAT",
|
|
"T_PARAMETER", "T_QUOTED_STRING", "SINGLE_LINE_COMMENT",
|
|
"MULTILINE_COMMENT", "SPACES", "UNEXPECTED_CHAR",
|
|
"ERROR_RECONGNIGION" ];
|
|
static ruleNames = [ "parse", "expression", "operator_unary", "reference",
|
|
"compound_value", "function_call", "value_literal",
|
|
"array", "object", "object_element", "object_element_name" ];
|
|
|
|
constructor(input) {
|
|
super(input);
|
|
this._interp = new antlr4.atn.ParserATNSimulator(this, atn, decisionsToDFA, sharedContextCache);
|
|
this.ruleNames = CAQLParser.ruleNames;
|
|
this.literalNames = CAQLParser.literalNames;
|
|
this.symbolicNames = CAQLParser.symbolicNames;
|
|
}
|
|
|
|
get atn() {
|
|
return atn;
|
|
}
|
|
|
|
sempred(localctx, ruleIndex, predIndex) {
|
|
switch(ruleIndex) {
|
|
case 1:
|
|
return this.expression_sempred(localctx, predIndex);
|
|
case 3:
|
|
return this.reference_sempred(localctx, predIndex);
|
|
default:
|
|
throw "No predicate with index:" + ruleIndex;
|
|
}
|
|
}
|
|
|
|
expression_sempred(localctx, predIndex) {
|
|
switch(predIndex) {
|
|
case 0:
|
|
return this.precpred(this._ctx, 13);
|
|
case 1:
|
|
return this.precpred(this._ctx, 12);
|
|
case 2:
|
|
return this.precpred(this._ctx, 11);
|
|
case 3:
|
|
return this.precpred(this._ctx, 10);
|
|
case 4:
|
|
return this.precpred(this._ctx, 9);
|
|
case 5:
|
|
return this.precpred(this._ctx, 8);
|
|
case 6:
|
|
return this.precpred(this._ctx, 7);
|
|
case 7:
|
|
return this.precpred(this._ctx, 6);
|
|
case 8:
|
|
return this.precpred(this._ctx, 5);
|
|
case 9:
|
|
return this.precpred(this._ctx, 4);
|
|
case 10:
|
|
return this.precpred(this._ctx, 3);
|
|
case 11:
|
|
return this.precpred(this._ctx, 2);
|
|
case 12:
|
|
return this.precpred(this._ctx, 1);
|
|
default:
|
|
throw "No predicate with index:" + predIndex;
|
|
}
|
|
};
|
|
|
|
reference_sempred(localctx, predIndex) {
|
|
switch(predIndex) {
|
|
case 13:
|
|
return this.precpred(this._ctx, 2);
|
|
case 14:
|
|
return this.precpred(this._ctx, 1);
|
|
default:
|
|
throw "No predicate with index:" + predIndex;
|
|
}
|
|
};
|
|
|
|
|
|
|
|
|
|
parse() {
|
|
let localctx = new ParseContext(this, this._ctx, this.state);
|
|
this.enterRule(localctx, 0, CAQLParser.RULE_parse);
|
|
try {
|
|
this.enterOuterAlt(localctx, 1);
|
|
this.state = 22;
|
|
this.expression(0);
|
|
this.state = 23;
|
|
this.match(CAQLParser.EOF);
|
|
} catch (re) {
|
|
if(re instanceof antlr4.error.RecognitionException) {
|
|
localctx.exception = re;
|
|
this._errHandler.reportError(this, re);
|
|
this._errHandler.recover(this, re);
|
|
} else {
|
|
throw re;
|
|
}
|
|
} finally {
|
|
this.exitRule();
|
|
}
|
|
return localctx;
|
|
}
|
|
|
|
|
|
expression(_p) {
|
|
if(_p===undefined) {
|
|
_p = 0;
|
|
}
|
|
const _parentctx = this._ctx;
|
|
const _parentState = this.state;
|
|
let localctx = new ExpressionContext(this, this._ctx, _parentState);
|
|
let _prevctx = localctx;
|
|
const _startState = 2;
|
|
this.enterRecursionRule(localctx, 2, CAQLParser.RULE_expression, _p);
|
|
var _la = 0; // Token type
|
|
try {
|
|
this.enterOuterAlt(localctx, 1);
|
|
this.state = 29;
|
|
this._errHandler.sync(this);
|
|
switch(this._input.LA(1)) {
|
|
case CAQLParser.T_FALSE:
|
|
case CAQLParser.T_NULL:
|
|
case CAQLParser.T_TRUE:
|
|
case CAQLParser.T_INT:
|
|
case CAQLParser.T_FLOAT:
|
|
case CAQLParser.T_QUOTED_STRING:
|
|
this.state = 26;
|
|
this.value_literal();
|
|
break;
|
|
case CAQLParser.T_OPEN:
|
|
case CAQLParser.T_OBJECT_OPEN:
|
|
case CAQLParser.T_ARRAY_OPEN:
|
|
case CAQLParser.T_STRING:
|
|
this.state = 27;
|
|
this.reference(0);
|
|
break;
|
|
case CAQLParser.T_PLUS:
|
|
case CAQLParser.T_MINUS:
|
|
case CAQLParser.T_NOT:
|
|
this.state = 28;
|
|
this.operator_unary();
|
|
break;
|
|
default:
|
|
throw new antlr4.error.NoViableAltException(this);
|
|
}
|
|
this._ctx.stop = this._input.LT(-1);
|
|
this.state = 85;
|
|
this._errHandler.sync(this);
|
|
var _alt = this._interp.adaptivePredict(this._input,4,this._ctx)
|
|
while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) {
|
|
if(_alt===1) {
|
|
if(this._parseListeners!==null) {
|
|
this.triggerExitRuleEvent();
|
|
}
|
|
_prevctx = localctx;
|
|
this.state = 83;
|
|
this._errHandler.sync(this);
|
|
var la_ = this._interp.adaptivePredict(this._input,3,this._ctx);
|
|
switch(la_) {
|
|
case 1:
|
|
localctx = new ExpressionContext(this, _parentctx, _parentState);
|
|
this.pushNewRecursionContext(localctx, _startState, CAQLParser.RULE_expression);
|
|
this.state = 31;
|
|
if (!( this.precpred(this._ctx, 13))) {
|
|
throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 13)");
|
|
}
|
|
this.state = 32;
|
|
_la = this._input.LA(1);
|
|
if(!(_la===CAQLParser.T_PLUS || _la===CAQLParser.T_MINUS)) {
|
|
this._errHandler.recoverInline(this);
|
|
}
|
|
else {
|
|
this._errHandler.reportMatch(this);
|
|
this.consume();
|
|
}
|
|
this.state = 33;
|
|
this.expression(14);
|
|
break;
|
|
|
|
case 2:
|
|
localctx = new ExpressionContext(this, _parentctx, _parentState);
|
|
this.pushNewRecursionContext(localctx, _startState, CAQLParser.RULE_expression);
|
|
this.state = 34;
|
|
if (!( this.precpred(this._ctx, 12))) {
|
|
throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 12)");
|
|
}
|
|
this.state = 35;
|
|
_la = this._input.LA(1);
|
|
if(!((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << CAQLParser.T_TIMES) | (1 << CAQLParser.T_DIV) | (1 << CAQLParser.T_MOD))) !== 0))) {
|
|
this._errHandler.recoverInline(this);
|
|
}
|
|
else {
|
|
this._errHandler.reportMatch(this);
|
|
this.consume();
|
|
}
|
|
this.state = 36;
|
|
this.expression(13);
|
|
break;
|
|
|
|
case 3:
|
|
localctx = new ExpressionContext(this, _parentctx, _parentState);
|
|
this.pushNewRecursionContext(localctx, _startState, CAQLParser.RULE_expression);
|
|
this.state = 37;
|
|
if (!( this.precpred(this._ctx, 11))) {
|
|
throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 11)");
|
|
}
|
|
this.state = 38;
|
|
this.match(CAQLParser.T_RANGE);
|
|
this.state = 39;
|
|
this.expression(12);
|
|
break;
|
|
|
|
case 4:
|
|
localctx = new ExpressionContext(this, _parentctx, _parentState);
|
|
this.pushNewRecursionContext(localctx, _startState, CAQLParser.RULE_expression);
|
|
this.state = 40;
|
|
if (!( this.precpred(this._ctx, 10))) {
|
|
throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 10)");
|
|
}
|
|
this.state = 41;
|
|
_la = this._input.LA(1);
|
|
if(!((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << CAQLParser.T_LT) | (1 << CAQLParser.T_GT) | (1 << CAQLParser.T_LE) | (1 << CAQLParser.T_GE))) !== 0))) {
|
|
this._errHandler.recoverInline(this);
|
|
}
|
|
else {
|
|
this._errHandler.reportMatch(this);
|
|
this.consume();
|
|
}
|
|
this.state = 42;
|
|
this.expression(11);
|
|
break;
|
|
|
|
case 5:
|
|
localctx = new ExpressionContext(this, _parentctx, _parentState);
|
|
this.pushNewRecursionContext(localctx, _startState, CAQLParser.RULE_expression);
|
|
this.state = 43;
|
|
if (!( this.precpred(this._ctx, 9))) {
|
|
throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 9)");
|
|
}
|
|
this.state = 45;
|
|
this._errHandler.sync(this);
|
|
_la = this._input.LA(1);
|
|
if(_la===CAQLParser.T_NOT) {
|
|
this.state = 44;
|
|
this.match(CAQLParser.T_NOT);
|
|
}
|
|
|
|
this.state = 47;
|
|
this.match(CAQLParser.T_IN);
|
|
this.state = 48;
|
|
this.expression(10);
|
|
break;
|
|
|
|
case 6:
|
|
localctx = new ExpressionContext(this, _parentctx, _parentState);
|
|
this.pushNewRecursionContext(localctx, _startState, CAQLParser.RULE_expression);
|
|
this.state = 49;
|
|
if (!( this.precpred(this._ctx, 8))) {
|
|
throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 8)");
|
|
}
|
|
this.state = 50;
|
|
_la = this._input.LA(1);
|
|
if(!(_la===CAQLParser.T_EQ || _la===CAQLParser.T_NE)) {
|
|
this._errHandler.recoverInline(this);
|
|
}
|
|
else {
|
|
this._errHandler.reportMatch(this);
|
|
this.consume();
|
|
}
|
|
this.state = 51;
|
|
this.expression(9);
|
|
break;
|
|
|
|
case 7:
|
|
localctx = new ExpressionContext(this, _parentctx, _parentState);
|
|
this.pushNewRecursionContext(localctx, _startState, CAQLParser.RULE_expression);
|
|
this.state = 52;
|
|
if (!( this.precpred(this._ctx, 7))) {
|
|
throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 7)");
|
|
}
|
|
this.state = 53;
|
|
_la = this._input.LA(1);
|
|
if(!(((((_la - 27)) & ~0x1f) == 0 && ((1 << (_la - 27)) & ((1 << (CAQLParser.T_ALL - 27)) | (1 << (CAQLParser.T_ANY - 27)) | (1 << (CAQLParser.T_NONE - 27)))) !== 0))) {
|
|
this._errHandler.recoverInline(this);
|
|
}
|
|
else {
|
|
this._errHandler.reportMatch(this);
|
|
this.consume();
|
|
}
|
|
this.state = 54;
|
|
localctx.eq_op = this._input.LT(1);
|
|
_la = this._input.LA(1);
|
|
if(!((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << CAQLParser.T_EQ) | (1 << CAQLParser.T_NE) | (1 << CAQLParser.T_LT) | (1 << CAQLParser.T_GT) | (1 << CAQLParser.T_LE) | (1 << CAQLParser.T_GE))) !== 0) || _la===CAQLParser.T_IN)) {
|
|
localctx.eq_op = this._errHandler.recoverInline(this);
|
|
}
|
|
else {
|
|
this._errHandler.reportMatch(this);
|
|
this.consume();
|
|
}
|
|
this.state = 55;
|
|
this.expression(8);
|
|
break;
|
|
|
|
case 8:
|
|
localctx = new ExpressionContext(this, _parentctx, _parentState);
|
|
this.pushNewRecursionContext(localctx, _startState, CAQLParser.RULE_expression);
|
|
this.state = 56;
|
|
if (!( this.precpred(this._ctx, 6))) {
|
|
throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 6)");
|
|
}
|
|
this.state = 57;
|
|
_la = this._input.LA(1);
|
|
if(!(((((_la - 27)) & ~0x1f) == 0 && ((1 << (_la - 27)) & ((1 << (CAQLParser.T_ALL - 27)) | (1 << (CAQLParser.T_ANY - 27)) | (1 << (CAQLParser.T_NONE - 27)))) !== 0))) {
|
|
this._errHandler.recoverInline(this);
|
|
}
|
|
else {
|
|
this._errHandler.reportMatch(this);
|
|
this.consume();
|
|
}
|
|
this.state = 58;
|
|
this.match(CAQLParser.T_NOT);
|
|
this.state = 59;
|
|
this.match(CAQLParser.T_IN);
|
|
this.state = 60;
|
|
this.expression(7);
|
|
break;
|
|
|
|
case 9:
|
|
localctx = new ExpressionContext(this, _parentctx, _parentState);
|
|
this.pushNewRecursionContext(localctx, _startState, CAQLParser.RULE_expression);
|
|
this.state = 61;
|
|
if (!( this.precpred(this._ctx, 5))) {
|
|
throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 5)");
|
|
}
|
|
this.state = 63;
|
|
this._errHandler.sync(this);
|
|
_la = this._input.LA(1);
|
|
if(_la===CAQLParser.T_NOT) {
|
|
this.state = 62;
|
|
this.match(CAQLParser.T_NOT);
|
|
}
|
|
|
|
this.state = 65;
|
|
_la = this._input.LA(1);
|
|
if(!(_la===CAQLParser.T_REGEX_MATCH || _la===CAQLParser.T_REGEX_NON_MATCH || _la===CAQLParser.T_LIKE)) {
|
|
this._errHandler.recoverInline(this);
|
|
}
|
|
else {
|
|
this._errHandler.reportMatch(this);
|
|
this.consume();
|
|
}
|
|
this.state = 66;
|
|
this.expression(6);
|
|
break;
|
|
|
|
case 10:
|
|
localctx = new ExpressionContext(this, _parentctx, _parentState);
|
|
this.pushNewRecursionContext(localctx, _startState, CAQLParser.RULE_expression);
|
|
this.state = 67;
|
|
if (!( this.precpred(this._ctx, 4))) {
|
|
throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 4)");
|
|
}
|
|
this.state = 68;
|
|
this.match(CAQLParser.T_AND);
|
|
this.state = 69;
|
|
this.expression(5);
|
|
break;
|
|
|
|
case 11:
|
|
localctx = new ExpressionContext(this, _parentctx, _parentState);
|
|
this.pushNewRecursionContext(localctx, _startState, CAQLParser.RULE_expression);
|
|
this.state = 70;
|
|
if (!( this.precpred(this._ctx, 3))) {
|
|
throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 3)");
|
|
}
|
|
this.state = 71;
|
|
this.match(CAQLParser.T_OR);
|
|
this.state = 72;
|
|
this.expression(4);
|
|
break;
|
|
|
|
case 12:
|
|
localctx = new ExpressionContext(this, _parentctx, _parentState);
|
|
this.pushNewRecursionContext(localctx, _startState, CAQLParser.RULE_expression);
|
|
this.state = 73;
|
|
if (!( this.precpred(this._ctx, 2))) {
|
|
throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 2)");
|
|
}
|
|
this.state = 74;
|
|
this.match(CAQLParser.T_QUESTION);
|
|
this.state = 75;
|
|
this.expression(0);
|
|
this.state = 76;
|
|
this.match(CAQLParser.T_COLON);
|
|
this.state = 77;
|
|
this.expression(3);
|
|
break;
|
|
|
|
case 13:
|
|
localctx = new ExpressionContext(this, _parentctx, _parentState);
|
|
this.pushNewRecursionContext(localctx, _startState, CAQLParser.RULE_expression);
|
|
this.state = 79;
|
|
if (!( this.precpred(this._ctx, 1))) {
|
|
throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 1)");
|
|
}
|
|
this.state = 80;
|
|
this.match(CAQLParser.T_QUESTION);
|
|
this.state = 81;
|
|
this.match(CAQLParser.T_COLON);
|
|
this.state = 82;
|
|
this.expression(2);
|
|
break;
|
|
|
|
}
|
|
}
|
|
this.state = 87;
|
|
this._errHandler.sync(this);
|
|
_alt = this._interp.adaptivePredict(this._input,4,this._ctx);
|
|
}
|
|
|
|
} catch( error) {
|
|
if(error instanceof antlr4.error.RecognitionException) {
|
|
localctx.exception = error;
|
|
this._errHandler.reportError(this, error);
|
|
this._errHandler.recover(this, error);
|
|
} else {
|
|
throw error;
|
|
}
|
|
} finally {
|
|
this.unrollRecursionContexts(_parentctx)
|
|
}
|
|
return localctx;
|
|
}
|
|
|
|
|
|
|
|
operator_unary() {
|
|
let localctx = new Operator_unaryContext(this, this._ctx, this.state);
|
|
this.enterRule(localctx, 4, CAQLParser.RULE_operator_unary);
|
|
try {
|
|
this.enterOuterAlt(localctx, 1);
|
|
this.state = 94;
|
|
this._errHandler.sync(this);
|
|
switch(this._input.LA(1)) {
|
|
case CAQLParser.T_PLUS:
|
|
this.state = 88;
|
|
this.match(CAQLParser.T_PLUS);
|
|
this.state = 89;
|
|
this.expression(0);
|
|
break;
|
|
case CAQLParser.T_MINUS:
|
|
this.state = 90;
|
|
this.match(CAQLParser.T_MINUS);
|
|
this.state = 91;
|
|
this.expression(0);
|
|
break;
|
|
case CAQLParser.T_NOT:
|
|
this.state = 92;
|
|
this.match(CAQLParser.T_NOT);
|
|
this.state = 93;
|
|
this.expression(0);
|
|
break;
|
|
default:
|
|
throw new antlr4.error.NoViableAltException(this);
|
|
}
|
|
} catch (re) {
|
|
if(re instanceof antlr4.error.RecognitionException) {
|
|
localctx.exception = re;
|
|
this._errHandler.reportError(this, re);
|
|
this._errHandler.recover(this, re);
|
|
} else {
|
|
throw re;
|
|
}
|
|
} finally {
|
|
this.exitRule();
|
|
}
|
|
return localctx;
|
|
}
|
|
|
|
|
|
reference(_p) {
|
|
if(_p===undefined) {
|
|
_p = 0;
|
|
}
|
|
const _parentctx = this._ctx;
|
|
const _parentState = this.state;
|
|
let localctx = new ReferenceContext(this, this._ctx, _parentState);
|
|
let _prevctx = localctx;
|
|
const _startState = 6;
|
|
this.enterRecursionRule(localctx, 6, CAQLParser.RULE_reference, _p);
|
|
try {
|
|
this.enterOuterAlt(localctx, 1);
|
|
this.state = 104;
|
|
this._errHandler.sync(this);
|
|
var la_ = this._interp.adaptivePredict(this._input,6,this._ctx);
|
|
switch(la_) {
|
|
case 1:
|
|
this.state = 97;
|
|
this.match(CAQLParser.T_STRING);
|
|
break;
|
|
|
|
case 2:
|
|
this.state = 98;
|
|
this.compound_value();
|
|
break;
|
|
|
|
case 3:
|
|
this.state = 99;
|
|
this.function_call();
|
|
break;
|
|
|
|
case 4:
|
|
this.state = 100;
|
|
this.match(CAQLParser.T_OPEN);
|
|
this.state = 101;
|
|
this.expression(0);
|
|
this.state = 102;
|
|
this.match(CAQLParser.T_CLOSE);
|
|
break;
|
|
|
|
}
|
|
this._ctx.stop = this._input.LT(-1);
|
|
this.state = 116;
|
|
this._errHandler.sync(this);
|
|
var _alt = this._interp.adaptivePredict(this._input,8,this._ctx)
|
|
while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) {
|
|
if(_alt===1) {
|
|
if(this._parseListeners!==null) {
|
|
this.triggerExitRuleEvent();
|
|
}
|
|
_prevctx = localctx;
|
|
this.state = 114;
|
|
this._errHandler.sync(this);
|
|
var la_ = this._interp.adaptivePredict(this._input,7,this._ctx);
|
|
switch(la_) {
|
|
case 1:
|
|
localctx = new ReferenceContext(this, _parentctx, _parentState);
|
|
this.pushNewRecursionContext(localctx, _startState, CAQLParser.RULE_reference);
|
|
this.state = 106;
|
|
if (!( this.precpred(this._ctx, 2))) {
|
|
throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 2)");
|
|
}
|
|
this.state = 107;
|
|
this.match(CAQLParser.DOT);
|
|
this.state = 108;
|
|
this.match(CAQLParser.T_STRING);
|
|
break;
|
|
|
|
case 2:
|
|
localctx = new ReferenceContext(this, _parentctx, _parentState);
|
|
this.pushNewRecursionContext(localctx, _startState, CAQLParser.RULE_reference);
|
|
this.state = 109;
|
|
if (!( this.precpred(this._ctx, 1))) {
|
|
throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 1)");
|
|
}
|
|
this.state = 110;
|
|
this.match(CAQLParser.T_ARRAY_OPEN);
|
|
this.state = 111;
|
|
this.expression(0);
|
|
this.state = 112;
|
|
this.match(CAQLParser.T_ARRAY_CLOSE);
|
|
break;
|
|
|
|
}
|
|
}
|
|
this.state = 118;
|
|
this._errHandler.sync(this);
|
|
_alt = this._interp.adaptivePredict(this._input,8,this._ctx);
|
|
}
|
|
|
|
} catch( error) {
|
|
if(error instanceof antlr4.error.RecognitionException) {
|
|
localctx.exception = error;
|
|
this._errHandler.reportError(this, error);
|
|
this._errHandler.recover(this, error);
|
|
} else {
|
|
throw error;
|
|
}
|
|
} finally {
|
|
this.unrollRecursionContexts(_parentctx)
|
|
}
|
|
return localctx;
|
|
}
|
|
|
|
|
|
|
|
compound_value() {
|
|
let localctx = new Compound_valueContext(this, this._ctx, this.state);
|
|
this.enterRule(localctx, 8, CAQLParser.RULE_compound_value);
|
|
try {
|
|
this.enterOuterAlt(localctx, 1);
|
|
this.state = 121;
|
|
this._errHandler.sync(this);
|
|
switch(this._input.LA(1)) {
|
|
case CAQLParser.T_ARRAY_OPEN:
|
|
this.state = 119;
|
|
this.array();
|
|
break;
|
|
case CAQLParser.T_OBJECT_OPEN:
|
|
this.state = 120;
|
|
this.object();
|
|
break;
|
|
default:
|
|
throw new antlr4.error.NoViableAltException(this);
|
|
}
|
|
} catch (re) {
|
|
if(re instanceof antlr4.error.RecognitionException) {
|
|
localctx.exception = re;
|
|
this._errHandler.reportError(this, re);
|
|
this._errHandler.recover(this, re);
|
|
} else {
|
|
throw re;
|
|
}
|
|
} finally {
|
|
this.exitRule();
|
|
}
|
|
return localctx;
|
|
}
|
|
|
|
|
|
|
|
function_call() {
|
|
let localctx = new Function_callContext(this, this._ctx, this.state);
|
|
this.enterRule(localctx, 10, CAQLParser.RULE_function_call);
|
|
var _la = 0; // Token type
|
|
try {
|
|
this.enterOuterAlt(localctx, 1);
|
|
this.state = 123;
|
|
this.match(CAQLParser.T_STRING);
|
|
this.state = 124;
|
|
this.match(CAQLParser.T_OPEN);
|
|
this.state = 126;
|
|
this._errHandler.sync(this);
|
|
_la = this._input.LA(1);
|
|
if(((((_la - 10)) & ~0x1f) == 0 && ((1 << (_la - 10)) & ((1 << (CAQLParser.T_PLUS - 10)) | (1 << (CAQLParser.T_MINUS - 10)) | (1 << (CAQLParser.T_OPEN - 10)) | (1 << (CAQLParser.T_OBJECT_OPEN - 10)) | (1 << (CAQLParser.T_ARRAY_OPEN - 10)) | (1 << (CAQLParser.T_FALSE - 10)))) !== 0) || ((((_la - 47)) & ~0x1f) == 0 && ((1 << (_la - 47)) & ((1 << (CAQLParser.T_NOT - 47)) | (1 << (CAQLParser.T_NULL - 47)) | (1 << (CAQLParser.T_TRUE - 47)) | (1 << (CAQLParser.T_STRING - 47)) | (1 << (CAQLParser.T_INT - 47)) | (1 << (CAQLParser.T_FLOAT - 47)) | (1 << (CAQLParser.T_QUOTED_STRING - 47)))) !== 0)) {
|
|
this.state = 125;
|
|
this.expression(0);
|
|
}
|
|
|
|
this.state = 132;
|
|
this._errHandler.sync(this);
|
|
var _alt = this._interp.adaptivePredict(this._input,11,this._ctx)
|
|
while(_alt!=1 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) {
|
|
if(_alt===1+1) {
|
|
this.state = 128;
|
|
this.match(CAQLParser.T_COMMA);
|
|
this.state = 129;
|
|
this.expression(0);
|
|
}
|
|
this.state = 134;
|
|
this._errHandler.sync(this);
|
|
_alt = this._interp.adaptivePredict(this._input,11,this._ctx);
|
|
}
|
|
|
|
this.state = 136;
|
|
this._errHandler.sync(this);
|
|
_la = this._input.LA(1);
|
|
if(_la===CAQLParser.T_COMMA) {
|
|
this.state = 135;
|
|
this.match(CAQLParser.T_COMMA);
|
|
}
|
|
|
|
this.state = 138;
|
|
this.match(CAQLParser.T_CLOSE);
|
|
} catch (re) {
|
|
if(re instanceof antlr4.error.RecognitionException) {
|
|
localctx.exception = re;
|
|
this._errHandler.reportError(this, re);
|
|
this._errHandler.recover(this, re);
|
|
} else {
|
|
throw re;
|
|
}
|
|
} finally {
|
|
this.exitRule();
|
|
}
|
|
return localctx;
|
|
}
|
|
|
|
|
|
|
|
value_literal() {
|
|
let localctx = new Value_literalContext(this, this._ctx, this.state);
|
|
this.enterRule(localctx, 12, CAQLParser.RULE_value_literal);
|
|
var _la = 0; // Token type
|
|
try {
|
|
this.enterOuterAlt(localctx, 1);
|
|
this.state = 140;
|
|
_la = this._input.LA(1);
|
|
if(!(((((_la - 34)) & ~0x1f) == 0 && ((1 << (_la - 34)) & ((1 << (CAQLParser.T_FALSE - 34)) | (1 << (CAQLParser.T_NULL - 34)) | (1 << (CAQLParser.T_TRUE - 34)))) !== 0) || ((((_la - 70)) & ~0x1f) == 0 && ((1 << (_la - 70)) & ((1 << (CAQLParser.T_INT - 70)) | (1 << (CAQLParser.T_FLOAT - 70)) | (1 << (CAQLParser.T_QUOTED_STRING - 70)))) !== 0))) {
|
|
this._errHandler.recoverInline(this);
|
|
}
|
|
else {
|
|
this._errHandler.reportMatch(this);
|
|
this.consume();
|
|
}
|
|
} catch (re) {
|
|
if(re instanceof antlr4.error.RecognitionException) {
|
|
localctx.exception = re;
|
|
this._errHandler.reportError(this, re);
|
|
this._errHandler.recover(this, re);
|
|
} else {
|
|
throw re;
|
|
}
|
|
} finally {
|
|
this.exitRule();
|
|
}
|
|
return localctx;
|
|
}
|
|
|
|
|
|
|
|
array() {
|
|
let localctx = new ArrayContext(this, this._ctx, this.state);
|
|
this.enterRule(localctx, 14, CAQLParser.RULE_array);
|
|
var _la = 0; // Token type
|
|
try {
|
|
this.enterOuterAlt(localctx, 1);
|
|
this.state = 142;
|
|
this.match(CAQLParser.T_ARRAY_OPEN);
|
|
this.state = 144;
|
|
this._errHandler.sync(this);
|
|
_la = this._input.LA(1);
|
|
if(((((_la - 10)) & ~0x1f) == 0 && ((1 << (_la - 10)) & ((1 << (CAQLParser.T_PLUS - 10)) | (1 << (CAQLParser.T_MINUS - 10)) | (1 << (CAQLParser.T_OPEN - 10)) | (1 << (CAQLParser.T_OBJECT_OPEN - 10)) | (1 << (CAQLParser.T_ARRAY_OPEN - 10)) | (1 << (CAQLParser.T_FALSE - 10)))) !== 0) || ((((_la - 47)) & ~0x1f) == 0 && ((1 << (_la - 47)) & ((1 << (CAQLParser.T_NOT - 47)) | (1 << (CAQLParser.T_NULL - 47)) | (1 << (CAQLParser.T_TRUE - 47)) | (1 << (CAQLParser.T_STRING - 47)) | (1 << (CAQLParser.T_INT - 47)) | (1 << (CAQLParser.T_FLOAT - 47)) | (1 << (CAQLParser.T_QUOTED_STRING - 47)))) !== 0)) {
|
|
this.state = 143;
|
|
this.expression(0);
|
|
}
|
|
|
|
this.state = 150;
|
|
this._errHandler.sync(this);
|
|
var _alt = this._interp.adaptivePredict(this._input,14,this._ctx)
|
|
while(_alt!=1 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) {
|
|
if(_alt===1+1) {
|
|
this.state = 146;
|
|
this.match(CAQLParser.T_COMMA);
|
|
this.state = 147;
|
|
this.expression(0);
|
|
}
|
|
this.state = 152;
|
|
this._errHandler.sync(this);
|
|
_alt = this._interp.adaptivePredict(this._input,14,this._ctx);
|
|
}
|
|
|
|
this.state = 154;
|
|
this._errHandler.sync(this);
|
|
_la = this._input.LA(1);
|
|
if(_la===CAQLParser.T_COMMA) {
|
|
this.state = 153;
|
|
this.match(CAQLParser.T_COMMA);
|
|
}
|
|
|
|
this.state = 156;
|
|
this.match(CAQLParser.T_ARRAY_CLOSE);
|
|
} catch (re) {
|
|
if(re instanceof antlr4.error.RecognitionException) {
|
|
localctx.exception = re;
|
|
this._errHandler.reportError(this, re);
|
|
this._errHandler.recover(this, re);
|
|
} else {
|
|
throw re;
|
|
}
|
|
} finally {
|
|
this.exitRule();
|
|
}
|
|
return localctx;
|
|
}
|
|
|
|
|
|
|
|
object() {
|
|
let localctx = new ObjectContext(this, this._ctx, this.state);
|
|
this.enterRule(localctx, 16, CAQLParser.RULE_object);
|
|
var _la = 0; // Token type
|
|
try {
|
|
this.enterOuterAlt(localctx, 1);
|
|
this.state = 158;
|
|
this.match(CAQLParser.T_OBJECT_OPEN);
|
|
this.state = 160;
|
|
this._errHandler.sync(this);
|
|
_la = this._input.LA(1);
|
|
if(_la===CAQLParser.T_ARRAY_OPEN || _la===CAQLParser.T_STRING || _la===CAQLParser.T_QUOTED_STRING) {
|
|
this.state = 159;
|
|
this.object_element();
|
|
}
|
|
|
|
this.state = 166;
|
|
this._errHandler.sync(this);
|
|
var _alt = this._interp.adaptivePredict(this._input,17,this._ctx)
|
|
while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) {
|
|
if(_alt===1) {
|
|
this.state = 162;
|
|
this.match(CAQLParser.T_COMMA);
|
|
this.state = 163;
|
|
this.object_element();
|
|
}
|
|
this.state = 168;
|
|
this._errHandler.sync(this);
|
|
_alt = this._interp.adaptivePredict(this._input,17,this._ctx);
|
|
}
|
|
|
|
this.state = 170;
|
|
this._errHandler.sync(this);
|
|
_la = this._input.LA(1);
|
|
if(_la===CAQLParser.T_COMMA) {
|
|
this.state = 169;
|
|
this.match(CAQLParser.T_COMMA);
|
|
}
|
|
|
|
this.state = 172;
|
|
this.match(CAQLParser.T_OBJECT_CLOSE);
|
|
} catch (re) {
|
|
if(re instanceof antlr4.error.RecognitionException) {
|
|
localctx.exception = re;
|
|
this._errHandler.reportError(this, re);
|
|
this._errHandler.recover(this, re);
|
|
} else {
|
|
throw re;
|
|
}
|
|
} finally {
|
|
this.exitRule();
|
|
}
|
|
return localctx;
|
|
}
|
|
|
|
|
|
|
|
object_element() {
|
|
let localctx = new Object_elementContext(this, this._ctx, this.state);
|
|
this.enterRule(localctx, 18, CAQLParser.RULE_object_element);
|
|
try {
|
|
this.enterOuterAlt(localctx, 1);
|
|
this.state = 185;
|
|
this._errHandler.sync(this);
|
|
var la_ = this._interp.adaptivePredict(this._input,19,this._ctx);
|
|
switch(la_) {
|
|
case 1:
|
|
this.state = 174;
|
|
this.match(CAQLParser.T_STRING);
|
|
break;
|
|
|
|
case 2:
|
|
this.state = 175;
|
|
this.object_element_name();
|
|
this.state = 176;
|
|
this.match(CAQLParser.T_COLON);
|
|
this.state = 177;
|
|
this.expression(0);
|
|
break;
|
|
|
|
case 3:
|
|
this.state = 179;
|
|
this.match(CAQLParser.T_ARRAY_OPEN);
|
|
this.state = 180;
|
|
this.expression(0);
|
|
this.state = 181;
|
|
this.match(CAQLParser.T_ARRAY_CLOSE);
|
|
this.state = 182;
|
|
this.match(CAQLParser.T_COLON);
|
|
this.state = 183;
|
|
this.expression(0);
|
|
break;
|
|
|
|
}
|
|
} catch (re) {
|
|
if(re instanceof antlr4.error.RecognitionException) {
|
|
localctx.exception = re;
|
|
this._errHandler.reportError(this, re);
|
|
this._errHandler.recover(this, re);
|
|
} else {
|
|
throw re;
|
|
}
|
|
} finally {
|
|
this.exitRule();
|
|
}
|
|
return localctx;
|
|
}
|
|
|
|
|
|
|
|
object_element_name() {
|
|
let localctx = new Object_element_nameContext(this, this._ctx, this.state);
|
|
this.enterRule(localctx, 20, CAQLParser.RULE_object_element_name);
|
|
var _la = 0; // Token type
|
|
try {
|
|
this.enterOuterAlt(localctx, 1);
|
|
this.state = 187;
|
|
_la = this._input.LA(1);
|
|
if(!(_la===CAQLParser.T_STRING || _la===CAQLParser.T_QUOTED_STRING)) {
|
|
this._errHandler.recoverInline(this);
|
|
}
|
|
else {
|
|
this._errHandler.reportMatch(this);
|
|
this.consume();
|
|
}
|
|
} catch (re) {
|
|
if(re instanceof antlr4.error.RecognitionException) {
|
|
localctx.exception = re;
|
|
this._errHandler.reportError(this, re);
|
|
this._errHandler.recover(this, re);
|
|
} else {
|
|
throw re;
|
|
}
|
|
} finally {
|
|
this.exitRule();
|
|
}
|
|
return localctx;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
CAQLParser.EOF = antlr4.Token.EOF;
|
|
CAQLParser.DOT = 1;
|
|
CAQLParser.T_REGEX_MATCH = 2;
|
|
CAQLParser.T_REGEX_NON_MATCH = 3;
|
|
CAQLParser.T_EQ = 4;
|
|
CAQLParser.T_NE = 5;
|
|
CAQLParser.T_LT = 6;
|
|
CAQLParser.T_GT = 7;
|
|
CAQLParser.T_LE = 8;
|
|
CAQLParser.T_GE = 9;
|
|
CAQLParser.T_PLUS = 10;
|
|
CAQLParser.T_MINUS = 11;
|
|
CAQLParser.T_TIMES = 12;
|
|
CAQLParser.T_DIV = 13;
|
|
CAQLParser.T_MOD = 14;
|
|
CAQLParser.T_QUESTION = 15;
|
|
CAQLParser.T_COLON = 16;
|
|
CAQLParser.T_SCOPE = 17;
|
|
CAQLParser.T_RANGE = 18;
|
|
CAQLParser.T_COMMA = 19;
|
|
CAQLParser.T_OPEN = 20;
|
|
CAQLParser.T_CLOSE = 21;
|
|
CAQLParser.T_OBJECT_OPEN = 22;
|
|
CAQLParser.T_OBJECT_CLOSE = 23;
|
|
CAQLParser.T_ARRAY_OPEN = 24;
|
|
CAQLParser.T_ARRAY_CLOSE = 25;
|
|
CAQLParser.T_AGGREGATE = 26;
|
|
CAQLParser.T_ALL = 27;
|
|
CAQLParser.T_AND = 28;
|
|
CAQLParser.T_ANY = 29;
|
|
CAQLParser.T_ASC = 30;
|
|
CAQLParser.T_COLLECT = 31;
|
|
CAQLParser.T_DESC = 32;
|
|
CAQLParser.T_DISTINCT = 33;
|
|
CAQLParser.T_FALSE = 34;
|
|
CAQLParser.T_FILTER = 35;
|
|
CAQLParser.T_FOR = 36;
|
|
CAQLParser.T_GRAPH = 37;
|
|
CAQLParser.T_IN = 38;
|
|
CAQLParser.T_INBOUND = 39;
|
|
CAQLParser.T_INSERT = 40;
|
|
CAQLParser.T_INTO = 41;
|
|
CAQLParser.T_K_SHORTEST_PATHS = 42;
|
|
CAQLParser.T_LET = 43;
|
|
CAQLParser.T_LIKE = 44;
|
|
CAQLParser.T_LIMIT = 45;
|
|
CAQLParser.T_NONE = 46;
|
|
CAQLParser.T_NOT = 47;
|
|
CAQLParser.T_NULL = 48;
|
|
CAQLParser.T_OR = 49;
|
|
CAQLParser.T_OUTBOUND = 50;
|
|
CAQLParser.T_REMOVE = 51;
|
|
CAQLParser.T_REPLACE = 52;
|
|
CAQLParser.T_RETURN = 53;
|
|
CAQLParser.T_SHORTEST_PATH = 54;
|
|
CAQLParser.T_SORT = 55;
|
|
CAQLParser.T_TRUE = 56;
|
|
CAQLParser.T_UPDATE = 57;
|
|
CAQLParser.T_UPSERT = 58;
|
|
CAQLParser.T_WITH = 59;
|
|
CAQLParser.T_KEEP = 60;
|
|
CAQLParser.T_COUNT = 61;
|
|
CAQLParser.T_OPTIONS = 62;
|
|
CAQLParser.T_PRUNE = 63;
|
|
CAQLParser.T_SEARCH = 64;
|
|
CAQLParser.T_TO = 65;
|
|
CAQLParser.T_CURRENT = 66;
|
|
CAQLParser.T_NEW = 67;
|
|
CAQLParser.T_OLD = 68;
|
|
CAQLParser.T_STRING = 69;
|
|
CAQLParser.T_INT = 70;
|
|
CAQLParser.T_FLOAT = 71;
|
|
CAQLParser.T_PARAMETER = 72;
|
|
CAQLParser.T_QUOTED_STRING = 73;
|
|
CAQLParser.SINGLE_LINE_COMMENT = 74;
|
|
CAQLParser.MULTILINE_COMMENT = 75;
|
|
CAQLParser.SPACES = 76;
|
|
CAQLParser.UNEXPECTED_CHAR = 77;
|
|
CAQLParser.ERROR_RECONGNIGION = 78;
|
|
|
|
CAQLParser.RULE_parse = 0;
|
|
CAQLParser.RULE_expression = 1;
|
|
CAQLParser.RULE_operator_unary = 2;
|
|
CAQLParser.RULE_reference = 3;
|
|
CAQLParser.RULE_compound_value = 4;
|
|
CAQLParser.RULE_function_call = 5;
|
|
CAQLParser.RULE_value_literal = 6;
|
|
CAQLParser.RULE_array = 7;
|
|
CAQLParser.RULE_object = 8;
|
|
CAQLParser.RULE_object_element = 9;
|
|
CAQLParser.RULE_object_element_name = 10;
|
|
|
|
class ParseContext extends antlr4.ParserRuleContext {
|
|
|
|
constructor(parser, parent, invokingState) {
|
|
if(parent===undefined) {
|
|
parent = null;
|
|
}
|
|
if(invokingState===undefined || invokingState===null) {
|
|
invokingState = -1;
|
|
}
|
|
super(parent, invokingState);
|
|
this.parser = parser;
|
|
this.ruleIndex = CAQLParser.RULE_parse;
|
|
}
|
|
|
|
expression() {
|
|
return this.getTypedRuleContext(ExpressionContext,0);
|
|
};
|
|
|
|
EOF() {
|
|
return this.getToken(CAQLParser.EOF, 0);
|
|
};
|
|
|
|
enterRule(listener) {
|
|
if(listener instanceof CAQLParserListener ) {
|
|
listener.enterParse(this);
|
|
}
|
|
}
|
|
|
|
exitRule(listener) {
|
|
if(listener instanceof CAQLParserListener ) {
|
|
listener.exitParse(this);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
class ExpressionContext extends antlr4.ParserRuleContext {
|
|
|
|
constructor(parser, parent, invokingState) {
|
|
if(parent===undefined) {
|
|
parent = null;
|
|
}
|
|
if(invokingState===undefined || invokingState===null) {
|
|
invokingState = -1;
|
|
}
|
|
super(parent, invokingState);
|
|
this.parser = parser;
|
|
this.ruleIndex = CAQLParser.RULE_expression;
|
|
this.eq_op = null; // Token
|
|
}
|
|
|
|
value_literal() {
|
|
return this.getTypedRuleContext(Value_literalContext,0);
|
|
};
|
|
|
|
reference() {
|
|
return this.getTypedRuleContext(ReferenceContext,0);
|
|
};
|
|
|
|
operator_unary() {
|
|
return this.getTypedRuleContext(Operator_unaryContext,0);
|
|
};
|
|
|
|
expression = function(i) {
|
|
if(i===undefined) {
|
|
i = null;
|
|
}
|
|
if(i===null) {
|
|
return this.getTypedRuleContexts(ExpressionContext);
|
|
} else {
|
|
return this.getTypedRuleContext(ExpressionContext,i);
|
|
}
|
|
};
|
|
|
|
T_PLUS() {
|
|
return this.getToken(CAQLParser.T_PLUS, 0);
|
|
};
|
|
|
|
T_MINUS() {
|
|
return this.getToken(CAQLParser.T_MINUS, 0);
|
|
};
|
|
|
|
T_TIMES() {
|
|
return this.getToken(CAQLParser.T_TIMES, 0);
|
|
};
|
|
|
|
T_DIV() {
|
|
return this.getToken(CAQLParser.T_DIV, 0);
|
|
};
|
|
|
|
T_MOD() {
|
|
return this.getToken(CAQLParser.T_MOD, 0);
|
|
};
|
|
|
|
T_RANGE() {
|
|
return this.getToken(CAQLParser.T_RANGE, 0);
|
|
};
|
|
|
|
T_LT() {
|
|
return this.getToken(CAQLParser.T_LT, 0);
|
|
};
|
|
|
|
T_GT() {
|
|
return this.getToken(CAQLParser.T_GT, 0);
|
|
};
|
|
|
|
T_LE() {
|
|
return this.getToken(CAQLParser.T_LE, 0);
|
|
};
|
|
|
|
T_GE() {
|
|
return this.getToken(CAQLParser.T_GE, 0);
|
|
};
|
|
|
|
T_IN() {
|
|
return this.getToken(CAQLParser.T_IN, 0);
|
|
};
|
|
|
|
T_NOT() {
|
|
return this.getToken(CAQLParser.T_NOT, 0);
|
|
};
|
|
|
|
T_EQ() {
|
|
return this.getToken(CAQLParser.T_EQ, 0);
|
|
};
|
|
|
|
T_NE() {
|
|
return this.getToken(CAQLParser.T_NE, 0);
|
|
};
|
|
|
|
T_ALL() {
|
|
return this.getToken(CAQLParser.T_ALL, 0);
|
|
};
|
|
|
|
T_ANY() {
|
|
return this.getToken(CAQLParser.T_ANY, 0);
|
|
};
|
|
|
|
T_NONE() {
|
|
return this.getToken(CAQLParser.T_NONE, 0);
|
|
};
|
|
|
|
T_LIKE() {
|
|
return this.getToken(CAQLParser.T_LIKE, 0);
|
|
};
|
|
|
|
T_REGEX_MATCH() {
|
|
return this.getToken(CAQLParser.T_REGEX_MATCH, 0);
|
|
};
|
|
|
|
T_REGEX_NON_MATCH() {
|
|
return this.getToken(CAQLParser.T_REGEX_NON_MATCH, 0);
|
|
};
|
|
|
|
T_AND() {
|
|
return this.getToken(CAQLParser.T_AND, 0);
|
|
};
|
|
|
|
T_OR() {
|
|
return this.getToken(CAQLParser.T_OR, 0);
|
|
};
|
|
|
|
T_QUESTION() {
|
|
return this.getToken(CAQLParser.T_QUESTION, 0);
|
|
};
|
|
|
|
T_COLON() {
|
|
return this.getToken(CAQLParser.T_COLON, 0);
|
|
};
|
|
|
|
enterRule(listener) {
|
|
if(listener instanceof CAQLParserListener ) {
|
|
listener.enterExpression(this);
|
|
}
|
|
}
|
|
|
|
exitRule(listener) {
|
|
if(listener instanceof CAQLParserListener ) {
|
|
listener.exitExpression(this);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
class Operator_unaryContext extends antlr4.ParserRuleContext {
|
|
|
|
constructor(parser, parent, invokingState) {
|
|
if(parent===undefined) {
|
|
parent = null;
|
|
}
|
|
if(invokingState===undefined || invokingState===null) {
|
|
invokingState = -1;
|
|
}
|
|
super(parent, invokingState);
|
|
this.parser = parser;
|
|
this.ruleIndex = CAQLParser.RULE_operator_unary;
|
|
}
|
|
|
|
T_PLUS() {
|
|
return this.getToken(CAQLParser.T_PLUS, 0);
|
|
};
|
|
|
|
expression() {
|
|
return this.getTypedRuleContext(ExpressionContext,0);
|
|
};
|
|
|
|
T_MINUS() {
|
|
return this.getToken(CAQLParser.T_MINUS, 0);
|
|
};
|
|
|
|
T_NOT() {
|
|
return this.getToken(CAQLParser.T_NOT, 0);
|
|
};
|
|
|
|
enterRule(listener) {
|
|
if(listener instanceof CAQLParserListener ) {
|
|
listener.enterOperator_unary(this);
|
|
}
|
|
}
|
|
|
|
exitRule(listener) {
|
|
if(listener instanceof CAQLParserListener ) {
|
|
listener.exitOperator_unary(this);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
class ReferenceContext extends antlr4.ParserRuleContext {
|
|
|
|
constructor(parser, parent, invokingState) {
|
|
if(parent===undefined) {
|
|
parent = null;
|
|
}
|
|
if(invokingState===undefined || invokingState===null) {
|
|
invokingState = -1;
|
|
}
|
|
super(parent, invokingState);
|
|
this.parser = parser;
|
|
this.ruleIndex = CAQLParser.RULE_reference;
|
|
}
|
|
|
|
T_STRING() {
|
|
return this.getToken(CAQLParser.T_STRING, 0);
|
|
};
|
|
|
|
compound_value() {
|
|
return this.getTypedRuleContext(Compound_valueContext,0);
|
|
};
|
|
|
|
function_call() {
|
|
return this.getTypedRuleContext(Function_callContext,0);
|
|
};
|
|
|
|
T_OPEN() {
|
|
return this.getToken(CAQLParser.T_OPEN, 0);
|
|
};
|
|
|
|
expression() {
|
|
return this.getTypedRuleContext(ExpressionContext,0);
|
|
};
|
|
|
|
T_CLOSE() {
|
|
return this.getToken(CAQLParser.T_CLOSE, 0);
|
|
};
|
|
|
|
reference() {
|
|
return this.getTypedRuleContext(ReferenceContext,0);
|
|
};
|
|
|
|
DOT() {
|
|
return this.getToken(CAQLParser.DOT, 0);
|
|
};
|
|
|
|
T_ARRAY_OPEN() {
|
|
return this.getToken(CAQLParser.T_ARRAY_OPEN, 0);
|
|
};
|
|
|
|
T_ARRAY_CLOSE() {
|
|
return this.getToken(CAQLParser.T_ARRAY_CLOSE, 0);
|
|
};
|
|
|
|
enterRule(listener) {
|
|
if(listener instanceof CAQLParserListener ) {
|
|
listener.enterReference(this);
|
|
}
|
|
}
|
|
|
|
exitRule(listener) {
|
|
if(listener instanceof CAQLParserListener ) {
|
|
listener.exitReference(this);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
class Compound_valueContext extends antlr4.ParserRuleContext {
|
|
|
|
constructor(parser, parent, invokingState) {
|
|
if(parent===undefined) {
|
|
parent = null;
|
|
}
|
|
if(invokingState===undefined || invokingState===null) {
|
|
invokingState = -1;
|
|
}
|
|
super(parent, invokingState);
|
|
this.parser = parser;
|
|
this.ruleIndex = CAQLParser.RULE_compound_value;
|
|
}
|
|
|
|
array() {
|
|
return this.getTypedRuleContext(ArrayContext,0);
|
|
};
|
|
|
|
object() {
|
|
return this.getTypedRuleContext(ObjectContext,0);
|
|
};
|
|
|
|
enterRule(listener) {
|
|
if(listener instanceof CAQLParserListener ) {
|
|
listener.enterCompound_value(this);
|
|
}
|
|
}
|
|
|
|
exitRule(listener) {
|
|
if(listener instanceof CAQLParserListener ) {
|
|
listener.exitCompound_value(this);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
class Function_callContext extends antlr4.ParserRuleContext {
|
|
|
|
constructor(parser, parent, invokingState) {
|
|
if(parent===undefined) {
|
|
parent = null;
|
|
}
|
|
if(invokingState===undefined || invokingState===null) {
|
|
invokingState = -1;
|
|
}
|
|
super(parent, invokingState);
|
|
this.parser = parser;
|
|
this.ruleIndex = CAQLParser.RULE_function_call;
|
|
}
|
|
|
|
T_STRING() {
|
|
return this.getToken(CAQLParser.T_STRING, 0);
|
|
};
|
|
|
|
T_OPEN() {
|
|
return this.getToken(CAQLParser.T_OPEN, 0);
|
|
};
|
|
|
|
T_CLOSE() {
|
|
return this.getToken(CAQLParser.T_CLOSE, 0);
|
|
};
|
|
|
|
expression = function(i) {
|
|
if(i===undefined) {
|
|
i = null;
|
|
}
|
|
if(i===null) {
|
|
return this.getTypedRuleContexts(ExpressionContext);
|
|
} else {
|
|
return this.getTypedRuleContext(ExpressionContext,i);
|
|
}
|
|
};
|
|
|
|
T_COMMA = function(i) {
|
|
if(i===undefined) {
|
|
i = null;
|
|
}
|
|
if(i===null) {
|
|
return this.getTokens(CAQLParser.T_COMMA);
|
|
} else {
|
|
return this.getToken(CAQLParser.T_COMMA, i);
|
|
}
|
|
};
|
|
|
|
|
|
enterRule(listener) {
|
|
if(listener instanceof CAQLParserListener ) {
|
|
listener.enterFunction_call(this);
|
|
}
|
|
}
|
|
|
|
exitRule(listener) {
|
|
if(listener instanceof CAQLParserListener ) {
|
|
listener.exitFunction_call(this);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
class Value_literalContext extends antlr4.ParserRuleContext {
|
|
|
|
constructor(parser, parent, invokingState) {
|
|
if(parent===undefined) {
|
|
parent = null;
|
|
}
|
|
if(invokingState===undefined || invokingState===null) {
|
|
invokingState = -1;
|
|
}
|
|
super(parent, invokingState);
|
|
this.parser = parser;
|
|
this.ruleIndex = CAQLParser.RULE_value_literal;
|
|
}
|
|
|
|
T_QUOTED_STRING() {
|
|
return this.getToken(CAQLParser.T_QUOTED_STRING, 0);
|
|
};
|
|
|
|
T_INT() {
|
|
return this.getToken(CAQLParser.T_INT, 0);
|
|
};
|
|
|
|
T_FLOAT() {
|
|
return this.getToken(CAQLParser.T_FLOAT, 0);
|
|
};
|
|
|
|
T_NULL() {
|
|
return this.getToken(CAQLParser.T_NULL, 0);
|
|
};
|
|
|
|
T_TRUE() {
|
|
return this.getToken(CAQLParser.T_TRUE, 0);
|
|
};
|
|
|
|
T_FALSE() {
|
|
return this.getToken(CAQLParser.T_FALSE, 0);
|
|
};
|
|
|
|
enterRule(listener) {
|
|
if(listener instanceof CAQLParserListener ) {
|
|
listener.enterValue_literal(this);
|
|
}
|
|
}
|
|
|
|
exitRule(listener) {
|
|
if(listener instanceof CAQLParserListener ) {
|
|
listener.exitValue_literal(this);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
class ArrayContext extends antlr4.ParserRuleContext {
|
|
|
|
constructor(parser, parent, invokingState) {
|
|
if(parent===undefined) {
|
|
parent = null;
|
|
}
|
|
if(invokingState===undefined || invokingState===null) {
|
|
invokingState = -1;
|
|
}
|
|
super(parent, invokingState);
|
|
this.parser = parser;
|
|
this.ruleIndex = CAQLParser.RULE_array;
|
|
}
|
|
|
|
T_ARRAY_OPEN() {
|
|
return this.getToken(CAQLParser.T_ARRAY_OPEN, 0);
|
|
};
|
|
|
|
T_ARRAY_CLOSE() {
|
|
return this.getToken(CAQLParser.T_ARRAY_CLOSE, 0);
|
|
};
|
|
|
|
expression = function(i) {
|
|
if(i===undefined) {
|
|
i = null;
|
|
}
|
|
if(i===null) {
|
|
return this.getTypedRuleContexts(ExpressionContext);
|
|
} else {
|
|
return this.getTypedRuleContext(ExpressionContext,i);
|
|
}
|
|
};
|
|
|
|
T_COMMA = function(i) {
|
|
if(i===undefined) {
|
|
i = null;
|
|
}
|
|
if(i===null) {
|
|
return this.getTokens(CAQLParser.T_COMMA);
|
|
} else {
|
|
return this.getToken(CAQLParser.T_COMMA, i);
|
|
}
|
|
};
|
|
|
|
|
|
enterRule(listener) {
|
|
if(listener instanceof CAQLParserListener ) {
|
|
listener.enterArray(this);
|
|
}
|
|
}
|
|
|
|
exitRule(listener) {
|
|
if(listener instanceof CAQLParserListener ) {
|
|
listener.exitArray(this);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
class ObjectContext extends antlr4.ParserRuleContext {
|
|
|
|
constructor(parser, parent, invokingState) {
|
|
if(parent===undefined) {
|
|
parent = null;
|
|
}
|
|
if(invokingState===undefined || invokingState===null) {
|
|
invokingState = -1;
|
|
}
|
|
super(parent, invokingState);
|
|
this.parser = parser;
|
|
this.ruleIndex = CAQLParser.RULE_object;
|
|
}
|
|
|
|
T_OBJECT_OPEN() {
|
|
return this.getToken(CAQLParser.T_OBJECT_OPEN, 0);
|
|
};
|
|
|
|
T_OBJECT_CLOSE() {
|
|
return this.getToken(CAQLParser.T_OBJECT_CLOSE, 0);
|
|
};
|
|
|
|
object_element = function(i) {
|
|
if(i===undefined) {
|
|
i = null;
|
|
}
|
|
if(i===null) {
|
|
return this.getTypedRuleContexts(Object_elementContext);
|
|
} else {
|
|
return this.getTypedRuleContext(Object_elementContext,i);
|
|
}
|
|
};
|
|
|
|
T_COMMA = function(i) {
|
|
if(i===undefined) {
|
|
i = null;
|
|
}
|
|
if(i===null) {
|
|
return this.getTokens(CAQLParser.T_COMMA);
|
|
} else {
|
|
return this.getToken(CAQLParser.T_COMMA, i);
|
|
}
|
|
};
|
|
|
|
|
|
enterRule(listener) {
|
|
if(listener instanceof CAQLParserListener ) {
|
|
listener.enterObject(this);
|
|
}
|
|
}
|
|
|
|
exitRule(listener) {
|
|
if(listener instanceof CAQLParserListener ) {
|
|
listener.exitObject(this);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
class Object_elementContext extends antlr4.ParserRuleContext {
|
|
|
|
constructor(parser, parent, invokingState) {
|
|
if(parent===undefined) {
|
|
parent = null;
|
|
}
|
|
if(invokingState===undefined || invokingState===null) {
|
|
invokingState = -1;
|
|
}
|
|
super(parent, invokingState);
|
|
this.parser = parser;
|
|
this.ruleIndex = CAQLParser.RULE_object_element;
|
|
}
|
|
|
|
T_STRING() {
|
|
return this.getToken(CAQLParser.T_STRING, 0);
|
|
};
|
|
|
|
object_element_name() {
|
|
return this.getTypedRuleContext(Object_element_nameContext,0);
|
|
};
|
|
|
|
T_COLON() {
|
|
return this.getToken(CAQLParser.T_COLON, 0);
|
|
};
|
|
|
|
expression = function(i) {
|
|
if(i===undefined) {
|
|
i = null;
|
|
}
|
|
if(i===null) {
|
|
return this.getTypedRuleContexts(ExpressionContext);
|
|
} else {
|
|
return this.getTypedRuleContext(ExpressionContext,i);
|
|
}
|
|
};
|
|
|
|
T_ARRAY_OPEN() {
|
|
return this.getToken(CAQLParser.T_ARRAY_OPEN, 0);
|
|
};
|
|
|
|
T_ARRAY_CLOSE() {
|
|
return this.getToken(CAQLParser.T_ARRAY_CLOSE, 0);
|
|
};
|
|
|
|
enterRule(listener) {
|
|
if(listener instanceof CAQLParserListener ) {
|
|
listener.enterObject_element(this);
|
|
}
|
|
}
|
|
|
|
exitRule(listener) {
|
|
if(listener instanceof CAQLParserListener ) {
|
|
listener.exitObject_element(this);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
class Object_element_nameContext extends antlr4.ParserRuleContext {
|
|
|
|
constructor(parser, parent, invokingState) {
|
|
if(parent===undefined) {
|
|
parent = null;
|
|
}
|
|
if(invokingState===undefined || invokingState===null) {
|
|
invokingState = -1;
|
|
}
|
|
super(parent, invokingState);
|
|
this.parser = parser;
|
|
this.ruleIndex = CAQLParser.RULE_object_element_name;
|
|
}
|
|
|
|
T_STRING() {
|
|
return this.getToken(CAQLParser.T_STRING, 0);
|
|
};
|
|
|
|
T_QUOTED_STRING() {
|
|
return this.getToken(CAQLParser.T_QUOTED_STRING, 0);
|
|
};
|
|
|
|
enterRule(listener) {
|
|
if(listener instanceof CAQLParserListener ) {
|
|
listener.enterObject_element_name(this);
|
|
}
|
|
}
|
|
|
|
exitRule(listener) {
|
|
if(listener instanceof CAQLParserListener ) {
|
|
listener.exitObject_element_name(this);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CAQLParser.ParseContext = ParseContext;
|
|
CAQLParser.ExpressionContext = ExpressionContext;
|
|
CAQLParser.Operator_unaryContext = Operator_unaryContext;
|
|
CAQLParser.ReferenceContext = ReferenceContext;
|
|
CAQLParser.Compound_valueContext = Compound_valueContext;
|
|
CAQLParser.Function_callContext = Function_callContext;
|
|
CAQLParser.Value_literalContext = Value_literalContext;
|
|
CAQLParser.ArrayContext = ArrayContext;
|
|
CAQLParser.ObjectContext = ObjectContext;
|
|
CAQLParser.Object_elementContext = Object_elementContext;
|
|
CAQLParser.Object_element_nameContext = Object_element_nameContext;
|