@webda/ql 4.0.0-beta.2 → 4.0.0-beta.5

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 (48) hide show
  1. package/README.md +135 -2
  2. package/lib/WebdaQLLexer.d.ts +19 -13
  3. package/lib/WebdaQLLexer.d.ts.map +1 -1
  4. package/lib/WebdaQLLexer.js +305 -252
  5. package/lib/WebdaQLLexer.js.map +1 -1
  6. package/lib/WebdaQLParserLexer.d.ts +19 -13
  7. package/lib/WebdaQLParserLexer.d.ts.map +1 -1
  8. package/lib/WebdaQLParserLexer.js +305 -252
  9. package/lib/WebdaQLParserLexer.js.map +1 -1
  10. package/lib/WebdaQLParserListener.d.ts +89 -3
  11. package/lib/WebdaQLParserListener.d.ts.map +1 -1
  12. package/lib/WebdaQLParserListener.js +1 -1
  13. package/lib/WebdaQLParserListener.js.map +1 -1
  14. package/lib/WebdaQLParserParser.d.ts +83 -22
  15. package/lib/WebdaQLParserParser.d.ts.map +1 -1
  16. package/lib/WebdaQLParserParser.js +790 -290
  17. package/lib/WebdaQLParserParser.js.map +1 -1
  18. package/lib/WebdaQLParserVisitor.d.ts +65 -2
  19. package/lib/WebdaQLParserVisitor.d.ts.map +1 -1
  20. package/lib/WebdaQLParserVisitor.js +1 -1
  21. package/lib/WebdaQLParserVisitor.js.map +1 -1
  22. package/lib/bind.d.ts +29 -0
  23. package/lib/bind.d.ts.map +1 -0
  24. package/lib/bind.js +139 -0
  25. package/lib/bind.js.map +1 -0
  26. package/lib/bind.spec.d.ts +2 -0
  27. package/lib/bind.spec.d.ts.map +1 -0
  28. package/lib/bind.spec.js +206 -0
  29. package/lib/bind.spec.js.map +1 -0
  30. package/lib/index.d.ts +4 -0
  31. package/lib/index.d.ts.map +1 -0
  32. package/lib/index.js +4 -0
  33. package/lib/index.js.map +1 -0
  34. package/lib/query.d.ts +395 -76
  35. package/lib/query.d.ts.map +1 -1
  36. package/lib/query.js +562 -91
  37. package/lib/query.js.map +1 -1
  38. package/lib/query.spec.js +593 -195
  39. package/lib/query.spec.js.map +1 -1
  40. package/lib/webdaql-string.d.ts +59 -0
  41. package/lib/webdaql-string.d.ts.map +1 -0
  42. package/lib/webdaql-string.js +112 -0
  43. package/lib/webdaql-string.js.map +1 -0
  44. package/lib/webdaql-string.spec.d.ts +2 -0
  45. package/lib/webdaql-string.spec.d.ts.map +1 -0
  46. package/lib/webdaql-string.spec.js +282 -0
  47. package/lib/webdaql-string.spec.js.map +1 -0
  48. package/package.json +34 -42
@@ -1,17 +1,166 @@
1
- // Generated from src/stores/webdaql/WebdaQLParser.g4 by ANTLR 4.9.0-SNAPSHOT
1
+ // Generated from src/WebdaQLParser.g4 by ANTLR 4.9.0-SNAPSHOT
2
2
  import { ATN } from "antlr4ts/atn/ATN.js";
3
3
  import { ATNDeserializer } from "antlr4ts/atn/ATNDeserializer.js";
4
- import { ParserATNSimulator } from "antlr4ts/atn/ParserATNSimulator.js";
5
4
  import { FailedPredicateException } from "antlr4ts/FailedPredicateException.js";
6
5
  import { NoViableAltException } from "antlr4ts/NoViableAltException.js";
7
6
  import { Parser } from "antlr4ts/Parser.js";
8
7
  import { ParserRuleContext } from "antlr4ts/ParserRuleContext.js";
8
+ import { ParserATNSimulator } from "antlr4ts/atn/ParserATNSimulator.js";
9
9
  import { RecognitionException } from "antlr4ts/RecognitionException.js";
10
- //import { RuleVersion } from "antlr4ts/RuleVersion";
11
10
  import { Token } from "antlr4ts/Token.js";
12
11
  import { VocabularyImpl } from "antlr4ts/VocabularyImpl.js";
13
12
  import * as Utils from "antlr4ts/misc/Utils.js";
14
13
  export class WebdaQLParserParser extends Parser {
14
+ static SPACE = 1;
15
+ static LR_BRACKET = 2;
16
+ static RR_BRACKET = 3;
17
+ static COMMA = 4;
18
+ static SINGLE_QUOTE_SYMB = 5;
19
+ static DOUBLE_QUOTE_SYMB = 6;
20
+ static LR_SQ_BRACKET = 7;
21
+ static RR_SQ_BRACKET = 8;
22
+ static AND = 9;
23
+ static OR = 10;
24
+ static EQUAL = 11;
25
+ static NOT_EQUAL = 12;
26
+ static GREATER = 13;
27
+ static GREATER_OR_EQUAL = 14;
28
+ static LESS = 15;
29
+ static LESS_OR_EQUAL = 16;
30
+ static LIKE = 17;
31
+ static IN = 18;
32
+ static CONTAINS = 19;
33
+ static IS = 20;
34
+ static NOT = 21;
35
+ static NULL = 22;
36
+ static TRUE = 23;
37
+ static FALSE = 24;
38
+ static LIMIT = 25;
39
+ static OFFSET = 26;
40
+ static ORDER_BY = 27;
41
+ static ASC = 28;
42
+ static DESC = 29;
43
+ static DQUOTED_STRING_LITERAL = 30;
44
+ static SQUOTED_STRING_LITERAL = 31;
45
+ static INTEGER_LITERAL = 32;
46
+ static NUMBER_LITERAL = 33;
47
+ static POSITIONAL_PARAMETER = 34;
48
+ static NAMED_PARAMETER = 35;
49
+ static IDENTIFIER = 36;
50
+ static IDENTIFIER_WITH_NUMBER = 37;
51
+ static FUNCTION_IDENTIFIER_WITH_UNDERSCORE = 38;
52
+ static RULE_webdaql = 0;
53
+ static RULE_limitExpression = 1;
54
+ static RULE_offsetExpression = 2;
55
+ static RULE_orderFieldExpression = 3;
56
+ static RULE_orderExpression = 4;
57
+ static RULE_expression = 5;
58
+ static RULE_values = 6;
59
+ static RULE_atom = 7;
60
+ static RULE_identifier = 8;
61
+ static RULE_booleanLiteral = 9;
62
+ static RULE_stringLiteral = 10;
63
+ static RULE_integerLiteral = 11;
64
+ static RULE_numberLiteral = 12;
65
+ static RULE_parameter = 13;
66
+ static RULE_setExpression = 14;
67
+ // tslint:disable:no-trailing-whitespace
68
+ static ruleNames = [
69
+ "webdaql",
70
+ "limitExpression",
71
+ "offsetExpression",
72
+ "orderFieldExpression",
73
+ "orderExpression",
74
+ "expression",
75
+ "values",
76
+ "atom",
77
+ "identifier",
78
+ "booleanLiteral",
79
+ "stringLiteral",
80
+ "integerLiteral",
81
+ "numberLiteral",
82
+ "parameter",
83
+ "setExpression"
84
+ ];
85
+ static _LITERAL_NAMES = [
86
+ undefined,
87
+ undefined,
88
+ "'('",
89
+ "')'",
90
+ "','",
91
+ "'''",
92
+ "'\"'",
93
+ "'['",
94
+ "']'",
95
+ "'AND'",
96
+ "'OR'",
97
+ "'='",
98
+ "'!='",
99
+ "'>'",
100
+ "'>='",
101
+ "'<'",
102
+ "'<='",
103
+ "'LIKE'",
104
+ "'IN'",
105
+ "'CONTAINS'",
106
+ "'IS'",
107
+ "'NOT'",
108
+ "'NULL'",
109
+ "'TRUE'",
110
+ "'FALSE'",
111
+ "'LIMIT'",
112
+ "'OFFSET'",
113
+ "'ORDER BY'",
114
+ "'ASC'",
115
+ "'DESC'",
116
+ undefined,
117
+ undefined,
118
+ undefined,
119
+ undefined,
120
+ "'?'"
121
+ ];
122
+ static _SYMBOLIC_NAMES = [
123
+ undefined,
124
+ "SPACE",
125
+ "LR_BRACKET",
126
+ "RR_BRACKET",
127
+ "COMMA",
128
+ "SINGLE_QUOTE_SYMB",
129
+ "DOUBLE_QUOTE_SYMB",
130
+ "LR_SQ_BRACKET",
131
+ "RR_SQ_BRACKET",
132
+ "AND",
133
+ "OR",
134
+ "EQUAL",
135
+ "NOT_EQUAL",
136
+ "GREATER",
137
+ "GREATER_OR_EQUAL",
138
+ "LESS",
139
+ "LESS_OR_EQUAL",
140
+ "LIKE",
141
+ "IN",
142
+ "CONTAINS",
143
+ "IS",
144
+ "NOT",
145
+ "NULL",
146
+ "TRUE",
147
+ "FALSE",
148
+ "LIMIT",
149
+ "OFFSET",
150
+ "ORDER_BY",
151
+ "ASC",
152
+ "DESC",
153
+ "DQUOTED_STRING_LITERAL",
154
+ "SQUOTED_STRING_LITERAL",
155
+ "INTEGER_LITERAL",
156
+ "NUMBER_LITERAL",
157
+ "POSITIONAL_PARAMETER",
158
+ "NAMED_PARAMETER",
159
+ "IDENTIFIER",
160
+ "IDENTIFIER_WITH_NUMBER",
161
+ "FUNCTION_IDENTIFIER_WITH_UNDERSCORE"
162
+ ];
163
+ static VOCABULARY = new VocabularyImpl(WebdaQLParserParser._LITERAL_NAMES, WebdaQLParserParser._SYMBOLIC_NAMES, []);
15
164
  // @Override
16
165
  // @NotNull
17
166
  get vocabulary() {
@@ -39,59 +188,63 @@ export class WebdaQLParserParser extends Parser {
39
188
  }
40
189
  // @RuleVersion(0)
41
190
  webdaql() {
42
- const _localctx = new WebdaqlContext(this._ctx, this.state);
191
+ let _localctx = new WebdaqlContext(this._ctx, this.state);
43
192
  this.enterRule(_localctx, 0, WebdaQLParserParser.RULE_webdaql);
44
193
  let _la;
45
194
  try {
46
195
  this.enterOuterAlt(_localctx, 1);
47
196
  {
48
- this.state = 27;
197
+ this.state = 31;
49
198
  this._errHandler.sync(this);
50
199
  _la = this._input.LA(1);
51
- if ((_la & ~0x1f) === 0 &&
200
+ if (((_la & ~0x1f) === 0 &&
52
201
  ((1 << _la) &
53
202
  ((1 << WebdaQLParserParser.LR_BRACKET) |
54
203
  (1 << WebdaQLParserParser.TRUE) |
55
204
  (1 << WebdaQLParserParser.FALSE) |
56
205
  (1 << WebdaQLParserParser.DQUOTED_STRING_LITERAL) |
57
- (1 << WebdaQLParserParser.SQUOTED_STRING_LITERAL) |
58
- (1 << WebdaQLParserParser.INTEGER_LITERAL) |
59
- (1 << WebdaQLParserParser.IDENTIFIER) |
60
- (1 << WebdaQLParserParser.IDENTIFIER_WITH_NUMBER))) !==
61
- 0) {
206
+ (1 << WebdaQLParserParser.SQUOTED_STRING_LITERAL))) !==
207
+ 0) ||
208
+ (((_la - 32) & ~0x1f) === 0 &&
209
+ ((1 << (_la - 32)) &
210
+ ((1 << (WebdaQLParserParser.INTEGER_LITERAL - 32)) |
211
+ (1 << (WebdaQLParserParser.NUMBER_LITERAL - 32)) |
212
+ (1 << (WebdaQLParserParser.IDENTIFIER - 32)) |
213
+ (1 << (WebdaQLParserParser.IDENTIFIER_WITH_NUMBER - 32)))) !==
214
+ 0)) {
62
215
  {
63
- this.state = 26;
216
+ this.state = 30;
64
217
  this.expression(0);
65
218
  }
66
219
  }
67
- this.state = 30;
220
+ this.state = 34;
68
221
  this._errHandler.sync(this);
69
222
  _la = this._input.LA(1);
70
223
  if (_la === WebdaQLParserParser.ORDER_BY) {
71
224
  {
72
- this.state = 29;
225
+ this.state = 33;
73
226
  this.orderExpression();
74
227
  }
75
228
  }
76
- this.state = 33;
229
+ this.state = 37;
77
230
  this._errHandler.sync(this);
78
231
  _la = this._input.LA(1);
79
232
  if (_la === WebdaQLParserParser.LIMIT) {
80
233
  {
81
- this.state = 32;
234
+ this.state = 36;
82
235
  this.limitExpression();
83
236
  }
84
237
  }
85
- this.state = 36;
238
+ this.state = 40;
86
239
  this._errHandler.sync(this);
87
240
  _la = this._input.LA(1);
88
241
  if (_la === WebdaQLParserParser.OFFSET) {
89
242
  {
90
- this.state = 35;
243
+ this.state = 39;
91
244
  this.offsetExpression();
92
245
  }
93
246
  }
94
- this.state = 38;
247
+ this.state = 42;
95
248
  this.match(WebdaQLParserParser.EOF);
96
249
  }
97
250
  }
@@ -112,15 +265,32 @@ export class WebdaQLParserParser extends Parser {
112
265
  }
113
266
  // @RuleVersion(0)
114
267
  limitExpression() {
115
- const _localctx = new LimitExpressionContext(this._ctx, this.state);
268
+ let _localctx = new LimitExpressionContext(this._ctx, this.state);
116
269
  this.enterRule(_localctx, 2, WebdaQLParserParser.RULE_limitExpression);
117
270
  try {
118
271
  this.enterOuterAlt(_localctx, 1);
119
272
  {
120
- this.state = 40;
273
+ this.state = 44;
121
274
  this.match(WebdaQLParserParser.LIMIT);
122
- this.state = 41;
123
- this.integerLiteral();
275
+ this.state = 47;
276
+ this._errHandler.sync(this);
277
+ switch (this._input.LA(1)) {
278
+ case WebdaQLParserParser.INTEGER_LITERAL:
279
+ {
280
+ this.state = 45;
281
+ this.integerLiteral();
282
+ }
283
+ break;
284
+ case WebdaQLParserParser.POSITIONAL_PARAMETER:
285
+ case WebdaQLParserParser.NAMED_PARAMETER:
286
+ {
287
+ this.state = 46;
288
+ this.parameter();
289
+ }
290
+ break;
291
+ default:
292
+ throw new NoViableAltException(this);
293
+ }
124
294
  }
125
295
  }
126
296
  catch (re) {
@@ -140,15 +310,33 @@ export class WebdaQLParserParser extends Parser {
140
310
  }
141
311
  // @RuleVersion(0)
142
312
  offsetExpression() {
143
- const _localctx = new OffsetExpressionContext(this._ctx, this.state);
313
+ let _localctx = new OffsetExpressionContext(this._ctx, this.state);
144
314
  this.enterRule(_localctx, 4, WebdaQLParserParser.RULE_offsetExpression);
145
315
  try {
146
316
  this.enterOuterAlt(_localctx, 1);
147
317
  {
148
- this.state = 43;
318
+ this.state = 49;
149
319
  this.match(WebdaQLParserParser.OFFSET);
150
- this.state = 44;
151
- this.stringLiteral();
320
+ this.state = 52;
321
+ this._errHandler.sync(this);
322
+ switch (this._input.LA(1)) {
323
+ case WebdaQLParserParser.DQUOTED_STRING_LITERAL:
324
+ case WebdaQLParserParser.SQUOTED_STRING_LITERAL:
325
+ {
326
+ this.state = 50;
327
+ this.stringLiteral();
328
+ }
329
+ break;
330
+ case WebdaQLParserParser.POSITIONAL_PARAMETER:
331
+ case WebdaQLParserParser.NAMED_PARAMETER:
332
+ {
333
+ this.state = 51;
334
+ this.parameter();
335
+ }
336
+ break;
337
+ default:
338
+ throw new NoViableAltException(this);
339
+ }
152
340
  }
153
341
  }
154
342
  catch (re) {
@@ -168,20 +356,20 @@ export class WebdaQLParserParser extends Parser {
168
356
  }
169
357
  // @RuleVersion(0)
170
358
  orderFieldExpression() {
171
- const _localctx = new OrderFieldExpressionContext(this._ctx, this.state);
359
+ let _localctx = new OrderFieldExpressionContext(this._ctx, this.state);
172
360
  this.enterRule(_localctx, 6, WebdaQLParserParser.RULE_orderFieldExpression);
173
361
  let _la;
174
362
  try {
175
363
  this.enterOuterAlt(_localctx, 1);
176
364
  {
177
- this.state = 46;
365
+ this.state = 54;
178
366
  this.identifier();
179
- this.state = 48;
367
+ this.state = 56;
180
368
  this._errHandler.sync(this);
181
369
  _la = this._input.LA(1);
182
370
  if (_la === WebdaQLParserParser.ASC || _la === WebdaQLParserParser.DESC) {
183
371
  {
184
- this.state = 47;
372
+ this.state = 55;
185
373
  _la = this._input.LA(1);
186
374
  if (!(_la === WebdaQLParserParser.ASC || _la === WebdaQLParserParser.DESC)) {
187
375
  this._errHandler.recoverInline(this);
@@ -214,29 +402,29 @@ export class WebdaQLParserParser extends Parser {
214
402
  }
215
403
  // @RuleVersion(0)
216
404
  orderExpression() {
217
- const _localctx = new OrderExpressionContext(this._ctx, this.state);
405
+ let _localctx = new OrderExpressionContext(this._ctx, this.state);
218
406
  this.enterRule(_localctx, 8, WebdaQLParserParser.RULE_orderExpression);
219
407
  let _la;
220
408
  try {
221
409
  this.enterOuterAlt(_localctx, 1);
222
410
  {
223
- this.state = 50;
411
+ this.state = 58;
224
412
  this.match(WebdaQLParserParser.ORDER_BY);
225
- this.state = 51;
413
+ this.state = 59;
226
414
  this.orderFieldExpression();
227
- this.state = 56;
415
+ this.state = 64;
228
416
  this._errHandler.sync(this);
229
417
  _la = this._input.LA(1);
230
418
  while (_la === WebdaQLParserParser.COMMA) {
231
419
  {
232
420
  {
233
- this.state = 52;
421
+ this.state = 60;
234
422
  this.match(WebdaQLParserParser.COMMA);
235
- this.state = 53;
423
+ this.state = 61;
236
424
  this.orderFieldExpression();
237
425
  }
238
426
  }
239
- this.state = 58;
427
+ this.state = 66;
240
428
  this._errHandler.sync(this);
241
429
  _la = this._input.LA(1);
242
430
  }
@@ -262,31 +450,49 @@ export class WebdaQLParserParser extends Parser {
262
450
  if (_p === undefined) {
263
451
  _p = 0;
264
452
  }
265
- const _parentctx = this._ctx;
266
- const _parentState = this.state;
453
+ let _parentctx = this._ctx;
454
+ let _parentState = this.state;
267
455
  let _localctx = new ExpressionContext(this._ctx, _parentState);
268
456
  let _prevctx = _localctx;
269
- const _startState = 10;
457
+ let _startState = 10;
270
458
  this.enterRecursionRule(_localctx, 10, WebdaQLParserParser.RULE_expression, _p);
271
459
  let _la;
272
460
  try {
273
461
  let _alt;
274
462
  this.enterOuterAlt(_localctx, 1);
275
463
  {
276
- this.state = 81;
464
+ this.state = 106;
277
465
  this._errHandler.sync(this);
278
- switch (this.interpreter.adaptivePredict(this._input, 6, this._ctx)) {
466
+ switch (this.interpreter.adaptivePredict(this._input, 12, this._ctx)) {
279
467
  case 1:
280
468
  {
281
469
  _localctx = new LikeExpressionContext(_localctx);
282
470
  this._ctx = _localctx;
283
471
  _prevctx = _localctx;
284
- this.state = 60;
472
+ this.state = 68;
285
473
  this.identifier();
286
- this.state = 61;
474
+ this.state = 69;
287
475
  this.match(WebdaQLParserParser.LIKE);
288
- this.state = 62;
289
- this.stringLiteral();
476
+ this.state = 72;
477
+ this._errHandler.sync(this);
478
+ switch (this._input.LA(1)) {
479
+ case WebdaQLParserParser.DQUOTED_STRING_LITERAL:
480
+ case WebdaQLParserParser.SQUOTED_STRING_LITERAL:
481
+ {
482
+ this.state = 70;
483
+ this.stringLiteral();
484
+ }
485
+ break;
486
+ case WebdaQLParserParser.POSITIONAL_PARAMETER:
487
+ case WebdaQLParserParser.NAMED_PARAMETER:
488
+ {
489
+ this.state = 71;
490
+ this.parameter();
491
+ }
492
+ break;
493
+ default:
494
+ throw new NoViableAltException(this);
495
+ }
290
496
  }
291
497
  break;
292
498
  case 2:
@@ -294,12 +500,29 @@ export class WebdaQLParserParser extends Parser {
294
500
  _localctx = new InExpressionContext(_localctx);
295
501
  this._ctx = _localctx;
296
502
  _prevctx = _localctx;
297
- this.state = 64;
503
+ this.state = 74;
298
504
  this.identifier();
299
- this.state = 65;
505
+ this.state = 75;
300
506
  this.match(WebdaQLParserParser.IN);
301
- this.state = 66;
302
- this.setExpression();
507
+ this.state = 78;
508
+ this._errHandler.sync(this);
509
+ switch (this._input.LA(1)) {
510
+ case WebdaQLParserParser.LR_SQ_BRACKET:
511
+ {
512
+ this.state = 76;
513
+ this.setExpression();
514
+ }
515
+ break;
516
+ case WebdaQLParserParser.POSITIONAL_PARAMETER:
517
+ case WebdaQLParserParser.NAMED_PARAMETER:
518
+ {
519
+ this.state = 77;
520
+ this.parameter();
521
+ }
522
+ break;
523
+ default:
524
+ throw new NoViableAltException(this);
525
+ }
303
526
  }
304
527
  break;
305
528
  case 3:
@@ -307,22 +530,68 @@ export class WebdaQLParserParser extends Parser {
307
530
  _localctx = new ContainsExpressionContext(_localctx);
308
531
  this._ctx = _localctx;
309
532
  _prevctx = _localctx;
310
- this.state = 68;
533
+ this.state = 80;
311
534
  this.identifier();
312
- this.state = 69;
535
+ this.state = 81;
313
536
  this.match(WebdaQLParserParser.CONTAINS);
314
- this.state = 70;
315
- this.stringLiteral();
537
+ this.state = 84;
538
+ this._errHandler.sync(this);
539
+ switch (this._input.LA(1)) {
540
+ case WebdaQLParserParser.DQUOTED_STRING_LITERAL:
541
+ case WebdaQLParserParser.SQUOTED_STRING_LITERAL:
542
+ {
543
+ this.state = 82;
544
+ this.stringLiteral();
545
+ }
546
+ break;
547
+ case WebdaQLParserParser.POSITIONAL_PARAMETER:
548
+ case WebdaQLParserParser.NAMED_PARAMETER:
549
+ {
550
+ this.state = 83;
551
+ this.parameter();
552
+ }
553
+ break;
554
+ default:
555
+ throw new NoViableAltException(this);
556
+ }
316
557
  }
317
558
  break;
318
559
  case 4:
560
+ {
561
+ _localctx = new IsNullExpressionContext(_localctx);
562
+ this._ctx = _localctx;
563
+ _prevctx = _localctx;
564
+ this.state = 86;
565
+ this.identifier();
566
+ this.state = 87;
567
+ this.match(WebdaQLParserParser.IS);
568
+ this.state = 88;
569
+ this.match(WebdaQLParserParser.NULL);
570
+ }
571
+ break;
572
+ case 5:
573
+ {
574
+ _localctx = new IsNotNullExpressionContext(_localctx);
575
+ this._ctx = _localctx;
576
+ _prevctx = _localctx;
577
+ this.state = 90;
578
+ this.identifier();
579
+ this.state = 91;
580
+ this.match(WebdaQLParserParser.IS);
581
+ this.state = 92;
582
+ this.match(WebdaQLParserParser.NOT);
583
+ this.state = 93;
584
+ this.match(WebdaQLParserParser.NULL);
585
+ }
586
+ break;
587
+ case 6:
319
588
  {
320
589
  _localctx = new BinaryComparisonExpressionContext(_localctx);
321
590
  this._ctx = _localctx;
322
591
  _prevctx = _localctx;
323
- this.state = 72;
592
+ this.state = 95;
324
593
  this.identifier();
325
- this.state = 73;
594
+ this.state = 96;
326
595
  _la = this._input.LA(1);
327
596
  if (!((_la & ~0x1f) === 0 &&
328
597
  ((1 << _la) &
@@ -342,37 +611,59 @@ export class WebdaQLParserParser extends Parser {
342
611
  this._errHandler.reportMatch(this);
343
612
  this.consume();
344
613
  }
345
- this.state = 74;
346
- this.values();
614
+ this.state = 99;
615
+ this._errHandler.sync(this);
616
+ switch (this._input.LA(1)) {
617
+ case WebdaQLParserParser.TRUE:
618
+ case WebdaQLParserParser.FALSE:
619
+ case WebdaQLParserParser.DQUOTED_STRING_LITERAL:
620
+ case WebdaQLParserParser.SQUOTED_STRING_LITERAL:
621
+ case WebdaQLParserParser.INTEGER_LITERAL:
622
+ case WebdaQLParserParser.NUMBER_LITERAL:
623
+ {
624
+ this.state = 97;
625
+ this.values();
626
+ }
627
+ break;
628
+ case WebdaQLParserParser.POSITIONAL_PARAMETER:
629
+ case WebdaQLParserParser.NAMED_PARAMETER:
630
+ {
631
+ this.state = 98;
632
+ this.parameter();
633
+ }
634
+ break;
635
+ default:
636
+ throw new NoViableAltException(this);
637
+ }
347
638
  }
348
639
  break;
349
- case 5:
640
+ case 7:
350
641
  {
351
642
  _localctx = new SubExpressionContext(_localctx);
352
643
  this._ctx = _localctx;
353
644
  _prevctx = _localctx;
354
- this.state = 76;
645
+ this.state = 101;
355
646
  this.match(WebdaQLParserParser.LR_BRACKET);
356
- this.state = 77;
647
+ this.state = 102;
357
648
  this.expression(0);
358
- this.state = 78;
649
+ this.state = 103;
359
650
  this.match(WebdaQLParserParser.RR_BRACKET);
360
651
  }
361
652
  break;
362
- case 6:
653
+ case 8:
363
654
  {
364
655
  _localctx = new AtomExpressionContext(_localctx);
365
656
  this._ctx = _localctx;
366
657
  _prevctx = _localctx;
367
- this.state = 80;
658
+ this.state = 105;
368
659
  this.atom();
369
660
  }
370
661
  break;
371
662
  }
372
663
  this._ctx._stop = this._input.tryLT(-1);
373
- this.state = 91;
664
+ this.state = 116;
374
665
  this._errHandler.sync(this);
375
- _alt = this.interpreter.adaptivePredict(this._input, 8, this._ctx);
666
+ _alt = this.interpreter.adaptivePredict(this._input, 14, this._ctx);
376
667
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
377
668
  if (_alt === 1) {
378
669
  if (this._parseListeners != null) {
@@ -380,20 +671,20 @@ export class WebdaQLParserParser extends Parser {
380
671
  }
381
672
  _prevctx = _localctx;
382
673
  {
383
- this.state = 89;
674
+ this.state = 114;
384
675
  this._errHandler.sync(this);
385
- switch (this.interpreter.adaptivePredict(this._input, 7, this._ctx)) {
676
+ switch (this.interpreter.adaptivePredict(this._input, 13, this._ctx)) {
386
677
  case 1:
387
678
  {
388
679
  _localctx = new AndLogicExpressionContext(new ExpressionContext(_parentctx, _parentState));
389
680
  this.pushNewRecursionContext(_localctx, _startState, WebdaQLParserParser.RULE_expression);
390
- this.state = 83;
681
+ this.state = 108;
391
682
  if (!this.precpred(this._ctx, 4)) {
392
683
  throw this.createFailedPredicateException("this.precpred(this._ctx, 4)");
393
684
  }
394
- this.state = 84;
685
+ this.state = 109;
395
686
  this.match(WebdaQLParserParser.AND);
396
- this.state = 85;
687
+ this.state = 110;
397
688
  this.expression(5);
398
689
  }
399
690
  break;
@@ -401,22 +692,22 @@ export class WebdaQLParserParser extends Parser {
401
692
  {
402
693
  _localctx = new OrLogicExpressionContext(new ExpressionContext(_parentctx, _parentState));
403
694
  this.pushNewRecursionContext(_localctx, _startState, WebdaQLParserParser.RULE_expression);
404
- this.state = 86;
695
+ this.state = 111;
405
696
  if (!this.precpred(this._ctx, 3)) {
406
697
  throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");
407
698
  }
408
- this.state = 87;
699
+ this.state = 112;
409
700
  this.match(WebdaQLParserParser.OR);
410
- this.state = 88;
701
+ this.state = 113;
411
702
  this.expression(4);
412
703
  }
413
704
  break;
414
705
  }
415
706
  }
416
707
  }
417
- this.state = 93;
708
+ this.state = 118;
418
709
  this._errHandler.sync(this);
419
- _alt = this.interpreter.adaptivePredict(this._input, 8, this._ctx);
710
+ _alt = this.interpreter.adaptivePredict(this._input, 14, this._ctx);
420
711
  }
421
712
  }
422
713
  }
@@ -440,7 +731,7 @@ export class WebdaQLParserParser extends Parser {
440
731
  let _localctx = new ValuesContext(this._ctx, this.state);
441
732
  this.enterRule(_localctx, 12, WebdaQLParserParser.RULE_values);
442
733
  try {
443
- this.state = 97;
734
+ this.state = 123;
444
735
  this._errHandler.sync(this);
445
736
  switch (this._input.LA(1)) {
446
737
  case WebdaQLParserParser.TRUE:
@@ -448,7 +739,7 @@ export class WebdaQLParserParser extends Parser {
448
739
  _localctx = new BooleanAtomContext(_localctx);
449
740
  this.enterOuterAlt(_localctx, 1);
450
741
  {
451
- this.state = 94;
742
+ this.state = 119;
452
743
  this.booleanLiteral();
453
744
  }
454
745
  break;
@@ -456,16 +747,24 @@ export class WebdaQLParserParser extends Parser {
456
747
  _localctx = new IntegerAtomContext(_localctx);
457
748
  this.enterOuterAlt(_localctx, 2);
458
749
  {
459
- this.state = 95;
750
+ this.state = 120;
460
751
  this.integerLiteral();
461
752
  }
462
753
  break;
754
+ case WebdaQLParserParser.NUMBER_LITERAL:
755
+ _localctx = new NumberAtomContext(_localctx);
756
+ this.enterOuterAlt(_localctx, 3);
757
+ {
758
+ this.state = 121;
759
+ this.numberLiteral();
760
+ }
761
+ break;
463
762
  case WebdaQLParserParser.DQUOTED_STRING_LITERAL:
464
763
  case WebdaQLParserParser.SQUOTED_STRING_LITERAL:
465
764
  _localctx = new StringAtomContext(_localctx);
466
- this.enterOuterAlt(_localctx, 3);
765
+ this.enterOuterAlt(_localctx, 4);
467
766
  {
468
- this.state = 96;
767
+ this.state = 122;
469
768
  this.stringLiteral();
470
769
  }
471
770
  break;
@@ -493,7 +792,7 @@ export class WebdaQLParserParser extends Parser {
493
792
  let _localctx = new AtomContext(this._ctx, this.state);
494
793
  this.enterRule(_localctx, 14, WebdaQLParserParser.RULE_atom);
495
794
  try {
496
- this.state = 101;
795
+ this.state = 127;
497
796
  this._errHandler.sync(this);
498
797
  switch (this._input.LA(1)) {
499
798
  case WebdaQLParserParser.TRUE:
@@ -501,10 +800,11 @@ export class WebdaQLParserParser extends Parser {
501
800
  case WebdaQLParserParser.DQUOTED_STRING_LITERAL:
502
801
  case WebdaQLParserParser.SQUOTED_STRING_LITERAL:
503
802
  case WebdaQLParserParser.INTEGER_LITERAL:
803
+ case WebdaQLParserParser.NUMBER_LITERAL:
504
804
  _localctx = new ValuesAtomContext(_localctx);
505
805
  this.enterOuterAlt(_localctx, 1);
506
806
  {
507
- this.state = 99;
807
+ this.state = 125;
508
808
  this.values();
509
809
  }
510
810
  break;
@@ -513,7 +813,7 @@ export class WebdaQLParserParser extends Parser {
513
813
  _localctx = new IdentifierAtomContext(_localctx);
514
814
  this.enterOuterAlt(_localctx, 2);
515
815
  {
516
- this.state = 100;
816
+ this.state = 126;
517
817
  this.identifier();
518
818
  }
519
819
  break;
@@ -538,13 +838,13 @@ export class WebdaQLParserParser extends Parser {
538
838
  }
539
839
  // @RuleVersion(0)
540
840
  identifier() {
541
- const _localctx = new IdentifierContext(this._ctx, this.state);
841
+ let _localctx = new IdentifierContext(this._ctx, this.state);
542
842
  this.enterRule(_localctx, 16, WebdaQLParserParser.RULE_identifier);
543
843
  let _la;
544
844
  try {
545
845
  this.enterOuterAlt(_localctx, 1);
546
846
  {
547
- this.state = 103;
847
+ this.state = 129;
548
848
  _la = this._input.LA(1);
549
849
  if (!(_la === WebdaQLParserParser.IDENTIFIER || _la === WebdaQLParserParser.IDENTIFIER_WITH_NUMBER)) {
550
850
  this._errHandler.recoverInline(this);
@@ -575,13 +875,13 @@ export class WebdaQLParserParser extends Parser {
575
875
  }
576
876
  // @RuleVersion(0)
577
877
  booleanLiteral() {
578
- const _localctx = new BooleanLiteralContext(this._ctx, this.state);
878
+ let _localctx = new BooleanLiteralContext(this._ctx, this.state);
579
879
  this.enterRule(_localctx, 18, WebdaQLParserParser.RULE_booleanLiteral);
580
880
  let _la;
581
881
  try {
582
882
  this.enterOuterAlt(_localctx, 1);
583
883
  {
584
- this.state = 105;
884
+ this.state = 131;
585
885
  _la = this._input.LA(1);
586
886
  if (!(_la === WebdaQLParserParser.TRUE || _la === WebdaQLParserParser.FALSE)) {
587
887
  this._errHandler.recoverInline(this);
@@ -612,13 +912,13 @@ export class WebdaQLParserParser extends Parser {
612
912
  }
613
913
  // @RuleVersion(0)
614
914
  stringLiteral() {
615
- const _localctx = new StringLiteralContext(this._ctx, this.state);
915
+ let _localctx = new StringLiteralContext(this._ctx, this.state);
616
916
  this.enterRule(_localctx, 20, WebdaQLParserParser.RULE_stringLiteral);
617
917
  let _la;
618
918
  try {
619
919
  this.enterOuterAlt(_localctx, 1);
620
920
  {
621
- this.state = 107;
921
+ this.state = 133;
622
922
  _la = this._input.LA(1);
623
923
  if (!(_la === WebdaQLParserParser.DQUOTED_STRING_LITERAL || _la === WebdaQLParserParser.SQUOTED_STRING_LITERAL)) {
624
924
  this._errHandler.recoverInline(this);
@@ -649,12 +949,12 @@ export class WebdaQLParserParser extends Parser {
649
949
  }
650
950
  // @RuleVersion(0)
651
951
  integerLiteral() {
652
- const _localctx = new IntegerLiteralContext(this._ctx, this.state);
952
+ let _localctx = new IntegerLiteralContext(this._ctx, this.state);
653
953
  this.enterRule(_localctx, 22, WebdaQLParserParser.RULE_integerLiteral);
654
954
  try {
655
955
  this.enterOuterAlt(_localctx, 1);
656
956
  {
657
- this.state = 109;
957
+ this.state = 135;
658
958
  this.match(WebdaQLParserParser.INTEGER_LITERAL);
659
959
  }
660
960
  }
@@ -674,34 +974,141 @@ export class WebdaQLParserParser extends Parser {
674
974
  return _localctx;
675
975
  }
676
976
  // @RuleVersion(0)
977
+ numberLiteral() {
978
+ let _localctx = new NumberLiteralContext(this._ctx, this.state);
979
+ this.enterRule(_localctx, 24, WebdaQLParserParser.RULE_numberLiteral);
980
+ try {
981
+ this.enterOuterAlt(_localctx, 1);
982
+ {
983
+ this.state = 137;
984
+ this.match(WebdaQLParserParser.NUMBER_LITERAL);
985
+ }
986
+ }
987
+ catch (re) {
988
+ if (re instanceof RecognitionException) {
989
+ _localctx.exception = re;
990
+ this._errHandler.reportError(this, re);
991
+ this._errHandler.recover(this, re);
992
+ }
993
+ else {
994
+ throw re;
995
+ }
996
+ }
997
+ finally {
998
+ this.exitRule();
999
+ }
1000
+ return _localctx;
1001
+ }
1002
+ // @RuleVersion(0)
1003
+ parameter() {
1004
+ let _localctx = new ParameterContext(this._ctx, this.state);
1005
+ this.enterRule(_localctx, 26, WebdaQLParserParser.RULE_parameter);
1006
+ let _la;
1007
+ try {
1008
+ this.enterOuterAlt(_localctx, 1);
1009
+ {
1010
+ this.state = 139;
1011
+ _la = this._input.LA(1);
1012
+ if (!(_la === WebdaQLParserParser.POSITIONAL_PARAMETER || _la === WebdaQLParserParser.NAMED_PARAMETER)) {
1013
+ this._errHandler.recoverInline(this);
1014
+ }
1015
+ else {
1016
+ if (this._input.LA(1) === Token.EOF) {
1017
+ this.matchedEOF = true;
1018
+ }
1019
+ this._errHandler.reportMatch(this);
1020
+ this.consume();
1021
+ }
1022
+ }
1023
+ }
1024
+ catch (re) {
1025
+ if (re instanceof RecognitionException) {
1026
+ _localctx.exception = re;
1027
+ this._errHandler.reportError(this, re);
1028
+ this._errHandler.recover(this, re);
1029
+ }
1030
+ else {
1031
+ throw re;
1032
+ }
1033
+ }
1034
+ finally {
1035
+ this.exitRule();
1036
+ }
1037
+ return _localctx;
1038
+ }
1039
+ // @RuleVersion(0)
677
1040
  setExpression() {
678
- const _localctx = new SetExpressionContext(this._ctx, this.state);
679
- this.enterRule(_localctx, 24, WebdaQLParserParser.RULE_setExpression);
1041
+ let _localctx = new SetExpressionContext(this._ctx, this.state);
1042
+ this.enterRule(_localctx, 28, WebdaQLParserParser.RULE_setExpression);
680
1043
  let _la;
681
1044
  try {
682
1045
  this.enterOuterAlt(_localctx, 1);
683
1046
  {
684
- this.state = 111;
1047
+ this.state = 141;
685
1048
  this.match(WebdaQLParserParser.LR_SQ_BRACKET);
686
- this.state = 112;
687
- this.values();
688
- this.state = 117;
1049
+ this.state = 144;
1050
+ this._errHandler.sync(this);
1051
+ switch (this._input.LA(1)) {
1052
+ case WebdaQLParserParser.TRUE:
1053
+ case WebdaQLParserParser.FALSE:
1054
+ case WebdaQLParserParser.DQUOTED_STRING_LITERAL:
1055
+ case WebdaQLParserParser.SQUOTED_STRING_LITERAL:
1056
+ case WebdaQLParserParser.INTEGER_LITERAL:
1057
+ case WebdaQLParserParser.NUMBER_LITERAL:
1058
+ {
1059
+ this.state = 142;
1060
+ this.values();
1061
+ }
1062
+ break;
1063
+ case WebdaQLParserParser.POSITIONAL_PARAMETER:
1064
+ case WebdaQLParserParser.NAMED_PARAMETER:
1065
+ {
1066
+ this.state = 143;
1067
+ this.parameter();
1068
+ }
1069
+ break;
1070
+ default:
1071
+ throw new NoViableAltException(this);
1072
+ }
1073
+ this.state = 153;
689
1074
  this._errHandler.sync(this);
690
1075
  _la = this._input.LA(1);
691
1076
  while (_la === WebdaQLParserParser.COMMA) {
692
1077
  {
693
1078
  {
694
- this.state = 113;
1079
+ this.state = 146;
695
1080
  this.match(WebdaQLParserParser.COMMA);
696
- this.state = 114;
697
- this.values();
1081
+ this.state = 149;
1082
+ this._errHandler.sync(this);
1083
+ switch (this._input.LA(1)) {
1084
+ case WebdaQLParserParser.TRUE:
1085
+ case WebdaQLParserParser.FALSE:
1086
+ case WebdaQLParserParser.DQUOTED_STRING_LITERAL:
1087
+ case WebdaQLParserParser.SQUOTED_STRING_LITERAL:
1088
+ case WebdaQLParserParser.INTEGER_LITERAL:
1089
+ case WebdaQLParserParser.NUMBER_LITERAL:
1090
+ {
1091
+ this.state = 147;
1092
+ this.values();
1093
+ }
1094
+ break;
1095
+ case WebdaQLParserParser.POSITIONAL_PARAMETER:
1096
+ case WebdaQLParserParser.NAMED_PARAMETER:
1097
+ {
1098
+ this.state = 148;
1099
+ this.parameter();
1100
+ }
1101
+ break;
1102
+ default:
1103
+ throw new NoViableAltException(this);
1104
+ }
698
1105
  }
699
1106
  }
700
- this.state = 119;
1107
+ this.state = 155;
701
1108
  this._errHandler.sync(this);
702
1109
  _la = this._input.LA(1);
703
1110
  }
704
- this.state = 120;
1111
+ this.state = 156;
705
1112
  this.match(WebdaQLParserParser.RR_SQ_BRACKET);
706
1113
  }
707
1114
  }
@@ -736,6 +1143,75 @@ export class WebdaQLParserParser extends Parser {
736
1143
  }
737
1144
  return true;
738
1145
  }
1146
+ static _serializedATN = "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x03(\xA1\x04\x02" +
1147
+ "\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04\x07" +
1148
+ "\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r\t\r\x04" +
1149
+ '\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10\x03\x02\x05\x02"\n\x02\x03\x02' +
1150
+ "\x05\x02%\n\x02\x03\x02\x05\x02(\n\x02\x03\x02\x05\x02+\n\x02\x03\x02" +
1151
+ "\x03\x02\x03\x03\x03\x03\x03\x03\x05\x032\n\x03\x03\x04\x03\x04\x03\x04" +
1152
+ "\x05\x047\n\x04\x03\x05\x03\x05\x05\x05;\n\x05\x03\x06\x03\x06\x03\x06" +
1153
+ "\x03\x06\x07\x06A\n\x06\f\x06\x0E\x06D\v\x06\x03\x07\x03\x07\x03\x07\x03" +
1154
+ "\x07\x03\x07\x05\x07K\n\x07\x03\x07\x03\x07\x03\x07\x03\x07\x05\x07Q\n" +
1155
+ "\x07\x03\x07\x03\x07\x03\x07\x03\x07\x05\x07W\n\x07\x03\x07\x03\x07\x03" +
1156
+ "\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03" +
1157
+ "\x07\x03\x07\x05\x07f\n\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x05" +
1158
+ "\x07m\n\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x07\x07u\n" +
1159
+ "\x07\f\x07\x0E\x07x\v\x07\x03\b\x03\b\x03\b\x03\b\x05\b~\n\b\x03\t\x03" +
1160
+ "\t\x05\t\x82\n\t\x03\n\x03\n\x03\v\x03\v\x03\f\x03\f\x03\r\x03\r\x03\x0E" +
1161
+ "\x03\x0E\x03\x0F\x03\x0F\x03\x10\x03\x10\x03\x10\x05\x10\x93\n\x10\x03" +
1162
+ "\x10\x03\x10\x03\x10\x05\x10\x98\n\x10\x07\x10\x9A\n\x10\f\x10\x0E\x10" +
1163
+ "\x9D\v\x10\x03\x10\x03\x10\x03\x10\x02\x02\x03\f\x11\x02\x02\x04\x02\x06" +
1164
+ "\x02\b\x02\n\x02\f\x02\x0E\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02" +
1165
+ "\x1A\x02\x1C\x02\x1E\x02\x02\b\x03\x02\x1E\x1F\x03\x02\r\x12\x03\x02&" +
1166
+ "\'\x03\x02\x19\x1A\x03\x02 !\x03\x02$%\x02\xAD\x02!\x03\x02\x02\x02\x04" +
1167
+ ".\x03\x02\x02\x02\x063\x03\x02\x02\x02\b8\x03\x02\x02\x02\n<\x03\x02\x02" +
1168
+ "\x02\fl\x03\x02\x02\x02\x0E}\x03\x02\x02\x02\x10\x81\x03\x02\x02\x02\x12" +
1169
+ "\x83\x03\x02\x02\x02\x14\x85\x03\x02\x02\x02\x16\x87\x03\x02\x02\x02\x18" +
1170
+ "\x89\x03\x02\x02\x02\x1A\x8B\x03\x02\x02\x02\x1C\x8D\x03\x02\x02\x02\x1E" +
1171
+ '\x8F\x03\x02\x02\x02 "\x05\f\x07\x02! \x03\x02\x02\x02!"\x03\x02\x02' +
1172
+ '\x02"$\x03\x02\x02\x02#%\x05\n\x06\x02$#\x03\x02\x02\x02$%\x03\x02\x02' +
1173
+ "\x02%\'\x03\x02\x02\x02&(\x05\x04\x03\x02\'&\x03\x02\x02\x02\'(\x03\x02" +
1174
+ "\x02\x02(*\x03\x02\x02\x02)+\x05\x06\x04\x02*)\x03\x02\x02\x02*+\x03\x02" +
1175
+ "\x02\x02+,\x03\x02\x02\x02,-\x07\x02\x02\x03-\x03\x03\x02\x02\x02.1\x07" +
1176
+ "\x1B\x02\x02/2\x05\x18\r\x0202\x05\x1C\x0F\x021/\x03\x02\x02\x0210\x03" +
1177
+ "\x02\x02\x022\x05\x03\x02\x02\x0236\x07\x1C\x02\x0247\x05\x16\f\x0257" +
1178
+ "\x05\x1C\x0F\x0264\x03\x02\x02\x0265\x03\x02\x02\x027\x07\x03\x02\x02" +
1179
+ "\x028:\x05\x12\n\x029;\t\x02\x02\x02:9\x03\x02\x02\x02:;\x03\x02\x02\x02" +
1180
+ ";\t\x03\x02\x02\x02<=\x07\x1D\x02\x02=B\x05\b\x05\x02>?\x07\x06\x02\x02" +
1181
+ "?A\x05\b\x05\x02@>\x03\x02\x02\x02AD\x03\x02\x02\x02B@\x03\x02\x02\x02" +
1182
+ "BC\x03\x02\x02\x02C\v\x03\x02\x02\x02DB\x03\x02\x02\x02EF\b\x07\x01\x02" +
1183
+ "FG\x05\x12\n\x02GJ\x07\x13\x02\x02HK\x05\x16\f\x02IK\x05\x1C\x0F\x02J" +
1184
+ "H\x03\x02\x02\x02JI\x03\x02\x02\x02Km\x03\x02\x02\x02LM\x05\x12\n\x02" +
1185
+ "MP\x07\x14\x02\x02NQ\x05\x1E\x10\x02OQ\x05\x1C\x0F\x02PN\x03\x02\x02\x02" +
1186
+ "PO\x03\x02\x02\x02Qm\x03\x02\x02\x02RS\x05\x12\n\x02SV\x07\x15\x02\x02" +
1187
+ "TW\x05\x16\f\x02UW\x05\x1C\x0F\x02VT\x03\x02\x02\x02VU\x03\x02\x02\x02" +
1188
+ "Wm\x03\x02\x02\x02XY\x05\x12\n\x02YZ\x07\x16\x02\x02Z[\x07\x18\x02\x02" +
1189
+ "[m\x03\x02\x02\x02\\]\x05\x12\n\x02]^\x07\x16\x02\x02^_\x07\x17\x02\x02" +
1190
+ "_`\x07\x18\x02\x02`m\x03\x02\x02\x02ab\x05\x12\n\x02be\t\x03\x02\x02c" +
1191
+ "f\x05\x0E\b\x02df\x05\x1C\x0F\x02ec\x03\x02\x02\x02ed\x03\x02\x02\x02" +
1192
+ "fm\x03\x02\x02\x02gh\x07\x04\x02\x02hi\x05\f\x07\x02ij\x07\x05\x02\x02" +
1193
+ "jm\x03\x02\x02\x02km\x05\x10\t\x02lE\x03\x02\x02\x02lL\x03\x02\x02\x02" +
1194
+ "lR\x03\x02\x02\x02lX\x03\x02\x02\x02l\\\x03\x02\x02\x02la\x03\x02\x02" +
1195
+ "\x02lg\x03\x02\x02\x02lk\x03\x02\x02\x02mv\x03\x02\x02\x02no\f\x06\x02" +
1196
+ "\x02op\x07\v\x02\x02pu\x05\f\x07\x07qr\f\x05\x02\x02rs\x07\f\x02\x02s" +
1197
+ "u\x05\f\x07\x06tn\x03\x02\x02\x02tq\x03\x02\x02\x02ux\x03\x02\x02\x02" +
1198
+ "vt\x03\x02\x02\x02vw\x03\x02\x02\x02w\r\x03\x02\x02\x02xv\x03\x02\x02" +
1199
+ "\x02y~\x05\x14\v\x02z~\x05\x18\r\x02{~\x05\x1A\x0E\x02|~\x05\x16\f\x02" +
1200
+ "}y\x03\x02\x02\x02}z\x03\x02\x02\x02}{\x03\x02\x02\x02}|\x03\x02\x02\x02" +
1201
+ "~\x0F\x03\x02\x02\x02\x7F\x82\x05\x0E\b\x02\x80\x82\x05\x12\n\x02\x81" +
1202
+ "\x7F\x03\x02\x02\x02\x81\x80\x03\x02\x02\x02\x82\x11\x03\x02\x02\x02\x83" +
1203
+ "\x84\t\x04\x02\x02\x84\x13\x03\x02\x02\x02\x85\x86\t\x05\x02\x02\x86\x15" +
1204
+ "\x03\x02\x02\x02\x87\x88\t\x06\x02\x02\x88\x17\x03\x02\x02\x02\x89\x8A" +
1205
+ '\x07"\x02\x02\x8A\x19\x03\x02\x02\x02\x8B\x8C\x07#\x02\x02\x8C\x1B\x03' +
1206
+ "\x02\x02\x02\x8D\x8E\t\x07\x02\x02\x8E\x1D\x03\x02\x02\x02\x8F\x92\x07" +
1207
+ "\t\x02\x02\x90\x93\x05\x0E\b\x02\x91\x93\x05\x1C\x0F\x02\x92\x90\x03\x02" +
1208
+ "\x02\x02\x92\x91\x03\x02\x02\x02\x93\x9B\x03\x02\x02\x02\x94\x97\x07\x06" +
1209
+ "\x02\x02\x95\x98\x05\x0E\b\x02\x96\x98\x05\x1C\x0F\x02\x97\x95\x03\x02" +
1210
+ "\x02\x02\x97\x96\x03\x02\x02\x02\x98\x9A\x03\x02\x02\x02\x99\x94\x03\x02" +
1211
+ "\x02\x02\x9A\x9D\x03\x02\x02\x02\x9B\x99\x03\x02\x02\x02\x9B\x9C\x03\x02" +
1212
+ "\x02\x02\x9C\x9E\x03\x02\x02\x02\x9D\x9B\x03\x02\x02\x02\x9E\x9F\x07\n" +
1213
+ "\x02\x02\x9F\x1F\x03\x02\x02\x02\x16!$\'*16:BJPVeltv}\x81\x92\x97\x9B";
1214
+ static __ATN;
739
1215
  static get _ATN() {
740
1216
  if (!WebdaQLParserParser.__ATN) {
741
1217
  WebdaQLParserParser.__ATN = new ATNDeserializer().deserialize(Utils.toCharArray(WebdaQLParserParser._serializedATN));
@@ -743,182 +1219,6 @@ export class WebdaQLParserParser extends Parser {
743
1219
  return WebdaQLParserParser.__ATN;
744
1220
  }
745
1221
  }
746
- WebdaQLParserParser.SPACE = 1;
747
- WebdaQLParserParser.LR_BRACKET = 2;
748
- WebdaQLParserParser.RR_BRACKET = 3;
749
- WebdaQLParserParser.COMMA = 4;
750
- WebdaQLParserParser.SINGLE_QUOTE_SYMB = 5;
751
- WebdaQLParserParser.DOUBLE_QUOTE_SYMB = 6;
752
- WebdaQLParserParser.LR_SQ_BRACKET = 7;
753
- WebdaQLParserParser.RR_SQ_BRACKET = 8;
754
- WebdaQLParserParser.AND = 9;
755
- WebdaQLParserParser.OR = 10;
756
- WebdaQLParserParser.EQUAL = 11;
757
- WebdaQLParserParser.NOT_EQUAL = 12;
758
- WebdaQLParserParser.GREATER = 13;
759
- WebdaQLParserParser.GREATER_OR_EQUAL = 14;
760
- WebdaQLParserParser.LESS = 15;
761
- WebdaQLParserParser.LESS_OR_EQUAL = 16;
762
- WebdaQLParserParser.LIKE = 17;
763
- WebdaQLParserParser.IN = 18;
764
- WebdaQLParserParser.CONTAINS = 19;
765
- WebdaQLParserParser.TRUE = 20;
766
- WebdaQLParserParser.FALSE = 21;
767
- WebdaQLParserParser.LIMIT = 22;
768
- WebdaQLParserParser.OFFSET = 23;
769
- WebdaQLParserParser.ORDER_BY = 24;
770
- WebdaQLParserParser.ASC = 25;
771
- WebdaQLParserParser.DESC = 26;
772
- WebdaQLParserParser.DQUOTED_STRING_LITERAL = 27;
773
- WebdaQLParserParser.SQUOTED_STRING_LITERAL = 28;
774
- WebdaQLParserParser.INTEGER_LITERAL = 29;
775
- WebdaQLParserParser.IDENTIFIER = 30;
776
- WebdaQLParserParser.IDENTIFIER_WITH_NUMBER = 31;
777
- WebdaQLParserParser.FUNCTION_IDENTIFIER_WITH_UNDERSCORE = 32;
778
- WebdaQLParserParser.RULE_webdaql = 0;
779
- WebdaQLParserParser.RULE_limitExpression = 1;
780
- WebdaQLParserParser.RULE_offsetExpression = 2;
781
- WebdaQLParserParser.RULE_orderFieldExpression = 3;
782
- WebdaQLParserParser.RULE_orderExpression = 4;
783
- WebdaQLParserParser.RULE_expression = 5;
784
- WebdaQLParserParser.RULE_values = 6;
785
- WebdaQLParserParser.RULE_atom = 7;
786
- WebdaQLParserParser.RULE_identifier = 8;
787
- WebdaQLParserParser.RULE_booleanLiteral = 9;
788
- WebdaQLParserParser.RULE_stringLiteral = 10;
789
- WebdaQLParserParser.RULE_integerLiteral = 11;
790
- WebdaQLParserParser.RULE_setExpression = 12;
791
- // tslint:disable:no-trailing-whitespace
792
- WebdaQLParserParser.ruleNames = [
793
- "webdaql",
794
- "limitExpression",
795
- "offsetExpression",
796
- "orderFieldExpression",
797
- "orderExpression",
798
- "expression",
799
- "values",
800
- "atom",
801
- "identifier",
802
- "booleanLiteral",
803
- "stringLiteral",
804
- "integerLiteral",
805
- "setExpression"
806
- ];
807
- WebdaQLParserParser._LITERAL_NAMES = [
808
- undefined,
809
- undefined,
810
- "'('",
811
- "')'",
812
- "','",
813
- "'''",
814
- "'\"'",
815
- "'['",
816
- "']'",
817
- "'AND'",
818
- "'OR'",
819
- "'='",
820
- "'!='",
821
- "'>'",
822
- "'>='",
823
- "'<'",
824
- "'<='",
825
- "'LIKE'",
826
- "'IN'",
827
- "'CONTAINS'",
828
- "'TRUE'",
829
- "'FALSE'",
830
- "'LIMIT'",
831
- "'OFFSET'",
832
- "'ORDER BY'",
833
- "'ASC'",
834
- "'DESC'"
835
- ];
836
- WebdaQLParserParser._SYMBOLIC_NAMES = [
837
- undefined,
838
- "SPACE",
839
- "LR_BRACKET",
840
- "RR_BRACKET",
841
- "COMMA",
842
- "SINGLE_QUOTE_SYMB",
843
- "DOUBLE_QUOTE_SYMB",
844
- "LR_SQ_BRACKET",
845
- "RR_SQ_BRACKET",
846
- "AND",
847
- "OR",
848
- "EQUAL",
849
- "NOT_EQUAL",
850
- "GREATER",
851
- "GREATER_OR_EQUAL",
852
- "LESS",
853
- "LESS_OR_EQUAL",
854
- "LIKE",
855
- "IN",
856
- "CONTAINS",
857
- "TRUE",
858
- "FALSE",
859
- "LIMIT",
860
- "OFFSET",
861
- "ORDER_BY",
862
- "ASC",
863
- "DESC",
864
- "DQUOTED_STRING_LITERAL",
865
- "SQUOTED_STRING_LITERAL",
866
- "INTEGER_LITERAL",
867
- "IDENTIFIER",
868
- "IDENTIFIER_WITH_NUMBER",
869
- "FUNCTION_IDENTIFIER_WITH_UNDERSCORE"
870
- ];
871
- WebdaQLParserParser.VOCABULARY = new VocabularyImpl(WebdaQLParserParser._LITERAL_NAMES, WebdaQLParserParser._SYMBOLIC_NAMES, []);
872
- WebdaQLParserParser._serializedATN = '\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x03"}\x04\x02\t' +
873
- "\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04\x07\t" +
874
- "\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r\t\r\x04\x0E" +
875
- "\t\x0E\x03\x02\x05\x02\x1E\n\x02\x03\x02\x05\x02!\n\x02\x03\x02\x05\x02" +
876
- "$\n\x02\x03\x02\x05\x02'\n\x02\x03\x02\x03\x02\x03\x03\x03\x03\x03\x03" +
877
- "\x03\x04\x03\x04\x03\x04\x03\x05\x03\x05\x05\x053\n\x05\x03\x06\x03\x06" +
878
- "\x03\x06\x03\x06\x07\x069\n\x06\f\x06\x0E\x06<\v\x06\x03\x07\x03\x07\x03" +
879
- "\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03" +
880
- "\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03" +
881
- "\x07\x03\x07\x05\x07T\n\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03" +
882
- "\x07\x07\x07\\\n\x07\f\x07\x0E\x07_\v\x07\x03\b\x03\b\x03\b\x05\bd\n\b" +
883
- "\x03\t\x03\t\x05\th\n\t\x03\n\x03\n\x03\v\x03\v\x03\f\x03\f\x03\r\x03" +
884
- "\r\x03\x0E\x03\x0E\x03\x0E\x03\x0E\x07\x0Ev\n\x0E\f\x0E\x0E\x0Ey\v\x0E" +
885
- "\x03\x0E\x03\x0E\x03\x0E\x02\x02\x03\f\x0F\x02\x02\x04\x02\x06\x02\b\x02" +
886
- "\n\x02\f\x02\x0E\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1A\x02\x02" +
887
- "\x07\x03\x02\x1B\x1C\x03\x02\r\x12\x03\x02 !\x03\x02\x16\x17\x03\x02\x1D" +
888
- "\x1E\x02\x80\x02\x1D\x03\x02\x02\x02\x04*\x03\x02\x02\x02\x06-\x03\x02" +
889
- "\x02\x02\b0\x03\x02\x02\x02\n4\x03\x02\x02\x02\fS\x03\x02\x02\x02\x0E" +
890
- "c\x03\x02\x02\x02\x10g\x03\x02\x02\x02\x12i\x03\x02\x02\x02\x14k\x03\x02" +
891
- "\x02\x02\x16m\x03\x02\x02\x02\x18o\x03\x02\x02\x02\x1Aq\x03\x02\x02\x02" +
892
- "\x1C\x1E\x05\f\x07\x02\x1D\x1C\x03\x02\x02\x02\x1D\x1E\x03\x02\x02\x02" +
893
- "\x1E \x03\x02\x02\x02\x1F!\x05\n\x06\x02 \x1F\x03\x02\x02\x02 !\x03\x02" +
894
- '\x02\x02!#\x03\x02\x02\x02"$\x05\x04\x03\x02#"\x03\x02\x02\x02#$\x03' +
895
- "\x02\x02\x02$&\x03\x02\x02\x02%'\x05\x06\x04\x02&%\x03\x02\x02\x02&'" +
896
- "\x03\x02\x02\x02'(\x03\x02\x02\x02()\x07\x02\x02\x03)\x03\x03\x02\x02" +
897
- "\x02*+\x07\x18\x02\x02+,\x05\x18\r\x02,\x05\x03\x02\x02\x02-.\x07\x19" +
898
- "\x02\x02./\x05\x16\f\x02/\x07\x03\x02\x02\x0202\x05\x12\n\x0213\t\x02" +
899
- "\x02\x0221\x03\x02\x02\x0223\x03\x02\x02\x023\t\x03\x02\x02\x0245\x07" +
900
- "\x1A\x02\x025:\x05\b\x05\x0267\x07\x06\x02\x0279\x05\b\x05\x0286\x03\x02" +
901
- "\x02\x029<\x03\x02\x02\x02:8\x03\x02\x02\x02:;\x03\x02\x02\x02;\v\x03" +
902
- "\x02\x02\x02<:\x03\x02\x02\x02=>\b\x07\x01\x02>?\x05\x12\n\x02?@\x07\x13" +
903
- "\x02\x02@A\x05\x16\f\x02AT\x03\x02\x02\x02BC\x05\x12\n\x02CD\x07\x14\x02" +
904
- "\x02DE\x05\x1A\x0E\x02ET\x03\x02\x02\x02FG\x05\x12\n\x02GH\x07\x15\x02" +
905
- "\x02HI\x05\x16\f\x02IT\x03\x02\x02\x02JK\x05\x12\n\x02KL\t\x03\x02\x02" +
906
- "LM\x05\x0E\b\x02MT\x03\x02\x02\x02NO\x07\x04\x02\x02OP\x05\f\x07\x02P" +
907
- "Q\x07\x05\x02\x02QT\x03\x02\x02\x02RT\x05\x10\t\x02S=\x03\x02\x02\x02" +
908
- "SB\x03\x02\x02\x02SF\x03\x02\x02\x02SJ\x03\x02\x02\x02SN\x03\x02\x02\x02" +
909
- "SR\x03\x02\x02\x02T]\x03\x02\x02\x02UV\f\x06\x02\x02VW\x07\v\x02\x02W" +
910
- "\\\x05\f\x07\x07XY\f\x05\x02\x02YZ\x07\f\x02\x02Z\\\x05\f\x07\x06[U\x03" +
911
- "\x02\x02\x02[X\x03\x02\x02\x02\\_\x03\x02\x02\x02][\x03\x02\x02\x02]^" +
912
- "\x03\x02\x02\x02^\r\x03\x02\x02\x02_]\x03\x02\x02\x02`d\x05\x14\v\x02" +
913
- "ad\x05\x18\r\x02bd\x05\x16\f\x02c`\x03\x02\x02\x02ca\x03\x02\x02\x02c" +
914
- "b\x03\x02\x02\x02d\x0F\x03\x02\x02\x02eh\x05\x0E\b\x02fh\x05\x12\n\x02" +
915
- "ge\x03\x02\x02\x02gf\x03\x02\x02\x02h\x11\x03\x02\x02\x02ij\t\x04\x02" +
916
- "\x02j\x13\x03\x02\x02\x02kl\t\x05\x02\x02l\x15\x03\x02\x02\x02mn\t\x06" +
917
- "\x02\x02n\x17\x03\x02\x02\x02op\x07\x1F\x02\x02p\x19\x03\x02\x02\x02q" +
918
- "r\x07\t\x02\x02rw\x05\x0E\b\x02st\x07\x06\x02\x02tv\x05\x0E\b\x02us\x03" +
919
- "\x02\x02\x02vy\x03\x02\x02\x02wu\x03\x02\x02\x02wx\x03\x02\x02\x02xz\x03" +
920
- "\x02\x02\x02yw\x03\x02\x02\x02z{\x07\n\x02\x02{\x1B\x03\x02\x02\x02\x0E" +
921
- "\x1D #&2:S[]cgw";
922
1222
  export class WebdaqlContext extends ParserRuleContext {
923
1223
  EOF() {
924
1224
  return this.getToken(WebdaQLParserParser.EOF, 0);
@@ -969,7 +1269,10 @@ export class LimitExpressionContext extends ParserRuleContext {
969
1269
  return this.getToken(WebdaQLParserParser.LIMIT, 0);
970
1270
  }
971
1271
  integerLiteral() {
972
- return this.getRuleContext(0, IntegerLiteralContext);
1272
+ return this.tryGetRuleContext(0, IntegerLiteralContext);
1273
+ }
1274
+ parameter() {
1275
+ return this.tryGetRuleContext(0, ParameterContext);
973
1276
  }
974
1277
  constructor(parent, invokingState) {
975
1278
  super(parent, invokingState);
@@ -1005,7 +1308,10 @@ export class OffsetExpressionContext extends ParserRuleContext {
1005
1308
  return this.getToken(WebdaQLParserParser.OFFSET, 0);
1006
1309
  }
1007
1310
  stringLiteral() {
1008
- return this.getRuleContext(0, StringLiteralContext);
1311
+ return this.tryGetRuleContext(0, StringLiteralContext);
1312
+ }
1313
+ parameter() {
1314
+ return this.tryGetRuleContext(0, ParameterContext);
1009
1315
  }
1010
1316
  constructor(parent, invokingState) {
1011
1317
  super(parent, invokingState);
@@ -1144,7 +1450,10 @@ export class LikeExpressionContext extends ExpressionContext {
1144
1450
  return this.getToken(WebdaQLParserParser.LIKE, 0);
1145
1451
  }
1146
1452
  stringLiteral() {
1147
- return this.getRuleContext(0, StringLiteralContext);
1453
+ return this.tryGetRuleContext(0, StringLiteralContext);
1454
+ }
1455
+ parameter() {
1456
+ return this.tryGetRuleContext(0, ParameterContext);
1148
1457
  }
1149
1458
  constructor(ctx) {
1150
1459
  super(ctx.parent, ctx.invokingState);
@@ -1180,7 +1489,10 @@ export class InExpressionContext extends ExpressionContext {
1180
1489
  return this.getToken(WebdaQLParserParser.IN, 0);
1181
1490
  }
1182
1491
  setExpression() {
1183
- return this.getRuleContext(0, SetExpressionContext);
1492
+ return this.tryGetRuleContext(0, SetExpressionContext);
1493
+ }
1494
+ parameter() {
1495
+ return this.tryGetRuleContext(0, ParameterContext);
1184
1496
  }
1185
1497
  constructor(ctx) {
1186
1498
  super(ctx.parent, ctx.invokingState);
@@ -1216,7 +1528,10 @@ export class ContainsExpressionContext extends ExpressionContext {
1216
1528
  return this.getToken(WebdaQLParserParser.CONTAINS, 0);
1217
1529
  }
1218
1530
  stringLiteral() {
1219
- return this.getRuleContext(0, StringLiteralContext);
1531
+ return this.tryGetRuleContext(0, StringLiteralContext);
1532
+ }
1533
+ parameter() {
1534
+ return this.tryGetRuleContext(0, ParameterContext);
1220
1535
  }
1221
1536
  constructor(ctx) {
1222
1537
  super(ctx.parent, ctx.invokingState);
@@ -1244,12 +1559,84 @@ export class ContainsExpressionContext extends ExpressionContext {
1244
1559
  }
1245
1560
  }
1246
1561
  }
1247
- export class BinaryComparisonExpressionContext extends ExpressionContext {
1562
+ export class IsNullExpressionContext extends ExpressionContext {
1248
1563
  identifier() {
1249
1564
  return this.getRuleContext(0, IdentifierContext);
1250
1565
  }
1251
- values() {
1252
- return this.getRuleContext(0, ValuesContext);
1566
+ IS() {
1567
+ return this.getToken(WebdaQLParserParser.IS, 0);
1568
+ }
1569
+ NULL() {
1570
+ return this.getToken(WebdaQLParserParser.NULL, 0);
1571
+ }
1572
+ constructor(ctx) {
1573
+ super(ctx.parent, ctx.invokingState);
1574
+ this.copyFrom(ctx);
1575
+ }
1576
+ // @Override
1577
+ enterRule(listener) {
1578
+ if (listener.enterIsNullExpression) {
1579
+ listener.enterIsNullExpression(this);
1580
+ }
1581
+ }
1582
+ // @Override
1583
+ exitRule(listener) {
1584
+ if (listener.exitIsNullExpression) {
1585
+ listener.exitIsNullExpression(this);
1586
+ }
1587
+ }
1588
+ // @Override
1589
+ accept(visitor) {
1590
+ if (visitor.visitIsNullExpression) {
1591
+ return visitor.visitIsNullExpression(this);
1592
+ }
1593
+ else {
1594
+ return visitor.visitChildren(this);
1595
+ }
1596
+ }
1597
+ }
1598
+ export class IsNotNullExpressionContext extends ExpressionContext {
1599
+ identifier() {
1600
+ return this.getRuleContext(0, IdentifierContext);
1601
+ }
1602
+ IS() {
1603
+ return this.getToken(WebdaQLParserParser.IS, 0);
1604
+ }
1605
+ NOT() {
1606
+ return this.getToken(WebdaQLParserParser.NOT, 0);
1607
+ }
1608
+ NULL() {
1609
+ return this.getToken(WebdaQLParserParser.NULL, 0);
1610
+ }
1611
+ constructor(ctx) {
1612
+ super(ctx.parent, ctx.invokingState);
1613
+ this.copyFrom(ctx);
1614
+ }
1615
+ // @Override
1616
+ enterRule(listener) {
1617
+ if (listener.enterIsNotNullExpression) {
1618
+ listener.enterIsNotNullExpression(this);
1619
+ }
1620
+ }
1621
+ // @Override
1622
+ exitRule(listener) {
1623
+ if (listener.exitIsNotNullExpression) {
1624
+ listener.exitIsNotNullExpression(this);
1625
+ }
1626
+ }
1627
+ // @Override
1628
+ accept(visitor) {
1629
+ if (visitor.visitIsNotNullExpression) {
1630
+ return visitor.visitIsNotNullExpression(this);
1631
+ }
1632
+ else {
1633
+ return visitor.visitChildren(this);
1634
+ }
1635
+ }
1636
+ }
1637
+ export class BinaryComparisonExpressionContext extends ExpressionContext {
1638
+ identifier() {
1639
+ return this.getRuleContext(0, IdentifierContext);
1253
1640
  }
1254
1641
  EQUAL() {
1255
1642
  return this.tryGetToken(WebdaQLParserParser.EQUAL, 0);
@@ -1269,6 +1656,12 @@ export class BinaryComparisonExpressionContext extends ExpressionContext {
1269
1656
  GREATER() {
1270
1657
  return this.tryGetToken(WebdaQLParserParser.GREATER, 0);
1271
1658
  }
1659
+ values() {
1660
+ return this.tryGetRuleContext(0, ValuesContext);
1661
+ }
1662
+ parameter() {
1663
+ return this.tryGetRuleContext(0, ParameterContext);
1664
+ }
1272
1665
  constructor(ctx) {
1273
1666
  super(ctx.parent, ctx.invokingState);
1274
1667
  this.copyFrom(ctx);
@@ -1509,6 +1902,36 @@ export class IntegerAtomContext extends ValuesContext {
1509
1902
  }
1510
1903
  }
1511
1904
  }
1905
+ export class NumberAtomContext extends ValuesContext {
1906
+ numberLiteral() {
1907
+ return this.getRuleContext(0, NumberLiteralContext);
1908
+ }
1909
+ constructor(ctx) {
1910
+ super(ctx.parent, ctx.invokingState);
1911
+ this.copyFrom(ctx);
1912
+ }
1913
+ // @Override
1914
+ enterRule(listener) {
1915
+ if (listener.enterNumberAtom) {
1916
+ listener.enterNumberAtom(this);
1917
+ }
1918
+ }
1919
+ // @Override
1920
+ exitRule(listener) {
1921
+ if (listener.exitNumberAtom) {
1922
+ listener.exitNumberAtom(this);
1923
+ }
1924
+ }
1925
+ // @Override
1926
+ accept(visitor) {
1927
+ if (visitor.visitNumberAtom) {
1928
+ return visitor.visitNumberAtom(this);
1929
+ }
1930
+ else {
1931
+ return visitor.visitChildren(this);
1932
+ }
1933
+ }
1934
+ }
1512
1935
  export class StringAtomContext extends ValuesContext {
1513
1936
  stringLiteral() {
1514
1937
  return this.getRuleContext(0, StringLiteralContext);
@@ -1752,10 +2175,82 @@ export class IntegerLiteralContext extends ParserRuleContext {
1752
2175
  }
1753
2176
  }
1754
2177
  }
2178
+ export class NumberLiteralContext extends ParserRuleContext {
2179
+ NUMBER_LITERAL() {
2180
+ return this.getToken(WebdaQLParserParser.NUMBER_LITERAL, 0);
2181
+ }
2182
+ constructor(parent, invokingState) {
2183
+ super(parent, invokingState);
2184
+ }
2185
+ // @Override
2186
+ get ruleIndex() {
2187
+ return WebdaQLParserParser.RULE_numberLiteral;
2188
+ }
2189
+ // @Override
2190
+ enterRule(listener) {
2191
+ if (listener.enterNumberLiteral) {
2192
+ listener.enterNumberLiteral(this);
2193
+ }
2194
+ }
2195
+ // @Override
2196
+ exitRule(listener) {
2197
+ if (listener.exitNumberLiteral) {
2198
+ listener.exitNumberLiteral(this);
2199
+ }
2200
+ }
2201
+ // @Override
2202
+ accept(visitor) {
2203
+ if (visitor.visitNumberLiteral) {
2204
+ return visitor.visitNumberLiteral(this);
2205
+ }
2206
+ else {
2207
+ return visitor.visitChildren(this);
2208
+ }
2209
+ }
2210
+ }
2211
+ export class ParameterContext extends ParserRuleContext {
2212
+ POSITIONAL_PARAMETER() {
2213
+ return this.tryGetToken(WebdaQLParserParser.POSITIONAL_PARAMETER, 0);
2214
+ }
2215
+ NAMED_PARAMETER() {
2216
+ return this.tryGetToken(WebdaQLParserParser.NAMED_PARAMETER, 0);
2217
+ }
2218
+ constructor(parent, invokingState) {
2219
+ super(parent, invokingState);
2220
+ }
2221
+ // @Override
2222
+ get ruleIndex() {
2223
+ return WebdaQLParserParser.RULE_parameter;
2224
+ }
2225
+ // @Override
2226
+ enterRule(listener) {
2227
+ if (listener.enterParameter) {
2228
+ listener.enterParameter(this);
2229
+ }
2230
+ }
2231
+ // @Override
2232
+ exitRule(listener) {
2233
+ if (listener.exitParameter) {
2234
+ listener.exitParameter(this);
2235
+ }
2236
+ }
2237
+ // @Override
2238
+ accept(visitor) {
2239
+ if (visitor.visitParameter) {
2240
+ return visitor.visitParameter(this);
2241
+ }
2242
+ else {
2243
+ return visitor.visitChildren(this);
2244
+ }
2245
+ }
2246
+ }
1755
2247
  export class SetExpressionContext extends ParserRuleContext {
1756
2248
  LR_SQ_BRACKET() {
1757
2249
  return this.getToken(WebdaQLParserParser.LR_SQ_BRACKET, 0);
1758
2250
  }
2251
+ RR_SQ_BRACKET() {
2252
+ return this.getToken(WebdaQLParserParser.RR_SQ_BRACKET, 0);
2253
+ }
1759
2254
  values(i) {
1760
2255
  if (i === undefined) {
1761
2256
  return this.getRuleContexts(ValuesContext);
@@ -1764,8 +2259,13 @@ export class SetExpressionContext extends ParserRuleContext {
1764
2259
  return this.getRuleContext(i, ValuesContext);
1765
2260
  }
1766
2261
  }
1767
- RR_SQ_BRACKET() {
1768
- return this.getToken(WebdaQLParserParser.RR_SQ_BRACKET, 0);
2262
+ parameter(i) {
2263
+ if (i === undefined) {
2264
+ return this.getRuleContexts(ParameterContext);
2265
+ }
2266
+ else {
2267
+ return this.getRuleContext(i, ParameterContext);
2268
+ }
1769
2269
  }
1770
2270
  COMMA(i) {
1771
2271
  if (i === undefined) {