@opra/common 0.17.0 → 0.17.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/browser.js +12220 -0
  2. package/cjs/document/constants.js +1 -1
  3. package/cjs/document/data-type/complex-type.js +1 -1
  4. package/cjs/document/resource/collection.js +13 -7
  5. package/cjs/filter/antlr/OpraFilterLexer.js +209 -238
  6. package/cjs/filter/antlr/OpraFilterListener.js +1 -1
  7. package/cjs/filter/antlr/OpraFilterParser.js +795 -1482
  8. package/cjs/filter/antlr/OpraFilterVisitor.js +1 -1
  9. package/cjs/filter/ast/expressions/logical-expression.js +4 -0
  10. package/cjs/filter/ast/expressions/{parentheses-expression.js → negative-expression.js} +3 -3
  11. package/cjs/filter/ast/expressions/parenthesized-expression.js +14 -0
  12. package/cjs/filter/ast/index.js +2 -1
  13. package/cjs/filter/build.js +1 -1
  14. package/cjs/filter/filter-tree-visitor.js +44 -66
  15. package/cjs/filter/index.js +2 -5
  16. package/cjs/filter/opra-filter.ns.js +8 -0
  17. package/cjs/filter/parse.js +5 -6
  18. package/cjs/http/codecs/filter-codec.js +2 -2
  19. package/cjs/http/http-message.host.js +6 -6
  20. package/cjs/http/http-request-message.js +3 -3
  21. package/cjs/http/http-response-message.js +2 -2
  22. package/cjs/http/multipart/batch-multipart.js +1 -1
  23. package/cjs/i18n/i18n.js +1 -1
  24. package/esm/document/constants.js +1 -1
  25. package/esm/document/data-type/complex-type.js +1 -1
  26. package/esm/document/resource/collection.js +14 -8
  27. package/esm/filter/antlr/OpraFilterLexer.js +209 -238
  28. package/esm/filter/antlr/OpraFilterListener.js +1 -1
  29. package/esm/filter/antlr/OpraFilterParser.js +775 -1448
  30. package/esm/filter/antlr/OpraFilterVisitor.js +1 -1
  31. package/esm/filter/ast/expressions/logical-expression.js +4 -0
  32. package/esm/filter/ast/expressions/{parentheses-expression.js → negative-expression.js} +1 -1
  33. package/esm/filter/ast/expressions/parenthesized-expression.js +10 -0
  34. package/esm/filter/ast/index.js +2 -1
  35. package/esm/filter/build.js +2 -2
  36. package/esm/filter/filter-tree-visitor.js +46 -68
  37. package/esm/filter/index.js +1 -5
  38. package/esm/filter/opra-filter.ns.js +5 -0
  39. package/esm/filter/parse.js +3 -4
  40. package/esm/http/codecs/filter-codec.js +2 -2
  41. package/esm/http/http-message.host.js +1 -1
  42. package/esm/http/http-request-message.js +1 -1
  43. package/esm/http/http-response-message.js +1 -1
  44. package/esm/http/multipart/batch-multipart.js +1 -1
  45. package/esm/i18n/i18n.js +1 -1
  46. package/package.json +29 -17
  47. package/types/document/resource/collection.d.ts +2 -2
  48. package/types/filter/antlr/OpraFilterLexer.d.ts +9 -22
  49. package/types/filter/antlr/OpraFilterListener.d.ts +89 -217
  50. package/types/filter/antlr/OpraFilterParser.d.ts +91 -206
  51. package/types/filter/antlr/OpraFilterVisitor.d.ts +49 -124
  52. package/types/filter/ast/expressions/{parentheses-expression.d.ts → negative-expression.d.ts} +1 -1
  53. package/types/filter/ast/expressions/parenthesized-expression.d.ts +6 -0
  54. package/types/filter/ast/index.d.ts +2 -1
  55. package/types/filter/build.d.ts +2 -2
  56. package/types/filter/filter-tree-visitor.d.ts +10 -11
  57. package/types/filter/index.d.ts +1 -5
  58. package/types/filter/opra-filter.ns.d.ts +5 -0
  59. package/types/filter/parse.d.ts +1 -1
  60. package/types/http/http-message.host.d.ts +1 -1
  61. package/types/i18n/i18n.d.ts +2 -2
  62. package/types/i18n/translate.d.ts +1 -1
  63. package/types/schema/data-type/complex-type.interface.d.ts +1 -1
  64. package/types/schema/resource/endpoint.interface.d.ts +2 -2
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
- /* eslint-disable */
3
- // Generated from ./src/filter/antlr/OpraFilter.g4 by ANTLR 4.11.2-SNAPSHOT
4
- // noinspection ES6UnusedImports,JSUnusedGlobalSymbols,JSUnusedLocalSymbols,SpellCheckingInspection
5
- // @ts-nocheck
2
+ /* eslint-disable camelcase,no-bitwise */
3
+ // Generated from ./src/filter/antlr/OpraFilter.g4 by ANTLR 4.12.0
4
+ // noinspection ES6UnusedImports,JSUnusedGlobalSymbols,JSUnusedLocalSymbols
6
5
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.InfinityContext = exports.NullContext = exports.BooleanContext = exports.LogOpContext = exports.PolarOpContext = exports.ArthOpContext = exports.CompOpContext = exports.NumberLiteralContext = exports.BooleanLiteralContext = exports.InfinityLiteralContext = exports.DateLiteralContext = exports.StringLiteralContext = exports.DateTimeLiteralContext = exports.NullLiteralContext = exports.TimeLiteralContext = exports.LiteralContext = exports.IdentifierContext = exports.ExternalConstantContext = exports.QualifiedIdentifierContext = exports.PluralDateTimePrecisionContext = exports.DateTimePrecisionContext = exports.UnitContext = exports.ParamListContext = exports.FunctionContext = exports.MemberIndexContext = exports.NumberIndexContext = exports.IndexerContext = exports.MemberInvocationContext = exports.InvocationContext = exports.InvocableContext = exports.QualifiedIdentifierTermContext = exports.LiteralTermContext = exports.ExternalConstantTermContext = exports.TermContext = exports.TermExpressionContext = exports.LogicalExpressionContext = exports.ArithmeticExpressionContext = exports.ComparisonExpressionContext = exports.PolarityExpressionContext = exports.ArrayExpressionContext = exports.ParenthesizedExpressionContext = exports.ExpressionContext = exports.RootContext = void 0;
6
+ exports.PolarityOperatorContext = exports.LogicalOperatorContext = exports.ComparisonOperatorContext = exports.ArithmeticOperatorContext = exports.InfinityContext = exports.NullContext = exports.BooleanContext = exports.ArrayValueContext = exports.IdentifierContext = exports.ExternalConstantContext = exports.QualifiedIdentifierContext = exports.NumberLiteralContext = exports.BooleanLiteralContext = exports.InfinityLiteralContext = exports.DateLiteralContext = exports.StringLiteralContext = exports.DateTimeLiteralContext = exports.NullLiteralContext = exports.TimeLiteralContext = exports.ValueContext = exports.ParenthesizedItemContext = exports.ComparisonRightContext = exports.ComparisonLeftContext = exports.LogicalExpressionContext = exports.ComparisonExpressionContext = exports.NegativeExpressionContext = exports.ParenthesizedExpressionContext = exports.ExpressionContext = exports.RootContext = void 0;
8
7
  const antlr4_1 = require("@browsery/antlr4");
9
8
  class OpraFilterParser extends antlr4_1.Parser {
10
9
  get grammarFileName() {
@@ -31,14 +30,14 @@ class OpraFilterParser extends antlr4_1.Parser {
31
30
  }
32
31
  // @RuleVersion(0)
33
32
  root() {
34
- let localctx = new RootContext(this, this._ctx, this.state);
33
+ const localctx = new RootContext(this, this._ctx, this.state);
35
34
  this.enterRule(localctx, 0, OpraFilterParser.RULE_root);
36
35
  try {
37
36
  this.enterOuterAlt(localctx, 1);
38
37
  {
39
- this.state = 44;
38
+ this.state = 34;
40
39
  this.expression(0);
41
- this.state = 45;
40
+ this.state = 35;
42
41
  this.match(OpraFilterParser.EOF);
43
42
  }
44
43
  }
@@ -62,50 +61,31 @@ class OpraFilterParser extends antlr4_1.Parser {
62
61
  if (_p === undefined) {
63
62
  _p = 0;
64
63
  }
65
- let _parentctx = this._ctx;
66
- let _parentState = this.state;
64
+ const _parentctx = this._ctx;
65
+ const _parentState = this.state;
67
66
  let localctx = new ExpressionContext(this, this._ctx, _parentState);
68
67
  let _prevctx = localctx;
69
- let _startState = 2;
68
+ const _startState = 2;
70
69
  this.enterRecursionRule(localctx, 2, OpraFilterParser.RULE_expression, _p);
71
70
  let _la;
72
71
  try {
73
72
  let _alt;
74
73
  this.enterOuterAlt(localctx, 1);
75
74
  {
76
- this.state = 67;
75
+ this.state = 48;
77
76
  this._errHandler.sync(this);
78
77
  switch (this._input.LA(1)) {
79
- case 23:
80
- case 42:
81
- case 43:
82
- case 44:
83
- case 45:
84
- case 46:
85
- case 47:
86
- case 48:
87
- case 49:
88
- case 50:
89
- case 51:
90
- case 52:
91
- {
92
- localctx = new TermExpressionContext(this, localctx);
93
- this._ctx = localctx;
94
- _prevctx = localctx;
95
- this.state = 48;
96
- this.term();
97
- }
98
- break;
99
- case 36:
100
- case 37:
78
+ case 35:
101
79
  {
102
- localctx = new PolarityExpressionContext(this, localctx);
80
+ localctx = new ComparisonExpressionContext(this, localctx);
103
81
  this._ctx = localctx;
104
82
  _prevctx = localctx;
105
- this.state = 49;
106
- this.polarOp();
107
- this.state = 50;
108
- this.expression(6);
83
+ this.state = 38;
84
+ localctx._left = this.comparisonLeft();
85
+ this.state = 39;
86
+ localctx._operator = this.comparisonOperator();
87
+ this.state = 40;
88
+ localctx._right = this.comparisonRight();
109
89
  }
110
90
  break;
111
91
  case 1:
@@ -113,108 +93,65 @@ class OpraFilterParser extends antlr4_1.Parser {
113
93
  localctx = new ParenthesizedExpressionContext(this, localctx);
114
94
  this._ctx = localctx;
115
95
  _prevctx = localctx;
116
- this.state = 52;
96
+ this.state = 42;
117
97
  this.match(OpraFilterParser.T__0);
118
- this.state = 53;
119
- this.expression(0);
120
- this.state = 54;
98
+ this.state = 43;
99
+ this.parenthesizedItem();
100
+ this.state = 44;
121
101
  this.match(OpraFilterParser.T__1);
122
102
  }
123
103
  break;
124
104
  case 3:
105
+ case 4:
125
106
  {
126
- localctx = new ArrayExpressionContext(this, localctx);
107
+ localctx = new NegativeExpressionContext(this, localctx);
127
108
  this._ctx = localctx;
128
109
  _prevctx = localctx;
129
- this.state = 56;
130
- this.match(OpraFilterParser.T__2);
131
- this.state = 57;
132
- this.expression(0);
133
- this.state = 62;
134
- this._errHandler.sync(this);
110
+ this.state = 46;
135
111
  _la = this._input.LA(1);
136
- while (_la === 4) {
137
- {
138
- {
139
- this.state = 58;
140
- this.match(OpraFilterParser.T__3);
141
- this.state = 59;
142
- this.expression(0);
143
- }
144
- }
145
- this.state = 64;
146
- this._errHandler.sync(this);
147
- _la = this._input.LA(1);
112
+ if (!(_la === 3 || _la === 4)) {
113
+ this._errHandler.recoverInline(this);
114
+ }
115
+ else {
116
+ this._errHandler.reportMatch(this);
117
+ this.consume();
148
118
  }
149
- this.state = 65;
150
- this.match(OpraFilterParser.T__4);
119
+ this.state = 47;
120
+ this.expression(1);
151
121
  }
152
122
  break;
153
123
  default:
154
124
  throw new antlr4_1.NoViableAltException(this);
155
125
  }
156
126
  this._ctx.stop = this._input.LT(-1);
157
- this.state = 83;
127
+ this.state = 56;
158
128
  this._errHandler.sync(this);
159
- _alt = this._interp.adaptivePredict(this._input, 3, this._ctx);
129
+ _alt = this._interp.adaptivePredict(this._input, 1, this._ctx);
160
130
  while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
161
131
  if (_alt === 1) {
162
132
  if (this._parseListeners != null) {
163
133
  this.triggerExitRuleEvent();
164
134
  }
135
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
165
136
  _prevctx = localctx;
166
137
  {
167
- this.state = 81;
168
- this._errHandler.sync(this);
169
- switch (this._interp.adaptivePredict(this._input, 2, this._ctx)) {
170
- case 1:
171
- {
172
- localctx = new ArithmeticExpressionContext(this, new ExpressionContext(this, _parentctx, _parentState));
173
- this.pushNewRecursionContext(localctx, _startState, OpraFilterParser.RULE_expression);
174
- this.state = 69;
175
- if (!(this.precpred(this._ctx, 5))) {
176
- throw this.createFailedPredicateException("this.precpred(this._ctx, 5)");
177
- }
178
- this.state = 70;
179
- this.arthOp();
180
- this.state = 71;
181
- this.expression(6);
182
- }
183
- break;
184
- case 2:
185
- {
186
- localctx = new ComparisonExpressionContext(this, new ExpressionContext(this, _parentctx, _parentState));
187
- this.pushNewRecursionContext(localctx, _startState, OpraFilterParser.RULE_expression);
188
- this.state = 73;
189
- if (!(this.precpred(this._ctx, 4))) {
190
- throw this.createFailedPredicateException("this.precpred(this._ctx, 4)");
191
- }
192
- this.state = 74;
193
- this.compOp();
194
- this.state = 75;
195
- this.expression(5);
196
- }
197
- break;
198
- case 3:
199
- {
200
- localctx = new LogicalExpressionContext(this, new ExpressionContext(this, _parentctx, _parentState));
201
- this.pushNewRecursionContext(localctx, _startState, OpraFilterParser.RULE_expression);
202
- this.state = 77;
203
- if (!(this.precpred(this._ctx, 3))) {
204
- throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");
205
- }
206
- this.state = 78;
207
- this.logOp();
208
- this.state = 79;
209
- this.expression(4);
210
- }
211
- break;
138
+ {
139
+ localctx = new LogicalExpressionContext(this, new ExpressionContext(this, _parentctx, _parentState));
140
+ this.pushNewRecursionContext(localctx, _startState, OpraFilterParser.RULE_expression);
141
+ this.state = 50;
142
+ if (!(this.precpred(this._ctx, 3))) {
143
+ throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");
144
+ }
145
+ this.state = 51;
146
+ localctx._op = this.logicalOperator();
147
+ this.state = 52;
148
+ this.expression(4);
212
149
  }
213
150
  }
214
151
  }
215
- this.state = 85;
152
+ this.state = 58;
216
153
  this._errHandler.sync(this);
217
- _alt = this._interp.adaptivePredict(this._input, 3, this._ctx);
154
+ _alt = this._interp.adaptivePredict(this._input, 1, this._ctx);
218
155
  }
219
156
  }
220
157
  }
@@ -234,46 +171,195 @@ class OpraFilterParser extends antlr4_1.Parser {
234
171
  return localctx;
235
172
  }
236
173
  // @RuleVersion(0)
237
- term() {
238
- let localctx = new TermContext(this, this._ctx, this.state);
239
- this.enterRule(localctx, 4, OpraFilterParser.RULE_term);
174
+ comparisonLeft() {
175
+ const localctx = new ComparisonLeftContext(this, this._ctx, this.state);
176
+ this.enterRule(localctx, 4, OpraFilterParser.RULE_comparisonLeft);
177
+ try {
178
+ this.enterOuterAlt(localctx, 1);
179
+ {
180
+ this.state = 59;
181
+ this.qualifiedIdentifier();
182
+ }
183
+ }
184
+ catch (re) {
185
+ if (re instanceof antlr4_1.RecognitionException) {
186
+ localctx.exception = re;
187
+ this._errHandler.reportError(this, re);
188
+ this._errHandler.recover(this, re);
189
+ }
190
+ else {
191
+ throw re;
192
+ }
193
+ }
194
+ finally {
195
+ this.exitRule();
196
+ }
197
+ return localctx;
198
+ }
199
+ // @RuleVersion(0)
200
+ comparisonRight() {
201
+ const localctx = new ComparisonRightContext(this, this._ctx, this.state);
202
+ this.enterRule(localctx, 6, OpraFilterParser.RULE_comparisonRight);
240
203
  try {
241
- this.state = 89;
204
+ this.state = 65;
242
205
  this._errHandler.sync(this);
243
206
  switch (this._input.LA(1)) {
207
+ case 10:
208
+ case 11:
209
+ case 12:
210
+ case 13:
211
+ case 14:
212
+ case 37:
213
+ case 38:
214
+ case 39:
215
+ case 40:
244
216
  case 42:
245
- case 43:
246
- case 44:
247
- case 45:
248
- case 46:
249
- case 47:
250
- case 48:
251
- case 49:
252
- case 51:
253
- case 52:
254
- localctx = new LiteralTermContext(this, localctx);
255
217
  this.enterOuterAlt(localctx, 1);
256
218
  {
257
- this.state = 86;
258
- this.literal();
219
+ this.state = 61;
220
+ this.value();
259
221
  }
260
222
  break;
261
- case 50:
262
- localctx = new QualifiedIdentifierTermContext(this, localctx);
223
+ case 35:
263
224
  this.enterOuterAlt(localctx, 2);
264
225
  {
265
- this.state = 87;
226
+ this.state = 62;
266
227
  this.qualifiedIdentifier();
267
228
  }
268
229
  break;
269
- case 23:
270
- localctx = new ExternalConstantTermContext(this, localctx);
230
+ case 6:
271
231
  this.enterOuterAlt(localctx, 3);
272
232
  {
273
- this.state = 88;
233
+ this.state = 63;
274
234
  this.externalConstant();
275
235
  }
276
236
  break;
237
+ case 7:
238
+ this.enterOuterAlt(localctx, 4);
239
+ {
240
+ this.state = 64;
241
+ this.arrayValue();
242
+ }
243
+ break;
244
+ default:
245
+ throw new antlr4_1.NoViableAltException(this);
246
+ }
247
+ }
248
+ catch (re) {
249
+ if (re instanceof antlr4_1.RecognitionException) {
250
+ localctx.exception = re;
251
+ this._errHandler.reportError(this, re);
252
+ this._errHandler.recover(this, re);
253
+ }
254
+ else {
255
+ throw re;
256
+ }
257
+ }
258
+ finally {
259
+ this.exitRule();
260
+ }
261
+ return localctx;
262
+ }
263
+ // @RuleVersion(0)
264
+ parenthesizedItem() {
265
+ const localctx = new ParenthesizedItemContext(this, this._ctx, this.state);
266
+ this.enterRule(localctx, 8, OpraFilterParser.RULE_parenthesizedItem);
267
+ try {
268
+ this.enterOuterAlt(localctx, 1);
269
+ {
270
+ this.state = 67;
271
+ this.expression(0);
272
+ }
273
+ }
274
+ catch (re) {
275
+ if (re instanceof antlr4_1.RecognitionException) {
276
+ localctx.exception = re;
277
+ this._errHandler.reportError(this, re);
278
+ this._errHandler.recover(this, re);
279
+ }
280
+ else {
281
+ throw re;
282
+ }
283
+ }
284
+ finally {
285
+ this.exitRule();
286
+ }
287
+ return localctx;
288
+ }
289
+ // @RuleVersion(0)
290
+ value() {
291
+ let localctx = new ValueContext(this, this._ctx, this.state);
292
+ this.enterRule(localctx, 10, OpraFilterParser.RULE_value);
293
+ try {
294
+ this.state = 77;
295
+ this._errHandler.sync(this);
296
+ switch (this._input.LA(1)) {
297
+ case 40:
298
+ localctx = new NumberLiteralContext(this, localctx);
299
+ this.enterOuterAlt(localctx, 1);
300
+ {
301
+ this.state = 69;
302
+ this.match(OpraFilterParser.NUMBER);
303
+ }
304
+ break;
305
+ case 13:
306
+ case 14:
307
+ localctx = new InfinityLiteralContext(this, localctx);
308
+ this.enterOuterAlt(localctx, 2);
309
+ {
310
+ this.state = 70;
311
+ this.infinity();
312
+ }
313
+ break;
314
+ case 10:
315
+ case 11:
316
+ localctx = new BooleanLiteralContext(this, localctx);
317
+ this.enterOuterAlt(localctx, 3);
318
+ {
319
+ this.state = 71;
320
+ this.boolean_();
321
+ }
322
+ break;
323
+ case 12:
324
+ localctx = new NullLiteralContext(this, localctx);
325
+ this.enterOuterAlt(localctx, 4);
326
+ {
327
+ this.state = 72;
328
+ this.null_();
329
+ }
330
+ break;
331
+ case 37:
332
+ localctx = new DateLiteralContext(this, localctx);
333
+ this.enterOuterAlt(localctx, 5);
334
+ {
335
+ this.state = 73;
336
+ this.match(OpraFilterParser.DATE);
337
+ }
338
+ break;
339
+ case 38:
340
+ localctx = new DateTimeLiteralContext(this, localctx);
341
+ this.enterOuterAlt(localctx, 6);
342
+ {
343
+ this.state = 74;
344
+ this.match(OpraFilterParser.DATETIME);
345
+ }
346
+ break;
347
+ case 39:
348
+ localctx = new TimeLiteralContext(this, localctx);
349
+ this.enterOuterAlt(localctx, 7);
350
+ {
351
+ this.state = 75;
352
+ this.match(OpraFilterParser.TIME);
353
+ }
354
+ break;
355
+ case 42:
356
+ localctx = new StringLiteralContext(this, localctx);
357
+ this.enterOuterAlt(localctx, 8);
358
+ {
359
+ this.state = 76;
360
+ this.match(OpraFilterParser.STRING);
361
+ }
362
+ break;
277
363
  default:
278
364
  throw new antlr4_1.NoViableAltException(this);
279
365
  }
@@ -294,14 +380,33 @@ class OpraFilterParser extends antlr4_1.Parser {
294
380
  return localctx;
295
381
  }
296
382
  // @RuleVersion(0)
297
- invocable() {
298
- let localctx = new InvocableContext(this, this._ctx, this.state);
299
- this.enterRule(localctx, 6, OpraFilterParser.RULE_invocable);
383
+ qualifiedIdentifier() {
384
+ const localctx = new QualifiedIdentifierContext(this, this._ctx, this.state);
385
+ this.enterRule(localctx, 12, OpraFilterParser.RULE_qualifiedIdentifier);
300
386
  try {
387
+ let _alt;
301
388
  this.enterOuterAlt(localctx, 1);
302
389
  {
303
- this.state = 91;
304
- this.function_();
390
+ this.state = 84;
391
+ this._errHandler.sync(this);
392
+ _alt = this._interp.adaptivePredict(this._input, 4, this._ctx);
393
+ while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
394
+ if (_alt === 1) {
395
+ {
396
+ {
397
+ this.state = 79;
398
+ this.identifier();
399
+ this.state = 80;
400
+ this.match(OpraFilterParser.T__4);
401
+ }
402
+ }
403
+ }
404
+ this.state = 86;
405
+ this._errHandler.sync(this);
406
+ _alt = this._interp.adaptivePredict(this._input, 4, this._ctx);
407
+ }
408
+ this.state = 87;
409
+ this.identifier();
305
410
  }
306
411
  }
307
412
  catch (re) {
@@ -320,14 +425,15 @@ class OpraFilterParser extends antlr4_1.Parser {
320
425
  return localctx;
321
426
  }
322
427
  // @RuleVersion(0)
323
- invocation() {
324
- let localctx = new InvocationContext(this, this._ctx, this.state);
325
- this.enterRule(localctx, 8, OpraFilterParser.RULE_invocation);
428
+ externalConstant() {
429
+ const localctx = new ExternalConstantContext(this, this._ctx, this.state);
430
+ this.enterRule(localctx, 14, OpraFilterParser.RULE_externalConstant);
326
431
  try {
327
- localctx = new MemberInvocationContext(this, localctx);
328
432
  this.enterOuterAlt(localctx, 1);
329
433
  {
330
- this.state = 93;
434
+ this.state = 89;
435
+ this.match(OpraFilterParser.T__5);
436
+ this.state = 90;
331
437
  this.identifier();
332
438
  }
333
439
  }
@@ -347,31 +453,14 @@ class OpraFilterParser extends antlr4_1.Parser {
347
453
  return localctx;
348
454
  }
349
455
  // @RuleVersion(0)
350
- indexer() {
351
- let localctx = new IndexerContext(this, this._ctx, this.state);
352
- this.enterRule(localctx, 10, OpraFilterParser.RULE_indexer);
456
+ identifier() {
457
+ const localctx = new IdentifierContext(this, this._ctx, this.state);
458
+ this.enterRule(localctx, 16, OpraFilterParser.RULE_identifier);
353
459
  try {
354
- this.state = 97;
355
- this._errHandler.sync(this);
356
- switch (this._input.LA(1)) {
357
- case 50:
358
- localctx = new MemberIndexContext(this, localctx);
359
- this.enterOuterAlt(localctx, 1);
360
- {
361
- this.state = 95;
362
- this.identifier();
363
- }
364
- break;
365
- case 53:
366
- localctx = new NumberIndexContext(this, localctx);
367
- this.enterOuterAlt(localctx, 2);
368
- {
369
- this.state = 96;
370
- this.match(OpraFilterParser.INTEGER);
371
- }
372
- break;
373
- default:
374
- throw new antlr4_1.NoViableAltException(this);
460
+ this.enterOuterAlt(localctx, 1);
461
+ {
462
+ this.state = 92;
463
+ this.match(OpraFilterParser.IDENTIFIER);
375
464
  }
376
465
  }
377
466
  catch (re) {
@@ -390,28 +479,35 @@ class OpraFilterParser extends antlr4_1.Parser {
390
479
  return localctx;
391
480
  }
392
481
  // @RuleVersion(0)
393
- function_() {
394
- let localctx = new FunctionContext(this, this._ctx, this.state);
395
- this.enterRule(localctx, 12, OpraFilterParser.RULE_function);
482
+ arrayValue() {
483
+ const localctx = new ArrayValueContext(this, this._ctx, this.state);
484
+ this.enterRule(localctx, 18, OpraFilterParser.RULE_arrayValue);
396
485
  let _la;
397
486
  try {
398
487
  this.enterOuterAlt(localctx, 1);
399
488
  {
400
- this.state = 99;
401
- this.identifier();
489
+ this.state = 94;
490
+ this.match(OpraFilterParser.T__6);
491
+ this.state = 95;
492
+ this.value();
402
493
  this.state = 100;
403
- this.match(OpraFilterParser.T__0);
404
- this.state = 102;
405
494
  this._errHandler.sync(this);
406
495
  _la = this._input.LA(1);
407
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 8388618) !== 0) || ((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 131011) !== 0)) {
496
+ while (_la === 8) {
408
497
  {
409
- this.state = 101;
410
- this.paramList();
498
+ {
499
+ this.state = 96;
500
+ this.match(OpraFilterParser.T__7);
501
+ this.state = 97;
502
+ this.value();
503
+ }
411
504
  }
505
+ this.state = 102;
506
+ this._errHandler.sync(this);
507
+ _la = this._input.LA(1);
412
508
  }
413
- this.state = 104;
414
- this.match(OpraFilterParser.T__1);
509
+ this.state = 103;
510
+ this.match(OpraFilterParser.T__8);
415
511
  }
416
512
  }
417
513
  catch (re) {
@@ -430,30 +526,21 @@ class OpraFilterParser extends antlr4_1.Parser {
430
526
  return localctx;
431
527
  }
432
528
  // @RuleVersion(0)
433
- paramList() {
434
- let localctx = new ParamListContext(this, this._ctx, this.state);
435
- this.enterRule(localctx, 14, OpraFilterParser.RULE_paramList);
529
+ boolean_() {
530
+ const localctx = new BooleanContext(this, this._ctx, this.state);
531
+ this.enterRule(localctx, 20, OpraFilterParser.RULE_boolean);
436
532
  let _la;
437
533
  try {
438
534
  this.enterOuterAlt(localctx, 1);
439
535
  {
440
- this.state = 106;
441
- this.expression(0);
442
- this.state = 111;
443
- this._errHandler.sync(this);
536
+ this.state = 105;
444
537
  _la = this._input.LA(1);
445
- while (_la === 4) {
446
- {
447
- {
448
- this.state = 107;
449
- this.match(OpraFilterParser.T__3);
450
- this.state = 108;
451
- this.expression(0);
452
- }
453
- }
454
- this.state = 113;
455
- this._errHandler.sync(this);
456
- _la = this._input.LA(1);
538
+ if (!(_la === 10 || _la === 11)) {
539
+ this._errHandler.recoverInline(this);
540
+ }
541
+ else {
542
+ this._errHandler.reportMatch(this);
543
+ this.consume();
457
544
  }
458
545
  }
459
546
  }
@@ -473,50 +560,14 @@ class OpraFilterParser extends antlr4_1.Parser {
473
560
  return localctx;
474
561
  }
475
562
  // @RuleVersion(0)
476
- unit() {
477
- let localctx = new UnitContext(this, this._ctx, this.state);
478
- this.enterRule(localctx, 16, OpraFilterParser.RULE_unit);
563
+ null_() {
564
+ const localctx = new NullContext(this, this._ctx, this.state);
565
+ this.enterRule(localctx, 22, OpraFilterParser.RULE_null);
479
566
  try {
480
- this.state = 117;
481
- this._errHandler.sync(this);
482
- switch (this._input.LA(1)) {
483
- case 6:
484
- case 7:
485
- case 8:
486
- case 9:
487
- case 10:
488
- case 11:
489
- case 12:
490
- case 13:
491
- this.enterOuterAlt(localctx, 1);
492
- {
493
- this.state = 114;
494
- this.dateTimePrecision();
495
- }
496
- break;
497
- case 14:
498
- case 15:
499
- case 16:
500
- case 17:
501
- case 18:
502
- case 19:
503
- case 20:
504
- case 21:
505
- this.enterOuterAlt(localctx, 2);
506
- {
507
- this.state = 115;
508
- this.pluralDateTimePrecision();
509
- }
510
- break;
511
- case 51:
512
- this.enterOuterAlt(localctx, 3);
513
- {
514
- this.state = 116;
515
- this.match(OpraFilterParser.STRING);
516
- }
517
- break;
518
- default:
519
- throw new antlr4_1.NoViableAltException(this);
567
+ this.enterOuterAlt(localctx, 1);
568
+ {
569
+ this.state = 107;
570
+ this.match(OpraFilterParser.T__11);
520
571
  }
521
572
  }
522
573
  catch (re) {
@@ -535,16 +586,16 @@ class OpraFilterParser extends antlr4_1.Parser {
535
586
  return localctx;
536
587
  }
537
588
  // @RuleVersion(0)
538
- dateTimePrecision() {
539
- let localctx = new DateTimePrecisionContext(this, this._ctx, this.state);
540
- this.enterRule(localctx, 18, OpraFilterParser.RULE_dateTimePrecision);
589
+ infinity() {
590
+ const localctx = new InfinityContext(this, this._ctx, this.state);
591
+ this.enterRule(localctx, 24, OpraFilterParser.RULE_infinity);
541
592
  let _la;
542
593
  try {
543
594
  this.enterOuterAlt(localctx, 1);
544
595
  {
545
- this.state = 119;
596
+ this.state = 109;
546
597
  _la = this._input.LA(1);
547
- if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & 16320) !== 0))) {
598
+ if (!(_la === 13 || _la === 14)) {
548
599
  this._errHandler.recoverInline(this);
549
600
  }
550
601
  else {
@@ -569,16 +620,16 @@ class OpraFilterParser extends antlr4_1.Parser {
569
620
  return localctx;
570
621
  }
571
622
  // @RuleVersion(0)
572
- pluralDateTimePrecision() {
573
- let localctx = new PluralDateTimePrecisionContext(this, this._ctx, this.state);
574
- this.enterRule(localctx, 20, OpraFilterParser.RULE_pluralDateTimePrecision);
623
+ arithmeticOperator() {
624
+ const localctx = new ArithmeticOperatorContext(this, this._ctx, this.state);
625
+ this.enterRule(localctx, 26, OpraFilterParser.RULE_arithmeticOperator);
575
626
  let _la;
576
627
  try {
577
628
  this.enterOuterAlt(localctx, 1);
578
629
  {
579
- this.state = 121;
630
+ this.state = 111;
580
631
  _la = this._input.LA(1);
581
- if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & 4177920) !== 0))) {
632
+ if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & 491520) !== 0))) {
582
633
  this._errHandler.recoverInline(this);
583
634
  }
584
635
  else {
@@ -603,33 +654,22 @@ class OpraFilterParser extends antlr4_1.Parser {
603
654
  return localctx;
604
655
  }
605
656
  // @RuleVersion(0)
606
- qualifiedIdentifier() {
607
- let localctx = new QualifiedIdentifierContext(this, this._ctx, this.state);
608
- this.enterRule(localctx, 22, OpraFilterParser.RULE_qualifiedIdentifier);
657
+ comparisonOperator() {
658
+ const localctx = new ComparisonOperatorContext(this, this._ctx, this.state);
659
+ this.enterRule(localctx, 28, OpraFilterParser.RULE_comparisonOperator);
660
+ let _la;
609
661
  try {
610
- let _alt;
611
662
  this.enterOuterAlt(localctx, 1);
612
663
  {
613
- this.state = 128;
614
- this._errHandler.sync(this);
615
- _alt = this._interp.adaptivePredict(this._input, 9, this._ctx);
616
- while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
617
- if (_alt === 1) {
618
- {
619
- {
620
- this.state = 123;
621
- this.identifier();
622
- this.state = 124;
623
- this.match(OpraFilterParser.T__21);
624
- }
625
- }
626
- }
627
- this.state = 130;
628
- this._errHandler.sync(this);
629
- _alt = this._interp.adaptivePredict(this._input, 9, this._ctx);
664
+ this.state = 113;
665
+ _la = this._input.LA(1);
666
+ if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & 2146959360) !== 0))) {
667
+ this._errHandler.recoverInline(this);
668
+ }
669
+ else {
670
+ this._errHandler.reportMatch(this);
671
+ this.consume();
630
672
  }
631
- this.state = 131;
632
- this.identifier();
633
673
  }
634
674
  }
635
675
  catch (re) {
@@ -648,18 +688,16 @@ class OpraFilterParser extends antlr4_1.Parser {
648
688
  return localctx;
649
689
  }
650
690
  // @RuleVersion(0)
651
- externalConstant() {
652
- let localctx = new ExternalConstantContext(this, this._ctx, this.state);
653
- this.enterRule(localctx, 24, OpraFilterParser.RULE_externalConstant);
691
+ logicalOperator() {
692
+ const localctx = new LogicalOperatorContext(this, this._ctx, this.state);
693
+ this.enterRule(localctx, 30, OpraFilterParser.RULE_logicalOperator);
654
694
  let _la;
655
695
  try {
656
696
  this.enterOuterAlt(localctx, 1);
657
697
  {
658
- this.state = 133;
659
- this.match(OpraFilterParser.T__22);
660
- this.state = 134;
698
+ this.state = 115;
661
699
  _la = this._input.LA(1);
662
- if (!(_la === 50 || _la === 51)) {
700
+ if (!(((((_la - 31)) & ~0x1F) === 0 && ((1 << (_la - 31)) & 15) !== 0))) {
663
701
  this._errHandler.recoverInline(this);
664
702
  }
665
703
  else {
@@ -684,14 +722,14 @@ class OpraFilterParser extends antlr4_1.Parser {
684
722
  return localctx;
685
723
  }
686
724
  // @RuleVersion(0)
687
- identifier() {
688
- let localctx = new IdentifierContext(this, this._ctx, this.state);
689
- this.enterRule(localctx, 26, OpraFilterParser.RULE_identifier);
725
+ polarityOperator() {
726
+ const localctx = new PolarityOperatorContext(this, this._ctx, this.state);
727
+ this.enterRule(localctx, 32, OpraFilterParser.RULE_polarityOperator);
690
728
  try {
691
729
  this.enterOuterAlt(localctx, 1);
692
730
  {
693
- this.state = 136;
694
- this.match(OpraFilterParser.IDENTIFIER);
731
+ this.state = 117;
732
+ this.match(OpraFilterParser.POLAR_OP);
695
733
  }
696
734
  }
697
735
  catch (re) {
@@ -709,1329 +747,467 @@ class OpraFilterParser extends antlr4_1.Parser {
709
747
  }
710
748
  return localctx;
711
749
  }
712
- // @RuleVersion(0)
713
- literal() {
714
- let localctx = new LiteralContext(this, this._ctx, this.state);
715
- this.enterRule(localctx, 28, OpraFilterParser.RULE_literal);
716
- try {
717
- this.state = 146;
718
- this._errHandler.sync(this);
719
- switch (this._input.LA(1)) {
720
- case 52:
721
- localctx = new NumberLiteralContext(this, localctx);
722
- this.enterOuterAlt(localctx, 1);
723
- {
724
- this.state = 138;
725
- this.match(OpraFilterParser.NUMBER);
726
- }
727
- break;
728
- case 45:
729
- case 46:
730
- localctx = new InfinityLiteralContext(this, localctx);
731
- this.enterOuterAlt(localctx, 2);
732
- {
733
- this.state = 139;
734
- this.infinity();
735
- }
736
- break;
737
- case 42:
738
- case 43:
739
- localctx = new BooleanLiteralContext(this, localctx);
740
- this.enterOuterAlt(localctx, 3);
741
- {
742
- this.state = 140;
743
- this.boolean_();
744
- }
745
- break;
746
- case 44:
747
- localctx = new NullLiteralContext(this, localctx);
748
- this.enterOuterAlt(localctx, 4);
749
- {
750
- this.state = 141;
751
- this.null_();
752
- }
753
- break;
754
- case 47:
755
- localctx = new DateLiteralContext(this, localctx);
756
- this.enterOuterAlt(localctx, 5);
757
- {
758
- this.state = 142;
759
- this.match(OpraFilterParser.DATE);
760
- }
761
- break;
762
- case 48:
763
- localctx = new DateTimeLiteralContext(this, localctx);
764
- this.enterOuterAlt(localctx, 6);
765
- {
766
- this.state = 143;
767
- this.match(OpraFilterParser.DATETIME);
768
- }
769
- break;
770
- case 49:
771
- localctx = new TimeLiteralContext(this, localctx);
772
- this.enterOuterAlt(localctx, 7);
773
- {
774
- this.state = 144;
775
- this.match(OpraFilterParser.TIME);
776
- }
777
- break;
778
- case 51:
779
- localctx = new StringLiteralContext(this, localctx);
780
- this.enterOuterAlt(localctx, 8);
781
- {
782
- this.state = 145;
783
- this.match(OpraFilterParser.STRING);
784
- }
785
- break;
786
- default:
787
- throw new antlr4_1.NoViableAltException(this);
788
- }
789
- }
790
- catch (re) {
791
- if (re instanceof antlr4_1.RecognitionException) {
792
- localctx.exception = re;
793
- this._errHandler.reportError(this, re);
794
- this._errHandler.recover(this, re);
795
- }
796
- else {
797
- throw re;
798
- }
799
- }
800
- finally {
801
- this.exitRule();
802
- }
803
- return localctx;
804
- }
805
- // @RuleVersion(0)
806
- compOp() {
807
- let localctx = new CompOpContext(this, this._ctx, this.state);
808
- this.enterRule(localctx, 30, OpraFilterParser.RULE_compOp);
809
- let _la;
810
- try {
811
- this.enterOuterAlt(localctx, 1);
812
- {
813
- this.state = 148;
814
- _la = this._input.LA(1);
815
- if (!(((((_la - 24)) & ~0x1F) === 0 && ((1 << (_la - 24)) & 4095) !== 0))) {
816
- this._errHandler.recoverInline(this);
817
- }
818
- else {
819
- this._errHandler.reportMatch(this);
820
- this.consume();
821
- }
822
- }
823
- }
824
- catch (re) {
825
- if (re instanceof antlr4_1.RecognitionException) {
826
- localctx.exception = re;
827
- this._errHandler.reportError(this, re);
828
- this._errHandler.recover(this, re);
829
- }
830
- else {
831
- throw re;
832
- }
833
- }
834
- finally {
835
- this.exitRule();
836
- }
837
- return localctx;
838
- }
839
- // @RuleVersion(0)
840
- arthOp() {
841
- let localctx = new ArthOpContext(this, this._ctx, this.state);
842
- this.enterRule(localctx, 32, OpraFilterParser.RULE_arthOp);
843
- let _la;
844
- try {
845
- this.enterOuterAlt(localctx, 1);
846
- {
847
- this.state = 150;
848
- _la = this._input.LA(1);
849
- if (!(((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 15) !== 0))) {
850
- this._errHandler.recoverInline(this);
851
- }
852
- else {
853
- this._errHandler.reportMatch(this);
854
- this.consume();
855
- }
856
- }
857
- }
858
- catch (re) {
859
- if (re instanceof antlr4_1.RecognitionException) {
860
- localctx.exception = re;
861
- this._errHandler.reportError(this, re);
862
- this._errHandler.recover(this, re);
863
- }
864
- else {
865
- throw re;
866
- }
867
- }
868
- finally {
869
- this.exitRule();
870
- }
871
- return localctx;
872
- }
873
- // @RuleVersion(0)
874
- polarOp() {
875
- let localctx = new PolarOpContext(this, this._ctx, this.state);
876
- this.enterRule(localctx, 34, OpraFilterParser.RULE_polarOp);
877
- let _la;
878
- try {
879
- this.enterOuterAlt(localctx, 1);
880
- {
881
- this.state = 152;
882
- _la = this._input.LA(1);
883
- if (!(_la === 36 || _la === 37)) {
884
- this._errHandler.recoverInline(this);
885
- }
886
- else {
887
- this._errHandler.reportMatch(this);
888
- this.consume();
889
- }
890
- }
891
- }
892
- catch (re) {
893
- if (re instanceof antlr4_1.RecognitionException) {
894
- localctx.exception = re;
895
- this._errHandler.reportError(this, re);
896
- this._errHandler.recover(this, re);
897
- }
898
- else {
899
- throw re;
900
- }
901
- }
902
- finally {
903
- this.exitRule();
904
- }
905
- return localctx;
906
- }
907
- // @RuleVersion(0)
908
- logOp() {
909
- let localctx = new LogOpContext(this, this._ctx, this.state);
910
- this.enterRule(localctx, 36, OpraFilterParser.RULE_logOp);
911
- let _la;
912
- try {
913
- this.enterOuterAlt(localctx, 1);
914
- {
915
- this.state = 154;
916
- _la = this._input.LA(1);
917
- if (!(_la === 40 || _la === 41)) {
918
- this._errHandler.recoverInline(this);
919
- }
920
- else {
921
- this._errHandler.reportMatch(this);
922
- this.consume();
923
- }
924
- }
925
- }
926
- catch (re) {
927
- if (re instanceof antlr4_1.RecognitionException) {
928
- localctx.exception = re;
929
- this._errHandler.reportError(this, re);
930
- this._errHandler.recover(this, re);
931
- }
932
- else {
933
- throw re;
934
- }
935
- }
936
- finally {
937
- this.exitRule();
938
- }
939
- return localctx;
940
- }
941
- // @RuleVersion(0)
942
- boolean_() {
943
- let localctx = new BooleanContext(this, this._ctx, this.state);
944
- this.enterRule(localctx, 38, OpraFilterParser.RULE_boolean);
945
- let _la;
946
- try {
947
- this.enterOuterAlt(localctx, 1);
948
- {
949
- this.state = 156;
950
- _la = this._input.LA(1);
951
- if (!(_la === 42 || _la === 43)) {
952
- this._errHandler.recoverInline(this);
953
- }
954
- else {
955
- this._errHandler.reportMatch(this);
956
- this.consume();
957
- }
958
- }
959
- }
960
- catch (re) {
961
- if (re instanceof antlr4_1.RecognitionException) {
962
- localctx.exception = re;
963
- this._errHandler.reportError(this, re);
964
- this._errHandler.recover(this, re);
965
- }
966
- else {
967
- throw re;
968
- }
969
- }
970
- finally {
971
- this.exitRule();
972
- }
973
- return localctx;
974
- }
975
- // @RuleVersion(0)
976
- null_() {
977
- let localctx = new NullContext(this, this._ctx, this.state);
978
- this.enterRule(localctx, 40, OpraFilterParser.RULE_null);
979
- try {
980
- this.enterOuterAlt(localctx, 1);
981
- {
982
- this.state = 158;
983
- this.match(OpraFilterParser.T__43);
984
- }
985
- }
986
- catch (re) {
987
- if (re instanceof antlr4_1.RecognitionException) {
988
- localctx.exception = re;
989
- this._errHandler.reportError(this, re);
990
- this._errHandler.recover(this, re);
991
- }
992
- else {
993
- throw re;
994
- }
995
- }
996
- finally {
997
- this.exitRule();
998
- }
999
- return localctx;
1000
- }
1001
- // @RuleVersion(0)
1002
- infinity() {
1003
- let localctx = new InfinityContext(this, this._ctx, this.state);
1004
- this.enterRule(localctx, 42, OpraFilterParser.RULE_infinity);
1005
- let _la;
1006
- try {
1007
- this.enterOuterAlt(localctx, 1);
1008
- {
1009
- this.state = 160;
1010
- _la = this._input.LA(1);
1011
- if (!(_la === 45 || _la === 46)) {
1012
- this._errHandler.recoverInline(this);
1013
- }
1014
- else {
1015
- this._errHandler.reportMatch(this);
1016
- this.consume();
1017
- }
1018
- }
1019
- }
1020
- catch (re) {
1021
- if (re instanceof antlr4_1.RecognitionException) {
1022
- localctx.exception = re;
1023
- this._errHandler.reportError(this, re);
1024
- this._errHandler.recover(this, re);
1025
- }
1026
- else {
1027
- throw re;
1028
- }
1029
- }
1030
- finally {
1031
- this.exitRule();
1032
- }
1033
- return localctx;
1034
- }
1035
- sempred(localctx, ruleIndex, predIndex) {
1036
- switch (ruleIndex) {
1037
- case 1:
1038
- return this.expression_sempred(localctx, predIndex);
1039
- }
1040
- return true;
1041
- }
1042
- expression_sempred(localctx, predIndex) {
1043
- switch (predIndex) {
1044
- case 0:
1045
- return this.precpred(this._ctx, 5);
1046
- case 1:
1047
- return this.precpred(this._ctx, 4);
1048
- case 2:
1049
- return this.precpred(this._ctx, 3);
1050
- }
1051
- return true;
1052
- }
1053
- static get _ATN() {
1054
- if (!OpraFilterParser.__ATN) {
1055
- OpraFilterParser.__ATN = new antlr4_1.ATNDeserializer().deserialize(OpraFilterParser._serializedATN);
1056
- }
1057
- return OpraFilterParser.__ATN;
1058
- }
1059
- }
1060
- exports.default = OpraFilterParser;
1061
- OpraFilterParser.T__0 = 1;
1062
- OpraFilterParser.T__1 = 2;
1063
- OpraFilterParser.T__2 = 3;
1064
- OpraFilterParser.T__3 = 4;
1065
- OpraFilterParser.T__4 = 5;
1066
- OpraFilterParser.T__5 = 6;
1067
- OpraFilterParser.T__6 = 7;
1068
- OpraFilterParser.T__7 = 8;
1069
- OpraFilterParser.T__8 = 9;
1070
- OpraFilterParser.T__9 = 10;
1071
- OpraFilterParser.T__10 = 11;
1072
- OpraFilterParser.T__11 = 12;
1073
- OpraFilterParser.T__12 = 13;
1074
- OpraFilterParser.T__13 = 14;
1075
- OpraFilterParser.T__14 = 15;
1076
- OpraFilterParser.T__15 = 16;
1077
- OpraFilterParser.T__16 = 17;
1078
- OpraFilterParser.T__17 = 18;
1079
- OpraFilterParser.T__18 = 19;
1080
- OpraFilterParser.T__19 = 20;
1081
- OpraFilterParser.T__20 = 21;
1082
- OpraFilterParser.T__21 = 22;
1083
- OpraFilterParser.T__22 = 23;
1084
- OpraFilterParser.T__23 = 24;
1085
- OpraFilterParser.T__24 = 25;
1086
- OpraFilterParser.T__25 = 26;
1087
- OpraFilterParser.T__26 = 27;
1088
- OpraFilterParser.T__27 = 28;
1089
- OpraFilterParser.T__28 = 29;
1090
- OpraFilterParser.T__29 = 30;
1091
- OpraFilterParser.T__30 = 31;
1092
- OpraFilterParser.T__31 = 32;
1093
- OpraFilterParser.T__32 = 33;
1094
- OpraFilterParser.T__33 = 34;
1095
- OpraFilterParser.T__34 = 35;
1096
- OpraFilterParser.T__35 = 36;
1097
- OpraFilterParser.T__36 = 37;
1098
- OpraFilterParser.T__37 = 38;
1099
- OpraFilterParser.T__38 = 39;
1100
- OpraFilterParser.T__39 = 40;
1101
- OpraFilterParser.T__40 = 41;
1102
- OpraFilterParser.T__41 = 42;
1103
- OpraFilterParser.T__42 = 43;
1104
- OpraFilterParser.T__43 = 44;
1105
- OpraFilterParser.T__44 = 45;
1106
- OpraFilterParser.T__45 = 46;
1107
- OpraFilterParser.DATE = 47;
1108
- OpraFilterParser.DATETIME = 48;
1109
- OpraFilterParser.TIME = 49;
1110
- OpraFilterParser.IDENTIFIER = 50;
1111
- OpraFilterParser.STRING = 51;
1112
- OpraFilterParser.NUMBER = 52;
1113
- OpraFilterParser.INTEGER = 53;
1114
- OpraFilterParser.WHITESPACE = 54;
1115
- OpraFilterParser.COMMENT = 55;
1116
- OpraFilterParser.LINE_COMMENT = 56;
1117
- OpraFilterParser.EOF = antlr4_1.Token.EOF;
1118
- OpraFilterParser.RULE_root = 0;
1119
- OpraFilterParser.RULE_expression = 1;
1120
- OpraFilterParser.RULE_term = 2;
1121
- OpraFilterParser.RULE_invocable = 3;
1122
- OpraFilterParser.RULE_invocation = 4;
1123
- OpraFilterParser.RULE_indexer = 5;
1124
- OpraFilterParser.RULE_function = 6;
1125
- OpraFilterParser.RULE_paramList = 7;
1126
- OpraFilterParser.RULE_unit = 8;
1127
- OpraFilterParser.RULE_dateTimePrecision = 9;
1128
- OpraFilterParser.RULE_pluralDateTimePrecision = 10;
1129
- OpraFilterParser.RULE_qualifiedIdentifier = 11;
1130
- OpraFilterParser.RULE_externalConstant = 12;
1131
- OpraFilterParser.RULE_identifier = 13;
1132
- OpraFilterParser.RULE_literal = 14;
1133
- OpraFilterParser.RULE_compOp = 15;
1134
- OpraFilterParser.RULE_arthOp = 16;
1135
- OpraFilterParser.RULE_polarOp = 17;
1136
- OpraFilterParser.RULE_logOp = 18;
1137
- OpraFilterParser.RULE_boolean = 19;
1138
- OpraFilterParser.RULE_null = 20;
1139
- OpraFilterParser.RULE_infinity = 21;
1140
- OpraFilterParser.literalNames = [null, "'('", "')'", "'['",
1141
- "','", "']'", "'year'",
1142
- "'month'", "'week'",
1143
- "'day'", "'hour'", "'minute'",
1144
- "'second'", "'millisecond'",
1145
- "'years'", "'months'",
1146
- "'weeks'", "'days'",
1147
- "'hours'", "'minutes'",
1148
- "'seconds'", "'milliseconds'",
1149
- "'.'", "'@'", "'<='",
1150
- "'<'", "'>'", "'>='",
1151
- "'='", "'!='", "'in'",
1152
- "'!in'", "'like'", "'!like'",
1153
- "'ilike'", "'!ilike'",
1154
- "'+'", "'-'", "'*'",
1155
- "'/'", "'and'", "'or'",
1156
- "'true'", "'false'",
1157
- "'null'", "'Infinity'",
1158
- "'infinity'"];
1159
- OpraFilterParser.symbolicNames = [null, null, null, null,
1160
- null, null, null, null,
1161
- null, null, null, null,
1162
- null, null, null, null,
1163
- null, null, null, null,
1164
- null, null, null, null,
1165
- null, null, null, null,
1166
- null, null, null, null,
1167
- null, null, null, null,
1168
- null, null, null, null,
1169
- null, null, null, null,
1170
- null, null, null, "DATE",
1171
- "DATETIME", "TIME",
1172
- "IDENTIFIER", "STRING",
1173
- "NUMBER", "INTEGER",
1174
- "WHITESPACE", "COMMENT",
1175
- "LINE_COMMENT"];
1176
- // tslint:disable:no-trailing-whitespace
1177
- OpraFilterParser.ruleNames = [
1178
- "root", "expression", "term", "invocable", "invocation", "indexer", "function",
1179
- "paramList", "unit", "dateTimePrecision", "pluralDateTimePrecision", "qualifiedIdentifier",
1180
- "externalConstant", "identifier", "literal", "compOp", "arthOp", "polarOp",
1181
- "logOp", "boolean", "null", "infinity",
1182
- ];
1183
- OpraFilterParser._serializedATN = [4, 1, 56, 163, 2, 0, 7, 0, 2,
1184
- 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2,
1185
- 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17,
1186
- 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1,
1187
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 61, 8, 1, 10, 1, 12, 1, 64, 9, 1, 1, 1, 1,
1188
- 1, 3, 1, 68, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 82, 8, 1,
1189
- 10, 1, 12, 1, 85, 9, 1, 1, 2, 1, 2, 1, 2, 3, 2, 90, 8, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 3, 5, 98,
1190
- 8, 5, 1, 6, 1, 6, 1, 6, 3, 6, 103, 8, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 5, 7, 110, 8, 7, 10, 7, 12, 7, 113,
1191
- 9, 7, 1, 8, 1, 8, 1, 8, 3, 8, 118, 8, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 5, 11, 127, 8,
1192
- 11, 10, 11, 12, 11, 130, 9, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 14, 1, 14, 1,
1193
- 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 3, 14, 147, 8, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 17, 1, 17,
1194
- 1, 18, 1, 18, 1, 19, 1, 19, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 0, 1, 2, 22, 0, 2, 4, 6, 8, 10, 12, 14,
1195
- 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 0, 9, 1, 0, 6, 13, 1, 0, 14, 21, 1, 0, 50,
1196
- 51, 1, 0, 24, 35, 1, 0, 36, 39, 1, 0, 36, 37, 1, 0, 40, 41, 1, 0, 42, 43, 1, 0, 45, 46, 162, 0, 44,
1197
- 1, 0, 0, 0, 2, 67, 1, 0, 0, 0, 4, 89, 1, 0, 0, 0, 6, 91, 1, 0, 0, 0, 8, 93, 1, 0, 0, 0, 10, 97, 1, 0, 0,
1198
- 0, 12, 99, 1, 0, 0, 0, 14, 106, 1, 0, 0, 0, 16, 117, 1, 0, 0, 0, 18, 119, 1, 0, 0, 0, 20, 121, 1, 0,
1199
- 0, 0, 22, 128, 1, 0, 0, 0, 24, 133, 1, 0, 0, 0, 26, 136, 1, 0, 0, 0, 28, 146, 1, 0, 0, 0, 30, 148,
1200
- 1, 0, 0, 0, 32, 150, 1, 0, 0, 0, 34, 152, 1, 0, 0, 0, 36, 154, 1, 0, 0, 0, 38, 156, 1, 0, 0, 0, 40,
1201
- 158, 1, 0, 0, 0, 42, 160, 1, 0, 0, 0, 44, 45, 3, 2, 1, 0, 45, 46, 5, 0, 0, 1, 46, 1, 1, 0, 0, 0, 47,
1202
- 48, 6, 1, -1, 0, 48, 68, 3, 4, 2, 0, 49, 50, 3, 34, 17, 0, 50, 51, 3, 2, 1, 6, 51, 68, 1, 0, 0, 0, 52,
1203
- 53, 5, 1, 0, 0, 53, 54, 3, 2, 1, 0, 54, 55, 5, 2, 0, 0, 55, 68, 1, 0, 0, 0, 56, 57, 5, 3, 0, 0, 57, 62,
1204
- 3, 2, 1, 0, 58, 59, 5, 4, 0, 0, 59, 61, 3, 2, 1, 0, 60, 58, 1, 0, 0, 0, 61, 64, 1, 0, 0, 0, 62, 60, 1,
1205
- 0, 0, 0, 62, 63, 1, 0, 0, 0, 63, 65, 1, 0, 0, 0, 64, 62, 1, 0, 0, 0, 65, 66, 5, 5, 0, 0, 66, 68, 1, 0,
1206
- 0, 0, 67, 47, 1, 0, 0, 0, 67, 49, 1, 0, 0, 0, 67, 52, 1, 0, 0, 0, 67, 56, 1, 0, 0, 0, 68, 83, 1, 0, 0,
1207
- 0, 69, 70, 10, 5, 0, 0, 70, 71, 3, 32, 16, 0, 71, 72, 3, 2, 1, 6, 72, 82, 1, 0, 0, 0, 73, 74, 10, 4,
1208
- 0, 0, 74, 75, 3, 30, 15, 0, 75, 76, 3, 2, 1, 5, 76, 82, 1, 0, 0, 0, 77, 78, 10, 3, 0, 0, 78, 79, 3,
1209
- 36, 18, 0, 79, 80, 3, 2, 1, 4, 80, 82, 1, 0, 0, 0, 81, 69, 1, 0, 0, 0, 81, 73, 1, 0, 0, 0, 81, 77, 1,
1210
- 0, 0, 0, 82, 85, 1, 0, 0, 0, 83, 81, 1, 0, 0, 0, 83, 84, 1, 0, 0, 0, 84, 3, 1, 0, 0, 0, 85, 83, 1, 0,
1211
- 0, 0, 86, 90, 3, 28, 14, 0, 87, 90, 3, 22, 11, 0, 88, 90, 3, 24, 12, 0, 89, 86, 1, 0, 0, 0, 89, 87,
1212
- 1, 0, 0, 0, 89, 88, 1, 0, 0, 0, 90, 5, 1, 0, 0, 0, 91, 92, 3, 12, 6, 0, 92, 7, 1, 0, 0, 0, 93, 94, 3,
1213
- 26, 13, 0, 94, 9, 1, 0, 0, 0, 95, 98, 3, 26, 13, 0, 96, 98, 5, 53, 0, 0, 97, 95, 1, 0, 0, 0, 97, 96,
1214
- 1, 0, 0, 0, 98, 11, 1, 0, 0, 0, 99, 100, 3, 26, 13, 0, 100, 102, 5, 1, 0, 0, 101, 103, 3, 14, 7, 0,
1215
- 102, 101, 1, 0, 0, 0, 102, 103, 1, 0, 0, 0, 103, 104, 1, 0, 0, 0, 104, 105, 5, 2, 0, 0, 105, 13,
1216
- 1, 0, 0, 0, 106, 111, 3, 2, 1, 0, 107, 108, 5, 4, 0, 0, 108, 110, 3, 2, 1, 0, 109, 107, 1, 0, 0, 0,
1217
- 110, 113, 1, 0, 0, 0, 111, 109, 1, 0, 0, 0, 111, 112, 1, 0, 0, 0, 112, 15, 1, 0, 0, 0, 113, 111,
1218
- 1, 0, 0, 0, 114, 118, 3, 18, 9, 0, 115, 118, 3, 20, 10, 0, 116, 118, 5, 51, 0, 0, 117, 114, 1, 0,
1219
- 0, 0, 117, 115, 1, 0, 0, 0, 117, 116, 1, 0, 0, 0, 118, 17, 1, 0, 0, 0, 119, 120, 7, 0, 0, 0, 120,
1220
- 19, 1, 0, 0, 0, 121, 122, 7, 1, 0, 0, 122, 21, 1, 0, 0, 0, 123, 124, 3, 26, 13, 0, 124, 125, 5, 22,
1221
- 0, 0, 125, 127, 1, 0, 0, 0, 126, 123, 1, 0, 0, 0, 127, 130, 1, 0, 0, 0, 128, 126, 1, 0, 0, 0, 128,
1222
- 129, 1, 0, 0, 0, 129, 131, 1, 0, 0, 0, 130, 128, 1, 0, 0, 0, 131, 132, 3, 26, 13, 0, 132, 23, 1,
1223
- 0, 0, 0, 133, 134, 5, 23, 0, 0, 134, 135, 7, 2, 0, 0, 135, 25, 1, 0, 0, 0, 136, 137, 5, 50, 0, 0,
1224
- 137, 27, 1, 0, 0, 0, 138, 147, 5, 52, 0, 0, 139, 147, 3, 42, 21, 0, 140, 147, 3, 38, 19, 0, 141,
1225
- 147, 3, 40, 20, 0, 142, 147, 5, 47, 0, 0, 143, 147, 5, 48, 0, 0, 144, 147, 5, 49, 0, 0, 145, 147,
1226
- 5, 51, 0, 0, 146, 138, 1, 0, 0, 0, 146, 139, 1, 0, 0, 0, 146, 140, 1, 0, 0, 0, 146, 141, 1, 0, 0,
1227
- 0, 146, 142, 1, 0, 0, 0, 146, 143, 1, 0, 0, 0, 146, 144, 1, 0, 0, 0, 146, 145, 1, 0, 0, 0, 147, 29,
1228
- 1, 0, 0, 0, 148, 149, 7, 3, 0, 0, 149, 31, 1, 0, 0, 0, 150, 151, 7, 4, 0, 0, 151, 33, 1, 0, 0, 0, 152,
1229
- 153, 7, 5, 0, 0, 153, 35, 1, 0, 0, 0, 154, 155, 7, 6, 0, 0, 155, 37, 1, 0, 0, 0, 156, 157, 7, 7, 0,
1230
- 0, 157, 39, 1, 0, 0, 0, 158, 159, 5, 44, 0, 0, 159, 41, 1, 0, 0, 0, 160, 161, 7, 8, 0, 0, 161, 43,
1231
- 1, 0, 0, 0, 11, 62, 67, 81, 83, 89, 97, 102, 111, 117, 128, 146];
1232
- OpraFilterParser.DecisionsToDFA = OpraFilterParser._ATN.decisionToState.map((ds, index) => new antlr4_1.DFA(ds, index));
1233
- class RootContext extends antlr4_1.ParserRuleContext {
1234
- constructor(parser, parent, invokingState) {
1235
- super(parent, invokingState);
1236
- this.parser = parser;
1237
- }
1238
- expression() {
1239
- return this.getTypedRuleContext(ExpressionContext, 0);
1240
- }
1241
- EOF() {
1242
- return this.getToken(OpraFilterParser.EOF, 0);
1243
- }
1244
- get ruleIndex() {
1245
- return OpraFilterParser.RULE_root;
1246
- }
1247
- enterRule(listener) {
1248
- if (listener.enterRoot) {
1249
- listener.enterRoot(this);
1250
- }
1251
- }
1252
- exitRule(listener) {
1253
- if (listener.exitRoot) {
1254
- listener.exitRoot(this);
1255
- }
1256
- }
1257
- // @Override
1258
- accept(visitor) {
1259
- if (visitor.visitRoot) {
1260
- return visitor.visitRoot(this);
1261
- }
1262
- else {
1263
- return visitor.visitChildren(this);
1264
- }
1265
- }
1266
- }
1267
- exports.RootContext = RootContext;
1268
- class ExpressionContext extends antlr4_1.ParserRuleContext {
1269
- constructor(parser, parent, invokingState) {
1270
- super(parent, invokingState);
1271
- this.parser = parser;
1272
- }
1273
- get ruleIndex() {
1274
- return OpraFilterParser.RULE_expression;
1275
- }
1276
- copyFrom(ctx) {
1277
- super.copyFrom(ctx);
1278
- }
1279
- }
1280
- exports.ExpressionContext = ExpressionContext;
1281
- class ParenthesizedExpressionContext extends ExpressionContext {
1282
- constructor(parser, ctx) {
1283
- super(parser, ctx.parentCtx, ctx.invokingState);
1284
- super.copyFrom(ctx);
1285
- }
1286
- expression() {
1287
- return this.getTypedRuleContext(ExpressionContext, 0);
1288
- }
1289
- enterRule(listener) {
1290
- if (listener.enterParenthesizedExpression) {
1291
- listener.enterParenthesizedExpression(this);
1292
- }
1293
- }
1294
- exitRule(listener) {
1295
- if (listener.exitParenthesizedExpression) {
1296
- listener.exitParenthesizedExpression(this);
1297
- }
1298
- }
1299
- // @Override
1300
- accept(visitor) {
1301
- if (visitor.visitParenthesizedExpression) {
1302
- return visitor.visitParenthesizedExpression(this);
1303
- }
1304
- else {
1305
- return visitor.visitChildren(this);
1306
- }
1307
- }
1308
- }
1309
- exports.ParenthesizedExpressionContext = ParenthesizedExpressionContext;
1310
- class ArrayExpressionContext extends ExpressionContext {
1311
- constructor(parser, ctx) {
1312
- super(parser, ctx.parentCtx, ctx.invokingState);
1313
- super.copyFrom(ctx);
1314
- }
1315
- expression_list() {
1316
- return this.getTypedRuleContexts(ExpressionContext);
1317
- }
1318
- expression(i) {
1319
- return this.getTypedRuleContext(ExpressionContext, i);
1320
- }
1321
- enterRule(listener) {
1322
- if (listener.enterArrayExpression) {
1323
- listener.enterArrayExpression(this);
1324
- }
1325
- }
1326
- exitRule(listener) {
1327
- if (listener.exitArrayExpression) {
1328
- listener.exitArrayExpression(this);
1329
- }
1330
- }
1331
- // @Override
1332
- accept(visitor) {
1333
- if (visitor.visitArrayExpression) {
1334
- return visitor.visitArrayExpression(this);
1335
- }
1336
- else {
1337
- return visitor.visitChildren(this);
1338
- }
1339
- }
1340
- }
1341
- exports.ArrayExpressionContext = ArrayExpressionContext;
1342
- class PolarityExpressionContext extends ExpressionContext {
1343
- constructor(parser, ctx) {
1344
- super(parser, ctx.parentCtx, ctx.invokingState);
1345
- super.copyFrom(ctx);
1346
- }
1347
- polarOp() {
1348
- return this.getTypedRuleContext(PolarOpContext, 0);
1349
- }
1350
- expression() {
1351
- return this.getTypedRuleContext(ExpressionContext, 0);
1352
- }
1353
- enterRule(listener) {
1354
- if (listener.enterPolarityExpression) {
1355
- listener.enterPolarityExpression(this);
1356
- }
1357
- }
1358
- exitRule(listener) {
1359
- if (listener.exitPolarityExpression) {
1360
- listener.exitPolarityExpression(this);
1361
- }
1362
- }
1363
- // @Override
1364
- accept(visitor) {
1365
- if (visitor.visitPolarityExpression) {
1366
- return visitor.visitPolarityExpression(this);
1367
- }
1368
- else {
1369
- return visitor.visitChildren(this);
1370
- }
1371
- }
1372
- }
1373
- exports.PolarityExpressionContext = PolarityExpressionContext;
1374
- class ComparisonExpressionContext extends ExpressionContext {
1375
- constructor(parser, ctx) {
1376
- super(parser, ctx.parentCtx, ctx.invokingState);
1377
- super.copyFrom(ctx);
1378
- }
1379
- expression_list() {
1380
- return this.getTypedRuleContexts(ExpressionContext);
1381
- }
1382
- expression(i) {
1383
- return this.getTypedRuleContext(ExpressionContext, i);
1384
- }
1385
- compOp() {
1386
- return this.getTypedRuleContext(CompOpContext, 0);
1387
- }
1388
- enterRule(listener) {
1389
- if (listener.enterComparisonExpression) {
1390
- listener.enterComparisonExpression(this);
1391
- }
1392
- }
1393
- exitRule(listener) {
1394
- if (listener.exitComparisonExpression) {
1395
- listener.exitComparisonExpression(this);
1396
- }
1397
- }
1398
- // @Override
1399
- accept(visitor) {
1400
- if (visitor.visitComparisonExpression) {
1401
- return visitor.visitComparisonExpression(this);
1402
- }
1403
- else {
1404
- return visitor.visitChildren(this);
1405
- }
1406
- }
1407
- }
1408
- exports.ComparisonExpressionContext = ComparisonExpressionContext;
1409
- class ArithmeticExpressionContext extends ExpressionContext {
1410
- constructor(parser, ctx) {
1411
- super(parser, ctx.parentCtx, ctx.invokingState);
1412
- super.copyFrom(ctx);
1413
- }
1414
- expression_list() {
1415
- return this.getTypedRuleContexts(ExpressionContext);
1416
- }
1417
- expression(i) {
1418
- return this.getTypedRuleContext(ExpressionContext, i);
1419
- }
1420
- arthOp() {
1421
- return this.getTypedRuleContext(ArthOpContext, 0);
1422
- }
1423
- enterRule(listener) {
1424
- if (listener.enterArithmeticExpression) {
1425
- listener.enterArithmeticExpression(this);
1426
- }
1427
- }
1428
- exitRule(listener) {
1429
- if (listener.exitArithmeticExpression) {
1430
- listener.exitArithmeticExpression(this);
1431
- }
1432
- }
1433
- // @Override
1434
- accept(visitor) {
1435
- if (visitor.visitArithmeticExpression) {
1436
- return visitor.visitArithmeticExpression(this);
1437
- }
1438
- else {
1439
- return visitor.visitChildren(this);
1440
- }
1441
- }
1442
- }
1443
- exports.ArithmeticExpressionContext = ArithmeticExpressionContext;
1444
- class LogicalExpressionContext extends ExpressionContext {
1445
- constructor(parser, ctx) {
1446
- super(parser, ctx.parentCtx, ctx.invokingState);
1447
- super.copyFrom(ctx);
1448
- }
1449
- expression_list() {
1450
- return this.getTypedRuleContexts(ExpressionContext);
1451
- }
1452
- expression(i) {
1453
- return this.getTypedRuleContext(ExpressionContext, i);
1454
- }
1455
- logOp() {
1456
- return this.getTypedRuleContext(LogOpContext, 0);
1457
- }
1458
- enterRule(listener) {
1459
- if (listener.enterLogicalExpression) {
1460
- listener.enterLogicalExpression(this);
1461
- }
1462
- }
1463
- exitRule(listener) {
1464
- if (listener.exitLogicalExpression) {
1465
- listener.exitLogicalExpression(this);
1466
- }
1467
- }
1468
- // @Override
1469
- accept(visitor) {
1470
- if (visitor.visitLogicalExpression) {
1471
- return visitor.visitLogicalExpression(this);
1472
- }
1473
- else {
1474
- return visitor.visitChildren(this);
1475
- }
1476
- }
1477
- }
1478
- exports.LogicalExpressionContext = LogicalExpressionContext;
1479
- class TermExpressionContext extends ExpressionContext {
1480
- constructor(parser, ctx) {
1481
- super(parser, ctx.parentCtx, ctx.invokingState);
1482
- super.copyFrom(ctx);
1483
- }
1484
- term() {
1485
- return this.getTypedRuleContext(TermContext, 0);
1486
- }
1487
- enterRule(listener) {
1488
- if (listener.enterTermExpression) {
1489
- listener.enterTermExpression(this);
1490
- }
1491
- }
1492
- exitRule(listener) {
1493
- if (listener.exitTermExpression) {
1494
- listener.exitTermExpression(this);
1495
- }
1496
- }
1497
- // @Override
1498
- accept(visitor) {
1499
- if (visitor.visitTermExpression) {
1500
- return visitor.visitTermExpression(this);
1501
- }
1502
- else {
1503
- return visitor.visitChildren(this);
1504
- }
1505
- }
1506
- }
1507
- exports.TermExpressionContext = TermExpressionContext;
1508
- class TermContext extends antlr4_1.ParserRuleContext {
1509
- constructor(parser, parent, invokingState) {
1510
- super(parent, invokingState);
1511
- this.parser = parser;
1512
- }
1513
- get ruleIndex() {
1514
- return OpraFilterParser.RULE_term;
1515
- }
1516
- copyFrom(ctx) {
1517
- super.copyFrom(ctx);
1518
- }
1519
- }
1520
- exports.TermContext = TermContext;
1521
- class ExternalConstantTermContext extends TermContext {
1522
- constructor(parser, ctx) {
1523
- super(parser, ctx.parentCtx, ctx.invokingState);
1524
- super.copyFrom(ctx);
1525
- }
1526
- externalConstant() {
1527
- return this.getTypedRuleContext(ExternalConstantContext, 0);
1528
- }
1529
- enterRule(listener) {
1530
- if (listener.enterExternalConstantTerm) {
1531
- listener.enterExternalConstantTerm(this);
1532
- }
1533
- }
1534
- exitRule(listener) {
1535
- if (listener.exitExternalConstantTerm) {
1536
- listener.exitExternalConstantTerm(this);
1537
- }
1538
- }
1539
- // @Override
1540
- accept(visitor) {
1541
- if (visitor.visitExternalConstantTerm) {
1542
- return visitor.visitExternalConstantTerm(this);
1543
- }
1544
- else {
1545
- return visitor.visitChildren(this);
1546
- }
1547
- }
1548
- }
1549
- exports.ExternalConstantTermContext = ExternalConstantTermContext;
1550
- class LiteralTermContext extends TermContext {
1551
- constructor(parser, ctx) {
1552
- super(parser, ctx.parentCtx, ctx.invokingState);
1553
- super.copyFrom(ctx);
1554
- }
1555
- literal() {
1556
- return this.getTypedRuleContext(LiteralContext, 0);
1557
- }
1558
- enterRule(listener) {
1559
- if (listener.enterLiteralTerm) {
1560
- listener.enterLiteralTerm(this);
1561
- }
1562
- }
1563
- exitRule(listener) {
1564
- if (listener.exitLiteralTerm) {
1565
- listener.exitLiteralTerm(this);
1566
- }
1567
- }
1568
- // @Override
1569
- accept(visitor) {
1570
- if (visitor.visitLiteralTerm) {
1571
- return visitor.visitLiteralTerm(this);
1572
- }
1573
- else {
1574
- return visitor.visitChildren(this);
1575
- }
1576
- }
1577
- }
1578
- exports.LiteralTermContext = LiteralTermContext;
1579
- class QualifiedIdentifierTermContext extends TermContext {
1580
- constructor(parser, ctx) {
1581
- super(parser, ctx.parentCtx, ctx.invokingState);
1582
- super.copyFrom(ctx);
1583
- }
1584
- qualifiedIdentifier() {
1585
- return this.getTypedRuleContext(QualifiedIdentifierContext, 0);
1586
- }
1587
- enterRule(listener) {
1588
- if (listener.enterQualifiedIdentifierTerm) {
1589
- listener.enterQualifiedIdentifierTerm(this);
1590
- }
1591
- }
1592
- exitRule(listener) {
1593
- if (listener.exitQualifiedIdentifierTerm) {
1594
- listener.exitQualifiedIdentifierTerm(this);
1595
- }
1596
- }
1597
- // @Override
1598
- accept(visitor) {
1599
- if (visitor.visitQualifiedIdentifierTerm) {
1600
- return visitor.visitQualifiedIdentifierTerm(this);
1601
- }
1602
- else {
1603
- return visitor.visitChildren(this);
1604
- }
1605
- }
1606
- }
1607
- exports.QualifiedIdentifierTermContext = QualifiedIdentifierTermContext;
1608
- class InvocableContext extends antlr4_1.ParserRuleContext {
1609
- constructor(parser, parent, invokingState) {
1610
- super(parent, invokingState);
1611
- this.parser = parser;
1612
- }
1613
- function_() {
1614
- return this.getTypedRuleContext(FunctionContext, 0);
1615
- }
1616
- get ruleIndex() {
1617
- return OpraFilterParser.RULE_invocable;
1618
- }
1619
- enterRule(listener) {
1620
- if (listener.enterInvocable) {
1621
- listener.enterInvocable(this);
1622
- }
1623
- }
1624
- exitRule(listener) {
1625
- if (listener.exitInvocable) {
1626
- listener.exitInvocable(this);
1627
- }
1628
- }
1629
- // @Override
1630
- accept(visitor) {
1631
- if (visitor.visitInvocable) {
1632
- return visitor.visitInvocable(this);
1633
- }
1634
- else {
1635
- return visitor.visitChildren(this);
1636
- }
1637
- }
1638
- }
1639
- exports.InvocableContext = InvocableContext;
1640
- class InvocationContext extends antlr4_1.ParserRuleContext {
1641
- constructor(parser, parent, invokingState) {
1642
- super(parent, invokingState);
1643
- this.parser = parser;
1644
- }
1645
- get ruleIndex() {
1646
- return OpraFilterParser.RULE_invocation;
1647
- }
1648
- copyFrom(ctx) {
1649
- super.copyFrom(ctx);
1650
- }
1651
- }
1652
- exports.InvocationContext = InvocationContext;
1653
- class MemberInvocationContext extends InvocationContext {
1654
- constructor(parser, ctx) {
1655
- super(parser, ctx.parentCtx, ctx.invokingState);
1656
- super.copyFrom(ctx);
1657
- }
1658
- identifier() {
1659
- return this.getTypedRuleContext(IdentifierContext, 0);
1660
- }
1661
- enterRule(listener) {
1662
- if (listener.enterMemberInvocation) {
1663
- listener.enterMemberInvocation(this);
1664
- }
1665
- }
1666
- exitRule(listener) {
1667
- if (listener.exitMemberInvocation) {
1668
- listener.exitMemberInvocation(this);
1669
- }
1670
- }
1671
- // @Override
1672
- accept(visitor) {
1673
- if (visitor.visitMemberInvocation) {
1674
- return visitor.visitMemberInvocation(this);
1675
- }
1676
- else {
1677
- return visitor.visitChildren(this);
1678
- }
1679
- }
1680
- }
1681
- exports.MemberInvocationContext = MemberInvocationContext;
1682
- class IndexerContext extends antlr4_1.ParserRuleContext {
1683
- constructor(parser, parent, invokingState) {
1684
- super(parent, invokingState);
1685
- this.parser = parser;
1686
- }
1687
- get ruleIndex() {
1688
- return OpraFilterParser.RULE_indexer;
1689
- }
1690
- copyFrom(ctx) {
1691
- super.copyFrom(ctx);
1692
- }
1693
- }
1694
- exports.IndexerContext = IndexerContext;
1695
- class NumberIndexContext extends IndexerContext {
1696
- constructor(parser, ctx) {
1697
- super(parser, ctx.parentCtx, ctx.invokingState);
1698
- super.copyFrom(ctx);
1699
- }
1700
- INTEGER() {
1701
- return this.getToken(OpraFilterParser.INTEGER, 0);
1702
- }
1703
- enterRule(listener) {
1704
- if (listener.enterNumberIndex) {
1705
- listener.enterNumberIndex(this);
1706
- }
1707
- }
1708
- exitRule(listener) {
1709
- if (listener.exitNumberIndex) {
1710
- listener.exitNumberIndex(this);
1711
- }
1712
- }
1713
- // @Override
1714
- accept(visitor) {
1715
- if (visitor.visitNumberIndex) {
1716
- return visitor.visitNumberIndex(this);
1717
- }
1718
- else {
1719
- return visitor.visitChildren(this);
1720
- }
1721
- }
1722
- }
1723
- exports.NumberIndexContext = NumberIndexContext;
1724
- class MemberIndexContext extends IndexerContext {
1725
- constructor(parser, ctx) {
1726
- super(parser, ctx.parentCtx, ctx.invokingState);
1727
- super.copyFrom(ctx);
1728
- }
1729
- identifier() {
1730
- return this.getTypedRuleContext(IdentifierContext, 0);
1731
- }
1732
- enterRule(listener) {
1733
- if (listener.enterMemberIndex) {
1734
- listener.enterMemberIndex(this);
750
+ sempred(localctx, ruleIndex, predIndex) {
751
+ switch (ruleIndex) {
752
+ case 1:
753
+ return this.expression_sempred(localctx, predIndex);
1735
754
  }
755
+ return true;
1736
756
  }
1737
- exitRule(listener) {
1738
- if (listener.exitMemberIndex) {
1739
- listener.exitMemberIndex(this);
757
+ expression_sempred(localctx, predIndex) {
758
+ switch (predIndex) {
759
+ case 0:
760
+ return this.precpred(this._ctx, 3);
1740
761
  }
762
+ return true;
1741
763
  }
1742
- // @Override
1743
- accept(visitor) {
1744
- if (visitor.visitMemberIndex) {
1745
- return visitor.visitMemberIndex(this);
1746
- }
1747
- else {
1748
- return visitor.visitChildren(this);
764
+ static get _ATN() {
765
+ if (!OpraFilterParser.__ATN) {
766
+ OpraFilterParser.__ATN = new antlr4_1.ATNDeserializer().deserialize(OpraFilterParser._serializedATN);
1749
767
  }
768
+ return OpraFilterParser.__ATN;
1750
769
  }
1751
770
  }
1752
- exports.MemberIndexContext = MemberIndexContext;
1753
- class FunctionContext extends antlr4_1.ParserRuleContext {
771
+ exports.default = OpraFilterParser;
772
+ OpraFilterParser.T__0 = 1;
773
+ OpraFilterParser.T__1 = 2;
774
+ OpraFilterParser.T__2 = 3;
775
+ OpraFilterParser.T__3 = 4;
776
+ OpraFilterParser.T__4 = 5;
777
+ OpraFilterParser.T__5 = 6;
778
+ OpraFilterParser.T__6 = 7;
779
+ OpraFilterParser.T__7 = 8;
780
+ OpraFilterParser.T__8 = 9;
781
+ OpraFilterParser.T__9 = 10;
782
+ OpraFilterParser.T__10 = 11;
783
+ OpraFilterParser.T__11 = 12;
784
+ OpraFilterParser.T__12 = 13;
785
+ OpraFilterParser.T__13 = 14;
786
+ OpraFilterParser.T__14 = 15;
787
+ OpraFilterParser.T__15 = 16;
788
+ OpraFilterParser.T__16 = 17;
789
+ OpraFilterParser.T__17 = 18;
790
+ OpraFilterParser.T__18 = 19;
791
+ OpraFilterParser.T__19 = 20;
792
+ OpraFilterParser.T__20 = 21;
793
+ OpraFilterParser.T__21 = 22;
794
+ OpraFilterParser.T__22 = 23;
795
+ OpraFilterParser.T__23 = 24;
796
+ OpraFilterParser.T__24 = 25;
797
+ OpraFilterParser.T__25 = 26;
798
+ OpraFilterParser.T__26 = 27;
799
+ OpraFilterParser.T__27 = 28;
800
+ OpraFilterParser.T__28 = 29;
801
+ OpraFilterParser.T__29 = 30;
802
+ OpraFilterParser.T__30 = 31;
803
+ OpraFilterParser.T__31 = 32;
804
+ OpraFilterParser.T__32 = 33;
805
+ OpraFilterParser.T__33 = 34;
806
+ OpraFilterParser.IDENTIFIER = 35;
807
+ OpraFilterParser.POLAR_OP = 36;
808
+ OpraFilterParser.DATE = 37;
809
+ OpraFilterParser.DATETIME = 38;
810
+ OpraFilterParser.TIME = 39;
811
+ OpraFilterParser.NUMBER = 40;
812
+ OpraFilterParser.INTEGER = 41;
813
+ OpraFilterParser.STRING = 42;
814
+ OpraFilterParser.WHITESPACE = 43;
815
+ OpraFilterParser.EOF = antlr4_1.Token.EOF;
816
+ OpraFilterParser.RULE_root = 0;
817
+ OpraFilterParser.RULE_expression = 1;
818
+ OpraFilterParser.RULE_comparisonLeft = 2;
819
+ OpraFilterParser.RULE_comparisonRight = 3;
820
+ OpraFilterParser.RULE_parenthesizedItem = 4;
821
+ OpraFilterParser.RULE_value = 5;
822
+ OpraFilterParser.RULE_qualifiedIdentifier = 6;
823
+ OpraFilterParser.RULE_externalConstant = 7;
824
+ OpraFilterParser.RULE_identifier = 8;
825
+ OpraFilterParser.RULE_arrayValue = 9;
826
+ OpraFilterParser.RULE_boolean = 10;
827
+ OpraFilterParser.RULE_null = 11;
828
+ OpraFilterParser.RULE_infinity = 12;
829
+ OpraFilterParser.RULE_arithmeticOperator = 13;
830
+ OpraFilterParser.RULE_comparisonOperator = 14;
831
+ OpraFilterParser.RULE_logicalOperator = 15;
832
+ OpraFilterParser.RULE_polarityOperator = 16;
833
+ OpraFilterParser.literalNames = [null, "'('",
834
+ "')'", "'not'",
835
+ "'!'", "'.'",
836
+ "'@'", "'['",
837
+ "','", "']'",
838
+ "'true'", "'false'",
839
+ "'null'", "'Infinity'",
840
+ "'infinity'",
841
+ "'+'", "'-'",
842
+ "'*'", "'/'",
843
+ "'<='", "'<'",
844
+ "'>'", "'>='",
845
+ "'='", "'!='",
846
+ "'in'", "'!in'",
847
+ "'like'", "'!like'",
848
+ "'ilike'", "'!ilike'",
849
+ "'and'", "'or'",
850
+ "'&&'", "'||'"];
851
+ OpraFilterParser.symbolicNames = [null, null,
852
+ null, null,
853
+ null, null,
854
+ null, null,
855
+ null, null,
856
+ null, null,
857
+ null, null,
858
+ null, null,
859
+ null, null,
860
+ null, null,
861
+ null, null,
862
+ null, null,
863
+ null, null,
864
+ null, null,
865
+ null, null,
866
+ null, null,
867
+ null, null,
868
+ null, "IDENTIFIER",
869
+ "POLAR_OP",
870
+ "DATE", "DATETIME",
871
+ "TIME", "NUMBER",
872
+ "INTEGER",
873
+ "STRING", "WHITESPACE"];
874
+ // tslint:disable:no-trailing-whitespace
875
+ OpraFilterParser.ruleNames = [
876
+ "root", "expression", "comparisonLeft", "comparisonRight", "parenthesizedItem",
877
+ "value", "qualifiedIdentifier", "externalConstant", "identifier", "arrayValue",
878
+ "boolean", "null", "infinity", "arithmeticOperator", "comparisonOperator",
879
+ "logicalOperator", "polarityOperator",
880
+ ];
881
+ OpraFilterParser._serializedATN = [4, 1, 43, 120, 2, 0, 7, 0, 2,
882
+ 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2,
883
+ 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 1, 0,
884
+ 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 49, 8, 1, 1, 1, 1, 1,
885
+ 1, 1, 1, 1, 5, 1, 55, 8, 1, 10, 1, 12, 1, 58, 9, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 66, 8, 3,
886
+ 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 78, 8, 5, 1, 6, 1, 6, 1, 6, 5, 6, 83, 8,
887
+ 6, 10, 6, 12, 6, 86, 9, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 5, 9, 99, 8,
888
+ 9, 10, 9, 12, 9, 102, 9, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 12, 1, 12, 1, 13, 1, 13, 1, 14,
889
+ 1, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 0, 1, 2, 17, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24,
890
+ 26, 28, 30, 32, 0, 6, 1, 0, 3, 4, 1, 0, 10, 11, 1, 0, 13, 14, 1, 0, 15, 18, 1, 0, 19, 30, 1, 0, 31,
891
+ 34, 117, 0, 34, 1, 0, 0, 0, 2, 48, 1, 0, 0, 0, 4, 59, 1, 0, 0, 0, 6, 65, 1, 0, 0, 0, 8, 67, 1, 0, 0, 0,
892
+ 10, 77, 1, 0, 0, 0, 12, 84, 1, 0, 0, 0, 14, 89, 1, 0, 0, 0, 16, 92, 1, 0, 0, 0, 18, 94, 1, 0, 0, 0, 20,
893
+ 105, 1, 0, 0, 0, 22, 107, 1, 0, 0, 0, 24, 109, 1, 0, 0, 0, 26, 111, 1, 0, 0, 0, 28, 113, 1, 0, 0, 0,
894
+ 30, 115, 1, 0, 0, 0, 32, 117, 1, 0, 0, 0, 34, 35, 3, 2, 1, 0, 35, 36, 5, 0, 0, 1, 36, 1, 1, 0, 0, 0,
895
+ 37, 38, 6, 1, -1, 0, 38, 39, 3, 4, 2, 0, 39, 40, 3, 28, 14, 0, 40, 41, 3, 6, 3, 0, 41, 49, 1, 0, 0,
896
+ 0, 42, 43, 5, 1, 0, 0, 43, 44, 3, 8, 4, 0, 44, 45, 5, 2, 0, 0, 45, 49, 1, 0, 0, 0, 46, 47, 7, 0, 0, 0,
897
+ 47, 49, 3, 2, 1, 1, 48, 37, 1, 0, 0, 0, 48, 42, 1, 0, 0, 0, 48, 46, 1, 0, 0, 0, 49, 56, 1, 0, 0, 0, 50,
898
+ 51, 10, 3, 0, 0, 51, 52, 3, 30, 15, 0, 52, 53, 3, 2, 1, 4, 53, 55, 1, 0, 0, 0, 54, 50, 1, 0, 0, 0, 55,
899
+ 58, 1, 0, 0, 0, 56, 54, 1, 0, 0, 0, 56, 57, 1, 0, 0, 0, 57, 3, 1, 0, 0, 0, 58, 56, 1, 0, 0, 0, 59, 60,
900
+ 3, 12, 6, 0, 60, 5, 1, 0, 0, 0, 61, 66, 3, 10, 5, 0, 62, 66, 3, 12, 6, 0, 63, 66, 3, 14, 7, 0, 64, 66,
901
+ 3, 18, 9, 0, 65, 61, 1, 0, 0, 0, 65, 62, 1, 0, 0, 0, 65, 63, 1, 0, 0, 0, 65, 64, 1, 0, 0, 0, 66, 7, 1,
902
+ 0, 0, 0, 67, 68, 3, 2, 1, 0, 68, 9, 1, 0, 0, 0, 69, 78, 5, 40, 0, 0, 70, 78, 3, 24, 12, 0, 71, 78, 3,
903
+ 20, 10, 0, 72, 78, 3, 22, 11, 0, 73, 78, 5, 37, 0, 0, 74, 78, 5, 38, 0, 0, 75, 78, 5, 39, 0, 0, 76,
904
+ 78, 5, 42, 0, 0, 77, 69, 1, 0, 0, 0, 77, 70, 1, 0, 0, 0, 77, 71, 1, 0, 0, 0, 77, 72, 1, 0, 0, 0, 77,
905
+ 73, 1, 0, 0, 0, 77, 74, 1, 0, 0, 0, 77, 75, 1, 0, 0, 0, 77, 76, 1, 0, 0, 0, 78, 11, 1, 0, 0, 0, 79, 80,
906
+ 3, 16, 8, 0, 80, 81, 5, 5, 0, 0, 81, 83, 1, 0, 0, 0, 82, 79, 1, 0, 0, 0, 83, 86, 1, 0, 0, 0, 84, 82,
907
+ 1, 0, 0, 0, 84, 85, 1, 0, 0, 0, 85, 87, 1, 0, 0, 0, 86, 84, 1, 0, 0, 0, 87, 88, 3, 16, 8, 0, 88, 13,
908
+ 1, 0, 0, 0, 89, 90, 5, 6, 0, 0, 90, 91, 3, 16, 8, 0, 91, 15, 1, 0, 0, 0, 92, 93, 5, 35, 0, 0, 93, 17,
909
+ 1, 0, 0, 0, 94, 95, 5, 7, 0, 0, 95, 100, 3, 10, 5, 0, 96, 97, 5, 8, 0, 0, 97, 99, 3, 10, 5, 0, 98, 96,
910
+ 1, 0, 0, 0, 99, 102, 1, 0, 0, 0, 100, 98, 1, 0, 0, 0, 100, 101, 1, 0, 0, 0, 101, 103, 1, 0, 0, 0, 102,
911
+ 100, 1, 0, 0, 0, 103, 104, 5, 9, 0, 0, 104, 19, 1, 0, 0, 0, 105, 106, 7, 1, 0, 0, 106, 21, 1, 0, 0,
912
+ 0, 107, 108, 5, 12, 0, 0, 108, 23, 1, 0, 0, 0, 109, 110, 7, 2, 0, 0, 110, 25, 1, 0, 0, 0, 111, 112,
913
+ 7, 3, 0, 0, 112, 27, 1, 0, 0, 0, 113, 114, 7, 4, 0, 0, 114, 29, 1, 0, 0, 0, 115, 116, 7, 5, 0, 0, 116,
914
+ 31, 1, 0, 0, 0, 117, 118, 5, 36, 0, 0, 118, 33, 1, 0, 0, 0, 6, 48, 56, 65, 77, 84, 100];
915
+ OpraFilterParser.DecisionsToDFA = OpraFilterParser._ATN.decisionToState.map((ds, index) => new antlr4_1.DFA(ds, index));
916
+ class RootContext extends antlr4_1.ParserRuleContext {
1754
917
  constructor(parser, parent, invokingState) {
1755
918
  super(parent, invokingState);
1756
919
  this.parser = parser;
1757
920
  }
1758
- identifier() {
1759
- return this.getTypedRuleContext(IdentifierContext, 0);
921
+ expression() {
922
+ return this.getTypedRuleContext(ExpressionContext, 0);
1760
923
  }
1761
- paramList() {
1762
- return this.getTypedRuleContext(ParamListContext, 0);
924
+ EOF() {
925
+ return this.getToken(OpraFilterParser.EOF, 0);
1763
926
  }
1764
927
  get ruleIndex() {
1765
- return OpraFilterParser.RULE_function;
928
+ return OpraFilterParser.RULE_root;
1766
929
  }
1767
930
  enterRule(listener) {
1768
- if (listener.enterFunction) {
1769
- listener.enterFunction(this);
931
+ if (listener.enterRoot) {
932
+ listener.enterRoot(this);
1770
933
  }
1771
934
  }
1772
935
  exitRule(listener) {
1773
- if (listener.exitFunction) {
1774
- listener.exitFunction(this);
936
+ if (listener.exitRoot) {
937
+ listener.exitRoot(this);
1775
938
  }
1776
939
  }
1777
940
  // @Override
1778
941
  accept(visitor) {
1779
- if (visitor.visitFunction) {
1780
- return visitor.visitFunction(this);
942
+ if (visitor.visitRoot) {
943
+ return visitor.visitRoot(this);
1781
944
  }
1782
945
  else {
1783
946
  return visitor.visitChildren(this);
1784
947
  }
1785
948
  }
1786
949
  }
1787
- exports.FunctionContext = FunctionContext;
1788
- class ParamListContext extends antlr4_1.ParserRuleContext {
950
+ exports.RootContext = RootContext;
951
+ class ExpressionContext extends antlr4_1.ParserRuleContext {
1789
952
  constructor(parser, parent, invokingState) {
1790
953
  super(parent, invokingState);
1791
954
  this.parser = parser;
1792
955
  }
1793
- expression_list() {
1794
- return this.getTypedRuleContexts(ExpressionContext);
956
+ get ruleIndex() {
957
+ return OpraFilterParser.RULE_expression;
1795
958
  }
1796
- expression(i) {
1797
- return this.getTypedRuleContext(ExpressionContext, i);
959
+ copyFrom(ctx) {
960
+ super.copyFrom(ctx);
1798
961
  }
1799
- get ruleIndex() {
1800
- return OpraFilterParser.RULE_paramList;
962
+ }
963
+ exports.ExpressionContext = ExpressionContext;
964
+ class ParenthesizedExpressionContext extends ExpressionContext {
965
+ constructor(parser, ctx) {
966
+ super(parser, ctx.parentCtx, ctx.invokingState);
967
+ super.copyFrom(ctx);
968
+ }
969
+ parenthesizedItem() {
970
+ return this.getTypedRuleContext(ParenthesizedItemContext, 0);
1801
971
  }
1802
972
  enterRule(listener) {
1803
- if (listener.enterParamList) {
1804
- listener.enterParamList(this);
973
+ if (listener.enterParenthesizedExpression) {
974
+ listener.enterParenthesizedExpression(this);
1805
975
  }
1806
976
  }
1807
977
  exitRule(listener) {
1808
- if (listener.exitParamList) {
1809
- listener.exitParamList(this);
978
+ if (listener.exitParenthesizedExpression) {
979
+ listener.exitParenthesizedExpression(this);
1810
980
  }
1811
981
  }
1812
982
  // @Override
1813
983
  accept(visitor) {
1814
- if (visitor.visitParamList) {
1815
- return visitor.visitParamList(this);
984
+ if (visitor.visitParenthesizedExpression) {
985
+ return visitor.visitParenthesizedExpression(this);
1816
986
  }
1817
987
  else {
1818
988
  return visitor.visitChildren(this);
1819
989
  }
1820
990
  }
1821
991
  }
1822
- exports.ParamListContext = ParamListContext;
1823
- class UnitContext extends antlr4_1.ParserRuleContext {
1824
- constructor(parser, parent, invokingState) {
1825
- super(parent, invokingState);
1826
- this.parser = parser;
1827
- }
1828
- dateTimePrecision() {
1829
- return this.getTypedRuleContext(DateTimePrecisionContext, 0);
1830
- }
1831
- pluralDateTimePrecision() {
1832
- return this.getTypedRuleContext(PluralDateTimePrecisionContext, 0);
1833
- }
1834
- STRING() {
1835
- return this.getToken(OpraFilterParser.STRING, 0);
992
+ exports.ParenthesizedExpressionContext = ParenthesizedExpressionContext;
993
+ class NegativeExpressionContext extends ExpressionContext {
994
+ constructor(parser, ctx) {
995
+ super(parser, ctx.parentCtx, ctx.invokingState);
996
+ super.copyFrom(ctx);
1836
997
  }
1837
- get ruleIndex() {
1838
- return OpraFilterParser.RULE_unit;
998
+ expression() {
999
+ return this.getTypedRuleContext(ExpressionContext, 0);
1839
1000
  }
1840
1001
  enterRule(listener) {
1841
- if (listener.enterUnit) {
1842
- listener.enterUnit(this);
1002
+ if (listener.enterNegativeExpression) {
1003
+ listener.enterNegativeExpression(this);
1843
1004
  }
1844
1005
  }
1845
1006
  exitRule(listener) {
1846
- if (listener.exitUnit) {
1847
- listener.exitUnit(this);
1007
+ if (listener.exitNegativeExpression) {
1008
+ listener.exitNegativeExpression(this);
1848
1009
  }
1849
1010
  }
1850
1011
  // @Override
1851
1012
  accept(visitor) {
1852
- if (visitor.visitUnit) {
1853
- return visitor.visitUnit(this);
1013
+ if (visitor.visitNegativeExpression) {
1014
+ return visitor.visitNegativeExpression(this);
1854
1015
  }
1855
1016
  else {
1856
1017
  return visitor.visitChildren(this);
1857
1018
  }
1858
1019
  }
1859
1020
  }
1860
- exports.UnitContext = UnitContext;
1861
- class DateTimePrecisionContext extends antlr4_1.ParserRuleContext {
1862
- constructor(parser, parent, invokingState) {
1863
- super(parent, invokingState);
1864
- this.parser = parser;
1021
+ exports.NegativeExpressionContext = NegativeExpressionContext;
1022
+ class ComparisonExpressionContext extends ExpressionContext {
1023
+ constructor(parser, ctx) {
1024
+ super(parser, ctx.parentCtx, ctx.invokingState);
1025
+ super.copyFrom(ctx);
1865
1026
  }
1866
- get ruleIndex() {
1867
- return OpraFilterParser.RULE_dateTimePrecision;
1027
+ comparisonLeft() {
1028
+ return this.getTypedRuleContext(ComparisonLeftContext, 0);
1029
+ }
1030
+ comparisonOperator() {
1031
+ return this.getTypedRuleContext(ComparisonOperatorContext, 0);
1032
+ }
1033
+ comparisonRight() {
1034
+ return this.getTypedRuleContext(ComparisonRightContext, 0);
1868
1035
  }
1869
1036
  enterRule(listener) {
1870
- if (listener.enterDateTimePrecision) {
1871
- listener.enterDateTimePrecision(this);
1037
+ if (listener.enterComparisonExpression) {
1038
+ listener.enterComparisonExpression(this);
1872
1039
  }
1873
1040
  }
1874
1041
  exitRule(listener) {
1875
- if (listener.exitDateTimePrecision) {
1876
- listener.exitDateTimePrecision(this);
1042
+ if (listener.exitComparisonExpression) {
1043
+ listener.exitComparisonExpression(this);
1877
1044
  }
1878
1045
  }
1879
1046
  // @Override
1880
1047
  accept(visitor) {
1881
- if (visitor.visitDateTimePrecision) {
1882
- return visitor.visitDateTimePrecision(this);
1048
+ if (visitor.visitComparisonExpression) {
1049
+ return visitor.visitComparisonExpression(this);
1883
1050
  }
1884
1051
  else {
1885
1052
  return visitor.visitChildren(this);
1886
1053
  }
1887
1054
  }
1888
1055
  }
1889
- exports.DateTimePrecisionContext = DateTimePrecisionContext;
1890
- class PluralDateTimePrecisionContext extends antlr4_1.ParserRuleContext {
1891
- constructor(parser, parent, invokingState) {
1892
- super(parent, invokingState);
1893
- this.parser = parser;
1056
+ exports.ComparisonExpressionContext = ComparisonExpressionContext;
1057
+ class LogicalExpressionContext extends ExpressionContext {
1058
+ constructor(parser, ctx) {
1059
+ super(parser, ctx.parentCtx, ctx.invokingState);
1060
+ super.copyFrom(ctx);
1894
1061
  }
1895
- get ruleIndex() {
1896
- return OpraFilterParser.RULE_pluralDateTimePrecision;
1062
+ expression_list() {
1063
+ return this.getTypedRuleContexts(ExpressionContext);
1064
+ }
1065
+ expression(i) {
1066
+ return this.getTypedRuleContext(ExpressionContext, i);
1067
+ }
1068
+ logicalOperator() {
1069
+ return this.getTypedRuleContext(LogicalOperatorContext, 0);
1897
1070
  }
1898
1071
  enterRule(listener) {
1899
- if (listener.enterPluralDateTimePrecision) {
1900
- listener.enterPluralDateTimePrecision(this);
1072
+ if (listener.enterLogicalExpression) {
1073
+ listener.enterLogicalExpression(this);
1901
1074
  }
1902
1075
  }
1903
1076
  exitRule(listener) {
1904
- if (listener.exitPluralDateTimePrecision) {
1905
- listener.exitPluralDateTimePrecision(this);
1077
+ if (listener.exitLogicalExpression) {
1078
+ listener.exitLogicalExpression(this);
1906
1079
  }
1907
1080
  }
1908
1081
  // @Override
1909
1082
  accept(visitor) {
1910
- if (visitor.visitPluralDateTimePrecision) {
1911
- return visitor.visitPluralDateTimePrecision(this);
1083
+ if (visitor.visitLogicalExpression) {
1084
+ return visitor.visitLogicalExpression(this);
1912
1085
  }
1913
1086
  else {
1914
1087
  return visitor.visitChildren(this);
1915
1088
  }
1916
1089
  }
1917
1090
  }
1918
- exports.PluralDateTimePrecisionContext = PluralDateTimePrecisionContext;
1919
- class QualifiedIdentifierContext extends antlr4_1.ParserRuleContext {
1091
+ exports.LogicalExpressionContext = LogicalExpressionContext;
1092
+ class ComparisonLeftContext extends antlr4_1.ParserRuleContext {
1920
1093
  constructor(parser, parent, invokingState) {
1921
1094
  super(parent, invokingState);
1922
1095
  this.parser = parser;
1923
1096
  }
1924
- identifier_list() {
1925
- return this.getTypedRuleContexts(IdentifierContext);
1926
- }
1927
- identifier(i) {
1928
- return this.getTypedRuleContext(IdentifierContext, i);
1097
+ qualifiedIdentifier() {
1098
+ return this.getTypedRuleContext(QualifiedIdentifierContext, 0);
1929
1099
  }
1930
1100
  get ruleIndex() {
1931
- return OpraFilterParser.RULE_qualifiedIdentifier;
1101
+ return OpraFilterParser.RULE_comparisonLeft;
1932
1102
  }
1933
1103
  enterRule(listener) {
1934
- if (listener.enterQualifiedIdentifier) {
1935
- listener.enterQualifiedIdentifier(this);
1104
+ if (listener.enterComparisonLeft) {
1105
+ listener.enterComparisonLeft(this);
1936
1106
  }
1937
1107
  }
1938
1108
  exitRule(listener) {
1939
- if (listener.exitQualifiedIdentifier) {
1940
- listener.exitQualifiedIdentifier(this);
1109
+ if (listener.exitComparisonLeft) {
1110
+ listener.exitComparisonLeft(this);
1941
1111
  }
1942
1112
  }
1943
1113
  // @Override
1944
1114
  accept(visitor) {
1945
- if (visitor.visitQualifiedIdentifier) {
1946
- return visitor.visitQualifiedIdentifier(this);
1115
+ if (visitor.visitComparisonLeft) {
1116
+ return visitor.visitComparisonLeft(this);
1947
1117
  }
1948
1118
  else {
1949
1119
  return visitor.visitChildren(this);
1950
1120
  }
1951
1121
  }
1952
1122
  }
1953
- exports.QualifiedIdentifierContext = QualifiedIdentifierContext;
1954
- class ExternalConstantContext extends antlr4_1.ParserRuleContext {
1123
+ exports.ComparisonLeftContext = ComparisonLeftContext;
1124
+ class ComparisonRightContext extends antlr4_1.ParserRuleContext {
1955
1125
  constructor(parser, parent, invokingState) {
1956
1126
  super(parent, invokingState);
1957
1127
  this.parser = parser;
1958
1128
  }
1959
- IDENTIFIER() {
1960
- return this.getToken(OpraFilterParser.IDENTIFIER, 0);
1129
+ value() {
1130
+ return this.getTypedRuleContext(ValueContext, 0);
1961
1131
  }
1962
- STRING() {
1963
- return this.getToken(OpraFilterParser.STRING, 0);
1132
+ qualifiedIdentifier() {
1133
+ return this.getTypedRuleContext(QualifiedIdentifierContext, 0);
1134
+ }
1135
+ externalConstant() {
1136
+ return this.getTypedRuleContext(ExternalConstantContext, 0);
1137
+ }
1138
+ arrayValue() {
1139
+ return this.getTypedRuleContext(ArrayValueContext, 0);
1964
1140
  }
1965
1141
  get ruleIndex() {
1966
- return OpraFilterParser.RULE_externalConstant;
1142
+ return OpraFilterParser.RULE_comparisonRight;
1967
1143
  }
1968
1144
  enterRule(listener) {
1969
- if (listener.enterExternalConstant) {
1970
- listener.enterExternalConstant(this);
1145
+ if (listener.enterComparisonRight) {
1146
+ listener.enterComparisonRight(this);
1971
1147
  }
1972
1148
  }
1973
1149
  exitRule(listener) {
1974
- if (listener.exitExternalConstant) {
1975
- listener.exitExternalConstant(this);
1150
+ if (listener.exitComparisonRight) {
1151
+ listener.exitComparisonRight(this);
1976
1152
  }
1977
1153
  }
1978
1154
  // @Override
1979
1155
  accept(visitor) {
1980
- if (visitor.visitExternalConstant) {
1981
- return visitor.visitExternalConstant(this);
1156
+ if (visitor.visitComparisonRight) {
1157
+ return visitor.visitComparisonRight(this);
1982
1158
  }
1983
1159
  else {
1984
1160
  return visitor.visitChildren(this);
1985
1161
  }
1986
1162
  }
1987
1163
  }
1988
- exports.ExternalConstantContext = ExternalConstantContext;
1989
- class IdentifierContext extends antlr4_1.ParserRuleContext {
1164
+ exports.ComparisonRightContext = ComparisonRightContext;
1165
+ class ParenthesizedItemContext extends antlr4_1.ParserRuleContext {
1990
1166
  constructor(parser, parent, invokingState) {
1991
1167
  super(parent, invokingState);
1992
1168
  this.parser = parser;
1993
1169
  }
1994
- IDENTIFIER() {
1995
- return this.getToken(OpraFilterParser.IDENTIFIER, 0);
1170
+ expression() {
1171
+ return this.getTypedRuleContext(ExpressionContext, 0);
1996
1172
  }
1997
1173
  get ruleIndex() {
1998
- return OpraFilterParser.RULE_identifier;
1174
+ return OpraFilterParser.RULE_parenthesizedItem;
1999
1175
  }
2000
1176
  enterRule(listener) {
2001
- if (listener.enterIdentifier) {
2002
- listener.enterIdentifier(this);
1177
+ if (listener.enterParenthesizedItem) {
1178
+ listener.enterParenthesizedItem(this);
2003
1179
  }
2004
1180
  }
2005
1181
  exitRule(listener) {
2006
- if (listener.exitIdentifier) {
2007
- listener.exitIdentifier(this);
1182
+ if (listener.exitParenthesizedItem) {
1183
+ listener.exitParenthesizedItem(this);
2008
1184
  }
2009
1185
  }
2010
1186
  // @Override
2011
1187
  accept(visitor) {
2012
- if (visitor.visitIdentifier) {
2013
- return visitor.visitIdentifier(this);
1188
+ if (visitor.visitParenthesizedItem) {
1189
+ return visitor.visitParenthesizedItem(this);
2014
1190
  }
2015
1191
  else {
2016
1192
  return visitor.visitChildren(this);
2017
1193
  }
2018
1194
  }
2019
1195
  }
2020
- exports.IdentifierContext = IdentifierContext;
2021
- class LiteralContext extends antlr4_1.ParserRuleContext {
1196
+ exports.ParenthesizedItemContext = ParenthesizedItemContext;
1197
+ class ValueContext extends antlr4_1.ParserRuleContext {
2022
1198
  constructor(parser, parent, invokingState) {
2023
1199
  super(parent, invokingState);
2024
1200
  this.parser = parser;
2025
1201
  }
2026
1202
  get ruleIndex() {
2027
- return OpraFilterParser.RULE_literal;
1203
+ return OpraFilterParser.RULE_value;
2028
1204
  }
2029
1205
  copyFrom(ctx) {
2030
1206
  super.copyFrom(ctx);
2031
1207
  }
2032
1208
  }
2033
- exports.LiteralContext = LiteralContext;
2034
- class TimeLiteralContext extends LiteralContext {
1209
+ exports.ValueContext = ValueContext;
1210
+ class TimeLiteralContext extends ValueContext {
2035
1211
  constructor(parser, ctx) {
2036
1212
  super(parser, ctx.parentCtx, ctx.invokingState);
2037
1213
  super.copyFrom(ctx);
@@ -2060,7 +1236,7 @@ class TimeLiteralContext extends LiteralContext {
2060
1236
  }
2061
1237
  }
2062
1238
  exports.TimeLiteralContext = TimeLiteralContext;
2063
- class NullLiteralContext extends LiteralContext {
1239
+ class NullLiteralContext extends ValueContext {
2064
1240
  constructor(parser, ctx) {
2065
1241
  super(parser, ctx.parentCtx, ctx.invokingState);
2066
1242
  super.copyFrom(ctx);
@@ -2089,7 +1265,7 @@ class NullLiteralContext extends LiteralContext {
2089
1265
  }
2090
1266
  }
2091
1267
  exports.NullLiteralContext = NullLiteralContext;
2092
- class DateTimeLiteralContext extends LiteralContext {
1268
+ class DateTimeLiteralContext extends ValueContext {
2093
1269
  constructor(parser, ctx) {
2094
1270
  super(parser, ctx.parentCtx, ctx.invokingState);
2095
1271
  super.copyFrom(ctx);
@@ -2118,7 +1294,7 @@ class DateTimeLiteralContext extends LiteralContext {
2118
1294
  }
2119
1295
  }
2120
1296
  exports.DateTimeLiteralContext = DateTimeLiteralContext;
2121
- class StringLiteralContext extends LiteralContext {
1297
+ class StringLiteralContext extends ValueContext {
2122
1298
  constructor(parser, ctx) {
2123
1299
  super(parser, ctx.parentCtx, ctx.invokingState);
2124
1300
  super.copyFrom(ctx);
@@ -2147,7 +1323,7 @@ class StringLiteralContext extends LiteralContext {
2147
1323
  }
2148
1324
  }
2149
1325
  exports.StringLiteralContext = StringLiteralContext;
2150
- class DateLiteralContext extends LiteralContext {
1326
+ class DateLiteralContext extends ValueContext {
2151
1327
  constructor(parser, ctx) {
2152
1328
  super(parser, ctx.parentCtx, ctx.invokingState);
2153
1329
  super.copyFrom(ctx);
@@ -2176,7 +1352,7 @@ class DateLiteralContext extends LiteralContext {
2176
1352
  }
2177
1353
  }
2178
1354
  exports.DateLiteralContext = DateLiteralContext;
2179
- class InfinityLiteralContext extends LiteralContext {
1355
+ class InfinityLiteralContext extends ValueContext {
2180
1356
  constructor(parser, ctx) {
2181
1357
  super(parser, ctx.parentCtx, ctx.invokingState);
2182
1358
  super.copyFrom(ctx);
@@ -2205,7 +1381,7 @@ class InfinityLiteralContext extends LiteralContext {
2205
1381
  }
2206
1382
  }
2207
1383
  exports.InfinityLiteralContext = InfinityLiteralContext;
2208
- class BooleanLiteralContext extends LiteralContext {
1384
+ class BooleanLiteralContext extends ValueContext {
2209
1385
  constructor(parser, ctx) {
2210
1386
  super(parser, ctx.parentCtx, ctx.invokingState);
2211
1387
  super.copyFrom(ctx);
@@ -2234,7 +1410,7 @@ class BooleanLiteralContext extends LiteralContext {
2234
1410
  }
2235
1411
  }
2236
1412
  exports.BooleanLiteralContext = BooleanLiteralContext;
2237
- class NumberLiteralContext extends LiteralContext {
1413
+ class NumberLiteralContext extends ValueContext {
2238
1414
  constructor(parser, ctx) {
2239
1415
  super(parser, ctx.parentCtx, ctx.invokingState);
2240
1416
  super.copyFrom(ctx);
@@ -2263,122 +1439,140 @@ class NumberLiteralContext extends LiteralContext {
2263
1439
  }
2264
1440
  }
2265
1441
  exports.NumberLiteralContext = NumberLiteralContext;
2266
- class CompOpContext extends antlr4_1.ParserRuleContext {
1442
+ class QualifiedIdentifierContext extends antlr4_1.ParserRuleContext {
2267
1443
  constructor(parser, parent, invokingState) {
2268
1444
  super(parent, invokingState);
2269
1445
  this.parser = parser;
2270
1446
  }
1447
+ identifier_list() {
1448
+ return this.getTypedRuleContexts(IdentifierContext);
1449
+ }
1450
+ identifier(i) {
1451
+ return this.getTypedRuleContext(IdentifierContext, i);
1452
+ }
2271
1453
  get ruleIndex() {
2272
- return OpraFilterParser.RULE_compOp;
1454
+ return OpraFilterParser.RULE_qualifiedIdentifier;
2273
1455
  }
2274
1456
  enterRule(listener) {
2275
- if (listener.enterCompOp) {
2276
- listener.enterCompOp(this);
1457
+ if (listener.enterQualifiedIdentifier) {
1458
+ listener.enterQualifiedIdentifier(this);
2277
1459
  }
2278
1460
  }
2279
1461
  exitRule(listener) {
2280
- if (listener.exitCompOp) {
2281
- listener.exitCompOp(this);
1462
+ if (listener.exitQualifiedIdentifier) {
1463
+ listener.exitQualifiedIdentifier(this);
2282
1464
  }
2283
1465
  }
2284
1466
  // @Override
2285
1467
  accept(visitor) {
2286
- if (visitor.visitCompOp) {
2287
- return visitor.visitCompOp(this);
1468
+ if (visitor.visitQualifiedIdentifier) {
1469
+ return visitor.visitQualifiedIdentifier(this);
2288
1470
  }
2289
1471
  else {
2290
1472
  return visitor.visitChildren(this);
2291
1473
  }
2292
1474
  }
2293
1475
  }
2294
- exports.CompOpContext = CompOpContext;
2295
- class ArthOpContext extends antlr4_1.ParserRuleContext {
1476
+ exports.QualifiedIdentifierContext = QualifiedIdentifierContext;
1477
+ class ExternalConstantContext extends antlr4_1.ParserRuleContext {
2296
1478
  constructor(parser, parent, invokingState) {
2297
1479
  super(parent, invokingState);
2298
1480
  this.parser = parser;
2299
1481
  }
1482
+ identifier() {
1483
+ return this.getTypedRuleContext(IdentifierContext, 0);
1484
+ }
2300
1485
  get ruleIndex() {
2301
- return OpraFilterParser.RULE_arthOp;
1486
+ return OpraFilterParser.RULE_externalConstant;
2302
1487
  }
2303
1488
  enterRule(listener) {
2304
- if (listener.enterArthOp) {
2305
- listener.enterArthOp(this);
1489
+ if (listener.enterExternalConstant) {
1490
+ listener.enterExternalConstant(this);
2306
1491
  }
2307
1492
  }
2308
1493
  exitRule(listener) {
2309
- if (listener.exitArthOp) {
2310
- listener.exitArthOp(this);
1494
+ if (listener.exitExternalConstant) {
1495
+ listener.exitExternalConstant(this);
2311
1496
  }
2312
1497
  }
2313
1498
  // @Override
2314
1499
  accept(visitor) {
2315
- if (visitor.visitArthOp) {
2316
- return visitor.visitArthOp(this);
1500
+ if (visitor.visitExternalConstant) {
1501
+ return visitor.visitExternalConstant(this);
2317
1502
  }
2318
1503
  else {
2319
1504
  return visitor.visitChildren(this);
2320
1505
  }
2321
1506
  }
2322
1507
  }
2323
- exports.ArthOpContext = ArthOpContext;
2324
- class PolarOpContext extends antlr4_1.ParserRuleContext {
1508
+ exports.ExternalConstantContext = ExternalConstantContext;
1509
+ class IdentifierContext extends antlr4_1.ParserRuleContext {
2325
1510
  constructor(parser, parent, invokingState) {
2326
1511
  super(parent, invokingState);
2327
1512
  this.parser = parser;
2328
1513
  }
1514
+ IDENTIFIER() {
1515
+ return this.getToken(OpraFilterParser.IDENTIFIER, 0);
1516
+ }
2329
1517
  get ruleIndex() {
2330
- return OpraFilterParser.RULE_polarOp;
1518
+ return OpraFilterParser.RULE_identifier;
2331
1519
  }
2332
1520
  enterRule(listener) {
2333
- if (listener.enterPolarOp) {
2334
- listener.enterPolarOp(this);
1521
+ if (listener.enterIdentifier) {
1522
+ listener.enterIdentifier(this);
2335
1523
  }
2336
1524
  }
2337
1525
  exitRule(listener) {
2338
- if (listener.exitPolarOp) {
2339
- listener.exitPolarOp(this);
1526
+ if (listener.exitIdentifier) {
1527
+ listener.exitIdentifier(this);
2340
1528
  }
2341
1529
  }
2342
1530
  // @Override
2343
1531
  accept(visitor) {
2344
- if (visitor.visitPolarOp) {
2345
- return visitor.visitPolarOp(this);
1532
+ if (visitor.visitIdentifier) {
1533
+ return visitor.visitIdentifier(this);
2346
1534
  }
2347
1535
  else {
2348
1536
  return visitor.visitChildren(this);
2349
1537
  }
2350
1538
  }
2351
1539
  }
2352
- exports.PolarOpContext = PolarOpContext;
2353
- class LogOpContext extends antlr4_1.ParserRuleContext {
1540
+ exports.IdentifierContext = IdentifierContext;
1541
+ class ArrayValueContext extends antlr4_1.ParserRuleContext {
2354
1542
  constructor(parser, parent, invokingState) {
2355
1543
  super(parent, invokingState);
2356
1544
  this.parser = parser;
2357
1545
  }
1546
+ value_list() {
1547
+ return this.getTypedRuleContexts(ValueContext);
1548
+ }
1549
+ value(i) {
1550
+ return this.getTypedRuleContext(ValueContext, i);
1551
+ }
2358
1552
  get ruleIndex() {
2359
- return OpraFilterParser.RULE_logOp;
1553
+ return OpraFilterParser.RULE_arrayValue;
2360
1554
  }
2361
1555
  enterRule(listener) {
2362
- if (listener.enterLogOp) {
2363
- listener.enterLogOp(this);
1556
+ if (listener.enterArrayValue) {
1557
+ listener.enterArrayValue(this);
2364
1558
  }
2365
1559
  }
2366
1560
  exitRule(listener) {
2367
- if (listener.exitLogOp) {
2368
- listener.exitLogOp(this);
1561
+ if (listener.exitArrayValue) {
1562
+ listener.exitArrayValue(this);
2369
1563
  }
2370
1564
  }
2371
1565
  // @Override
2372
1566
  accept(visitor) {
2373
- if (visitor.visitLogOp) {
2374
- return visitor.visitLogOp(this);
1567
+ if (visitor.visitArrayValue) {
1568
+ return visitor.visitArrayValue(this);
2375
1569
  }
2376
1570
  else {
2377
1571
  return visitor.visitChildren(this);
2378
1572
  }
2379
1573
  }
2380
1574
  }
2381
- exports.LogOpContext = LogOpContext;
1575
+ exports.ArrayValueContext = ArrayValueContext;
2382
1576
  class BooleanContext extends antlr4_1.ParserRuleContext {
2383
1577
  constructor(parser, parent, invokingState) {
2384
1578
  super(parent, invokingState);
@@ -2466,3 +1660,122 @@ class InfinityContext extends antlr4_1.ParserRuleContext {
2466
1660
  }
2467
1661
  }
2468
1662
  exports.InfinityContext = InfinityContext;
1663
+ class ArithmeticOperatorContext extends antlr4_1.ParserRuleContext {
1664
+ constructor(parser, parent, invokingState) {
1665
+ super(parent, invokingState);
1666
+ this.parser = parser;
1667
+ }
1668
+ get ruleIndex() {
1669
+ return OpraFilterParser.RULE_arithmeticOperator;
1670
+ }
1671
+ enterRule(listener) {
1672
+ if (listener.enterArithmeticOperator) {
1673
+ listener.enterArithmeticOperator(this);
1674
+ }
1675
+ }
1676
+ exitRule(listener) {
1677
+ if (listener.exitArithmeticOperator) {
1678
+ listener.exitArithmeticOperator(this);
1679
+ }
1680
+ }
1681
+ // @Override
1682
+ accept(visitor) {
1683
+ if (visitor.visitArithmeticOperator) {
1684
+ return visitor.visitArithmeticOperator(this);
1685
+ }
1686
+ else {
1687
+ return visitor.visitChildren(this);
1688
+ }
1689
+ }
1690
+ }
1691
+ exports.ArithmeticOperatorContext = ArithmeticOperatorContext;
1692
+ class ComparisonOperatorContext extends antlr4_1.ParserRuleContext {
1693
+ constructor(parser, parent, invokingState) {
1694
+ super(parent, invokingState);
1695
+ this.parser = parser;
1696
+ }
1697
+ get ruleIndex() {
1698
+ return OpraFilterParser.RULE_comparisonOperator;
1699
+ }
1700
+ enterRule(listener) {
1701
+ if (listener.enterComparisonOperator) {
1702
+ listener.enterComparisonOperator(this);
1703
+ }
1704
+ }
1705
+ exitRule(listener) {
1706
+ if (listener.exitComparisonOperator) {
1707
+ listener.exitComparisonOperator(this);
1708
+ }
1709
+ }
1710
+ // @Override
1711
+ accept(visitor) {
1712
+ if (visitor.visitComparisonOperator) {
1713
+ return visitor.visitComparisonOperator(this);
1714
+ }
1715
+ else {
1716
+ return visitor.visitChildren(this);
1717
+ }
1718
+ }
1719
+ }
1720
+ exports.ComparisonOperatorContext = ComparisonOperatorContext;
1721
+ class LogicalOperatorContext extends antlr4_1.ParserRuleContext {
1722
+ constructor(parser, parent, invokingState) {
1723
+ super(parent, invokingState);
1724
+ this.parser = parser;
1725
+ }
1726
+ get ruleIndex() {
1727
+ return OpraFilterParser.RULE_logicalOperator;
1728
+ }
1729
+ enterRule(listener) {
1730
+ if (listener.enterLogicalOperator) {
1731
+ listener.enterLogicalOperator(this);
1732
+ }
1733
+ }
1734
+ exitRule(listener) {
1735
+ if (listener.exitLogicalOperator) {
1736
+ listener.exitLogicalOperator(this);
1737
+ }
1738
+ }
1739
+ // @Override
1740
+ accept(visitor) {
1741
+ if (visitor.visitLogicalOperator) {
1742
+ return visitor.visitLogicalOperator(this);
1743
+ }
1744
+ else {
1745
+ return visitor.visitChildren(this);
1746
+ }
1747
+ }
1748
+ }
1749
+ exports.LogicalOperatorContext = LogicalOperatorContext;
1750
+ class PolarityOperatorContext extends antlr4_1.ParserRuleContext {
1751
+ constructor(parser, parent, invokingState) {
1752
+ super(parent, invokingState);
1753
+ this.parser = parser;
1754
+ }
1755
+ POLAR_OP() {
1756
+ return this.getToken(OpraFilterParser.POLAR_OP, 0);
1757
+ }
1758
+ get ruleIndex() {
1759
+ return OpraFilterParser.RULE_polarityOperator;
1760
+ }
1761
+ enterRule(listener) {
1762
+ if (listener.enterPolarityOperator) {
1763
+ listener.enterPolarityOperator(this);
1764
+ }
1765
+ }
1766
+ exitRule(listener) {
1767
+ if (listener.exitPolarityOperator) {
1768
+ listener.exitPolarityOperator(this);
1769
+ }
1770
+ }
1771
+ // @Override
1772
+ accept(visitor) {
1773
+ if (visitor.visitPolarityOperator) {
1774
+ return visitor.visitPolarityOperator(this);
1775
+ }
1776
+ else {
1777
+ return visitor.visitChildren(this);
1778
+ }
1779
+ }
1780
+ }
1781
+ exports.PolarityOperatorContext = PolarityOperatorContext;