@webda/ql 4.0.0-beta.7 → 4.0.0-beta.8

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.
@@ -54,15 +54,16 @@ export class WebdaQLParserParser extends Parser {
54
54
  static MIN = 41;
55
55
  static MAX = 42;
56
56
  static STAR = 43;
57
- static DQUOTED_STRING_LITERAL = 44;
58
- static SQUOTED_STRING_LITERAL = 45;
59
- static INTEGER_LITERAL = 46;
60
- static NUMBER_LITERAL = 47;
61
- static POSITIONAL_PARAMETER = 48;
62
- static NAMED_PARAMETER = 49;
63
- static IDENTIFIER = 50;
64
- static IDENTIFIER_WITH_NUMBER = 51;
65
- static FUNCTION_IDENTIFIER_WITH_UNDERSCORE = 52;
57
+ static NOW = 44;
58
+ static DQUOTED_STRING_LITERAL = 45;
59
+ static SQUOTED_STRING_LITERAL = 46;
60
+ static INTEGER_LITERAL = 47;
61
+ static NUMBER_LITERAL = 48;
62
+ static POSITIONAL_PARAMETER = 49;
63
+ static NAMED_PARAMETER = 50;
64
+ static IDENTIFIER = 51;
65
+ static IDENTIFIER_WITH_NUMBER = 52;
66
+ static FUNCTION_IDENTIFIER_WITH_UNDERSCORE = 53;
66
67
  static RULE_webdaql = 0;
67
68
  static RULE_statement = 1;
68
69
  static RULE_deleteStatement = 2;
@@ -89,140 +90,35 @@ export class WebdaQLParserParser extends Parser {
89
90
  static RULE_numberLiteral = 23;
90
91
  static RULE_parameter = 24;
91
92
  static RULE_setExpression = 25;
93
+ static RULE_functionCall = 26;
92
94
  // tslint:disable:no-trailing-whitespace
93
95
  static ruleNames = [
94
- "webdaql",
95
- "statement",
96
- "deleteStatement",
97
- "updateStatement",
98
- "selectStatement",
99
- "filterQuery",
100
- "whereClause",
101
- "assignmentList",
102
- "assignment",
103
- "fieldList",
104
- "selectItem",
105
- "groupByExpression",
106
- "limitExpression",
107
- "offsetExpression",
108
- "orderFieldExpression",
109
- "orderExpression",
110
- "expression",
111
- "values",
112
- "atom",
113
- "identifier",
114
- "booleanLiteral",
115
- "stringLiteral",
116
- "integerLiteral",
117
- "numberLiteral",
118
- "parameter",
119
- "setExpression"
96
+ "webdaql", "statement", "deleteStatement", "updateStatement", "selectStatement",
97
+ "filterQuery", "whereClause", "assignmentList", "assignment", "fieldList",
98
+ "selectItem", "groupByExpression", "limitExpression", "offsetExpression",
99
+ "orderFieldExpression", "orderExpression", "expression", "values", "atom",
100
+ "identifier", "booleanLiteral", "stringLiteral", "integerLiteral", "numberLiteral",
101
+ "parameter", "setExpression", "functionCall",
120
102
  ];
121
103
  static _LITERAL_NAMES = [
122
- undefined,
123
- undefined,
124
- "'('",
125
- "')'",
126
- "','",
127
- "'''",
128
- "'\"'",
129
- "'['",
130
- "']'",
131
- "'DELETE'",
132
- "'UPDATE'",
133
- "'SELECT'",
134
- "'SET'",
135
- "'WHERE'",
136
- "'AND'",
137
- "'OR'",
138
- "'='",
139
- "'!='",
140
- "'>'",
141
- "'>='",
142
- "'<'",
143
- "'<='",
144
- "'LIKE'",
145
- "'IN'",
146
- "'CONTAINS'",
147
- "'IS'",
148
- "'NOT'",
149
- "'NULL'",
150
- "'TRUE'",
151
- "'FALSE'",
152
- "'LIMIT'",
153
- "'OFFSET'",
154
- "'ORDER BY'",
155
- "'ASC'",
156
- "'DESC'",
157
- "'GROUP BY'",
158
- "'AS'",
159
- "'DISTINCT'",
160
- "'COUNT'",
161
- "'SUM'",
162
- "'AVG'",
163
- "'MIN'",
164
- "'MAX'",
165
- "'*'",
166
- undefined,
167
- undefined,
168
- undefined,
169
- undefined,
170
- "'?'"
104
+ undefined, undefined, "'('", "')'", "','", "'''", "'\"'", "'['", "']'",
105
+ "'DELETE'", "'UPDATE'", "'SELECT'", "'SET'", "'WHERE'", "'AND'", "'OR'",
106
+ "'='", "'!='", "'>'", "'>='", "'<'", "'<='", "'LIKE'", "'IN'", "'CONTAINS'",
107
+ "'IS'", "'NOT'", "'NULL'", "'TRUE'", "'FALSE'", "'LIMIT'", "'OFFSET'",
108
+ "'ORDER BY'", "'ASC'", "'DESC'", "'GROUP BY'", "'AS'", "'DISTINCT'", "'COUNT'",
109
+ "'SUM'", "'AVG'", "'MIN'", "'MAX'", "'*'", "'NOW'", undefined, undefined,
110
+ undefined, undefined, "'?'",
171
111
  ];
172
112
  static _SYMBOLIC_NAMES = [
173
- undefined,
174
- "SPACE",
175
- "LR_BRACKET",
176
- "RR_BRACKET",
177
- "COMMA",
178
- "SINGLE_QUOTE_SYMB",
179
- "DOUBLE_QUOTE_SYMB",
180
- "LR_SQ_BRACKET",
181
- "RR_SQ_BRACKET",
182
- "DELETE",
183
- "UPDATE",
184
- "SELECT",
185
- "SET",
186
- "WHERE",
187
- "AND",
188
- "OR",
189
- "EQUAL",
190
- "NOT_EQUAL",
191
- "GREATER",
192
- "GREATER_OR_EQUAL",
193
- "LESS",
194
- "LESS_OR_EQUAL",
195
- "LIKE",
196
- "IN",
197
- "CONTAINS",
198
- "IS",
199
- "NOT",
200
- "NULL",
201
- "TRUE",
202
- "FALSE",
203
- "LIMIT",
204
- "OFFSET",
205
- "ORDER_BY",
206
- "ASC",
207
- "DESC",
208
- "GROUP_BY",
209
- "AS",
210
- "DISTINCT",
211
- "COUNT",
212
- "SUM",
213
- "AVG",
214
- "MIN",
215
- "MAX",
216
- "STAR",
217
- "DQUOTED_STRING_LITERAL",
218
- "SQUOTED_STRING_LITERAL",
219
- "INTEGER_LITERAL",
220
- "NUMBER_LITERAL",
221
- "POSITIONAL_PARAMETER",
222
- "NAMED_PARAMETER",
223
- "IDENTIFIER",
224
- "IDENTIFIER_WITH_NUMBER",
225
- "FUNCTION_IDENTIFIER_WITH_UNDERSCORE"
113
+ undefined, "SPACE", "LR_BRACKET", "RR_BRACKET", "COMMA", "SINGLE_QUOTE_SYMB",
114
+ "DOUBLE_QUOTE_SYMB", "LR_SQ_BRACKET", "RR_SQ_BRACKET", "DELETE", "UPDATE",
115
+ "SELECT", "SET", "WHERE", "AND", "OR", "EQUAL", "NOT_EQUAL", "GREATER",
116
+ "GREATER_OR_EQUAL", "LESS", "LESS_OR_EQUAL", "LIKE", "IN", "CONTAINS",
117
+ "IS", "NOT", "NULL", "TRUE", "FALSE", "LIMIT", "OFFSET", "ORDER_BY", "ASC",
118
+ "DESC", "GROUP_BY", "AS", "DISTINCT", "COUNT", "SUM", "AVG", "MIN", "MAX",
119
+ "STAR", "NOW", "DQUOTED_STRING_LITERAL", "SQUOTED_STRING_LITERAL", "INTEGER_LITERAL",
120
+ "NUMBER_LITERAL", "POSITIONAL_PARAMETER", "NAMED_PARAMETER", "IDENTIFIER",
121
+ "IDENTIFIER_WITH_NUMBER", "FUNCTION_IDENTIFIER_WITH_UNDERSCORE",
226
122
  ];
227
123
  static VOCABULARY = new VocabularyImpl(WebdaQLParserParser._LITERAL_NAMES, WebdaQLParserParser._SYMBOLIC_NAMES, []);
228
124
  // @Override
@@ -232,17 +128,11 @@ export class WebdaQLParserParser extends Parser {
232
128
  }
233
129
  // tslint:enable:no-trailing-whitespace
234
130
  // @Override
235
- get grammarFileName() {
236
- return "WebdaQLParser.g4";
237
- }
131
+ get grammarFileName() { return "WebdaQLParser.g4"; }
238
132
  // @Override
239
- get ruleNames() {
240
- return WebdaQLParserParser.ruleNames;
241
- }
133
+ get ruleNames() { return WebdaQLParserParser.ruleNames; }
242
134
  // @Override
243
- get serializedATN() {
244
- return WebdaQLParserParser._serializedATN;
245
- }
135
+ get serializedATN() { return WebdaQLParserParser._serializedATN; }
246
136
  createFailedPredicateException(predicate, message) {
247
137
  return new FailedPredicateException(this, predicate, message);
248
138
  }
@@ -257,14 +147,14 @@ export class WebdaQLParserParser extends Parser {
257
147
  try {
258
148
  this.enterOuterAlt(_localctx, 1);
259
149
  {
260
- this.state = 54;
150
+ this.state = 56;
261
151
  this._errHandler.sync(this);
262
152
  switch (this._input.LA(1)) {
263
153
  case WebdaQLParserParser.DELETE:
264
154
  case WebdaQLParserParser.UPDATE:
265
155
  case WebdaQLParserParser.SELECT:
266
156
  {
267
- this.state = 52;
157
+ this.state = 54;
268
158
  this.statement();
269
159
  }
270
160
  break;
@@ -282,14 +172,14 @@ export class WebdaQLParserParser extends Parser {
282
172
  case WebdaQLParserParser.IDENTIFIER:
283
173
  case WebdaQLParserParser.IDENTIFIER_WITH_NUMBER:
284
174
  {
285
- this.state = 53;
175
+ this.state = 55;
286
176
  this.filterQuery();
287
177
  }
288
178
  break;
289
179
  default:
290
180
  throw new NoViableAltException(this);
291
181
  }
292
- this.state = 56;
182
+ this.state = 58;
293
183
  this.match(WebdaQLParserParser.EOF);
294
184
  }
295
185
  }
@@ -313,27 +203,27 @@ export class WebdaQLParserParser extends Parser {
313
203
  let _localctx = new StatementContext(this._ctx, this.state);
314
204
  this.enterRule(_localctx, 2, WebdaQLParserParser.RULE_statement);
315
205
  try {
316
- this.state = 61;
206
+ this.state = 63;
317
207
  this._errHandler.sync(this);
318
208
  switch (this._input.LA(1)) {
319
209
  case WebdaQLParserParser.DELETE:
320
210
  this.enterOuterAlt(_localctx, 1);
321
211
  {
322
- this.state = 58;
212
+ this.state = 60;
323
213
  this.deleteStatement();
324
214
  }
325
215
  break;
326
216
  case WebdaQLParserParser.UPDATE:
327
217
  this.enterOuterAlt(_localctx, 2);
328
218
  {
329
- this.state = 59;
219
+ this.state = 61;
330
220
  this.updateStatement();
331
221
  }
332
222
  break;
333
223
  case WebdaQLParserParser.SELECT:
334
224
  this.enterOuterAlt(_localctx, 3);
335
225
  {
336
- this.state = 60;
226
+ this.state = 62;
337
227
  this.selectStatement();
338
228
  }
339
229
  break;
@@ -364,23 +254,23 @@ export class WebdaQLParserParser extends Parser {
364
254
  try {
365
255
  this.enterOuterAlt(_localctx, 1);
366
256
  {
367
- this.state = 63;
368
- this.match(WebdaQLParserParser.DELETE);
369
257
  this.state = 65;
258
+ this.match(WebdaQLParserParser.DELETE);
259
+ this.state = 67;
370
260
  this._errHandler.sync(this);
371
261
  _la = this._input.LA(1);
372
262
  if (_la === WebdaQLParserParser.WHERE) {
373
263
  {
374
- this.state = 64;
264
+ this.state = 66;
375
265
  this.whereClause();
376
266
  }
377
267
  }
378
- this.state = 68;
268
+ this.state = 70;
379
269
  this._errHandler.sync(this);
380
270
  _la = this._input.LA(1);
381
271
  if (_la === WebdaQLParserParser.LIMIT) {
382
272
  {
383
- this.state = 67;
273
+ this.state = 69;
384
274
  this.limitExpression();
385
275
  }
386
276
  }
@@ -409,27 +299,27 @@ export class WebdaQLParserParser extends Parser {
409
299
  try {
410
300
  this.enterOuterAlt(_localctx, 1);
411
301
  {
412
- this.state = 70;
302
+ this.state = 72;
413
303
  this.match(WebdaQLParserParser.UPDATE);
414
- this.state = 71;
304
+ this.state = 73;
415
305
  this.match(WebdaQLParserParser.SET);
416
- this.state = 72;
417
- this.assignmentList();
418
306
  this.state = 74;
307
+ this.assignmentList();
308
+ this.state = 76;
419
309
  this._errHandler.sync(this);
420
310
  _la = this._input.LA(1);
421
311
  if (_la === WebdaQLParserParser.WHERE) {
422
312
  {
423
- this.state = 73;
313
+ this.state = 75;
424
314
  this.whereClause();
425
315
  }
426
316
  }
427
- this.state = 77;
317
+ this.state = 79;
428
318
  this._errHandler.sync(this);
429
319
  _la = this._input.LA(1);
430
320
  if (_la === WebdaQLParserParser.LIMIT) {
431
321
  {
432
- this.state = 76;
322
+ this.state = 78;
433
323
  this.limitExpression();
434
324
  }
435
325
  }
@@ -458,52 +348,52 @@ export class WebdaQLParserParser extends Parser {
458
348
  try {
459
349
  this.enterOuterAlt(_localctx, 1);
460
350
  {
461
- this.state = 79;
351
+ this.state = 81;
462
352
  this.match(WebdaQLParserParser.SELECT);
463
- this.state = 80;
464
- this.fieldList();
465
353
  this.state = 82;
354
+ this.fieldList();
355
+ this.state = 84;
466
356
  this._errHandler.sync(this);
467
357
  _la = this._input.LA(1);
468
358
  if (_la === WebdaQLParserParser.WHERE) {
469
359
  {
470
- this.state = 81;
360
+ this.state = 83;
471
361
  this.whereClause();
472
362
  }
473
363
  }
474
- this.state = 85;
364
+ this.state = 87;
475
365
  this._errHandler.sync(this);
476
366
  _la = this._input.LA(1);
477
367
  if (_la === WebdaQLParserParser.GROUP_BY) {
478
368
  {
479
- this.state = 84;
369
+ this.state = 86;
480
370
  this.groupByExpression();
481
371
  }
482
372
  }
483
- this.state = 88;
373
+ this.state = 90;
484
374
  this._errHandler.sync(this);
485
375
  _la = this._input.LA(1);
486
376
  if (_la === WebdaQLParserParser.ORDER_BY) {
487
377
  {
488
- this.state = 87;
378
+ this.state = 89;
489
379
  this.orderExpression();
490
380
  }
491
381
  }
492
- this.state = 91;
382
+ this.state = 93;
493
383
  this._errHandler.sync(this);
494
384
  _la = this._input.LA(1);
495
385
  if (_la === WebdaQLParserParser.LIMIT) {
496
386
  {
497
- this.state = 90;
387
+ this.state = 92;
498
388
  this.limitExpression();
499
389
  }
500
390
  }
501
- this.state = 94;
391
+ this.state = 96;
502
392
  this._errHandler.sync(this);
503
393
  _la = this._input.LA(1);
504
394
  if (_la === WebdaQLParserParser.OFFSET) {
505
395
  {
506
- this.state = 93;
396
+ this.state = 95;
507
397
  this.offsetExpression();
508
398
  }
509
399
  }
@@ -532,53 +422,39 @@ export class WebdaQLParserParser extends Parser {
532
422
  try {
533
423
  this.enterOuterAlt(_localctx, 1);
534
424
  {
535
- this.state = 97;
425
+ this.state = 99;
536
426
  this._errHandler.sync(this);
537
427
  _la = this._input.LA(1);
538
- if (((_la & ~0x1f) === 0 &&
539
- ((1 << _la) &
540
- ((1 << WebdaQLParserParser.LR_BRACKET) |
541
- (1 << WebdaQLParserParser.TRUE) |
542
- (1 << WebdaQLParserParser.FALSE))) !==
543
- 0) ||
544
- (((_la - 44) & ~0x1f) === 0 &&
545
- ((1 << (_la - 44)) &
546
- ((1 << (WebdaQLParserParser.DQUOTED_STRING_LITERAL - 44)) |
547
- (1 << (WebdaQLParserParser.SQUOTED_STRING_LITERAL - 44)) |
548
- (1 << (WebdaQLParserParser.INTEGER_LITERAL - 44)) |
549
- (1 << (WebdaQLParserParser.NUMBER_LITERAL - 44)) |
550
- (1 << (WebdaQLParserParser.IDENTIFIER - 44)) |
551
- (1 << (WebdaQLParserParser.IDENTIFIER_WITH_NUMBER - 44)))) !==
552
- 0)) {
428
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << WebdaQLParserParser.LR_BRACKET) | (1 << WebdaQLParserParser.TRUE) | (1 << WebdaQLParserParser.FALSE))) !== 0) || ((((_la - 45)) & ~0x1F) === 0 && ((1 << (_la - 45)) & ((1 << (WebdaQLParserParser.DQUOTED_STRING_LITERAL - 45)) | (1 << (WebdaQLParserParser.SQUOTED_STRING_LITERAL - 45)) | (1 << (WebdaQLParserParser.INTEGER_LITERAL - 45)) | (1 << (WebdaQLParserParser.NUMBER_LITERAL - 45)) | (1 << (WebdaQLParserParser.IDENTIFIER - 45)) | (1 << (WebdaQLParserParser.IDENTIFIER_WITH_NUMBER - 45)))) !== 0)) {
553
429
  {
554
- this.state = 96;
430
+ this.state = 98;
555
431
  this.expression(0);
556
432
  }
557
433
  }
558
- this.state = 100;
434
+ this.state = 102;
559
435
  this._errHandler.sync(this);
560
436
  _la = this._input.LA(1);
561
437
  if (_la === WebdaQLParserParser.ORDER_BY) {
562
438
  {
563
- this.state = 99;
439
+ this.state = 101;
564
440
  this.orderExpression();
565
441
  }
566
442
  }
567
- this.state = 103;
443
+ this.state = 105;
568
444
  this._errHandler.sync(this);
569
445
  _la = this._input.LA(1);
570
446
  if (_la === WebdaQLParserParser.LIMIT) {
571
447
  {
572
- this.state = 102;
448
+ this.state = 104;
573
449
  this.limitExpression();
574
450
  }
575
451
  }
576
- this.state = 106;
452
+ this.state = 108;
577
453
  this._errHandler.sync(this);
578
454
  _la = this._input.LA(1);
579
455
  if (_la === WebdaQLParserParser.OFFSET) {
580
456
  {
581
- this.state = 105;
457
+ this.state = 107;
582
458
  this.offsetExpression();
583
459
  }
584
460
  }
@@ -606,9 +482,9 @@ export class WebdaQLParserParser extends Parser {
606
482
  try {
607
483
  this.enterOuterAlt(_localctx, 1);
608
484
  {
609
- this.state = 108;
485
+ this.state = 110;
610
486
  this.match(WebdaQLParserParser.WHERE);
611
- this.state = 109;
487
+ this.state = 111;
612
488
  this.expression(0);
613
489
  }
614
490
  }
@@ -635,21 +511,21 @@ export class WebdaQLParserParser extends Parser {
635
511
  try {
636
512
  this.enterOuterAlt(_localctx, 1);
637
513
  {
638
- this.state = 111;
514
+ this.state = 113;
639
515
  this.assignment();
640
- this.state = 116;
516
+ this.state = 118;
641
517
  this._errHandler.sync(this);
642
518
  _la = this._input.LA(1);
643
519
  while (_la === WebdaQLParserParser.COMMA) {
644
520
  {
645
521
  {
646
- this.state = 112;
522
+ this.state = 114;
647
523
  this.match(WebdaQLParserParser.COMMA);
648
- this.state = 113;
524
+ this.state = 115;
649
525
  this.assignment();
650
526
  }
651
527
  }
652
- this.state = 118;
528
+ this.state = 120;
653
529
  this._errHandler.sync(this);
654
530
  _la = this._input.LA(1);
655
531
  }
@@ -677,11 +553,11 @@ export class WebdaQLParserParser extends Parser {
677
553
  try {
678
554
  this.enterOuterAlt(_localctx, 1);
679
555
  {
680
- this.state = 119;
556
+ this.state = 121;
681
557
  this.identifier();
682
- this.state = 120;
558
+ this.state = 122;
683
559
  this.match(WebdaQLParserParser.EQUAL);
684
- this.state = 123;
560
+ this.state = 126;
685
561
  this._errHandler.sync(this);
686
562
  switch (this._input.LA(1)) {
687
563
  case WebdaQLParserParser.TRUE:
@@ -691,17 +567,23 @@ export class WebdaQLParserParser extends Parser {
691
567
  case WebdaQLParserParser.INTEGER_LITERAL:
692
568
  case WebdaQLParserParser.NUMBER_LITERAL:
693
569
  {
694
- this.state = 121;
570
+ this.state = 123;
695
571
  this.values();
696
572
  }
697
573
  break;
698
574
  case WebdaQLParserParser.POSITIONAL_PARAMETER:
699
575
  case WebdaQLParserParser.NAMED_PARAMETER:
700
576
  {
701
- this.state = 122;
577
+ this.state = 124;
702
578
  this.parameter();
703
579
  }
704
580
  break;
581
+ case WebdaQLParserParser.NOW:
582
+ {
583
+ this.state = 125;
584
+ this.functionCall();
585
+ }
586
+ break;
705
587
  default:
706
588
  throw new NoViableAltException(this);
707
589
  }
@@ -730,21 +612,21 @@ export class WebdaQLParserParser extends Parser {
730
612
  try {
731
613
  this.enterOuterAlt(_localctx, 1);
732
614
  {
733
- this.state = 125;
615
+ this.state = 128;
734
616
  this.selectItem();
735
- this.state = 130;
617
+ this.state = 133;
736
618
  this._errHandler.sync(this);
737
619
  _la = this._input.LA(1);
738
620
  while (_la === WebdaQLParserParser.COMMA) {
739
621
  {
740
622
  {
741
- this.state = 126;
623
+ this.state = 129;
742
624
  this.match(WebdaQLParserParser.COMMA);
743
- this.state = 127;
625
+ this.state = 130;
744
626
  this.selectItem();
745
627
  }
746
628
  }
747
- this.state = 132;
629
+ this.state = 135;
748
630
  this._errHandler.sync(this);
749
631
  _la = this._input.LA(1);
750
632
  }
@@ -771,14 +653,14 @@ export class WebdaQLParserParser extends Parser {
771
653
  this.enterRule(_localctx, 20, WebdaQLParserParser.RULE_selectItem);
772
654
  let _la;
773
655
  try {
774
- this.state = 155;
656
+ this.state = 158;
775
657
  this._errHandler.sync(this);
776
658
  switch (this.interpreter.adaptivePredict(this._input, 18, this._ctx)) {
777
659
  case 1:
778
660
  _localctx = new FieldItemContext(_localctx);
779
661
  this.enterOuterAlt(_localctx, 1);
780
662
  {
781
- this.state = 133;
663
+ this.state = 136;
782
664
  this.identifier();
783
665
  }
784
666
  break;
@@ -786,17 +668,17 @@ export class WebdaQLParserParser extends Parser {
786
668
  _localctx = new CountAllItemContext(_localctx);
787
669
  this.enterOuterAlt(_localctx, 2);
788
670
  {
789
- this.state = 134;
671
+ this.state = 137;
790
672
  this.match(WebdaQLParserParser.COUNT);
791
- this.state = 135;
673
+ this.state = 138;
792
674
  this.match(WebdaQLParserParser.LR_BRACKET);
793
- this.state = 136;
675
+ this.state = 139;
794
676
  this.match(WebdaQLParserParser.STAR);
795
- this.state = 137;
677
+ this.state = 140;
796
678
  this.match(WebdaQLParserParser.RR_BRACKET);
797
- this.state = 138;
679
+ this.state = 141;
798
680
  this.match(WebdaQLParserParser.AS);
799
- this.state = 139;
681
+ this.state = 142;
800
682
  this.identifier();
801
683
  }
802
684
  break;
@@ -804,19 +686,19 @@ export class WebdaQLParserParser extends Parser {
804
686
  _localctx = new CountDistinctItemContext(_localctx);
805
687
  this.enterOuterAlt(_localctx, 3);
806
688
  {
807
- this.state = 140;
689
+ this.state = 143;
808
690
  this.match(WebdaQLParserParser.COUNT);
809
- this.state = 141;
691
+ this.state = 144;
810
692
  this.match(WebdaQLParserParser.LR_BRACKET);
811
- this.state = 142;
693
+ this.state = 145;
812
694
  this.match(WebdaQLParserParser.DISTINCT);
813
- this.state = 143;
695
+ this.state = 146;
814
696
  this.identifier();
815
- this.state = 144;
697
+ this.state = 147;
816
698
  this.match(WebdaQLParserParser.RR_BRACKET);
817
- this.state = 145;
699
+ this.state = 148;
818
700
  this.match(WebdaQLParserParser.AS);
819
- this.state = 146;
701
+ this.state = 149;
820
702
  this.identifier();
821
703
  }
822
704
  break;
@@ -824,16 +706,9 @@ export class WebdaQLParserParser extends Parser {
824
706
  _localctx = new MetricItemContext(_localctx);
825
707
  this.enterOuterAlt(_localctx, 4);
826
708
  {
827
- this.state = 148;
709
+ this.state = 151;
828
710
  _la = this._input.LA(1);
829
- if (!(((_la - 38) & ~0x1f) === 0 &&
830
- ((1 << (_la - 38)) &
831
- ((1 << (WebdaQLParserParser.COUNT - 38)) |
832
- (1 << (WebdaQLParserParser.SUM - 38)) |
833
- (1 << (WebdaQLParserParser.AVG - 38)) |
834
- (1 << (WebdaQLParserParser.MIN - 38)) |
835
- (1 << (WebdaQLParserParser.MAX - 38)))) !==
836
- 0)) {
711
+ if (!(((((_la - 38)) & ~0x1F) === 0 && ((1 << (_la - 38)) & ((1 << (WebdaQLParserParser.COUNT - 38)) | (1 << (WebdaQLParserParser.SUM - 38)) | (1 << (WebdaQLParserParser.AVG - 38)) | (1 << (WebdaQLParserParser.MIN - 38)) | (1 << (WebdaQLParserParser.MAX - 38)))) !== 0))) {
837
712
  this._errHandler.recoverInline(this);
838
713
  }
839
714
  else {
@@ -843,15 +718,15 @@ export class WebdaQLParserParser extends Parser {
843
718
  this._errHandler.reportMatch(this);
844
719
  this.consume();
845
720
  }
846
- this.state = 149;
721
+ this.state = 152;
847
722
  this.match(WebdaQLParserParser.LR_BRACKET);
848
- this.state = 150;
723
+ this.state = 153;
849
724
  this.identifier();
850
- this.state = 151;
725
+ this.state = 154;
851
726
  this.match(WebdaQLParserParser.RR_BRACKET);
852
- this.state = 152;
727
+ this.state = 155;
853
728
  this.match(WebdaQLParserParser.AS);
854
- this.state = 153;
729
+ this.state = 156;
855
730
  this.identifier();
856
731
  }
857
732
  break;
@@ -880,23 +755,23 @@ export class WebdaQLParserParser extends Parser {
880
755
  try {
881
756
  this.enterOuterAlt(_localctx, 1);
882
757
  {
883
- this.state = 157;
758
+ this.state = 160;
884
759
  this.match(WebdaQLParserParser.GROUP_BY);
885
- this.state = 158;
760
+ this.state = 161;
886
761
  this.identifier();
887
- this.state = 163;
762
+ this.state = 166;
888
763
  this._errHandler.sync(this);
889
764
  _la = this._input.LA(1);
890
765
  while (_la === WebdaQLParserParser.COMMA) {
891
766
  {
892
767
  {
893
- this.state = 159;
768
+ this.state = 162;
894
769
  this.match(WebdaQLParserParser.COMMA);
895
- this.state = 160;
770
+ this.state = 163;
896
771
  this.identifier();
897
772
  }
898
773
  }
899
- this.state = 165;
774
+ this.state = 168;
900
775
  this._errHandler.sync(this);
901
776
  _la = this._input.LA(1);
902
777
  }
@@ -924,21 +799,21 @@ export class WebdaQLParserParser extends Parser {
924
799
  try {
925
800
  this.enterOuterAlt(_localctx, 1);
926
801
  {
927
- this.state = 166;
928
- this.match(WebdaQLParserParser.LIMIT);
929
802
  this.state = 169;
803
+ this.match(WebdaQLParserParser.LIMIT);
804
+ this.state = 172;
930
805
  this._errHandler.sync(this);
931
806
  switch (this._input.LA(1)) {
932
807
  case WebdaQLParserParser.INTEGER_LITERAL:
933
808
  {
934
- this.state = 167;
809
+ this.state = 170;
935
810
  this.integerLiteral();
936
811
  }
937
812
  break;
938
813
  case WebdaQLParserParser.POSITIONAL_PARAMETER:
939
814
  case WebdaQLParserParser.NAMED_PARAMETER:
940
815
  {
941
- this.state = 168;
816
+ this.state = 171;
942
817
  this.parameter();
943
818
  }
944
819
  break;
@@ -969,22 +844,22 @@ export class WebdaQLParserParser extends Parser {
969
844
  try {
970
845
  this.enterOuterAlt(_localctx, 1);
971
846
  {
972
- this.state = 171;
973
- this.match(WebdaQLParserParser.OFFSET);
974
847
  this.state = 174;
848
+ this.match(WebdaQLParserParser.OFFSET);
849
+ this.state = 177;
975
850
  this._errHandler.sync(this);
976
851
  switch (this._input.LA(1)) {
977
852
  case WebdaQLParserParser.DQUOTED_STRING_LITERAL:
978
853
  case WebdaQLParserParser.SQUOTED_STRING_LITERAL:
979
854
  {
980
- this.state = 172;
855
+ this.state = 175;
981
856
  this.stringLiteral();
982
857
  }
983
858
  break;
984
859
  case WebdaQLParserParser.POSITIONAL_PARAMETER:
985
860
  case WebdaQLParserParser.NAMED_PARAMETER:
986
861
  {
987
- this.state = 173;
862
+ this.state = 176;
988
863
  this.parameter();
989
864
  }
990
865
  break;
@@ -1016,14 +891,14 @@ export class WebdaQLParserParser extends Parser {
1016
891
  try {
1017
892
  this.enterOuterAlt(_localctx, 1);
1018
893
  {
1019
- this.state = 176;
894
+ this.state = 179;
1020
895
  this.identifier();
1021
- this.state = 178;
896
+ this.state = 181;
1022
897
  this._errHandler.sync(this);
1023
898
  _la = this._input.LA(1);
1024
899
  if (_la === WebdaQLParserParser.ASC || _la === WebdaQLParserParser.DESC) {
1025
900
  {
1026
- this.state = 177;
901
+ this.state = 180;
1027
902
  _la = this._input.LA(1);
1028
903
  if (!(_la === WebdaQLParserParser.ASC || _la === WebdaQLParserParser.DESC)) {
1029
904
  this._errHandler.recoverInline(this);
@@ -1062,23 +937,23 @@ export class WebdaQLParserParser extends Parser {
1062
937
  try {
1063
938
  this.enterOuterAlt(_localctx, 1);
1064
939
  {
1065
- this.state = 180;
940
+ this.state = 183;
1066
941
  this.match(WebdaQLParserParser.ORDER_BY);
1067
- this.state = 181;
942
+ this.state = 184;
1068
943
  this.orderFieldExpression();
1069
- this.state = 186;
944
+ this.state = 189;
1070
945
  this._errHandler.sync(this);
1071
946
  _la = this._input.LA(1);
1072
947
  while (_la === WebdaQLParserParser.COMMA) {
1073
948
  {
1074
949
  {
1075
- this.state = 182;
950
+ this.state = 185;
1076
951
  this.match(WebdaQLParserParser.COMMA);
1077
- this.state = 183;
952
+ this.state = 186;
1078
953
  this.orderFieldExpression();
1079
954
  }
1080
955
  }
1081
- this.state = 188;
956
+ this.state = 191;
1082
957
  this._errHandler.sync(this);
1083
958
  _la = this._input.LA(1);
1084
959
  }
@@ -1115,7 +990,7 @@ export class WebdaQLParserParser extends Parser {
1115
990
  let _alt;
1116
991
  this.enterOuterAlt(_localctx, 1);
1117
992
  {
1118
- this.state = 228;
993
+ this.state = 232;
1119
994
  this._errHandler.sync(this);
1120
995
  switch (this.interpreter.adaptivePredict(this._input, 28, this._ctx)) {
1121
996
  case 1:
@@ -1123,24 +998,24 @@ export class WebdaQLParserParser extends Parser {
1123
998
  _localctx = new LikeExpressionContext(_localctx);
1124
999
  this._ctx = _localctx;
1125
1000
  _prevctx = _localctx;
1126
- this.state = 190;
1001
+ this.state = 193;
1127
1002
  this.identifier();
1128
- this.state = 191;
1129
- this.match(WebdaQLParserParser.LIKE);
1130
1003
  this.state = 194;
1004
+ this.match(WebdaQLParserParser.LIKE);
1005
+ this.state = 197;
1131
1006
  this._errHandler.sync(this);
1132
1007
  switch (this._input.LA(1)) {
1133
1008
  case WebdaQLParserParser.DQUOTED_STRING_LITERAL:
1134
1009
  case WebdaQLParserParser.SQUOTED_STRING_LITERAL:
1135
1010
  {
1136
- this.state = 192;
1011
+ this.state = 195;
1137
1012
  this.stringLiteral();
1138
1013
  }
1139
1014
  break;
1140
1015
  case WebdaQLParserParser.POSITIONAL_PARAMETER:
1141
1016
  case WebdaQLParserParser.NAMED_PARAMETER:
1142
1017
  {
1143
- this.state = 193;
1018
+ this.state = 196;
1144
1019
  this.parameter();
1145
1020
  }
1146
1021
  break;
@@ -1154,23 +1029,23 @@ export class WebdaQLParserParser extends Parser {
1154
1029
  _localctx = new InExpressionContext(_localctx);
1155
1030
  this._ctx = _localctx;
1156
1031
  _prevctx = _localctx;
1157
- this.state = 196;
1032
+ this.state = 199;
1158
1033
  this.identifier();
1159
- this.state = 197;
1160
- this.match(WebdaQLParserParser.IN);
1161
1034
  this.state = 200;
1035
+ this.match(WebdaQLParserParser.IN);
1036
+ this.state = 203;
1162
1037
  this._errHandler.sync(this);
1163
1038
  switch (this._input.LA(1)) {
1164
1039
  case WebdaQLParserParser.LR_SQ_BRACKET:
1165
1040
  {
1166
- this.state = 198;
1041
+ this.state = 201;
1167
1042
  this.setExpression();
1168
1043
  }
1169
1044
  break;
1170
1045
  case WebdaQLParserParser.POSITIONAL_PARAMETER:
1171
1046
  case WebdaQLParserParser.NAMED_PARAMETER:
1172
1047
  {
1173
- this.state = 199;
1048
+ this.state = 202;
1174
1049
  this.parameter();
1175
1050
  }
1176
1051
  break;
@@ -1184,24 +1059,24 @@ export class WebdaQLParserParser extends Parser {
1184
1059
  _localctx = new ContainsExpressionContext(_localctx);
1185
1060
  this._ctx = _localctx;
1186
1061
  _prevctx = _localctx;
1187
- this.state = 202;
1062
+ this.state = 205;
1188
1063
  this.identifier();
1189
- this.state = 203;
1190
- this.match(WebdaQLParserParser.CONTAINS);
1191
1064
  this.state = 206;
1065
+ this.match(WebdaQLParserParser.CONTAINS);
1066
+ this.state = 209;
1192
1067
  this._errHandler.sync(this);
1193
1068
  switch (this._input.LA(1)) {
1194
1069
  case WebdaQLParserParser.DQUOTED_STRING_LITERAL:
1195
1070
  case WebdaQLParserParser.SQUOTED_STRING_LITERAL:
1196
1071
  {
1197
- this.state = 204;
1072
+ this.state = 207;
1198
1073
  this.stringLiteral();
1199
1074
  }
1200
1075
  break;
1201
1076
  case WebdaQLParserParser.POSITIONAL_PARAMETER:
1202
1077
  case WebdaQLParserParser.NAMED_PARAMETER:
1203
1078
  {
1204
- this.state = 205;
1079
+ this.state = 208;
1205
1080
  this.parameter();
1206
1081
  }
1207
1082
  break;
@@ -1215,11 +1090,11 @@ export class WebdaQLParserParser extends Parser {
1215
1090
  _localctx = new IsNullExpressionContext(_localctx);
1216
1091
  this._ctx = _localctx;
1217
1092
  _prevctx = _localctx;
1218
- this.state = 208;
1093
+ this.state = 211;
1219
1094
  this.identifier();
1220
- this.state = 209;
1095
+ this.state = 212;
1221
1096
  this.match(WebdaQLParserParser.IS);
1222
- this.state = 210;
1097
+ this.state = 213;
1223
1098
  this.match(WebdaQLParserParser.NULL);
1224
1099
  }
1225
1100
  break;
@@ -1228,13 +1103,13 @@ export class WebdaQLParserParser extends Parser {
1228
1103
  _localctx = new IsNotNullExpressionContext(_localctx);
1229
1104
  this._ctx = _localctx;
1230
1105
  _prevctx = _localctx;
1231
- this.state = 212;
1106
+ this.state = 215;
1232
1107
  this.identifier();
1233
- this.state = 213;
1108
+ this.state = 216;
1234
1109
  this.match(WebdaQLParserParser.IS);
1235
- this.state = 214;
1110
+ this.state = 217;
1236
1111
  this.match(WebdaQLParserParser.NOT);
1237
- this.state = 215;
1112
+ this.state = 218;
1238
1113
  this.match(WebdaQLParserParser.NULL);
1239
1114
  }
1240
1115
  break;
@@ -1243,19 +1118,11 @@ export class WebdaQLParserParser extends Parser {
1243
1118
  _localctx = new BinaryComparisonExpressionContext(_localctx);
1244
1119
  this._ctx = _localctx;
1245
1120
  _prevctx = _localctx;
1246
- this.state = 217;
1121
+ this.state = 220;
1247
1122
  this.identifier();
1248
- this.state = 218;
1123
+ this.state = 221;
1249
1124
  _la = this._input.LA(1);
1250
- if (!((_la & ~0x1f) === 0 &&
1251
- ((1 << _la) &
1252
- ((1 << WebdaQLParserParser.EQUAL) |
1253
- (1 << WebdaQLParserParser.NOT_EQUAL) |
1254
- (1 << WebdaQLParserParser.GREATER) |
1255
- (1 << WebdaQLParserParser.GREATER_OR_EQUAL) |
1256
- (1 << WebdaQLParserParser.LESS) |
1257
- (1 << WebdaQLParserParser.LESS_OR_EQUAL))) !==
1258
- 0)) {
1125
+ if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << WebdaQLParserParser.EQUAL) | (1 << WebdaQLParserParser.NOT_EQUAL) | (1 << WebdaQLParserParser.GREATER) | (1 << WebdaQLParserParser.GREATER_OR_EQUAL) | (1 << WebdaQLParserParser.LESS) | (1 << WebdaQLParserParser.LESS_OR_EQUAL))) !== 0))) {
1259
1126
  this._errHandler.recoverInline(this);
1260
1127
  }
1261
1128
  else {
@@ -1265,7 +1132,7 @@ export class WebdaQLParserParser extends Parser {
1265
1132
  this._errHandler.reportMatch(this);
1266
1133
  this.consume();
1267
1134
  }
1268
- this.state = 221;
1135
+ this.state = 225;
1269
1136
  this._errHandler.sync(this);
1270
1137
  switch (this._input.LA(1)) {
1271
1138
  case WebdaQLParserParser.TRUE:
@@ -1275,17 +1142,23 @@ export class WebdaQLParserParser extends Parser {
1275
1142
  case WebdaQLParserParser.INTEGER_LITERAL:
1276
1143
  case WebdaQLParserParser.NUMBER_LITERAL:
1277
1144
  {
1278
- this.state = 219;
1145
+ this.state = 222;
1279
1146
  this.values();
1280
1147
  }
1281
1148
  break;
1282
1149
  case WebdaQLParserParser.POSITIONAL_PARAMETER:
1283
1150
  case WebdaQLParserParser.NAMED_PARAMETER:
1284
1151
  {
1285
- this.state = 220;
1152
+ this.state = 223;
1286
1153
  this.parameter();
1287
1154
  }
1288
1155
  break;
1156
+ case WebdaQLParserParser.NOW:
1157
+ {
1158
+ this.state = 224;
1159
+ this.functionCall();
1160
+ }
1161
+ break;
1289
1162
  default:
1290
1163
  throw new NoViableAltException(this);
1291
1164
  }
@@ -1296,11 +1169,11 @@ export class WebdaQLParserParser extends Parser {
1296
1169
  _localctx = new SubExpressionContext(_localctx);
1297
1170
  this._ctx = _localctx;
1298
1171
  _prevctx = _localctx;
1299
- this.state = 223;
1172
+ this.state = 227;
1300
1173
  this.match(WebdaQLParserParser.LR_BRACKET);
1301
- this.state = 224;
1174
+ this.state = 228;
1302
1175
  this.expression(0);
1303
- this.state = 225;
1176
+ this.state = 229;
1304
1177
  this.match(WebdaQLParserParser.RR_BRACKET);
1305
1178
  }
1306
1179
  break;
@@ -1309,13 +1182,13 @@ export class WebdaQLParserParser extends Parser {
1309
1182
  _localctx = new AtomExpressionContext(_localctx);
1310
1183
  this._ctx = _localctx;
1311
1184
  _prevctx = _localctx;
1312
- this.state = 227;
1185
+ this.state = 231;
1313
1186
  this.atom();
1314
1187
  }
1315
1188
  break;
1316
1189
  }
1317
1190
  this._ctx._stop = this._input.tryLT(-1);
1318
- this.state = 238;
1191
+ this.state = 242;
1319
1192
  this._errHandler.sync(this);
1320
1193
  _alt = this.interpreter.adaptivePredict(this._input, 30, this._ctx);
1321
1194
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
@@ -1325,20 +1198,20 @@ export class WebdaQLParserParser extends Parser {
1325
1198
  }
1326
1199
  _prevctx = _localctx;
1327
1200
  {
1328
- this.state = 236;
1201
+ this.state = 240;
1329
1202
  this._errHandler.sync(this);
1330
1203
  switch (this.interpreter.adaptivePredict(this._input, 29, this._ctx)) {
1331
1204
  case 1:
1332
1205
  {
1333
1206
  _localctx = new AndLogicExpressionContext(new ExpressionContext(_parentctx, _parentState));
1334
1207
  this.pushNewRecursionContext(_localctx, _startState, WebdaQLParserParser.RULE_expression);
1335
- this.state = 230;
1336
- if (!this.precpred(this._ctx, 4)) {
1208
+ this.state = 234;
1209
+ if (!(this.precpred(this._ctx, 4))) {
1337
1210
  throw this.createFailedPredicateException("this.precpred(this._ctx, 4)");
1338
1211
  }
1339
- this.state = 231;
1212
+ this.state = 235;
1340
1213
  this.match(WebdaQLParserParser.AND);
1341
- this.state = 232;
1214
+ this.state = 236;
1342
1215
  this.expression(5);
1343
1216
  }
1344
1217
  break;
@@ -1346,20 +1219,20 @@ export class WebdaQLParserParser extends Parser {
1346
1219
  {
1347
1220
  _localctx = new OrLogicExpressionContext(new ExpressionContext(_parentctx, _parentState));
1348
1221
  this.pushNewRecursionContext(_localctx, _startState, WebdaQLParserParser.RULE_expression);
1349
- this.state = 233;
1350
- if (!this.precpred(this._ctx, 3)) {
1222
+ this.state = 237;
1223
+ if (!(this.precpred(this._ctx, 3))) {
1351
1224
  throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");
1352
1225
  }
1353
- this.state = 234;
1226
+ this.state = 238;
1354
1227
  this.match(WebdaQLParserParser.OR);
1355
- this.state = 235;
1228
+ this.state = 239;
1356
1229
  this.expression(4);
1357
1230
  }
1358
1231
  break;
1359
1232
  }
1360
1233
  }
1361
1234
  }
1362
- this.state = 240;
1235
+ this.state = 244;
1363
1236
  this._errHandler.sync(this);
1364
1237
  _alt = this.interpreter.adaptivePredict(this._input, 30, this._ctx);
1365
1238
  }
@@ -1385,7 +1258,7 @@ export class WebdaQLParserParser extends Parser {
1385
1258
  let _localctx = new ValuesContext(this._ctx, this.state);
1386
1259
  this.enterRule(_localctx, 34, WebdaQLParserParser.RULE_values);
1387
1260
  try {
1388
- this.state = 245;
1261
+ this.state = 249;
1389
1262
  this._errHandler.sync(this);
1390
1263
  switch (this._input.LA(1)) {
1391
1264
  case WebdaQLParserParser.TRUE:
@@ -1393,7 +1266,7 @@ export class WebdaQLParserParser extends Parser {
1393
1266
  _localctx = new BooleanAtomContext(_localctx);
1394
1267
  this.enterOuterAlt(_localctx, 1);
1395
1268
  {
1396
- this.state = 241;
1269
+ this.state = 245;
1397
1270
  this.booleanLiteral();
1398
1271
  }
1399
1272
  break;
@@ -1401,7 +1274,7 @@ export class WebdaQLParserParser extends Parser {
1401
1274
  _localctx = new IntegerAtomContext(_localctx);
1402
1275
  this.enterOuterAlt(_localctx, 2);
1403
1276
  {
1404
- this.state = 242;
1277
+ this.state = 246;
1405
1278
  this.integerLiteral();
1406
1279
  }
1407
1280
  break;
@@ -1409,7 +1282,7 @@ export class WebdaQLParserParser extends Parser {
1409
1282
  _localctx = new NumberAtomContext(_localctx);
1410
1283
  this.enterOuterAlt(_localctx, 3);
1411
1284
  {
1412
- this.state = 243;
1285
+ this.state = 247;
1413
1286
  this.numberLiteral();
1414
1287
  }
1415
1288
  break;
@@ -1418,7 +1291,7 @@ export class WebdaQLParserParser extends Parser {
1418
1291
  _localctx = new StringAtomContext(_localctx);
1419
1292
  this.enterOuterAlt(_localctx, 4);
1420
1293
  {
1421
- this.state = 244;
1294
+ this.state = 248;
1422
1295
  this.stringLiteral();
1423
1296
  }
1424
1297
  break;
@@ -1446,7 +1319,7 @@ export class WebdaQLParserParser extends Parser {
1446
1319
  let _localctx = new AtomContext(this._ctx, this.state);
1447
1320
  this.enterRule(_localctx, 36, WebdaQLParserParser.RULE_atom);
1448
1321
  try {
1449
- this.state = 249;
1322
+ this.state = 253;
1450
1323
  this._errHandler.sync(this);
1451
1324
  switch (this._input.LA(1)) {
1452
1325
  case WebdaQLParserParser.TRUE:
@@ -1458,7 +1331,7 @@ export class WebdaQLParserParser extends Parser {
1458
1331
  _localctx = new ValuesAtomContext(_localctx);
1459
1332
  this.enterOuterAlt(_localctx, 1);
1460
1333
  {
1461
- this.state = 247;
1334
+ this.state = 251;
1462
1335
  this.values();
1463
1336
  }
1464
1337
  break;
@@ -1467,7 +1340,7 @@ export class WebdaQLParserParser extends Parser {
1467
1340
  _localctx = new IdentifierAtomContext(_localctx);
1468
1341
  this.enterOuterAlt(_localctx, 2);
1469
1342
  {
1470
- this.state = 248;
1343
+ this.state = 252;
1471
1344
  this.identifier();
1472
1345
  }
1473
1346
  break;
@@ -1498,7 +1371,7 @@ export class WebdaQLParserParser extends Parser {
1498
1371
  try {
1499
1372
  this.enterOuterAlt(_localctx, 1);
1500
1373
  {
1501
- this.state = 251;
1374
+ this.state = 255;
1502
1375
  _la = this._input.LA(1);
1503
1376
  if (!(_la === WebdaQLParserParser.IDENTIFIER || _la === WebdaQLParserParser.IDENTIFIER_WITH_NUMBER)) {
1504
1377
  this._errHandler.recoverInline(this);
@@ -1535,7 +1408,7 @@ export class WebdaQLParserParser extends Parser {
1535
1408
  try {
1536
1409
  this.enterOuterAlt(_localctx, 1);
1537
1410
  {
1538
- this.state = 253;
1411
+ this.state = 257;
1539
1412
  _la = this._input.LA(1);
1540
1413
  if (!(_la === WebdaQLParserParser.TRUE || _la === WebdaQLParserParser.FALSE)) {
1541
1414
  this._errHandler.recoverInline(this);
@@ -1572,7 +1445,7 @@ export class WebdaQLParserParser extends Parser {
1572
1445
  try {
1573
1446
  this.enterOuterAlt(_localctx, 1);
1574
1447
  {
1575
- this.state = 255;
1448
+ this.state = 259;
1576
1449
  _la = this._input.LA(1);
1577
1450
  if (!(_la === WebdaQLParserParser.DQUOTED_STRING_LITERAL || _la === WebdaQLParserParser.SQUOTED_STRING_LITERAL)) {
1578
1451
  this._errHandler.recoverInline(this);
@@ -1608,7 +1481,7 @@ export class WebdaQLParserParser extends Parser {
1608
1481
  try {
1609
1482
  this.enterOuterAlt(_localctx, 1);
1610
1483
  {
1611
- this.state = 257;
1484
+ this.state = 261;
1612
1485
  this.match(WebdaQLParserParser.INTEGER_LITERAL);
1613
1486
  }
1614
1487
  }
@@ -1634,7 +1507,7 @@ export class WebdaQLParserParser extends Parser {
1634
1507
  try {
1635
1508
  this.enterOuterAlt(_localctx, 1);
1636
1509
  {
1637
- this.state = 259;
1510
+ this.state = 263;
1638
1511
  this.match(WebdaQLParserParser.NUMBER_LITERAL);
1639
1512
  }
1640
1513
  }
@@ -1661,7 +1534,7 @@ export class WebdaQLParserParser extends Parser {
1661
1534
  try {
1662
1535
  this.enterOuterAlt(_localctx, 1);
1663
1536
  {
1664
- this.state = 261;
1537
+ this.state = 265;
1665
1538
  _la = this._input.LA(1);
1666
1539
  if (!(_la === WebdaQLParserParser.POSITIONAL_PARAMETER || _la === WebdaQLParserParser.NAMED_PARAMETER)) {
1667
1540
  this._errHandler.recoverInline(this);
@@ -1698,9 +1571,9 @@ export class WebdaQLParserParser extends Parser {
1698
1571
  try {
1699
1572
  this.enterOuterAlt(_localctx, 1);
1700
1573
  {
1701
- this.state = 263;
1574
+ this.state = 267;
1702
1575
  this.match(WebdaQLParserParser.LR_SQ_BRACKET);
1703
- this.state = 266;
1576
+ this.state = 271;
1704
1577
  this._errHandler.sync(this);
1705
1578
  switch (this._input.LA(1)) {
1706
1579
  case WebdaQLParserParser.TRUE:
@@ -1710,29 +1583,35 @@ export class WebdaQLParserParser extends Parser {
1710
1583
  case WebdaQLParserParser.INTEGER_LITERAL:
1711
1584
  case WebdaQLParserParser.NUMBER_LITERAL:
1712
1585
  {
1713
- this.state = 264;
1586
+ this.state = 268;
1714
1587
  this.values();
1715
1588
  }
1716
1589
  break;
1717
1590
  case WebdaQLParserParser.POSITIONAL_PARAMETER:
1718
1591
  case WebdaQLParserParser.NAMED_PARAMETER:
1719
1592
  {
1720
- this.state = 265;
1593
+ this.state = 269;
1721
1594
  this.parameter();
1722
1595
  }
1723
1596
  break;
1597
+ case WebdaQLParserParser.NOW:
1598
+ {
1599
+ this.state = 270;
1600
+ this.functionCall();
1601
+ }
1602
+ break;
1724
1603
  default:
1725
1604
  throw new NoViableAltException(this);
1726
1605
  }
1727
- this.state = 275;
1606
+ this.state = 281;
1728
1607
  this._errHandler.sync(this);
1729
1608
  _la = this._input.LA(1);
1730
1609
  while (_la === WebdaQLParserParser.COMMA) {
1731
1610
  {
1732
1611
  {
1733
- this.state = 268;
1612
+ this.state = 273;
1734
1613
  this.match(WebdaQLParserParser.COMMA);
1735
- this.state = 271;
1614
+ this.state = 277;
1736
1615
  this._errHandler.sync(this);
1737
1616
  switch (this._input.LA(1)) {
1738
1617
  case WebdaQLParserParser.TRUE:
@@ -1742,27 +1621,33 @@ export class WebdaQLParserParser extends Parser {
1742
1621
  case WebdaQLParserParser.INTEGER_LITERAL:
1743
1622
  case WebdaQLParserParser.NUMBER_LITERAL:
1744
1623
  {
1745
- this.state = 269;
1624
+ this.state = 274;
1746
1625
  this.values();
1747
1626
  }
1748
1627
  break;
1749
1628
  case WebdaQLParserParser.POSITIONAL_PARAMETER:
1750
1629
  case WebdaQLParserParser.NAMED_PARAMETER:
1751
1630
  {
1752
- this.state = 270;
1631
+ this.state = 275;
1753
1632
  this.parameter();
1754
1633
  }
1755
1634
  break;
1635
+ case WebdaQLParserParser.NOW:
1636
+ {
1637
+ this.state = 276;
1638
+ this.functionCall();
1639
+ }
1640
+ break;
1756
1641
  default:
1757
1642
  throw new NoViableAltException(this);
1758
1643
  }
1759
1644
  }
1760
1645
  }
1761
- this.state = 277;
1646
+ this.state = 283;
1762
1647
  this._errHandler.sync(this);
1763
1648
  _la = this._input.LA(1);
1764
1649
  }
1765
- this.state = 278;
1650
+ this.state = 284;
1766
1651
  this.match(WebdaQLParserParser.RR_SQ_BRACKET);
1767
1652
  }
1768
1653
  }
@@ -1781,6 +1666,71 @@ export class WebdaQLParserParser extends Parser {
1781
1666
  }
1782
1667
  return _localctx;
1783
1668
  }
1669
+ // @RuleVersion(0)
1670
+ functionCall() {
1671
+ let _localctx = new FunctionCallContext(this._ctx, this.state);
1672
+ this.enterRule(_localctx, 52, WebdaQLParserParser.RULE_functionCall);
1673
+ try {
1674
+ _localctx = new NowFunctionContext(_localctx);
1675
+ this.enterOuterAlt(_localctx, 1);
1676
+ {
1677
+ this.state = 286;
1678
+ this.match(WebdaQLParserParser.NOW);
1679
+ this.state = 287;
1680
+ this.match(WebdaQLParserParser.LR_BRACKET);
1681
+ this.state = 292;
1682
+ this._errHandler.sync(this);
1683
+ switch (this._input.LA(1)) {
1684
+ case WebdaQLParserParser.DQUOTED_STRING_LITERAL:
1685
+ case WebdaQLParserParser.SQUOTED_STRING_LITERAL:
1686
+ {
1687
+ this.state = 288;
1688
+ this.stringLiteral();
1689
+ }
1690
+ break;
1691
+ case WebdaQLParserParser.INTEGER_LITERAL:
1692
+ {
1693
+ this.state = 289;
1694
+ this.integerLiteral();
1695
+ }
1696
+ break;
1697
+ case WebdaQLParserParser.NUMBER_LITERAL:
1698
+ {
1699
+ this.state = 290;
1700
+ this.numberLiteral();
1701
+ }
1702
+ break;
1703
+ case WebdaQLParserParser.POSITIONAL_PARAMETER:
1704
+ case WebdaQLParserParser.NAMED_PARAMETER:
1705
+ {
1706
+ this.state = 291;
1707
+ this.parameter();
1708
+ }
1709
+ break;
1710
+ case WebdaQLParserParser.RR_BRACKET:
1711
+ break;
1712
+ default:
1713
+ break;
1714
+ }
1715
+ this.state = 294;
1716
+ this.match(WebdaQLParserParser.RR_BRACKET);
1717
+ }
1718
+ }
1719
+ catch (re) {
1720
+ if (re instanceof RecognitionException) {
1721
+ _localctx.exception = re;
1722
+ this._errHandler.reportError(this, re);
1723
+ this._errHandler.recover(this, re);
1724
+ }
1725
+ else {
1726
+ throw re;
1727
+ }
1728
+ }
1729
+ finally {
1730
+ this.exitRule();
1731
+ }
1732
+ return _localctx;
1733
+ }
1784
1734
  sempred(_localctx, ruleIndex, predIndex) {
1785
1735
  switch (ruleIndex) {
1786
1736
  case 16:
@@ -1797,134 +1747,145 @@ export class WebdaQLParserParser extends Parser {
1797
1747
  }
1798
1748
  return true;
1799
1749
  }
1800
- static _serializedATN = "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x036\u011B\x04\x02" +
1750
+ static _serializedATN = "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x037\u012B\x04\x02" +
1801
1751
  "\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04\x07" +
1802
1752
  "\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" +
1803
1753
  "\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10\x04\x11\t\x11\x04\x12\t\x12\x04" +
1804
1754
  "\x13\t\x13\x04\x14\t\x14\x04\x15\t\x15\x04\x16\t\x16\x04\x17\t\x17\x04" +
1805
- "\x18\t\x18\x04\x19\t\x19\x04\x1A\t\x1A\x04\x1B\t\x1B\x03\x02\x03\x02\x05" +
1806
- "\x029\n\x02\x03\x02\x03\x02\x03\x03\x03\x03\x03\x03\x05\x03@\n\x03\x03" +
1807
- "\x04\x03\x04\x05\x04D\n\x04\x03\x04\x05\x04G\n\x04\x03\x05\x03\x05\x03" +
1808
- "\x05\x03\x05\x05\x05M\n\x05\x03\x05\x05\x05P\n\x05\x03\x06\x03\x06\x03" +
1809
- "\x06\x05\x06U\n\x06\x03\x06\x05\x06X\n\x06\x03\x06\x05\x06[\n\x06\x03" +
1810
- "\x06\x05\x06^\n\x06\x03\x06\x05\x06a\n\x06\x03\x07\x05\x07d\n\x07\x03" +
1811
- "\x07\x05\x07g\n\x07\x03\x07\x05\x07j\n\x07\x03\x07\x05\x07m\n\x07\x03" +
1812
- "\b\x03\b\x03\b\x03\t\x03\t\x03\t\x07\tu\n\t\f\t\x0E\tx\v\t\x03\n\x03\n" +
1813
- "\x03\n\x03\n\x05\n~\n\n\x03\v\x03\v\x03\v\x07\v\x83\n\v\f\v\x0E\v\x86" +
1814
- "\v\v\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f" +
1815
- "\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x05" +
1816
- "\f\x9E\n\f\x03\r\x03\r\x03\r\x03\r\x07\r\xA4\n\r\f\r\x0E\r\xA7\v\r\x03" +
1817
- "\x0E\x03\x0E\x03\x0E\x05\x0E\xAC\n\x0E\x03\x0F\x03\x0F\x03\x0F\x05\x0F" +
1818
- "\xB1\n\x0F\x03\x10\x03\x10\x05\x10\xB5\n\x10\x03\x11\x03\x11\x03\x11\x03" +
1819
- "\x11\x07\x11\xBB\n\x11\f\x11\x0E\x11\xBE\v\x11\x03\x12\x03\x12\x03\x12" +
1820
- "\x03\x12\x03\x12\x05\x12\xC5\n\x12\x03\x12\x03\x12\x03\x12\x03\x12\x05" +
1821
- "\x12\xCB\n\x12\x03\x12\x03\x12\x03\x12\x03\x12\x05\x12\xD1\n\x12\x03\x12" +
1822
- "\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12" +
1823
- "\x03\x12\x03\x12\x03\x12\x05\x12\xE0\n\x12\x03\x12\x03\x12\x03\x12\x03" +
1824
- "\x12\x03\x12\x05\x12\xE7\n\x12\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12" +
1825
- "\x03\x12\x07\x12\xEF\n\x12\f\x12\x0E\x12\xF2\v\x12\x03\x13\x03\x13\x03" +
1826
- "\x13\x03\x13\x05\x13\xF8\n\x13\x03\x14\x03\x14\x05\x14\xFC\n\x14\x03\x15" +
1827
- "\x03\x15\x03\x16\x03\x16\x03\x17\x03\x17\x03\x18\x03\x18\x03\x19\x03\x19" +
1828
- "\x03\x1A\x03\x1A\x03\x1B\x03\x1B\x03\x1B\x05\x1B\u010D\n\x1B\x03\x1B\x03" +
1829
- "\x1B\x03\x1B\x05\x1B\u0112\n\x1B\x07\x1B\u0114\n\x1B\f\x1B\x0E\x1B\u0117" +
1830
- '\v\x1B\x03\x1B\x03\x1B\x03\x1B\x02\x02\x03"\x1C\x02\x02\x04\x02\x06\x02' +
1831
- "\b\x02\n\x02\f\x02\x0E\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1A" +
1832
- '\x02\x1C\x02\x1E\x02 \x02"\x02$\x02&\x02(\x02*\x02,\x02.\x020\x022\x02' +
1833
- "4\x02\x02\t\x03\x02(,\x03\x02#$\x03\x02\x12\x17\x03\x0245\x03\x02\x1E" +
1834
- "\x1F\x03\x02./\x03\x0223\x02\u012F\x028\x03\x02\x02\x02\x04?\x03\x02\x02" +
1835
- "\x02\x06A\x03\x02\x02\x02\bH\x03\x02\x02\x02\nQ\x03\x02\x02\x02\fc\x03" +
1836
- "\x02\x02\x02\x0En\x03\x02\x02\x02\x10q\x03\x02\x02\x02\x12y\x03\x02\x02" +
1837
- "\x02\x14\x7F\x03\x02\x02\x02\x16\x9D\x03\x02\x02\x02\x18\x9F\x03\x02\x02" +
1838
- "\x02\x1A\xA8\x03\x02\x02\x02\x1C\xAD\x03\x02\x02\x02\x1E\xB2\x03\x02\x02" +
1839
- '\x02 \xB6\x03\x02\x02\x02"\xE6\x03\x02\x02\x02$\xF7\x03\x02\x02\x02&' +
1840
- "\xFB\x03\x02\x02\x02(\xFD\x03\x02\x02\x02*\xFF\x03\x02\x02\x02,\u0101" +
1841
- "\x03\x02\x02\x02.\u0103\x03\x02\x02\x020\u0105\x03\x02\x02\x022\u0107" +
1842
- "\x03\x02\x02\x024\u0109\x03\x02\x02\x0269\x05\x04\x03\x0279\x05\f\x07" +
1843
- "\x0286\x03\x02\x02\x0287\x03\x02\x02\x029:\x03\x02\x02\x02:;\x07\x02\x02" +
1844
- "\x03;\x03\x03\x02\x02\x02<@\x05\x06\x04\x02=@\x05\b\x05\x02>@\x05\n\x06" +
1845
- "\x02?<\x03\x02\x02\x02?=\x03\x02\x02\x02?>\x03\x02\x02\x02@\x05\x03\x02" +
1846
- "\x02\x02AC\x07\v\x02\x02BD\x05\x0E\b\x02CB\x03\x02\x02\x02CD\x03\x02\x02" +
1847
- "\x02DF\x03\x02\x02\x02EG\x05\x1A\x0E\x02FE\x03\x02\x02\x02FG\x03\x02\x02" +
1848
- "\x02G\x07\x03\x02\x02\x02HI\x07\f\x02\x02IJ\x07\x0E\x02\x02JL\x05\x10" +
1849
- "\t\x02KM\x05\x0E\b\x02LK\x03\x02\x02\x02LM\x03\x02\x02\x02MO\x03\x02\x02" +
1850
- "\x02NP\x05\x1A\x0E\x02ON\x03\x02\x02\x02OP\x03\x02\x02\x02P\t\x03\x02" +
1851
- "\x02\x02QR\x07\r\x02\x02RT\x05\x14\v\x02SU\x05\x0E\b\x02TS\x03\x02\x02" +
1852
- "\x02TU\x03\x02\x02\x02UW\x03\x02\x02\x02VX\x05\x18\r\x02WV\x03\x02\x02" +
1853
- "\x02WX\x03\x02\x02\x02XZ\x03\x02\x02\x02Y[\x05 \x11\x02ZY\x03\x02\x02" +
1854
- "\x02Z[\x03\x02\x02\x02[]\x03\x02\x02\x02\\^\x05\x1A\x0E\x02]\\\x03\x02" +
1855
- "\x02\x02]^\x03\x02\x02\x02^`\x03\x02\x02\x02_a\x05\x1C\x0F\x02`_\x03\x02" +
1856
- '\x02\x02`a\x03\x02\x02\x02a\v\x03\x02\x02\x02bd\x05"\x12\x02cb\x03\x02' +
1857
- "\x02\x02cd\x03\x02\x02\x02df\x03\x02\x02\x02eg\x05 \x11\x02fe\x03\x02" +
1858
- "\x02\x02fg\x03\x02\x02\x02gi\x03\x02\x02\x02hj\x05\x1A\x0E\x02ih\x03\x02" +
1859
- "\x02\x02ij\x03\x02\x02\x02jl\x03\x02\x02\x02km\x05\x1C\x0F\x02lk\x03\x02" +
1860
- "\x02\x02lm\x03\x02\x02\x02m\r\x03\x02\x02\x02no\x07\x0F\x02\x02op\x05" +
1861
- '"\x12\x02p\x0F\x03\x02\x02\x02qv\x05\x12\n\x02rs\x07\x06\x02\x02su\x05' +
1862
- "\x12\n\x02tr\x03\x02\x02\x02ux\x03\x02\x02\x02vt\x03\x02\x02\x02vw\x03" +
1863
- "\x02\x02\x02w\x11\x03\x02\x02\x02xv\x03\x02\x02\x02yz\x05(\x15\x02z}\x07" +
1864
- "\x12\x02\x02{~\x05$\x13\x02|~\x052\x1A\x02}{\x03\x02\x02\x02}|\x03\x02" +
1865
- "\x02\x02~\x13\x03\x02\x02\x02\x7F\x84\x05\x16\f\x02\x80\x81\x07\x06\x02" +
1866
- "\x02\x81\x83\x05\x16\f\x02\x82\x80\x03\x02\x02\x02\x83\x86\x03\x02\x02" +
1867
- "\x02\x84\x82\x03\x02\x02\x02\x84\x85\x03\x02\x02\x02\x85\x15\x03\x02\x02" +
1868
- "\x02\x86\x84\x03\x02\x02\x02\x87\x9E\x05(\x15\x02\x88\x89\x07(\x02\x02" +
1869
- "\x89\x8A\x07\x04\x02\x02\x8A\x8B\x07-\x02\x02\x8B\x8C\x07\x05\x02\x02" +
1870
- "\x8C\x8D\x07&\x02\x02\x8D\x9E\x05(\x15\x02\x8E\x8F\x07(\x02\x02\x8F\x90" +
1871
- "\x07\x04\x02\x02\x90\x91\x07\'\x02\x02\x91\x92\x05(\x15\x02\x92\x93\x07" +
1872
- "\x05\x02\x02\x93\x94\x07&\x02\x02\x94\x95\x05(\x15\x02\x95\x9E\x03\x02" +
1873
- "\x02\x02\x96\x97\t\x02\x02\x02\x97\x98\x07\x04\x02\x02\x98\x99\x05(\x15" +
1874
- "\x02\x99\x9A\x07\x05\x02\x02\x9A\x9B\x07&\x02\x02\x9B\x9C\x05(\x15\x02" +
1875
- "\x9C\x9E\x03\x02\x02\x02\x9D\x87\x03\x02\x02\x02\x9D\x88\x03\x02\x02\x02" +
1876
- "\x9D\x8E\x03\x02\x02\x02\x9D\x96\x03\x02\x02\x02\x9E\x17\x03\x02\x02\x02" +
1877
- "\x9F\xA0\x07%\x02\x02\xA0\xA5\x05(\x15\x02\xA1\xA2\x07\x06\x02\x02\xA2" +
1878
- "\xA4\x05(\x15\x02\xA3\xA1\x03\x02\x02\x02\xA4\xA7\x03\x02\x02\x02\xA5" +
1879
- "\xA3\x03\x02\x02\x02\xA5\xA6\x03\x02\x02\x02\xA6\x19\x03\x02\x02\x02\xA7" +
1880
- "\xA5\x03\x02\x02\x02\xA8\xAB\x07 \x02\x02\xA9\xAC\x05.\x18\x02\xAA\xAC" +
1881
- "\x052\x1A\x02\xAB\xA9\x03\x02\x02\x02\xAB\xAA\x03\x02\x02\x02\xAC\x1B" +
1882
- "\x03\x02\x02\x02\xAD\xB0\x07!\x02\x02\xAE\xB1\x05,\x17\x02\xAF\xB1\x05" +
1883
- "2\x1A\x02\xB0\xAE\x03\x02\x02\x02\xB0\xAF\x03\x02\x02\x02\xB1\x1D\x03" +
1884
- "\x02\x02\x02\xB2\xB4\x05(\x15\x02\xB3\xB5\t\x03\x02\x02\xB4\xB3\x03\x02" +
1885
- '\x02\x02\xB4\xB5\x03\x02\x02\x02\xB5\x1F\x03\x02\x02\x02\xB6\xB7\x07"' +
1886
- "\x02\x02\xB7\xBC\x05\x1E\x10\x02\xB8\xB9\x07\x06\x02\x02\xB9\xBB\x05\x1E" +
1887
- "\x10\x02\xBA\xB8\x03\x02\x02\x02\xBB\xBE\x03\x02\x02\x02\xBC\xBA\x03\x02" +
1888
- "\x02\x02\xBC\xBD\x03\x02\x02\x02\xBD!\x03\x02\x02\x02\xBE\xBC\x03\x02" +
1889
- "\x02\x02\xBF\xC0\b\x12\x01\x02\xC0\xC1\x05(\x15\x02\xC1\xC4\x07\x18\x02" +
1890
- "\x02\xC2\xC5\x05,\x17\x02\xC3\xC5\x052\x1A\x02\xC4\xC2\x03\x02\x02\x02" +
1891
- "\xC4\xC3\x03\x02\x02\x02\xC5\xE7\x03\x02\x02\x02\xC6\xC7\x05(\x15\x02" +
1892
- "\xC7\xCA\x07\x19\x02\x02\xC8\xCB\x054\x1B\x02\xC9\xCB\x052\x1A\x02\xCA" +
1893
- "\xC8\x03\x02\x02\x02\xCA\xC9\x03\x02\x02\x02\xCB\xE7\x03\x02\x02\x02\xCC" +
1894
- "\xCD\x05(\x15\x02\xCD\xD0\x07\x1A\x02\x02\xCE\xD1\x05,\x17\x02\xCF\xD1" +
1895
- "\x052\x1A\x02\xD0\xCE\x03\x02\x02\x02\xD0\xCF\x03\x02\x02\x02\xD1\xE7" +
1896
- "\x03\x02\x02\x02\xD2\xD3\x05(\x15\x02\xD3\xD4\x07\x1B\x02\x02\xD4\xD5" +
1897
- "\x07\x1D\x02\x02\xD5\xE7\x03\x02\x02\x02\xD6\xD7\x05(\x15\x02\xD7\xD8" +
1898
- "\x07\x1B\x02\x02\xD8\xD9\x07\x1C\x02\x02\xD9\xDA\x07\x1D\x02\x02\xDA\xE7" +
1899
- "\x03\x02\x02\x02\xDB\xDC\x05(\x15\x02\xDC\xDF\t\x04\x02\x02\xDD\xE0\x05" +
1900
- "$\x13\x02\xDE\xE0\x052\x1A\x02\xDF\xDD\x03\x02\x02\x02\xDF\xDE\x03\x02" +
1901
- '\x02\x02\xE0\xE7\x03\x02\x02\x02\xE1\xE2\x07\x04\x02\x02\xE2\xE3\x05"' +
1902
- "\x12\x02\xE3\xE4\x07\x05\x02\x02\xE4\xE7\x03\x02\x02\x02\xE5\xE7\x05&" +
1903
- "\x14\x02\xE6\xBF\x03\x02\x02\x02\xE6\xC6\x03\x02\x02\x02\xE6\xCC\x03\x02" +
1904
- "\x02\x02\xE6\xD2\x03\x02\x02\x02\xE6\xD6\x03\x02\x02\x02\xE6\xDB\x03\x02" +
1905
- "\x02\x02\xE6\xE1\x03\x02\x02\x02\xE6\xE5\x03\x02\x02\x02\xE7\xF0\x03\x02" +
1906
- '\x02\x02\xE8\xE9\f\x06\x02\x02\xE9\xEA\x07\x10\x02\x02\xEA\xEF\x05"\x12' +
1907
- '\x07\xEB\xEC\f\x05\x02\x02\xEC\xED\x07\x11\x02\x02\xED\xEF\x05"\x12\x06' +
1908
- "\xEE\xE8\x03\x02\x02\x02\xEE\xEB\x03\x02\x02\x02\xEF\xF2\x03\x02\x02\x02" +
1909
- "\xF0\xEE\x03\x02\x02\x02\xF0\xF1\x03\x02\x02\x02\xF1#\x03\x02\x02\x02" +
1910
- "\xF2\xF0\x03\x02\x02\x02\xF3\xF8\x05*\x16\x02\xF4\xF8\x05.\x18\x02\xF5" +
1911
- "\xF8\x050\x19\x02\xF6\xF8\x05,\x17\x02\xF7\xF3\x03\x02\x02\x02\xF7\xF4" +
1912
- "\x03\x02\x02\x02\xF7\xF5\x03\x02\x02\x02\xF7\xF6\x03\x02\x02\x02\xF8%" +
1913
- "\x03\x02\x02\x02\xF9\xFC\x05$\x13\x02\xFA\xFC\x05(\x15\x02\xFB\xF9\x03" +
1914
- "\x02\x02\x02\xFB\xFA\x03\x02\x02\x02\xFC\'\x03\x02\x02\x02\xFD\xFE\t\x05" +
1915
- "\x02\x02\xFE)\x03\x02\x02\x02\xFF\u0100\t\x06\x02\x02\u0100+\x03\x02\x02" +
1916
- "\x02\u0101\u0102\t\x07\x02\x02\u0102-\x03\x02\x02\x02\u0103\u0104\x07" +
1917
- "0\x02\x02\u0104/\x03\x02\x02\x02\u0105\u0106\x071\x02\x02\u01061\x03\x02" +
1918
- "\x02\x02\u0107\u0108\t\b\x02\x02\u01083\x03\x02\x02\x02\u0109\u010C\x07" +
1919
- "\t\x02\x02\u010A\u010D\x05$\x13\x02\u010B\u010D\x052\x1A\x02\u010C\u010A" +
1920
- "\x03\x02\x02\x02\u010C\u010B\x03\x02\x02\x02\u010D\u0115\x03\x02\x02\x02" +
1921
- "\u010E\u0111\x07\x06\x02\x02\u010F\u0112\x05$\x13\x02\u0110\u0112\x05" +
1922
- "2\x1A\x02\u0111\u010F\x03\x02\x02\x02\u0111\u0110\x03\x02\x02\x02\u0112" +
1923
- "\u0114\x03\x02\x02\x02\u0113\u010E\x03\x02\x02\x02\u0114\u0117\x03\x02" +
1924
- "\x02\x02\u0115\u0113\x03\x02\x02\x02\u0115\u0116\x03\x02\x02\x02\u0116" +
1925
- "\u0118\x03\x02\x02\x02\u0117\u0115\x03\x02\x02\x02\u0118\u0119\x07\n\x02" +
1926
- "\x02\u01195\x03\x02\x02\x02&8?CFLOTWZ]`cfilv}\x84\x9D\xA5\xAB\xB0\xB4" +
1927
- "\xBC\xC4\xCA\xD0\xDF\xE6\xEE\xF0\xF7\xFB\u010C\u0111\u0115";
1755
+ "\x18\t\x18\x04\x19\t\x19\x04\x1A\t\x1A\x04\x1B\t\x1B\x04\x1C\t\x1C\x03" +
1756
+ "\x02\x03\x02\x05\x02;\n\x02\x03\x02\x03\x02\x03\x03\x03\x03\x03\x03\x05" +
1757
+ "\x03B\n\x03\x03\x04\x03\x04\x05\x04F\n\x04\x03\x04\x05\x04I\n\x04\x03" +
1758
+ "\x05\x03\x05\x03\x05\x03\x05\x05\x05O\n\x05\x03\x05\x05\x05R\n\x05\x03" +
1759
+ "\x06\x03\x06\x03\x06\x05\x06W\n\x06\x03\x06\x05\x06Z\n\x06\x03\x06\x05" +
1760
+ "\x06]\n\x06\x03\x06\x05\x06`\n\x06\x03\x06\x05\x06c\n\x06\x03\x07\x05" +
1761
+ "\x07f\n\x07\x03\x07\x05\x07i\n\x07\x03\x07\x05\x07l\n\x07\x03\x07\x05" +
1762
+ "\x07o\n\x07\x03\b\x03\b\x03\b\x03\t\x03\t\x03\t\x07\tw\n\t\f\t\x0E\tz" +
1763
+ "\v\t\x03\n\x03\n\x03\n\x03\n\x03\n\x05\n\x81\n\n\x03\v\x03\v\x03\v\x07" +
1764
+ "\v\x86\n\v\f\v\x0E\v\x89\v\v\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f" +
1765
+ "\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03" +
1766
+ "\f\x03\f\x03\f\x03\f\x05\f\xA1\n\f\x03\r\x03\r\x03\r\x03\r\x07\r\xA7\n" +
1767
+ "\r\f\r\x0E\r\xAA\v\r\x03\x0E\x03\x0E\x03\x0E\x05\x0E\xAF\n\x0E\x03\x0F" +
1768
+ "\x03\x0F\x03\x0F\x05\x0F\xB4\n\x0F\x03\x10\x03\x10\x05\x10\xB8\n\x10\x03" +
1769
+ "\x11\x03\x11\x03\x11\x03\x11\x07\x11\xBE\n\x11\f\x11\x0E\x11\xC1\v\x11" +
1770
+ "\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12\x05\x12\xC8\n\x12\x03\x12\x03" +
1771
+ "\x12\x03\x12\x03\x12\x05\x12\xCE\n\x12\x03\x12\x03\x12\x03\x12\x03\x12" +
1772
+ "\x05\x12\xD4\n\x12\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12\x03" +
1773
+ "\x12\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12\x05\x12\xE4" +
1774
+ "\n\x12\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12\x05\x12\xEB\n\x12\x03\x12" +
1775
+ "\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12\x07\x12\xF3\n\x12\f\x12\x0E\x12" +
1776
+ "\xF6\v\x12\x03\x13\x03\x13\x03\x13\x03\x13\x05\x13\xFC\n\x13\x03\x14\x03" +
1777
+ "\x14\x05\x14\u0100\n\x14\x03\x15\x03\x15\x03\x16\x03\x16\x03\x17\x03\x17" +
1778
+ "\x03\x18\x03\x18\x03\x19\x03\x19\x03\x1A\x03\x1A\x03\x1B\x03\x1B\x03\x1B" +
1779
+ "\x03\x1B\x05\x1B\u0112\n\x1B\x03\x1B\x03\x1B\x03\x1B\x03\x1B\x05\x1B\u0118" +
1780
+ "\n\x1B\x07\x1B\u011A\n\x1B\f\x1B\x0E\x1B\u011D\v\x1B\x03\x1B\x03\x1B\x03" +
1781
+ "\x1C\x03\x1C\x03\x1C\x03\x1C\x03\x1C\x03\x1C\x05\x1C\u0127\n\x1C\x03\x1C" +
1782
+ "\x03\x1C\x03\x1C\x02\x02\x03\"\x1D\x02\x02\x04\x02\x06\x02\b\x02\n\x02" +
1783
+ "\f\x02\x0E\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1A\x02\x1C\x02" +
1784
+ "\x1E\x02 \x02\"\x02$\x02&\x02(\x02*\x02,\x02.\x020\x022\x024\x026\x02" +
1785
+ "\x02\t\x03\x02(,\x03\x02#$\x03\x02\x12\x17\x03\x0256\x03\x02\x1E\x1F\x03" +
1786
+ "\x02/0\x03\x0234\x02\u0146\x02:\x03\x02\x02\x02\x04A\x03\x02\x02\x02\x06" +
1787
+ "C\x03\x02\x02\x02\bJ\x03\x02\x02\x02\nS\x03\x02\x02\x02\fe\x03\x02\x02" +
1788
+ "\x02\x0Ep\x03\x02\x02\x02\x10s\x03\x02\x02\x02\x12{\x03\x02\x02\x02\x14" +
1789
+ "\x82\x03\x02\x02\x02\x16\xA0\x03\x02\x02\x02\x18\xA2\x03\x02\x02\x02\x1A" +
1790
+ "\xAB\x03\x02\x02\x02\x1C\xB0\x03\x02\x02\x02\x1E\xB5\x03\x02\x02\x02 " +
1791
+ "\xB9\x03\x02\x02\x02\"\xEA\x03\x02\x02\x02$\xFB\x03\x02\x02\x02&\xFF\x03" +
1792
+ "\x02\x02\x02(\u0101\x03\x02\x02\x02*\u0103\x03\x02\x02\x02,\u0105\x03" +
1793
+ "\x02\x02\x02.\u0107\x03\x02\x02\x020\u0109\x03\x02\x02\x022\u010B\x03" +
1794
+ "\x02\x02\x024\u010D\x03\x02\x02\x026\u0120\x03\x02\x02\x028;\x05\x04\x03" +
1795
+ "\x029;\x05\f\x07\x02:8\x03\x02\x02\x02:9\x03\x02\x02\x02;<\x03\x02\x02" +
1796
+ "\x02<=\x07\x02\x02\x03=\x03\x03\x02\x02\x02>B\x05\x06\x04\x02?B\x05\b" +
1797
+ "\x05\x02@B\x05\n\x06\x02A>\x03\x02\x02\x02A?\x03\x02\x02\x02A@\x03\x02" +
1798
+ "\x02\x02B\x05\x03\x02\x02\x02CE\x07\v\x02\x02DF\x05\x0E\b\x02ED\x03\x02" +
1799
+ "\x02\x02EF\x03\x02\x02\x02FH\x03\x02\x02\x02GI\x05\x1A\x0E\x02HG\x03\x02" +
1800
+ "\x02\x02HI\x03\x02\x02\x02I\x07\x03\x02\x02\x02JK\x07\f\x02\x02KL\x07" +
1801
+ "\x0E\x02\x02LN\x05\x10\t\x02MO\x05\x0E\b\x02NM\x03\x02\x02\x02NO\x03\x02" +
1802
+ "\x02\x02OQ\x03\x02\x02\x02PR\x05\x1A\x0E\x02QP\x03\x02\x02\x02QR\x03\x02" +
1803
+ "\x02\x02R\t\x03\x02\x02\x02ST\x07\r\x02\x02TV\x05\x14\v\x02UW\x05\x0E" +
1804
+ "\b\x02VU\x03\x02\x02\x02VW\x03\x02\x02\x02WY\x03\x02\x02\x02XZ\x05\x18" +
1805
+ "\r\x02YX\x03\x02\x02\x02YZ\x03\x02\x02\x02Z\\\x03\x02\x02\x02[]\x05 \x11" +
1806
+ "\x02\\[\x03\x02\x02\x02\\]\x03\x02\x02\x02]_\x03\x02\x02\x02^`\x05\x1A" +
1807
+ "\x0E\x02_^\x03\x02\x02\x02_`\x03\x02\x02\x02`b\x03\x02\x02\x02ac\x05\x1C" +
1808
+ "\x0F\x02ba\x03\x02\x02\x02bc\x03\x02\x02\x02c\v\x03\x02\x02\x02df\x05" +
1809
+ "\"\x12\x02ed\x03\x02\x02\x02ef\x03\x02\x02\x02fh\x03\x02\x02\x02gi\x05" +
1810
+ " \x11\x02hg\x03\x02\x02\x02hi\x03\x02\x02\x02ik\x03\x02\x02\x02jl\x05" +
1811
+ "\x1A\x0E\x02kj\x03\x02\x02\x02kl\x03\x02\x02\x02ln\x03\x02\x02\x02mo\x05" +
1812
+ "\x1C\x0F\x02nm\x03\x02\x02\x02no\x03\x02\x02\x02o\r\x03\x02\x02\x02pq" +
1813
+ "\x07\x0F\x02\x02qr\x05\"\x12\x02r\x0F\x03\x02\x02\x02sx\x05\x12\n\x02" +
1814
+ "tu\x07\x06\x02\x02uw\x05\x12\n\x02vt\x03\x02\x02\x02wz\x03\x02\x02\x02" +
1815
+ "xv\x03\x02\x02\x02xy\x03\x02\x02\x02y\x11\x03\x02\x02\x02zx\x03\x02\x02" +
1816
+ "\x02{|\x05(\x15\x02|\x80\x07\x12\x02\x02}\x81\x05$\x13\x02~\x81\x052\x1A" +
1817
+ "\x02\x7F\x81\x056\x1C\x02\x80}\x03\x02\x02\x02\x80~\x03\x02\x02\x02\x80" +
1818
+ "\x7F\x03\x02\x02\x02\x81\x13\x03\x02\x02\x02\x82\x87\x05\x16\f\x02\x83" +
1819
+ "\x84\x07\x06\x02\x02\x84\x86\x05\x16\f\x02\x85\x83\x03\x02\x02\x02\x86" +
1820
+ "\x89\x03\x02\x02\x02\x87\x85\x03\x02\x02\x02\x87\x88\x03\x02\x02\x02\x88" +
1821
+ "\x15\x03\x02\x02\x02\x89\x87\x03\x02\x02\x02\x8A\xA1\x05(\x15\x02\x8B" +
1822
+ "\x8C\x07(\x02\x02\x8C\x8D\x07\x04\x02\x02\x8D\x8E\x07-\x02\x02\x8E\x8F" +
1823
+ "\x07\x05\x02\x02\x8F\x90\x07&\x02\x02\x90\xA1\x05(\x15\x02\x91\x92\x07" +
1824
+ "(\x02\x02\x92\x93\x07\x04\x02\x02\x93\x94\x07\'\x02\x02\x94\x95\x05(\x15" +
1825
+ "\x02\x95\x96\x07\x05\x02\x02\x96\x97\x07&\x02\x02\x97\x98\x05(\x15\x02" +
1826
+ "\x98\xA1\x03\x02\x02\x02\x99\x9A\t\x02\x02\x02\x9A\x9B\x07\x04\x02\x02" +
1827
+ "\x9B\x9C\x05(\x15\x02\x9C\x9D\x07\x05\x02\x02\x9D\x9E\x07&\x02\x02\x9E" +
1828
+ "\x9F\x05(\x15\x02\x9F\xA1\x03\x02\x02\x02\xA0\x8A\x03\x02\x02\x02\xA0" +
1829
+ "\x8B\x03\x02\x02\x02\xA0\x91\x03\x02\x02\x02\xA0\x99\x03\x02\x02\x02\xA1" +
1830
+ "\x17\x03\x02\x02\x02\xA2\xA3\x07%\x02\x02\xA3\xA8\x05(\x15\x02\xA4\xA5" +
1831
+ "\x07\x06\x02\x02\xA5\xA7\x05(\x15\x02\xA6\xA4\x03\x02\x02\x02\xA7\xAA" +
1832
+ "\x03\x02\x02\x02\xA8\xA6\x03\x02\x02\x02\xA8\xA9\x03\x02\x02\x02\xA9\x19" +
1833
+ "\x03\x02\x02\x02\xAA\xA8\x03\x02\x02\x02\xAB\xAE\x07 \x02\x02\xAC\xAF" +
1834
+ "\x05.\x18\x02\xAD\xAF\x052\x1A\x02\xAE\xAC\x03\x02\x02\x02\xAE\xAD\x03" +
1835
+ "\x02\x02\x02\xAF\x1B\x03\x02\x02\x02\xB0\xB3\x07!\x02\x02\xB1\xB4\x05" +
1836
+ ",\x17\x02\xB2\xB4\x052\x1A\x02\xB3\xB1\x03\x02\x02\x02\xB3\xB2\x03\x02" +
1837
+ "\x02\x02\xB4\x1D\x03\x02\x02\x02\xB5\xB7\x05(\x15\x02\xB6\xB8\t\x03\x02" +
1838
+ "\x02\xB7\xB6\x03\x02\x02\x02\xB7\xB8\x03\x02\x02\x02\xB8\x1F\x03\x02\x02" +
1839
+ "\x02\xB9\xBA\x07\"\x02\x02\xBA\xBF\x05\x1E\x10\x02\xBB\xBC\x07\x06\x02" +
1840
+ "\x02\xBC\xBE\x05\x1E\x10\x02\xBD\xBB\x03\x02\x02\x02\xBE\xC1\x03\x02\x02" +
1841
+ "\x02\xBF\xBD\x03\x02\x02\x02\xBF\xC0\x03\x02\x02\x02\xC0!\x03\x02\x02" +
1842
+ "\x02\xC1\xBF\x03\x02\x02\x02\xC2\xC3\b\x12\x01\x02\xC3\xC4\x05(\x15\x02" +
1843
+ "\xC4\xC7\x07\x18\x02\x02\xC5\xC8\x05,\x17\x02\xC6\xC8\x052\x1A\x02\xC7" +
1844
+ "\xC5\x03\x02\x02\x02\xC7\xC6\x03\x02\x02\x02\xC8\xEB\x03\x02\x02\x02\xC9" +
1845
+ "\xCA\x05(\x15\x02\xCA\xCD\x07\x19\x02\x02\xCB\xCE\x054\x1B\x02\xCC\xCE" +
1846
+ "\x052\x1A\x02\xCD\xCB\x03\x02\x02\x02\xCD\xCC\x03\x02\x02\x02\xCE\xEB" +
1847
+ "\x03\x02\x02\x02\xCF\xD0\x05(\x15\x02\xD0\xD3\x07\x1A\x02\x02\xD1\xD4" +
1848
+ "\x05,\x17\x02\xD2\xD4\x052\x1A\x02\xD3\xD1\x03\x02\x02\x02\xD3\xD2\x03" +
1849
+ "\x02\x02\x02\xD4\xEB\x03\x02\x02\x02\xD5\xD6\x05(\x15\x02\xD6\xD7\x07" +
1850
+ "\x1B\x02\x02\xD7\xD8\x07\x1D\x02\x02\xD8\xEB\x03\x02\x02\x02\xD9\xDA\x05" +
1851
+ "(\x15\x02\xDA\xDB\x07\x1B\x02\x02\xDB\xDC\x07\x1C\x02\x02\xDC\xDD\x07" +
1852
+ "\x1D\x02\x02\xDD\xEB\x03\x02\x02\x02\xDE\xDF\x05(\x15\x02\xDF\xE3\t\x04" +
1853
+ "\x02\x02\xE0\xE4\x05$\x13\x02\xE1\xE4\x052\x1A\x02\xE2\xE4\x056\x1C\x02" +
1854
+ "\xE3\xE0\x03\x02\x02\x02\xE3\xE1\x03\x02\x02\x02\xE3\xE2\x03\x02\x02\x02" +
1855
+ "\xE4\xEB\x03\x02\x02\x02\xE5\xE6\x07\x04\x02\x02\xE6\xE7\x05\"\x12\x02" +
1856
+ "\xE7\xE8\x07\x05\x02\x02\xE8\xEB\x03\x02\x02\x02\xE9\xEB\x05&\x14\x02" +
1857
+ "\xEA\xC2\x03\x02\x02\x02\xEA\xC9\x03\x02\x02\x02\xEA\xCF\x03\x02\x02\x02" +
1858
+ "\xEA\xD5\x03\x02\x02\x02\xEA\xD9\x03\x02\x02\x02\xEA\xDE\x03\x02\x02\x02" +
1859
+ "\xEA\xE5\x03\x02\x02\x02\xEA\xE9\x03\x02\x02\x02\xEB\xF4\x03\x02\x02\x02" +
1860
+ "\xEC\xED\f\x06\x02\x02\xED\xEE\x07\x10\x02\x02\xEE\xF3\x05\"\x12\x07\xEF" +
1861
+ "\xF0\f\x05\x02\x02\xF0\xF1\x07\x11\x02\x02\xF1\xF3\x05\"\x12\x06\xF2\xEC" +
1862
+ "\x03\x02\x02\x02\xF2\xEF\x03\x02\x02\x02\xF3\xF6\x03\x02\x02\x02\xF4\xF2" +
1863
+ "\x03\x02\x02\x02\xF4\xF5\x03\x02\x02\x02\xF5#\x03\x02\x02\x02\xF6\xF4" +
1864
+ "\x03\x02\x02\x02\xF7\xFC\x05*\x16\x02\xF8\xFC\x05.\x18\x02\xF9\xFC\x05" +
1865
+ "0\x19\x02\xFA\xFC\x05,\x17\x02\xFB\xF7\x03\x02\x02\x02\xFB\xF8\x03\x02" +
1866
+ "\x02\x02\xFB\xF9\x03\x02\x02\x02\xFB\xFA\x03\x02\x02\x02\xFC%\x03\x02" +
1867
+ "\x02\x02\xFD\u0100\x05$\x13\x02\xFE\u0100\x05(\x15\x02\xFF\xFD\x03\x02" +
1868
+ "\x02\x02\xFF\xFE\x03\x02\x02\x02\u0100\'\x03\x02\x02\x02\u0101\u0102\t" +
1869
+ "\x05\x02\x02\u0102)\x03\x02\x02\x02\u0103\u0104\t\x06\x02\x02\u0104+\x03" +
1870
+ "\x02\x02\x02\u0105\u0106\t\x07\x02\x02\u0106-\x03\x02\x02\x02\u0107\u0108" +
1871
+ "\x071\x02\x02\u0108/\x03\x02\x02\x02\u0109\u010A\x072\x02\x02\u010A1\x03" +
1872
+ "\x02\x02\x02\u010B\u010C\t\b\x02\x02\u010C3\x03\x02\x02\x02\u010D\u0111" +
1873
+ "\x07\t\x02\x02\u010E\u0112\x05$\x13\x02\u010F\u0112\x052\x1A\x02\u0110" +
1874
+ "\u0112\x056\x1C\x02\u0111\u010E\x03\x02\x02\x02\u0111\u010F\x03\x02\x02" +
1875
+ "\x02\u0111\u0110\x03\x02\x02\x02\u0112\u011B\x03\x02\x02\x02\u0113\u0117" +
1876
+ "\x07\x06\x02\x02\u0114\u0118\x05$\x13\x02\u0115\u0118\x052\x1A\x02\u0116" +
1877
+ "\u0118\x056\x1C\x02\u0117\u0114\x03\x02\x02\x02\u0117\u0115\x03\x02\x02" +
1878
+ "\x02\u0117\u0116\x03\x02\x02\x02\u0118\u011A\x03\x02\x02\x02\u0119\u0113" +
1879
+ "\x03\x02\x02\x02\u011A\u011D\x03\x02\x02\x02\u011B\u0119\x03\x02\x02\x02" +
1880
+ "\u011B\u011C\x03\x02\x02\x02\u011C\u011E\x03\x02\x02\x02\u011D\u011B\x03" +
1881
+ "\x02\x02\x02\u011E\u011F\x07\n\x02\x02\u011F5\x03\x02\x02\x02\u0120\u0121" +
1882
+ "\x07.\x02\x02\u0121\u0126\x07\x04\x02\x02\u0122\u0127\x05,\x17\x02\u0123" +
1883
+ "\u0127\x05.\x18\x02\u0124\u0127\x050\x19\x02\u0125\u0127\x052\x1A\x02" +
1884
+ "\u0126\u0122\x03\x02\x02\x02\u0126\u0123\x03\x02\x02\x02\u0126\u0124\x03" +
1885
+ "\x02\x02\x02\u0126\u0125\x03\x02\x02\x02\u0126\u0127\x03\x02\x02\x02\u0127" +
1886
+ "\u0128\x03\x02\x02\x02\u0128\u0129\x07\x05\x02\x02\u01297\x03\x02\x02" +
1887
+ "\x02\':AEHNQVY\\_behknx\x80\x87\xA0\xA8\xAE\xB3\xB7\xBF\xC7\xCD\xD3\xE3" +
1888
+ "\xEA\xF2\xF4\xFB\xFF\u0111\u0117\u011B\u0126";
1928
1889
  static __ATN;
1929
1890
  static get _ATN() {
1930
1891
  if (!WebdaQLParserParser.__ATN) {
@@ -1934,9 +1895,7 @@ export class WebdaQLParserParser extends Parser {
1934
1895
  }
1935
1896
  }
1936
1897
  export class WebdaqlContext extends ParserRuleContext {
1937
- EOF() {
1938
- return this.getToken(WebdaQLParserParser.EOF, 0);
1939
- }
1898
+ EOF() { return this.getToken(WebdaQLParserParser.EOF, 0); }
1940
1899
  statement() {
1941
1900
  return this.tryGetRuleContext(0, StatementContext);
1942
1901
  }
@@ -1947,9 +1906,7 @@ export class WebdaqlContext extends ParserRuleContext {
1947
1906
  super(parent, invokingState);
1948
1907
  }
1949
1908
  // @Override
1950
- get ruleIndex() {
1951
- return WebdaQLParserParser.RULE_webdaql;
1952
- }
1909
+ get ruleIndex() { return WebdaQLParserParser.RULE_webdaql; }
1953
1910
  // @Override
1954
1911
  enterRule(listener) {
1955
1912
  if (listener.enterWebdaql) {
@@ -1986,9 +1943,7 @@ export class StatementContext extends ParserRuleContext {
1986
1943
  super(parent, invokingState);
1987
1944
  }
1988
1945
  // @Override
1989
- get ruleIndex() {
1990
- return WebdaQLParserParser.RULE_statement;
1991
- }
1946
+ get ruleIndex() { return WebdaQLParserParser.RULE_statement; }
1992
1947
  // @Override
1993
1948
  enterRule(listener) {
1994
1949
  if (listener.enterStatement) {
@@ -2012,9 +1967,7 @@ export class StatementContext extends ParserRuleContext {
2012
1967
  }
2013
1968
  }
2014
1969
  export class DeleteStatementContext extends ParserRuleContext {
2015
- DELETE() {
2016
- return this.getToken(WebdaQLParserParser.DELETE, 0);
2017
- }
1970
+ DELETE() { return this.getToken(WebdaQLParserParser.DELETE, 0); }
2018
1971
  whereClause() {
2019
1972
  return this.tryGetRuleContext(0, WhereClauseContext);
2020
1973
  }
@@ -2025,9 +1978,7 @@ export class DeleteStatementContext extends ParserRuleContext {
2025
1978
  super(parent, invokingState);
2026
1979
  }
2027
1980
  // @Override
2028
- get ruleIndex() {
2029
- return WebdaQLParserParser.RULE_deleteStatement;
2030
- }
1981
+ get ruleIndex() { return WebdaQLParserParser.RULE_deleteStatement; }
2031
1982
  // @Override
2032
1983
  enterRule(listener) {
2033
1984
  if (listener.enterDeleteStatement) {
@@ -2051,12 +2002,8 @@ export class DeleteStatementContext extends ParserRuleContext {
2051
2002
  }
2052
2003
  }
2053
2004
  export class UpdateStatementContext extends ParserRuleContext {
2054
- UPDATE() {
2055
- return this.getToken(WebdaQLParserParser.UPDATE, 0);
2056
- }
2057
- SET() {
2058
- return this.getToken(WebdaQLParserParser.SET, 0);
2059
- }
2005
+ UPDATE() { return this.getToken(WebdaQLParserParser.UPDATE, 0); }
2006
+ SET() { return this.getToken(WebdaQLParserParser.SET, 0); }
2060
2007
  assignmentList() {
2061
2008
  return this.getRuleContext(0, AssignmentListContext);
2062
2009
  }
@@ -2070,9 +2017,7 @@ export class UpdateStatementContext extends ParserRuleContext {
2070
2017
  super(parent, invokingState);
2071
2018
  }
2072
2019
  // @Override
2073
- get ruleIndex() {
2074
- return WebdaQLParserParser.RULE_updateStatement;
2075
- }
2020
+ get ruleIndex() { return WebdaQLParserParser.RULE_updateStatement; }
2076
2021
  // @Override
2077
2022
  enterRule(listener) {
2078
2023
  if (listener.enterUpdateStatement) {
@@ -2096,9 +2041,7 @@ export class UpdateStatementContext extends ParserRuleContext {
2096
2041
  }
2097
2042
  }
2098
2043
  export class SelectStatementContext extends ParserRuleContext {
2099
- SELECT() {
2100
- return this.getToken(WebdaQLParserParser.SELECT, 0);
2101
- }
2044
+ SELECT() { return this.getToken(WebdaQLParserParser.SELECT, 0); }
2102
2045
  fieldList() {
2103
2046
  return this.getRuleContext(0, FieldListContext);
2104
2047
  }
@@ -2121,9 +2064,7 @@ export class SelectStatementContext extends ParserRuleContext {
2121
2064
  super(parent, invokingState);
2122
2065
  }
2123
2066
  // @Override
2124
- get ruleIndex() {
2125
- return WebdaQLParserParser.RULE_selectStatement;
2126
- }
2067
+ get ruleIndex() { return WebdaQLParserParser.RULE_selectStatement; }
2127
2068
  // @Override
2128
2069
  enterRule(listener) {
2129
2070
  if (listener.enterSelectStatement) {
@@ -2163,9 +2104,7 @@ export class FilterQueryContext extends ParserRuleContext {
2163
2104
  super(parent, invokingState);
2164
2105
  }
2165
2106
  // @Override
2166
- get ruleIndex() {
2167
- return WebdaQLParserParser.RULE_filterQuery;
2168
- }
2107
+ get ruleIndex() { return WebdaQLParserParser.RULE_filterQuery; }
2169
2108
  // @Override
2170
2109
  enterRule(listener) {
2171
2110
  if (listener.enterFilterQuery) {
@@ -2189,9 +2128,7 @@ export class FilterQueryContext extends ParserRuleContext {
2189
2128
  }
2190
2129
  }
2191
2130
  export class WhereClauseContext extends ParserRuleContext {
2192
- WHERE() {
2193
- return this.getToken(WebdaQLParserParser.WHERE, 0);
2194
- }
2131
+ WHERE() { return this.getToken(WebdaQLParserParser.WHERE, 0); }
2195
2132
  expression() {
2196
2133
  return this.getRuleContext(0, ExpressionContext);
2197
2134
  }
@@ -2199,9 +2136,7 @@ export class WhereClauseContext extends ParserRuleContext {
2199
2136
  super(parent, invokingState);
2200
2137
  }
2201
2138
  // @Override
2202
- get ruleIndex() {
2203
- return WebdaQLParserParser.RULE_whereClause;
2204
- }
2139
+ get ruleIndex() { return WebdaQLParserParser.RULE_whereClause; }
2205
2140
  // @Override
2206
2141
  enterRule(listener) {
2207
2142
  if (listener.enterWhereClause) {
@@ -2245,9 +2180,7 @@ export class AssignmentListContext extends ParserRuleContext {
2245
2180
  super(parent, invokingState);
2246
2181
  }
2247
2182
  // @Override
2248
- get ruleIndex() {
2249
- return WebdaQLParserParser.RULE_assignmentList;
2250
- }
2183
+ get ruleIndex() { return WebdaQLParserParser.RULE_assignmentList; }
2251
2184
  // @Override
2252
2185
  enterRule(listener) {
2253
2186
  if (listener.enterAssignmentList) {
@@ -2274,22 +2207,21 @@ export class AssignmentContext extends ParserRuleContext {
2274
2207
  identifier() {
2275
2208
  return this.getRuleContext(0, IdentifierContext);
2276
2209
  }
2277
- EQUAL() {
2278
- return this.getToken(WebdaQLParserParser.EQUAL, 0);
2279
- }
2210
+ EQUAL() { return this.getToken(WebdaQLParserParser.EQUAL, 0); }
2280
2211
  values() {
2281
2212
  return this.tryGetRuleContext(0, ValuesContext);
2282
2213
  }
2283
2214
  parameter() {
2284
2215
  return this.tryGetRuleContext(0, ParameterContext);
2285
2216
  }
2217
+ functionCall() {
2218
+ return this.tryGetRuleContext(0, FunctionCallContext);
2219
+ }
2286
2220
  constructor(parent, invokingState) {
2287
2221
  super(parent, invokingState);
2288
2222
  }
2289
2223
  // @Override
2290
- get ruleIndex() {
2291
- return WebdaQLParserParser.RULE_assignment;
2292
- }
2224
+ get ruleIndex() { return WebdaQLParserParser.RULE_assignment; }
2293
2225
  // @Override
2294
2226
  enterRule(listener) {
2295
2227
  if (listener.enterAssignment) {
@@ -2333,9 +2265,7 @@ export class FieldListContext extends ParserRuleContext {
2333
2265
  super(parent, invokingState);
2334
2266
  }
2335
2267
  // @Override
2336
- get ruleIndex() {
2337
- return WebdaQLParserParser.RULE_fieldList;
2338
- }
2268
+ get ruleIndex() { return WebdaQLParserParser.RULE_fieldList; }
2339
2269
  // @Override
2340
2270
  enterRule(listener) {
2341
2271
  if (listener.enterFieldList) {
@@ -2363,9 +2293,7 @@ export class SelectItemContext extends ParserRuleContext {
2363
2293
  super(parent, invokingState);
2364
2294
  }
2365
2295
  // @Override
2366
- get ruleIndex() {
2367
- return WebdaQLParserParser.RULE_selectItem;
2368
- }
2296
+ get ruleIndex() { return WebdaQLParserParser.RULE_selectItem; }
2369
2297
  copyFrom(ctx) {
2370
2298
  super.copyFrom(ctx);
2371
2299
  }
@@ -2401,21 +2329,11 @@ export class FieldItemContext extends SelectItemContext {
2401
2329
  }
2402
2330
  }
2403
2331
  export class CountAllItemContext extends SelectItemContext {
2404
- COUNT() {
2405
- return this.getToken(WebdaQLParserParser.COUNT, 0);
2406
- }
2407
- LR_BRACKET() {
2408
- return this.getToken(WebdaQLParserParser.LR_BRACKET, 0);
2409
- }
2410
- STAR() {
2411
- return this.getToken(WebdaQLParserParser.STAR, 0);
2412
- }
2413
- RR_BRACKET() {
2414
- return this.getToken(WebdaQLParserParser.RR_BRACKET, 0);
2415
- }
2416
- AS() {
2417
- return this.getToken(WebdaQLParserParser.AS, 0);
2418
- }
2332
+ COUNT() { return this.getToken(WebdaQLParserParser.COUNT, 0); }
2333
+ LR_BRACKET() { return this.getToken(WebdaQLParserParser.LR_BRACKET, 0); }
2334
+ STAR() { return this.getToken(WebdaQLParserParser.STAR, 0); }
2335
+ RR_BRACKET() { return this.getToken(WebdaQLParserParser.RR_BRACKET, 0); }
2336
+ AS() { return this.getToken(WebdaQLParserParser.AS, 0); }
2419
2337
  identifier() {
2420
2338
  return this.getRuleContext(0, IdentifierContext);
2421
2339
  }
@@ -2446,15 +2364,9 @@ export class CountAllItemContext extends SelectItemContext {
2446
2364
  }
2447
2365
  }
2448
2366
  export class CountDistinctItemContext extends SelectItemContext {
2449
- COUNT() {
2450
- return this.getToken(WebdaQLParserParser.COUNT, 0);
2451
- }
2452
- LR_BRACKET() {
2453
- return this.getToken(WebdaQLParserParser.LR_BRACKET, 0);
2454
- }
2455
- DISTINCT() {
2456
- return this.getToken(WebdaQLParserParser.DISTINCT, 0);
2457
- }
2367
+ COUNT() { return this.getToken(WebdaQLParserParser.COUNT, 0); }
2368
+ LR_BRACKET() { return this.getToken(WebdaQLParserParser.LR_BRACKET, 0); }
2369
+ DISTINCT() { return this.getToken(WebdaQLParserParser.DISTINCT, 0); }
2458
2370
  identifier(i) {
2459
2371
  if (i === undefined) {
2460
2372
  return this.getRuleContexts(IdentifierContext);
@@ -2463,12 +2375,8 @@ export class CountDistinctItemContext extends SelectItemContext {
2463
2375
  return this.getRuleContext(i, IdentifierContext);
2464
2376
  }
2465
2377
  }
2466
- RR_BRACKET() {
2467
- return this.getToken(WebdaQLParserParser.RR_BRACKET, 0);
2468
- }
2469
- AS() {
2470
- return this.getToken(WebdaQLParserParser.AS, 0);
2471
- }
2378
+ RR_BRACKET() { return this.getToken(WebdaQLParserParser.RR_BRACKET, 0); }
2379
+ AS() { return this.getToken(WebdaQLParserParser.AS, 0); }
2472
2380
  constructor(ctx) {
2473
2381
  super(ctx.parent, ctx.invokingState);
2474
2382
  this.copyFrom(ctx);
@@ -2496,9 +2404,7 @@ export class CountDistinctItemContext extends SelectItemContext {
2496
2404
  }
2497
2405
  }
2498
2406
  export class MetricItemContext extends SelectItemContext {
2499
- LR_BRACKET() {
2500
- return this.getToken(WebdaQLParserParser.LR_BRACKET, 0);
2501
- }
2407
+ LR_BRACKET() { return this.getToken(WebdaQLParserParser.LR_BRACKET, 0); }
2502
2408
  identifier(i) {
2503
2409
  if (i === undefined) {
2504
2410
  return this.getRuleContexts(IdentifierContext);
@@ -2507,27 +2413,13 @@ export class MetricItemContext extends SelectItemContext {
2507
2413
  return this.getRuleContext(i, IdentifierContext);
2508
2414
  }
2509
2415
  }
2510
- RR_BRACKET() {
2511
- return this.getToken(WebdaQLParserParser.RR_BRACKET, 0);
2512
- }
2513
- AS() {
2514
- return this.getToken(WebdaQLParserParser.AS, 0);
2515
- }
2516
- COUNT() {
2517
- return this.tryGetToken(WebdaQLParserParser.COUNT, 0);
2518
- }
2519
- SUM() {
2520
- return this.tryGetToken(WebdaQLParserParser.SUM, 0);
2521
- }
2522
- AVG() {
2523
- return this.tryGetToken(WebdaQLParserParser.AVG, 0);
2524
- }
2525
- MIN() {
2526
- return this.tryGetToken(WebdaQLParserParser.MIN, 0);
2527
- }
2528
- MAX() {
2529
- return this.tryGetToken(WebdaQLParserParser.MAX, 0);
2530
- }
2416
+ RR_BRACKET() { return this.getToken(WebdaQLParserParser.RR_BRACKET, 0); }
2417
+ AS() { return this.getToken(WebdaQLParserParser.AS, 0); }
2418
+ COUNT() { return this.tryGetToken(WebdaQLParserParser.COUNT, 0); }
2419
+ SUM() { return this.tryGetToken(WebdaQLParserParser.SUM, 0); }
2420
+ AVG() { return this.tryGetToken(WebdaQLParserParser.AVG, 0); }
2421
+ MIN() { return this.tryGetToken(WebdaQLParserParser.MIN, 0); }
2422
+ MAX() { return this.tryGetToken(WebdaQLParserParser.MAX, 0); }
2531
2423
  constructor(ctx) {
2532
2424
  super(ctx.parent, ctx.invokingState);
2533
2425
  this.copyFrom(ctx);
@@ -2555,9 +2447,7 @@ export class MetricItemContext extends SelectItemContext {
2555
2447
  }
2556
2448
  }
2557
2449
  export class GroupByExpressionContext extends ParserRuleContext {
2558
- GROUP_BY() {
2559
- return this.getToken(WebdaQLParserParser.GROUP_BY, 0);
2560
- }
2450
+ GROUP_BY() { return this.getToken(WebdaQLParserParser.GROUP_BY, 0); }
2561
2451
  identifier(i) {
2562
2452
  if (i === undefined) {
2563
2453
  return this.getRuleContexts(IdentifierContext);
@@ -2578,9 +2468,7 @@ export class GroupByExpressionContext extends ParserRuleContext {
2578
2468
  super(parent, invokingState);
2579
2469
  }
2580
2470
  // @Override
2581
- get ruleIndex() {
2582
- return WebdaQLParserParser.RULE_groupByExpression;
2583
- }
2471
+ get ruleIndex() { return WebdaQLParserParser.RULE_groupByExpression; }
2584
2472
  // @Override
2585
2473
  enterRule(listener) {
2586
2474
  if (listener.enterGroupByExpression) {
@@ -2604,9 +2492,7 @@ export class GroupByExpressionContext extends ParserRuleContext {
2604
2492
  }
2605
2493
  }
2606
2494
  export class LimitExpressionContext extends ParserRuleContext {
2607
- LIMIT() {
2608
- return this.getToken(WebdaQLParserParser.LIMIT, 0);
2609
- }
2495
+ LIMIT() { return this.getToken(WebdaQLParserParser.LIMIT, 0); }
2610
2496
  integerLiteral() {
2611
2497
  return this.tryGetRuleContext(0, IntegerLiteralContext);
2612
2498
  }
@@ -2617,9 +2503,7 @@ export class LimitExpressionContext extends ParserRuleContext {
2617
2503
  super(parent, invokingState);
2618
2504
  }
2619
2505
  // @Override
2620
- get ruleIndex() {
2621
- return WebdaQLParserParser.RULE_limitExpression;
2622
- }
2506
+ get ruleIndex() { return WebdaQLParserParser.RULE_limitExpression; }
2623
2507
  // @Override
2624
2508
  enterRule(listener) {
2625
2509
  if (listener.enterLimitExpression) {
@@ -2643,9 +2527,7 @@ export class LimitExpressionContext extends ParserRuleContext {
2643
2527
  }
2644
2528
  }
2645
2529
  export class OffsetExpressionContext extends ParserRuleContext {
2646
- OFFSET() {
2647
- return this.getToken(WebdaQLParserParser.OFFSET, 0);
2648
- }
2530
+ OFFSET() { return this.getToken(WebdaQLParserParser.OFFSET, 0); }
2649
2531
  stringLiteral() {
2650
2532
  return this.tryGetRuleContext(0, StringLiteralContext);
2651
2533
  }
@@ -2656,9 +2538,7 @@ export class OffsetExpressionContext extends ParserRuleContext {
2656
2538
  super(parent, invokingState);
2657
2539
  }
2658
2540
  // @Override
2659
- get ruleIndex() {
2660
- return WebdaQLParserParser.RULE_offsetExpression;
2661
- }
2541
+ get ruleIndex() { return WebdaQLParserParser.RULE_offsetExpression; }
2662
2542
  // @Override
2663
2543
  enterRule(listener) {
2664
2544
  if (listener.enterOffsetExpression) {
@@ -2685,19 +2565,13 @@ export class OrderFieldExpressionContext extends ParserRuleContext {
2685
2565
  identifier() {
2686
2566
  return this.getRuleContext(0, IdentifierContext);
2687
2567
  }
2688
- ASC() {
2689
- return this.tryGetToken(WebdaQLParserParser.ASC, 0);
2690
- }
2691
- DESC() {
2692
- return this.tryGetToken(WebdaQLParserParser.DESC, 0);
2693
- }
2568
+ ASC() { return this.tryGetToken(WebdaQLParserParser.ASC, 0); }
2569
+ DESC() { return this.tryGetToken(WebdaQLParserParser.DESC, 0); }
2694
2570
  constructor(parent, invokingState) {
2695
2571
  super(parent, invokingState);
2696
2572
  }
2697
2573
  // @Override
2698
- get ruleIndex() {
2699
- return WebdaQLParserParser.RULE_orderFieldExpression;
2700
- }
2574
+ get ruleIndex() { return WebdaQLParserParser.RULE_orderFieldExpression; }
2701
2575
  // @Override
2702
2576
  enterRule(listener) {
2703
2577
  if (listener.enterOrderFieldExpression) {
@@ -2721,9 +2595,7 @@ export class OrderFieldExpressionContext extends ParserRuleContext {
2721
2595
  }
2722
2596
  }
2723
2597
  export class OrderExpressionContext extends ParserRuleContext {
2724
- ORDER_BY() {
2725
- return this.getToken(WebdaQLParserParser.ORDER_BY, 0);
2726
- }
2598
+ ORDER_BY() { return this.getToken(WebdaQLParserParser.ORDER_BY, 0); }
2727
2599
  orderFieldExpression(i) {
2728
2600
  if (i === undefined) {
2729
2601
  return this.getRuleContexts(OrderFieldExpressionContext);
@@ -2744,9 +2616,7 @@ export class OrderExpressionContext extends ParserRuleContext {
2744
2616
  super(parent, invokingState);
2745
2617
  }
2746
2618
  // @Override
2747
- get ruleIndex() {
2748
- return WebdaQLParserParser.RULE_orderExpression;
2749
- }
2619
+ get ruleIndex() { return WebdaQLParserParser.RULE_orderExpression; }
2750
2620
  // @Override
2751
2621
  enterRule(listener) {
2752
2622
  if (listener.enterOrderExpression) {
@@ -2774,9 +2644,7 @@ export class ExpressionContext extends ParserRuleContext {
2774
2644
  super(parent, invokingState);
2775
2645
  }
2776
2646
  // @Override
2777
- get ruleIndex() {
2778
- return WebdaQLParserParser.RULE_expression;
2779
- }
2647
+ get ruleIndex() { return WebdaQLParserParser.RULE_expression; }
2780
2648
  copyFrom(ctx) {
2781
2649
  super.copyFrom(ctx);
2782
2650
  }
@@ -2785,9 +2653,7 @@ export class LikeExpressionContext extends ExpressionContext {
2785
2653
  identifier() {
2786
2654
  return this.getRuleContext(0, IdentifierContext);
2787
2655
  }
2788
- LIKE() {
2789
- return this.getToken(WebdaQLParserParser.LIKE, 0);
2790
- }
2656
+ LIKE() { return this.getToken(WebdaQLParserParser.LIKE, 0); }
2791
2657
  stringLiteral() {
2792
2658
  return this.tryGetRuleContext(0, StringLiteralContext);
2793
2659
  }
@@ -2824,9 +2690,7 @@ export class InExpressionContext extends ExpressionContext {
2824
2690
  identifier() {
2825
2691
  return this.getRuleContext(0, IdentifierContext);
2826
2692
  }
2827
- IN() {
2828
- return this.getToken(WebdaQLParserParser.IN, 0);
2829
- }
2693
+ IN() { return this.getToken(WebdaQLParserParser.IN, 0); }
2830
2694
  setExpression() {
2831
2695
  return this.tryGetRuleContext(0, SetExpressionContext);
2832
2696
  }
@@ -2863,9 +2727,7 @@ export class ContainsExpressionContext extends ExpressionContext {
2863
2727
  identifier() {
2864
2728
  return this.getRuleContext(0, IdentifierContext);
2865
2729
  }
2866
- CONTAINS() {
2867
- return this.getToken(WebdaQLParserParser.CONTAINS, 0);
2868
- }
2730
+ CONTAINS() { return this.getToken(WebdaQLParserParser.CONTAINS, 0); }
2869
2731
  stringLiteral() {
2870
2732
  return this.tryGetRuleContext(0, StringLiteralContext);
2871
2733
  }
@@ -2902,12 +2764,8 @@ export class IsNullExpressionContext extends ExpressionContext {
2902
2764
  identifier() {
2903
2765
  return this.getRuleContext(0, IdentifierContext);
2904
2766
  }
2905
- IS() {
2906
- return this.getToken(WebdaQLParserParser.IS, 0);
2907
- }
2908
- NULL() {
2909
- return this.getToken(WebdaQLParserParser.NULL, 0);
2910
- }
2767
+ IS() { return this.getToken(WebdaQLParserParser.IS, 0); }
2768
+ NULL() { return this.getToken(WebdaQLParserParser.NULL, 0); }
2911
2769
  constructor(ctx) {
2912
2770
  super(ctx.parent, ctx.invokingState);
2913
2771
  this.copyFrom(ctx);
@@ -2938,15 +2796,9 @@ export class IsNotNullExpressionContext extends ExpressionContext {
2938
2796
  identifier() {
2939
2797
  return this.getRuleContext(0, IdentifierContext);
2940
2798
  }
2941
- IS() {
2942
- return this.getToken(WebdaQLParserParser.IS, 0);
2943
- }
2944
- NOT() {
2945
- return this.getToken(WebdaQLParserParser.NOT, 0);
2946
- }
2947
- NULL() {
2948
- return this.getToken(WebdaQLParserParser.NULL, 0);
2949
- }
2799
+ IS() { return this.getToken(WebdaQLParserParser.IS, 0); }
2800
+ NOT() { return this.getToken(WebdaQLParserParser.NOT, 0); }
2801
+ NULL() { return this.getToken(WebdaQLParserParser.NULL, 0); }
2950
2802
  constructor(ctx) {
2951
2803
  super(ctx.parent, ctx.invokingState);
2952
2804
  this.copyFrom(ctx);
@@ -2977,30 +2829,21 @@ export class BinaryComparisonExpressionContext extends ExpressionContext {
2977
2829
  identifier() {
2978
2830
  return this.getRuleContext(0, IdentifierContext);
2979
2831
  }
2980
- EQUAL() {
2981
- return this.tryGetToken(WebdaQLParserParser.EQUAL, 0);
2982
- }
2983
- NOT_EQUAL() {
2984
- return this.tryGetToken(WebdaQLParserParser.NOT_EQUAL, 0);
2985
- }
2986
- GREATER_OR_EQUAL() {
2987
- return this.tryGetToken(WebdaQLParserParser.GREATER_OR_EQUAL, 0);
2988
- }
2989
- LESS_OR_EQUAL() {
2990
- return this.tryGetToken(WebdaQLParserParser.LESS_OR_EQUAL, 0);
2991
- }
2992
- LESS() {
2993
- return this.tryGetToken(WebdaQLParserParser.LESS, 0);
2994
- }
2995
- GREATER() {
2996
- return this.tryGetToken(WebdaQLParserParser.GREATER, 0);
2997
- }
2832
+ EQUAL() { return this.tryGetToken(WebdaQLParserParser.EQUAL, 0); }
2833
+ NOT_EQUAL() { return this.tryGetToken(WebdaQLParserParser.NOT_EQUAL, 0); }
2834
+ GREATER_OR_EQUAL() { return this.tryGetToken(WebdaQLParserParser.GREATER_OR_EQUAL, 0); }
2835
+ LESS_OR_EQUAL() { return this.tryGetToken(WebdaQLParserParser.LESS_OR_EQUAL, 0); }
2836
+ LESS() { return this.tryGetToken(WebdaQLParserParser.LESS, 0); }
2837
+ GREATER() { return this.tryGetToken(WebdaQLParserParser.GREATER, 0); }
2998
2838
  values() {
2999
2839
  return this.tryGetRuleContext(0, ValuesContext);
3000
2840
  }
3001
2841
  parameter() {
3002
2842
  return this.tryGetRuleContext(0, ParameterContext);
3003
2843
  }
2844
+ functionCall() {
2845
+ return this.tryGetRuleContext(0, FunctionCallContext);
2846
+ }
3004
2847
  constructor(ctx) {
3005
2848
  super(ctx.parent, ctx.invokingState);
3006
2849
  this.copyFrom(ctx);
@@ -3036,9 +2879,7 @@ export class AndLogicExpressionContext extends ExpressionContext {
3036
2879
  return this.getRuleContext(i, ExpressionContext);
3037
2880
  }
3038
2881
  }
3039
- AND() {
3040
- return this.getToken(WebdaQLParserParser.AND, 0);
3041
- }
2882
+ AND() { return this.getToken(WebdaQLParserParser.AND, 0); }
3042
2883
  constructor(ctx) {
3043
2884
  super(ctx.parent, ctx.invokingState);
3044
2885
  this.copyFrom(ctx);
@@ -3074,9 +2915,7 @@ export class OrLogicExpressionContext extends ExpressionContext {
3074
2915
  return this.getRuleContext(i, ExpressionContext);
3075
2916
  }
3076
2917
  }
3077
- OR() {
3078
- return this.getToken(WebdaQLParserParser.OR, 0);
3079
- }
2918
+ OR() { return this.getToken(WebdaQLParserParser.OR, 0); }
3080
2919
  constructor(ctx) {
3081
2920
  super(ctx.parent, ctx.invokingState);
3082
2921
  this.copyFrom(ctx);
@@ -3104,15 +2943,11 @@ export class OrLogicExpressionContext extends ExpressionContext {
3104
2943
  }
3105
2944
  }
3106
2945
  export class SubExpressionContext extends ExpressionContext {
3107
- LR_BRACKET() {
3108
- return this.getToken(WebdaQLParserParser.LR_BRACKET, 0);
3109
- }
2946
+ LR_BRACKET() { return this.getToken(WebdaQLParserParser.LR_BRACKET, 0); }
3110
2947
  expression() {
3111
2948
  return this.getRuleContext(0, ExpressionContext);
3112
2949
  }
3113
- RR_BRACKET() {
3114
- return this.getToken(WebdaQLParserParser.RR_BRACKET, 0);
3115
- }
2950
+ RR_BRACKET() { return this.getToken(WebdaQLParserParser.RR_BRACKET, 0); }
3116
2951
  constructor(ctx) {
3117
2952
  super(ctx.parent, ctx.invokingState);
3118
2953
  this.copyFrom(ctx);
@@ -3174,9 +3009,7 @@ export class ValuesContext extends ParserRuleContext {
3174
3009
  super(parent, invokingState);
3175
3010
  }
3176
3011
  // @Override
3177
- get ruleIndex() {
3178
- return WebdaQLParserParser.RULE_values;
3179
- }
3012
+ get ruleIndex() { return WebdaQLParserParser.RULE_values; }
3180
3013
  copyFrom(ctx) {
3181
3014
  super.copyFrom(ctx);
3182
3015
  }
@@ -3306,9 +3139,7 @@ export class AtomContext extends ParserRuleContext {
3306
3139
  super(parent, invokingState);
3307
3140
  }
3308
3141
  // @Override
3309
- get ruleIndex() {
3310
- return WebdaQLParserParser.RULE_atom;
3311
- }
3142
+ get ruleIndex() { return WebdaQLParserParser.RULE_atom; }
3312
3143
  copyFrom(ctx) {
3313
3144
  super.copyFrom(ctx);
3314
3145
  }
@@ -3374,19 +3205,13 @@ export class IdentifierAtomContext extends AtomContext {
3374
3205
  }
3375
3206
  }
3376
3207
  export class IdentifierContext extends ParserRuleContext {
3377
- IDENTIFIER() {
3378
- return this.tryGetToken(WebdaQLParserParser.IDENTIFIER, 0);
3379
- }
3380
- IDENTIFIER_WITH_NUMBER() {
3381
- return this.tryGetToken(WebdaQLParserParser.IDENTIFIER_WITH_NUMBER, 0);
3382
- }
3208
+ IDENTIFIER() { return this.tryGetToken(WebdaQLParserParser.IDENTIFIER, 0); }
3209
+ IDENTIFIER_WITH_NUMBER() { return this.tryGetToken(WebdaQLParserParser.IDENTIFIER_WITH_NUMBER, 0); }
3383
3210
  constructor(parent, invokingState) {
3384
3211
  super(parent, invokingState);
3385
3212
  }
3386
3213
  // @Override
3387
- get ruleIndex() {
3388
- return WebdaQLParserParser.RULE_identifier;
3389
- }
3214
+ get ruleIndex() { return WebdaQLParserParser.RULE_identifier; }
3390
3215
  // @Override
3391
3216
  enterRule(listener) {
3392
3217
  if (listener.enterIdentifier) {
@@ -3410,19 +3235,13 @@ export class IdentifierContext extends ParserRuleContext {
3410
3235
  }
3411
3236
  }
3412
3237
  export class BooleanLiteralContext extends ParserRuleContext {
3413
- TRUE() {
3414
- return this.tryGetToken(WebdaQLParserParser.TRUE, 0);
3415
- }
3416
- FALSE() {
3417
- return this.tryGetToken(WebdaQLParserParser.FALSE, 0);
3418
- }
3238
+ TRUE() { return this.tryGetToken(WebdaQLParserParser.TRUE, 0); }
3239
+ FALSE() { return this.tryGetToken(WebdaQLParserParser.FALSE, 0); }
3419
3240
  constructor(parent, invokingState) {
3420
3241
  super(parent, invokingState);
3421
3242
  }
3422
3243
  // @Override
3423
- get ruleIndex() {
3424
- return WebdaQLParserParser.RULE_booleanLiteral;
3425
- }
3244
+ get ruleIndex() { return WebdaQLParserParser.RULE_booleanLiteral; }
3426
3245
  // @Override
3427
3246
  enterRule(listener) {
3428
3247
  if (listener.enterBooleanLiteral) {
@@ -3446,19 +3265,13 @@ export class BooleanLiteralContext extends ParserRuleContext {
3446
3265
  }
3447
3266
  }
3448
3267
  export class StringLiteralContext extends ParserRuleContext {
3449
- DQUOTED_STRING_LITERAL() {
3450
- return this.tryGetToken(WebdaQLParserParser.DQUOTED_STRING_LITERAL, 0);
3451
- }
3452
- SQUOTED_STRING_LITERAL() {
3453
- return this.tryGetToken(WebdaQLParserParser.SQUOTED_STRING_LITERAL, 0);
3454
- }
3268
+ DQUOTED_STRING_LITERAL() { return this.tryGetToken(WebdaQLParserParser.DQUOTED_STRING_LITERAL, 0); }
3269
+ SQUOTED_STRING_LITERAL() { return this.tryGetToken(WebdaQLParserParser.SQUOTED_STRING_LITERAL, 0); }
3455
3270
  constructor(parent, invokingState) {
3456
3271
  super(parent, invokingState);
3457
3272
  }
3458
3273
  // @Override
3459
- get ruleIndex() {
3460
- return WebdaQLParserParser.RULE_stringLiteral;
3461
- }
3274
+ get ruleIndex() { return WebdaQLParserParser.RULE_stringLiteral; }
3462
3275
  // @Override
3463
3276
  enterRule(listener) {
3464
3277
  if (listener.enterStringLiteral) {
@@ -3482,16 +3295,12 @@ export class StringLiteralContext extends ParserRuleContext {
3482
3295
  }
3483
3296
  }
3484
3297
  export class IntegerLiteralContext extends ParserRuleContext {
3485
- INTEGER_LITERAL() {
3486
- return this.getToken(WebdaQLParserParser.INTEGER_LITERAL, 0);
3487
- }
3298
+ INTEGER_LITERAL() { return this.getToken(WebdaQLParserParser.INTEGER_LITERAL, 0); }
3488
3299
  constructor(parent, invokingState) {
3489
3300
  super(parent, invokingState);
3490
3301
  }
3491
3302
  // @Override
3492
- get ruleIndex() {
3493
- return WebdaQLParserParser.RULE_integerLiteral;
3494
- }
3303
+ get ruleIndex() { return WebdaQLParserParser.RULE_integerLiteral; }
3495
3304
  // @Override
3496
3305
  enterRule(listener) {
3497
3306
  if (listener.enterIntegerLiteral) {
@@ -3515,16 +3324,12 @@ export class IntegerLiteralContext extends ParserRuleContext {
3515
3324
  }
3516
3325
  }
3517
3326
  export class NumberLiteralContext extends ParserRuleContext {
3518
- NUMBER_LITERAL() {
3519
- return this.getToken(WebdaQLParserParser.NUMBER_LITERAL, 0);
3520
- }
3327
+ NUMBER_LITERAL() { return this.getToken(WebdaQLParserParser.NUMBER_LITERAL, 0); }
3521
3328
  constructor(parent, invokingState) {
3522
3329
  super(parent, invokingState);
3523
3330
  }
3524
3331
  // @Override
3525
- get ruleIndex() {
3526
- return WebdaQLParserParser.RULE_numberLiteral;
3527
- }
3332
+ get ruleIndex() { return WebdaQLParserParser.RULE_numberLiteral; }
3528
3333
  // @Override
3529
3334
  enterRule(listener) {
3530
3335
  if (listener.enterNumberLiteral) {
@@ -3548,19 +3353,13 @@ export class NumberLiteralContext extends ParserRuleContext {
3548
3353
  }
3549
3354
  }
3550
3355
  export class ParameterContext extends ParserRuleContext {
3551
- POSITIONAL_PARAMETER() {
3552
- return this.tryGetToken(WebdaQLParserParser.POSITIONAL_PARAMETER, 0);
3553
- }
3554
- NAMED_PARAMETER() {
3555
- return this.tryGetToken(WebdaQLParserParser.NAMED_PARAMETER, 0);
3556
- }
3356
+ POSITIONAL_PARAMETER() { return this.tryGetToken(WebdaQLParserParser.POSITIONAL_PARAMETER, 0); }
3357
+ NAMED_PARAMETER() { return this.tryGetToken(WebdaQLParserParser.NAMED_PARAMETER, 0); }
3557
3358
  constructor(parent, invokingState) {
3558
3359
  super(parent, invokingState);
3559
3360
  }
3560
3361
  // @Override
3561
- get ruleIndex() {
3562
- return WebdaQLParserParser.RULE_parameter;
3563
- }
3362
+ get ruleIndex() { return WebdaQLParserParser.RULE_parameter; }
3564
3363
  // @Override
3565
3364
  enterRule(listener) {
3566
3365
  if (listener.enterParameter) {
@@ -3584,12 +3383,8 @@ export class ParameterContext extends ParserRuleContext {
3584
3383
  }
3585
3384
  }
3586
3385
  export class SetExpressionContext extends ParserRuleContext {
3587
- LR_SQ_BRACKET() {
3588
- return this.getToken(WebdaQLParserParser.LR_SQ_BRACKET, 0);
3589
- }
3590
- RR_SQ_BRACKET() {
3591
- return this.getToken(WebdaQLParserParser.RR_SQ_BRACKET, 0);
3592
- }
3386
+ LR_SQ_BRACKET() { return this.getToken(WebdaQLParserParser.LR_SQ_BRACKET, 0); }
3387
+ RR_SQ_BRACKET() { return this.getToken(WebdaQLParserParser.RR_SQ_BRACKET, 0); }
3593
3388
  values(i) {
3594
3389
  if (i === undefined) {
3595
3390
  return this.getRuleContexts(ValuesContext);
@@ -3606,6 +3401,14 @@ export class SetExpressionContext extends ParserRuleContext {
3606
3401
  return this.getRuleContext(i, ParameterContext);
3607
3402
  }
3608
3403
  }
3404
+ functionCall(i) {
3405
+ if (i === undefined) {
3406
+ return this.getRuleContexts(FunctionCallContext);
3407
+ }
3408
+ else {
3409
+ return this.getRuleContext(i, FunctionCallContext);
3410
+ }
3411
+ }
3609
3412
  COMMA(i) {
3610
3413
  if (i === undefined) {
3611
3414
  return this.getTokens(WebdaQLParserParser.COMMA);
@@ -3618,9 +3421,7 @@ export class SetExpressionContext extends ParserRuleContext {
3618
3421
  super(parent, invokingState);
3619
3422
  }
3620
3423
  // @Override
3621
- get ruleIndex() {
3622
- return WebdaQLParserParser.RULE_setExpression;
3623
- }
3424
+ get ruleIndex() { return WebdaQLParserParser.RULE_setExpression; }
3624
3425
  // @Override
3625
3426
  enterRule(listener) {
3626
3427
  if (listener.enterSetExpression) {
@@ -3643,4 +3444,56 @@ export class SetExpressionContext extends ParserRuleContext {
3643
3444
  }
3644
3445
  }
3645
3446
  }
3447
+ export class FunctionCallContext extends ParserRuleContext {
3448
+ constructor(parent, invokingState) {
3449
+ super(parent, invokingState);
3450
+ }
3451
+ // @Override
3452
+ get ruleIndex() { return WebdaQLParserParser.RULE_functionCall; }
3453
+ copyFrom(ctx) {
3454
+ super.copyFrom(ctx);
3455
+ }
3456
+ }
3457
+ export class NowFunctionContext extends FunctionCallContext {
3458
+ NOW() { return this.getToken(WebdaQLParserParser.NOW, 0); }
3459
+ LR_BRACKET() { return this.getToken(WebdaQLParserParser.LR_BRACKET, 0); }
3460
+ RR_BRACKET() { return this.getToken(WebdaQLParserParser.RR_BRACKET, 0); }
3461
+ stringLiteral() {
3462
+ return this.tryGetRuleContext(0, StringLiteralContext);
3463
+ }
3464
+ integerLiteral() {
3465
+ return this.tryGetRuleContext(0, IntegerLiteralContext);
3466
+ }
3467
+ numberLiteral() {
3468
+ return this.tryGetRuleContext(0, NumberLiteralContext);
3469
+ }
3470
+ parameter() {
3471
+ return this.tryGetRuleContext(0, ParameterContext);
3472
+ }
3473
+ constructor(ctx) {
3474
+ super(ctx.parent, ctx.invokingState);
3475
+ this.copyFrom(ctx);
3476
+ }
3477
+ // @Override
3478
+ enterRule(listener) {
3479
+ if (listener.enterNowFunction) {
3480
+ listener.enterNowFunction(this);
3481
+ }
3482
+ }
3483
+ // @Override
3484
+ exitRule(listener) {
3485
+ if (listener.exitNowFunction) {
3486
+ listener.exitNowFunction(this);
3487
+ }
3488
+ }
3489
+ // @Override
3490
+ accept(visitor) {
3491
+ if (visitor.visitNowFunction) {
3492
+ return visitor.visitNowFunction(this);
3493
+ }
3494
+ else {
3495
+ return visitor.visitChildren(this);
3496
+ }
3497
+ }
3498
+ }
3646
3499
  //# sourceMappingURL=WebdaQLParserParser.js.map