1
0
mirror of https://github.com/MontFerret/ferret.git synced 2025-03-29 22:07:14 +02:00
ferret/pkg/parser/fql/fql_parser.go

10349 lines
267 KiB
Go
Raw Normal View History

// Code generated from antlr/FqlParser.g4 by ANTLR 4.9.1. DO NOT EDIT.
2018-09-18 16:42:38 -04:00
package fql // FqlParser
import (
"fmt"
"reflect"
"strconv"
"github.com/antlr/antlr4/runtime/Go/antlr"
)
// Suppress unused import errors
var _ = fmt.Printf
var _ = reflect.Copy
var _ = strconv.Itoa
var parserATN = []uint16{
3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 67, 638,
2018-09-18 16:42:38 -04:00
4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7,
4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13,
9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9,
18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23,
4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4,
29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34,
9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9,
39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44,
4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4,
50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54, 4, 55,
2019-09-07 01:21:43 -04:00
9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 4, 58, 9, 58, 4, 59, 9, 59, 4, 60, 9,
60, 4, 61, 9, 61, 4, 62, 9, 62, 4, 63, 9, 63, 4, 64, 9, 64, 4, 65, 9, 65,
4, 66, 9, 66, 3, 2, 7, 2, 134, 10, 2, 12, 2, 14, 2, 137, 11, 2, 3, 2, 3,
2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 6, 7, 6, 149, 10, 6, 12,
6, 14, 6, 152, 11, 6, 3, 6, 3, 6, 3, 7, 3, 7, 5, 7, 158, 10, 7, 3, 8, 3,
8, 5, 8, 162, 10, 8, 3, 9, 3, 9, 5, 9, 166, 10, 9, 3, 9, 3, 9, 3, 9, 5,
9, 171, 10, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 5, 9, 179, 10, 9, 3,
10, 3, 10, 3, 10, 3, 10, 5, 10, 185, 10, 10, 3, 10, 3, 10, 3, 10, 7, 10,
190, 10, 10, 12, 10, 14, 10, 193, 11, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3,
10, 5, 10, 200, 10, 10, 3, 10, 3, 10, 3, 10, 7, 10, 205, 10, 10, 12, 10,
14, 10, 208, 11, 10, 3, 10, 3, 10, 5, 10, 212, 10, 10, 3, 11, 3, 11, 3,
12, 3, 12, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 3, 13, 5, 13, 225,
10, 13, 3, 14, 3, 14, 3, 14, 3, 14, 5, 14, 231, 10, 14, 3, 15, 3, 15, 5,
15, 235, 10, 15, 3, 16, 3, 16, 5, 16, 239, 10, 16, 3, 17, 3, 17, 5, 17,
243, 10, 17, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 5, 19, 252,
10, 19, 3, 20, 3, 20, 5, 20, 256, 10, 20, 3, 21, 3, 21, 3, 21, 3, 21, 7,
21, 262, 10, 21, 12, 21, 14, 21, 265, 11, 21, 3, 22, 3, 22, 5, 22, 269,
10, 22, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23,
3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 3, 23, 5, 23, 289,
10, 23, 3, 24, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 7, 25, 298, 10,
25, 12, 25, 14, 25, 301, 11, 25, 3, 26, 3, 26, 3, 26, 3, 26, 7, 26, 307,
10, 26, 12, 26, 14, 26, 310, 11, 26, 3, 27, 3, 27, 3, 27, 3, 27, 3, 28,
3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 5, 28, 322, 10, 28, 5, 28, 324, 10,
28, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30,
3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 5,
30, 346, 10, 30, 3, 31, 3, 31, 3, 31, 3, 32, 3, 32, 3, 33, 3, 33, 3, 33,
5, 33, 356, 10, 33, 3, 33, 3, 33, 3, 33, 3, 33, 5, 33, 362, 10, 33, 3,
34, 3, 34, 5, 34, 366, 10, 34, 3, 34, 3, 34, 3, 35, 3, 35, 3, 35, 3, 35,
7, 35, 374, 10, 35, 12, 35, 14, 35, 377, 11, 35, 5, 35, 379, 10, 35, 3,
35, 5, 35, 382, 10, 35, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38,
3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 6, 41, 398, 10, 41, 13,
41, 14, 41, 399, 3, 41, 7, 41, 403, 10, 41, 12, 41, 14, 41, 406, 11, 41,
3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 5, 42, 417,
10, 42, 3, 43, 3, 43, 3, 44, 3, 44, 3, 44, 3, 44, 3, 45, 3, 45, 3, 45,
5, 45, 428, 10, 45, 3, 46, 3, 46, 3, 46, 3, 46, 3, 47, 3, 47, 3, 47, 3,
48, 7, 48, 438, 10, 48, 12, 48, 14, 48, 441, 11, 48, 3, 49, 3, 49, 3, 50,
3, 50, 3, 50, 3, 50, 3, 51, 3, 51, 3, 51, 5, 51, 452, 10, 51, 3, 52, 3,
52, 3, 52, 7, 52, 457, 10, 52, 12, 52, 14, 52, 460, 11, 52, 6, 52, 462,
10, 52, 13, 52, 14, 52, 463, 3, 52, 3, 52, 3, 52, 3, 52, 7, 52, 470, 10,
52, 12, 52, 14, 52, 473, 11, 52, 7, 52, 475, 10, 52, 12, 52, 14, 52, 478,
11, 52, 3, 52, 3, 52, 3, 52, 7, 52, 483, 10, 52, 12, 52, 14, 52, 486, 11,
52, 7, 52, 488, 10, 52, 12, 52, 14, 52, 491, 11, 52, 5, 52, 493, 10, 52,
3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 3, 54, 3, 54, 7, 54, 502, 10, 54, 12,
54, 14, 54, 505, 11, 54, 5, 54, 507, 10, 54, 3, 54, 3, 54, 3, 55, 3, 55,
3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3,
55, 3, 55, 3, 55, 3, 55, 3, 55, 5, 55, 528, 10, 55, 3, 55, 3, 55, 3, 55,
3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 5, 55, 542,
10, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55,
3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3,
55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 3, 55, 5, 55,
573, 10, 55, 3, 55, 3, 55, 7, 55, 577, 10, 55, 12, 55, 14, 55, 580, 11,
55, 3, 56, 3, 56, 3, 56, 5, 56, 585, 10, 56, 3, 56, 3, 56, 3, 56, 3, 56,
3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3,
56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 3, 56, 5, 56, 610,
10, 56, 3, 57, 3, 57, 3, 58, 3, 58, 3, 58, 5, 58, 617, 10, 58, 3, 59, 3,
59, 3, 59, 5, 59, 622, 10, 59, 3, 60, 3, 60, 3, 61, 3, 61, 3, 62, 3, 62,
3, 63, 3, 63, 3, 64, 3, 64, 3, 65, 3, 65, 3, 66, 3, 66, 3, 66, 2, 3, 108,
67, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36,
38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72,
74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106,
108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 2, 10, 3, 2,
46, 47, 5, 2, 30, 31, 37, 59, 63, 63, 4, 2, 46, 46, 54, 55, 3, 2, 17, 22,
3, 2, 35, 36, 3, 2, 23, 25, 3, 2, 26, 27, 4, 2, 26, 27, 58, 58, 2, 668,
2, 135, 3, 2, 2, 2, 4, 140, 3, 2, 2, 2, 6, 142, 3, 2, 2, 2, 8, 144, 3,
2, 2, 2, 10, 150, 3, 2, 2, 2, 12, 157, 3, 2, 2, 2, 14, 161, 3, 2, 2, 2,
16, 178, 3, 2, 2, 2, 18, 211, 3, 2, 2, 2, 20, 213, 3, 2, 2, 2, 22, 215,
3, 2, 2, 2, 24, 224, 3, 2, 2, 2, 26, 230, 3, 2, 2, 2, 28, 234, 3, 2, 2,
2, 30, 238, 3, 2, 2, 2, 32, 242, 3, 2, 2, 2, 34, 244, 3, 2, 2, 2, 36, 247,
3, 2, 2, 2, 38, 255, 3, 2, 2, 2, 40, 257, 3, 2, 2, 2, 42, 266, 3, 2, 2,
2, 44, 288, 3, 2, 2, 2, 46, 290, 3, 2, 2, 2, 48, 294, 3, 2, 2, 2, 50, 302,
3, 2, 2, 2, 52, 311, 3, 2, 2, 2, 54, 323, 3, 2, 2, 2, 56, 325, 3, 2, 2,
2, 58, 345, 3, 2, 2, 2, 60, 347, 3, 2, 2, 2, 62, 350, 3, 2, 2, 2, 64, 355,
3, 2, 2, 2, 66, 363, 3, 2, 2, 2, 68, 369, 3, 2, 2, 2, 70, 385, 3, 2, 2,
2, 72, 387, 3, 2, 2, 2, 74, 389, 3, 2, 2, 2, 76, 391, 3, 2, 2, 2, 78, 393,
3, 2, 2, 2, 80, 395, 3, 2, 2, 2, 82, 416, 3, 2, 2, 2, 84, 418, 3, 2, 2,
2, 86, 420, 3, 2, 2, 2, 88, 427, 3, 2, 2, 2, 90, 429, 3, 2, 2, 2, 92, 433,
3, 2, 2, 2, 94, 439, 3, 2, 2, 2, 96, 442, 3, 2, 2, 2, 98, 444, 3, 2, 2,
2, 100, 451, 3, 2, 2, 2, 102, 492, 3, 2, 2, 2, 104, 494, 3, 2, 2, 2, 106,
497, 3, 2, 2, 2, 108, 527, 3, 2, 2, 2, 110, 609, 3, 2, 2, 2, 112, 611,
3, 2, 2, 2, 114, 616, 3, 2, 2, 2, 116, 621, 3, 2, 2, 2, 118, 623, 3, 2,
2, 2, 120, 625, 3, 2, 2, 2, 122, 627, 3, 2, 2, 2, 124, 629, 3, 2, 2, 2,
126, 631, 3, 2, 2, 2, 128, 633, 3, 2, 2, 2, 130, 635, 3, 2, 2, 2, 132,
134, 5, 4, 3, 2, 133, 132, 3, 2, 2, 2, 134, 137, 3, 2, 2, 2, 135, 133,
3, 2, 2, 2, 135, 136, 3, 2, 2, 2, 136, 138, 3, 2, 2, 2, 137, 135, 3, 2,
2, 2, 138, 139, 5, 10, 6, 2, 139, 3, 3, 2, 2, 2, 140, 141, 5, 6, 4, 2,
141, 5, 3, 2, 2, 2, 142, 143, 5, 8, 5, 2, 143, 7, 3, 2, 2, 2, 144, 145,
7, 49, 2, 2, 145, 146, 5, 92, 47, 2, 146, 9, 3, 2, 2, 2, 147, 149, 5, 12,
7, 2, 148, 147, 3, 2, 2, 2, 149, 152, 3, 2, 2, 2, 150, 148, 3, 2, 2, 2,
150, 151, 3, 2, 2, 2, 151, 153, 3, 2, 2, 2, 152, 150, 3, 2, 2, 2, 153,
154, 5, 14, 8, 2, 154, 11, 3, 2, 2, 2, 155, 158, 5, 98, 50, 2, 156, 158,
5, 58, 30, 2, 157, 155, 3, 2, 2, 2, 157, 156, 3, 2, 2, 2, 158, 13, 3, 2,
2, 2, 159, 162, 5, 16, 9, 2, 160, 162, 5, 18, 10, 2, 161, 159, 3, 2, 2,
2, 161, 160, 3, 2, 2, 2, 162, 15, 3, 2, 2, 2, 163, 165, 7, 38, 2, 2, 164,
166, 7, 39, 2, 2, 165, 164, 3, 2, 2, 2, 165, 166, 3, 2, 2, 2, 166, 167,
3, 2, 2, 2, 167, 179, 5, 108, 55, 2, 168, 170, 7, 38, 2, 2, 169, 171, 7,
39, 2, 2, 170, 169, 3, 2, 2, 2, 170, 171, 3, 2, 2, 2, 171, 172, 3, 2, 2,
2, 172, 173, 7, 13, 2, 2, 173, 174, 5, 18, 10, 2, 174, 175, 7, 14, 2, 2,
175, 179, 3, 2, 2, 2, 176, 177, 7, 38, 2, 2, 177, 179, 5, 110, 56, 2, 178,
163, 3, 2, 2, 2, 178, 168, 3, 2, 2, 2, 178, 176, 3, 2, 2, 2, 179, 17, 3,
2, 2, 2, 180, 181, 7, 37, 2, 2, 181, 184, 5, 20, 11, 2, 182, 183, 7, 10,
2, 2, 183, 185, 5, 22, 12, 2, 184, 182, 3, 2, 2, 2, 184, 185, 3, 2, 2,
2, 185, 186, 3, 2, 2, 2, 186, 187, 7, 59, 2, 2, 187, 191, 5, 24, 13, 2,
188, 190, 5, 30, 16, 2, 189, 188, 3, 2, 2, 2, 190, 193, 3, 2, 2, 2, 191,
189, 3, 2, 2, 2, 191, 192, 3, 2, 2, 2, 192, 194, 3, 2, 2, 2, 193, 191,
3, 2, 2, 2, 194, 195, 5, 32, 17, 2, 195, 212, 3, 2, 2, 2, 196, 197, 7,
37, 2, 2, 197, 199, 5, 20, 11, 2, 198, 200, 7, 60, 2, 2, 199, 198, 3, 2,
2, 2, 199, 200, 3, 2, 2, 2, 200, 201, 3, 2, 2, 2, 201, 202, 7, 61, 2, 2,
202, 206, 5, 108, 55, 2, 203, 205, 5, 30, 16, 2, 204, 203, 3, 2, 2, 2,
205, 208, 3, 2, 2, 2, 206, 204, 3, 2, 2, 2, 206, 207, 3, 2, 2, 2, 207,
209, 3, 2, 2, 2, 208, 206, 3, 2, 2, 2, 209, 210, 5, 32, 17, 2, 210, 212,
3, 2, 2, 2, 211, 180, 3, 2, 2, 2, 211, 196, 3, 2, 2, 2, 212, 19, 3, 2,
2, 2, 213, 214, 7, 63, 2, 2, 214, 21, 3, 2, 2, 2, 215, 216, 7, 63, 2, 2,
216, 23, 3, 2, 2, 2, 217, 225, 5, 98, 50, 2, 218, 225, 5, 66, 34, 2, 219,
225, 5, 68, 35, 2, 220, 225, 5, 62, 32, 2, 221, 225, 5, 104, 53, 2, 222,
225, 5, 64, 33, 2, 223, 225, 5, 60, 31, 2, 224, 217, 3, 2, 2, 2, 224, 218,
3, 2, 2, 2, 224, 219, 3, 2, 2, 2, 224, 220, 3, 2, 2, 2, 224, 221, 3, 2,
2, 2, 224, 222, 3, 2, 2, 2, 224, 223, 3, 2, 2, 2, 225, 25, 3, 2, 2, 2,
226, 231, 5, 36, 19, 2, 227, 231, 5, 40, 21, 2, 228, 231, 5, 34, 18, 2,
229, 231, 5, 44, 23, 2, 230, 226, 3, 2, 2, 2, 230, 227, 3, 2, 2, 2, 230,
228, 3, 2, 2, 2, 230, 229, 3, 2, 2, 2, 231, 27, 3, 2, 2, 2, 232, 235, 5,
58, 30, 2, 233, 235, 5, 98, 50, 2, 234, 232, 3, 2, 2, 2, 234, 233, 3, 2,
2, 2, 235, 29, 3, 2, 2, 2, 236, 239, 5, 28, 15, 2, 237, 239, 5, 26, 14,
2, 238, 236, 3, 2, 2, 2, 238, 237, 3, 2, 2, 2, 239, 31, 3, 2, 2, 2, 240,
243, 5, 16, 9, 2, 241, 243, 5, 18, 10, 2, 242, 240, 3, 2, 2, 2, 242, 241,
3, 2, 2, 2, 243, 33, 3, 2, 2, 2, 244, 245, 7, 40, 2, 2, 245, 246, 5, 108,
55, 2, 246, 35, 3, 2, 2, 2, 247, 248, 7, 42, 2, 2, 248, 251, 5, 38, 20,
2, 249, 250, 7, 10, 2, 2, 250, 252, 5, 38, 20, 2, 251, 249, 3, 2, 2, 2,
251, 252, 3, 2, 2, 2, 252, 37, 3, 2, 2, 2, 253, 256, 7, 65, 2, 2, 254,
256, 5, 60, 31, 2, 255, 253, 3, 2, 2, 2, 255, 254, 3, 2, 2, 2, 256, 39,
3, 2, 2, 2, 257, 258, 7, 41, 2, 2, 258, 263, 5, 42, 22, 2, 259, 260, 7,
10, 2, 2, 260, 262, 5, 42, 22, 2, 261, 259, 3, 2, 2, 2, 262, 265, 3, 2,
2, 2, 263, 261, 3, 2, 2, 2, 263, 264, 3, 2, 2, 2, 264, 41, 3, 2, 2, 2,
265, 263, 3, 2, 2, 2, 266, 268, 5, 108, 55, 2, 267, 269, 7, 45, 2, 2, 268,
267, 3, 2, 2, 2, 268, 269, 3, 2, 2, 2, 269, 43, 3, 2, 2, 2, 270, 271, 7,
44, 2, 2, 271, 289, 5, 56, 29, 2, 272, 273, 7, 44, 2, 2, 273, 289, 5, 50,
26, 2, 274, 275, 7, 44, 2, 2, 275, 276, 5, 48, 25, 2, 276, 277, 5, 50,
26, 2, 277, 289, 3, 2, 2, 2, 278, 279, 7, 44, 2, 2, 279, 280, 5, 48, 25,
2, 280, 281, 5, 54, 28, 2, 281, 289, 3, 2, 2, 2, 282, 283, 7, 44, 2, 2,
283, 284, 5, 48, 25, 2, 284, 285, 5, 56, 29, 2, 285, 289, 3, 2, 2, 2, 286,
287, 7, 44, 2, 2, 287, 289, 5, 48, 25, 2, 288, 270, 3, 2, 2, 2, 288, 272,
3, 2, 2, 2, 288, 274, 3, 2, 2, 2, 288, 278, 3, 2, 2, 2, 288, 282, 3, 2,
2, 2, 288, 286, 3, 2, 2, 2, 289, 45, 3, 2, 2, 2, 290, 291, 7, 63, 2, 2,
291, 292, 7, 33, 2, 2, 292, 293, 5, 108, 55, 2, 293, 47, 3, 2, 2, 2, 294,
299, 5, 46, 24, 2, 295, 296, 7, 10, 2, 2, 296, 298, 5, 46, 24, 2, 297,
295, 3, 2, 2, 2, 298, 301, 3, 2, 2, 2, 299, 297, 3, 2, 2, 2, 299, 300,
3, 2, 2, 2, 300, 49, 3, 2, 2, 2, 301, 299, 3, 2, 2, 2, 302, 303, 7, 56,
2, 2, 303, 308, 5, 52, 27, 2, 304, 305, 7, 10, 2, 2, 305, 307, 5, 52, 27,
2, 306, 304, 3, 2, 2, 2, 307, 310, 3, 2, 2, 2, 308, 306, 3, 2, 2, 2, 308,
309, 3, 2, 2, 2, 309, 51, 3, 2, 2, 2, 310, 308, 3, 2, 2, 2, 311, 312, 7,
63, 2, 2, 312, 313, 7, 33, 2, 2, 313, 314, 5, 98, 50, 2, 314, 53, 3, 2,
2, 2, 315, 316, 7, 50, 2, 2, 316, 324, 5, 46, 24, 2, 317, 318, 7, 50, 2,
2, 318, 321, 7, 63, 2, 2, 319, 320, 7, 51, 2, 2, 320, 322, 7, 63, 2, 2,
321, 319, 3, 2, 2, 2, 321, 322, 3, 2, 2, 2, 322, 324, 3, 2, 2, 2, 323,
315, 3, 2, 2, 2, 323, 317, 3, 2, 2, 2, 324, 55, 3, 2, 2, 2, 325, 326, 7,
52, 2, 2, 326, 327, 7, 53, 2, 2, 327, 328, 7, 50, 2, 2, 328, 329, 7, 63,
2, 2, 329, 57, 3, 2, 2, 2, 330, 331, 7, 43, 2, 2, 331, 332, 7, 63, 2, 2,
332, 333, 7, 33, 2, 2, 333, 346, 5, 108, 55, 2, 334, 335, 7, 43, 2, 2,
335, 336, 7, 63, 2, 2, 336, 337, 7, 33, 2, 2, 337, 338, 7, 13, 2, 2, 338,
339, 5, 18, 10, 2, 339, 340, 7, 14, 2, 2, 340, 346, 3, 2, 2, 2, 341, 342,
7, 43, 2, 2, 342, 343, 7, 63, 2, 2, 343, 344, 7, 33, 2, 2, 344, 346, 5,
110, 56, 2, 345, 330, 3, 2, 2, 2, 345, 334, 3, 2, 2, 2, 345, 341, 3, 2,
2, 2, 346, 59, 3, 2, 2, 2, 347, 348, 7, 62, 2, 2, 348, 349, 7, 63, 2, 2,
349, 61, 3, 2, 2, 2, 350, 351, 7, 63, 2, 2, 351, 63, 3, 2, 2, 2, 352, 356,
5, 74, 38, 2, 353, 356, 5, 62, 32, 2, 354, 356, 5, 60, 31, 2, 355, 352,
3, 2, 2, 2, 355, 353, 3, 2, 2, 2, 355, 354, 3, 2, 2, 2, 356, 357, 3, 2,
2, 2, 357, 361, 7, 32, 2, 2, 358, 362, 5, 74, 38, 2, 359, 362, 5, 62, 32,
2, 360, 362, 5, 60, 31, 2, 361, 358, 3, 2, 2, 2, 361, 359, 3, 2, 2, 2,
361, 360, 3, 2, 2, 2, 362, 65, 3, 2, 2, 2, 363, 365, 7, 11, 2, 2, 364,
366, 5, 80, 41, 2, 365, 364, 3, 2, 2, 2, 365, 366, 3, 2, 2, 2, 366, 367,
3, 2, 2, 2, 367, 368, 7, 12, 2, 2, 368, 67, 3, 2, 2, 2, 369, 378, 7, 15,
2, 2, 370, 375, 5, 82, 42, 2, 371, 372, 7, 10, 2, 2, 372, 374, 5, 82, 42,
2, 373, 371, 3, 2, 2, 2, 374, 377, 3, 2, 2, 2, 375, 373, 3, 2, 2, 2, 375,
376, 3, 2, 2, 2, 376, 379, 3, 2, 2, 2, 377, 375, 3, 2, 2, 2, 378, 370,
3, 2, 2, 2, 378, 379, 3, 2, 2, 2, 379, 381, 3, 2, 2, 2, 380, 382, 7, 10,
2, 2, 381, 380, 3, 2, 2, 2, 381, 382, 3, 2, 2, 2, 382, 383, 3, 2, 2, 2,
383, 384, 7, 16, 2, 2, 384, 69, 3, 2, 2, 2, 385, 386, 7, 48, 2, 2, 386,
71, 3, 2, 2, 2, 387, 388, 7, 64, 2, 2, 388, 73, 3, 2, 2, 2, 389, 390, 7,
65, 2, 2, 390, 75, 3, 2, 2, 2, 391, 392, 7, 66, 2, 2, 392, 77, 3, 2, 2,
2, 393, 394, 9, 2, 2, 2, 394, 79, 3, 2, 2, 2, 395, 404, 5, 108, 55, 2,
396, 398, 7, 10, 2, 2, 397, 396, 3, 2, 2, 2, 398, 399, 3, 2, 2, 2, 399,
397, 3, 2, 2, 2, 399, 400, 3, 2, 2, 2, 400, 401, 3, 2, 2, 2, 401, 403,
5, 108, 55, 2, 402, 397, 3, 2, 2, 2, 403, 406, 3, 2, 2, 2, 404, 402, 3,
2, 2, 2, 404, 405, 3, 2, 2, 2, 405, 81, 3, 2, 2, 2, 406, 404, 3, 2, 2,
2, 407, 408, 5, 88, 45, 2, 408, 409, 7, 7, 2, 2, 409, 410, 5, 108, 55,
2, 410, 417, 3, 2, 2, 2, 411, 412, 5, 86, 44, 2, 412, 413, 7, 7, 2, 2,
413, 414, 5, 108, 55, 2, 414, 417, 3, 2, 2, 2, 415, 417, 5, 84, 43, 2,
416, 407, 3, 2, 2, 2, 416, 411, 3, 2, 2, 2, 416, 415, 3, 2, 2, 2, 417,
83, 3, 2, 2, 2, 418, 419, 5, 62, 32, 2, 419, 85, 3, 2, 2, 2, 420, 421,
7, 11, 2, 2, 421, 422, 5, 108, 55, 2, 422, 423, 7, 12, 2, 2, 423, 87, 3,
2, 2, 2, 424, 428, 7, 63, 2, 2, 425, 428, 5, 72, 37, 2, 426, 428, 5, 60,
31, 2, 427, 424, 3, 2, 2, 2, 427, 425, 3, 2, 2, 2, 427, 426, 3, 2, 2, 2,
428, 89, 3, 2, 2, 2, 429, 430, 7, 13, 2, 2, 430, 431, 5, 108, 55, 2, 431,
432, 7, 14, 2, 2, 432, 91, 3, 2, 2, 2, 433, 434, 5, 94, 48, 2, 434, 435,
7, 63, 2, 2, 435, 93, 3, 2, 2, 2, 436, 438, 7, 67, 2, 2, 437, 436, 3, 2,
2, 2, 438, 441, 3, 2, 2, 2, 439, 437, 3, 2, 2, 2, 439, 440, 3, 2, 2, 2,
440, 95, 3, 2, 2, 2, 441, 439, 3, 2, 2, 2, 442, 443, 9, 3, 2, 2, 443, 97,
3, 2, 2, 2, 444, 445, 5, 94, 48, 2, 445, 446, 5, 96, 49, 2, 446, 447, 5,
106, 54, 2, 447, 99, 3, 2, 2, 2, 448, 452, 7, 63, 2, 2, 449, 452, 5, 98,
50, 2, 450, 452, 5, 60, 31, 2, 451, 448, 3, 2, 2, 2, 451, 449, 3, 2, 2,
2, 451, 450, 3, 2, 2, 2, 452, 101, 3, 2, 2, 2, 453, 454, 7, 9, 2, 2, 454,
458, 5, 88, 45, 2, 455, 457, 5, 86, 44, 2, 456, 455, 3, 2, 2, 2, 457, 460,
3, 2, 2, 2, 458, 456, 3, 2, 2, 2, 458, 459, 3, 2, 2, 2, 459, 462, 3, 2,
2, 2, 460, 458, 3, 2, 2, 2, 461, 453, 3, 2, 2, 2, 462, 463, 3, 2, 2, 2,
463, 461, 3, 2, 2, 2, 463, 464, 3, 2, 2, 2, 464, 493, 3, 2, 2, 2, 465,
476, 5, 86, 44, 2, 466, 467, 7, 9, 2, 2, 467, 471, 5, 88, 45, 2, 468, 470,
5, 86, 44, 2, 469, 468, 3, 2, 2, 2, 470, 473, 3, 2, 2, 2, 471, 469, 3,
2, 2, 2, 471, 472, 3, 2, 2, 2, 472, 475, 3, 2, 2, 2, 473, 471, 3, 2, 2,
2, 474, 466, 3, 2, 2, 2, 475, 478, 3, 2, 2, 2, 476, 474, 3, 2, 2, 2, 476,
477, 3, 2, 2, 2, 477, 489, 3, 2, 2, 2, 478, 476, 3, 2, 2, 2, 479, 484,
5, 86, 44, 2, 480, 481, 7, 9, 2, 2, 481, 483, 5, 88, 45, 2, 482, 480, 3,
2, 2, 2, 483, 486, 3, 2, 2, 2, 484, 482, 3, 2, 2, 2, 484, 485, 3, 2, 2,
2, 485, 488, 3, 2, 2, 2, 486, 484, 3, 2, 2, 2, 487, 479, 3, 2, 2, 2, 488,
491, 3, 2, 2, 2, 489, 487, 3, 2, 2, 2, 489, 490, 3, 2, 2, 2, 490, 493,
3, 2, 2, 2, 491, 489, 3, 2, 2, 2, 492, 461, 3, 2, 2, 2, 492, 465, 3, 2,
2, 2, 493, 103, 3, 2, 2, 2, 494, 495, 5, 100, 51, 2, 495, 496, 5, 102,
52, 2, 496, 105, 3, 2, 2, 2, 497, 506, 7, 13, 2, 2, 498, 503, 5, 108, 55,
2, 499, 500, 7, 10, 2, 2, 500, 502, 5, 108, 55, 2, 501, 499, 3, 2, 2, 2,
502, 505, 3, 2, 2, 2, 503, 501, 3, 2, 2, 2, 503, 504, 3, 2, 2, 2, 504,
507, 3, 2, 2, 2, 505, 503, 3, 2, 2, 2, 506, 498, 3, 2, 2, 2, 506, 507,
3, 2, 2, 2, 507, 508, 3, 2, 2, 2, 508, 509, 7, 14, 2, 2, 509, 107, 3, 2,
2, 2, 510, 511, 8, 55, 1, 2, 511, 512, 5, 130, 66, 2, 512, 513, 5, 108,
55, 26, 513, 528, 3, 2, 2, 2, 514, 528, 5, 98, 50, 2, 515, 528, 5, 90,
46, 2, 516, 528, 5, 64, 33, 2, 517, 528, 5, 72, 37, 2, 518, 528, 5, 74,
38, 2, 519, 528, 5, 76, 39, 2, 520, 528, 5, 70, 36, 2, 521, 528, 5, 66,
34, 2, 522, 528, 5, 68, 35, 2, 523, 528, 5, 62, 32, 2, 524, 528, 5, 104,
53, 2, 525, 528, 5, 78, 40, 2, 526, 528, 5, 60, 31, 2, 527, 510, 3, 2,
2, 2, 527, 514, 3, 2, 2, 2, 527, 515, 3, 2, 2, 2, 527, 516, 3, 2, 2, 2,
527, 517, 3, 2, 2, 2, 527, 518, 3, 2, 2, 2, 527, 519, 3, 2, 2, 2, 527,
520, 3, 2, 2, 2, 527, 521, 3, 2, 2, 2, 527, 522, 3, 2, 2, 2, 527, 523,
3, 2, 2, 2, 527, 524, 3, 2, 2, 2, 527, 525, 3, 2, 2, 2, 527, 526, 3, 2,
2, 2, 528, 578, 3, 2, 2, 2, 529, 530, 12, 25, 2, 2, 530, 531, 5, 126, 64,
2, 531, 532, 5, 108, 55, 26, 532, 577, 3, 2, 2, 2, 533, 534, 12, 24, 2,
2, 534, 535, 5, 128, 65, 2, 535, 536, 5, 108, 55, 25, 536, 577, 3, 2, 2,
2, 537, 538, 12, 21, 2, 2, 538, 541, 5, 112, 57, 2, 539, 542, 5, 114, 58,
2, 540, 542, 5, 118, 60, 2, 541, 539, 3, 2, 2, 2, 541, 540, 3, 2, 2, 2,
542, 543, 3, 2, 2, 2, 543, 544, 5, 108, 55, 22, 544, 577, 3, 2, 2, 2, 545,
546, 12, 20, 2, 2, 546, 547, 5, 114, 58, 2, 547, 548, 5, 108, 55, 21, 548,
577, 3, 2, 2, 2, 549, 550, 12, 19, 2, 2, 550, 551, 5, 116, 59, 2, 551,
552, 5, 108, 55, 20, 552, 577, 3, 2, 2, 2, 553, 554, 12, 18, 2, 2, 554,
555, 5, 118, 60, 2, 555, 556, 5, 108, 55, 19, 556, 577, 3, 2, 2, 2, 557,
558, 12, 17, 2, 2, 558, 559, 5, 120, 61, 2, 559, 560, 5, 108, 55, 18, 560,
577, 3, 2, 2, 2, 561, 562, 12, 16, 2, 2, 562, 563, 5, 122, 62, 2, 563,
564, 5, 108, 55, 17, 564, 577, 3, 2, 2, 2, 565, 566, 12, 15, 2, 2, 566,
567, 5, 124, 63, 2, 567, 568, 5, 108, 55, 16, 568, 577, 3, 2, 2, 2, 569,
570, 12, 14, 2, 2, 570, 572, 7, 34, 2, 2, 571, 573, 5, 108, 55, 2, 572,
571, 3, 2, 2, 2, 572, 573, 3, 2, 2, 2, 573, 574, 3, 2, 2, 2, 574, 575,
7, 7, 2, 2, 575, 577, 5, 108, 55, 15, 576, 529, 3, 2, 2, 2, 576, 533, 3,
2, 2, 2, 576, 537, 3, 2, 2, 2, 576, 545, 3, 2, 2, 2, 576, 549, 3, 2, 2,
2, 576, 553, 3, 2, 2, 2, 576, 557, 3, 2, 2, 2, 576, 561, 3, 2, 2, 2, 576,
565, 3, 2, 2, 2, 576, 569, 3, 2, 2, 2, 577, 580, 3, 2, 2, 2, 578, 576,
3, 2, 2, 2, 578, 579, 3, 2, 2, 2, 579, 109, 3, 2, 2, 2, 580, 578, 3, 2,
2, 2, 581, 582, 5, 108, 55, 2, 582, 584, 7, 34, 2, 2, 583, 585, 5, 108,
55, 2, 584, 583, 3, 2, 2, 2, 584, 585, 3, 2, 2, 2, 585, 586, 3, 2, 2, 2,
586, 587, 7, 7, 2, 2, 587, 588, 7, 13, 2, 2, 588, 589, 5, 18, 10, 2, 589,
590, 7, 14, 2, 2, 590, 610, 3, 2, 2, 2, 591, 592, 5, 108, 55, 2, 592, 593,
7, 34, 2, 2, 593, 594, 7, 13, 2, 2, 594, 595, 5, 18, 10, 2, 595, 596, 7,
14, 2, 2, 596, 597, 7, 7, 2, 2, 597, 598, 5, 108, 55, 2, 598, 610, 3, 2,
2, 2, 599, 600, 5, 108, 55, 2, 600, 601, 7, 34, 2, 2, 601, 602, 7, 13,
2, 2, 602, 603, 5, 18, 10, 2, 603, 604, 7, 14, 2, 2, 604, 605, 7, 7, 2,
2, 605, 606, 7, 13, 2, 2, 606, 607, 5, 18, 10, 2, 607, 608, 7, 14, 2, 2,
608, 610, 3, 2, 2, 2, 609, 581, 3, 2, 2, 2, 609, 591, 3, 2, 2, 2, 609,
599, 3, 2, 2, 2, 610, 111, 3, 2, 2, 2, 611, 612, 9, 4, 2, 2, 612, 113,
3, 2, 2, 2, 613, 617, 7, 59, 2, 2, 614, 615, 7, 58, 2, 2, 615, 617, 7,
59, 2, 2, 616, 613, 3, 2, 2, 2, 616, 614, 3, 2, 2, 2, 617, 115, 3, 2, 2,
2, 618, 622, 7, 57, 2, 2, 619, 620, 7, 58, 2, 2, 620, 622, 7, 57, 2, 2,
621, 618, 3, 2, 2, 2, 621, 619, 3, 2, 2, 2, 622, 117, 3, 2, 2, 2, 623,
624, 9, 5, 2, 2, 624, 119, 3, 2, 2, 2, 625, 626, 9, 6, 2, 2, 626, 121,
3, 2, 2, 2, 627, 628, 7, 30, 2, 2, 628, 123, 3, 2, 2, 2, 629, 630, 7, 31,
2, 2, 630, 125, 3, 2, 2, 2, 631, 632, 9, 7, 2, 2, 632, 127, 3, 2, 2, 2,
633, 634, 9, 8, 2, 2, 634, 129, 3, 2, 2, 2, 635, 636, 9, 9, 2, 2, 636,
131, 3, 2, 2, 2, 59, 135, 150, 157, 161, 165, 170, 178, 184, 191, 199,
206, 211, 224, 230, 234, 238, 242, 251, 255, 263, 268, 288, 299, 308, 321,
323, 345, 355, 361, 365, 375, 378, 381, 399, 404, 416, 427, 439, 451, 458,
463, 471, 476, 484, 489, 492, 503, 506, 527, 541, 572, 576, 578, 584, 609,
616, 621,
}
2018-09-18 16:42:38 -04:00
var literalNames = []string{
2018-09-22 19:18:10 -04:00
"", "", "", "", "", "':'", "';'", "'.'", "','", "'['", "']'", "'('", "')'",
"'{'", "'}'", "'>'", "'<'", "'=='", "'>='", "'<='", "'!='", "'*'", "'/'",
"'%'", "'+'", "'-'", "'--'", "'++'", "", "", "", "'='", "'?'", "'!~'",
2018-09-22 19:18:10 -04:00
"'=~'", "'FOR'", "'RETURN'", "'DISTINCT'", "'FILTER'", "'SORT'", "'LIMIT'",
"'LET'", "'COLLECT'", "", "'NONE'", "'NULL'", "", "'USE'", "'INTO'", "'KEEP'",
"'WITH'", "'COUNT'", "'ALL'", "'ANY'", "'AGGREGATE'", "'LIKE'", "", "'IN'",
"'DO'", "'WHILE'", "'@'",
2018-09-18 16:42:38 -04:00
}
var symbolicNames = []string{
"", "MultiLineComment", "SingleLineComment", "WhiteSpaces", "LineTerminator",
2018-09-22 19:18:10 -04:00
"Colon", "SemiColon", "Dot", "Comma", "OpenBracket", "CloseBracket", "OpenParen",
"CloseParen", "OpenBrace", "CloseBrace", "Gt", "Lt", "Eq", "Gte", "Lte",
"Neq", "Multi", "Div", "Mod", "Plus", "Minus", "MinusMinus", "PlusPlus",
2018-09-22 19:18:10 -04:00
"And", "Or", "Range", "Assign", "QuestionMark", "RegexNotMatch", "RegexMatch",
"For", "Return", "Distinct", "Filter", "Sort", "Limit", "Let", "Collect",
"SortDirection", "None", "Null", "BooleanLiteral", "Use", "Into", "Keep",
"With", "Count", "All", "Any", "Aggregate", "Like", "Not", "In", "Do",
"While", "Param", "Identifier", "StringLiteral", "IntegerLiteral", "FloatLiteral",
"NamespaceSegment",
2018-09-18 16:42:38 -04:00
}
var ruleNames = []string{
"program", "head", "useExpression", "use", "body", "bodyStatement", "bodyExpression",
"returnExpression", "forExpression", "forExpressionValueVariable", "forExpressionKeyVariable",
2018-10-28 01:45:26 -04:00
"forExpressionSource", "forExpressionClause", "forExpressionStatement",
"forExpressionBody", "forExpressionReturn", "filterClause", "limitClause",
"limitClauseValue", "sortClause", "sortClauseExpression", "collectClause",
"collectSelector", "collectGrouping", "collectAggregator", "collectAggregateSelector",
"collectGroupVariable", "collectCounter", "variableDeclaration", "param",
"variable", "rangeOperator", "arrayLiteral", "objectLiteral", "booleanLiteral",
"stringLiteral", "integerLiteral", "floatLiteral", "noneLiteral", "arrayElementList",
"propertyAssignment", "shorthandPropertyName", "computedPropertyName",
"propertyName", "expressionGroup", "namespaceIdentifier", "namespace",
"functionIdentifier", "functionCallExpression", "member", "memberPath",
"memberExpression", "arguments", "expression", "forTernaryExpression",
"arrayOperator", "inOperator", "likeOperator", "equalityOperator", "regexpOperator",
"logicalAndOperator", "logicalOrOperator", "multiplicativeOperator", "additiveOperator",
"unaryOperator",
2018-09-18 16:42:38 -04:00
}
type FqlParser struct {
*antlr.BaseParser
}
// NewFqlParser produces a new parser instance for the optional input antlr.TokenStream.
//
// The *FqlParser instance produced may be reused by calling the SetInputStream method.
// The initial parser configuration is expensive to construct, and the object is not thread-safe;
// however, if used within a Golang sync.Pool, the construction cost amortizes well and the
// objects can be used in a thread-safe manner.
2018-09-18 16:42:38 -04:00
func NewFqlParser(input antlr.TokenStream) *FqlParser {
this := new(FqlParser)
deserializer := antlr.NewATNDeserializer(nil)
deserializedATN := deserializer.DeserializeFromUInt16(parserATN)
decisionToDFA := make([]*antlr.DFA, len(deserializedATN.DecisionToState))
for index, ds := range deserializedATN.DecisionToState {
decisionToDFA[index] = antlr.NewDFA(ds, index)
}
2018-09-18 16:42:38 -04:00
this.BaseParser = antlr.NewBaseParser(input)
this.Interpreter = antlr.NewParserATNSimulator(this, deserializedATN, decisionToDFA, antlr.NewPredictionContextCache())
this.RuleNames = ruleNames
this.LiteralNames = literalNames
this.SymbolicNames = symbolicNames
this.GrammarFileName = "FqlParser.g4"
return this
}
// FqlParser tokens.
const (
2019-09-01 21:41:16 -04:00
FqlParserEOF = antlr.TokenEOF
FqlParserMultiLineComment = 1
FqlParserSingleLineComment = 2
FqlParserWhiteSpaces = 3
FqlParserLineTerminator = 4
FqlParserColon = 5
FqlParserSemiColon = 6
FqlParserDot = 7
FqlParserComma = 8
FqlParserOpenBracket = 9
FqlParserCloseBracket = 10
FqlParserOpenParen = 11
FqlParserCloseParen = 12
FqlParserOpenBrace = 13
FqlParserCloseBrace = 14
FqlParserGt = 15
FqlParserLt = 16
FqlParserEq = 17
FqlParserGte = 18
FqlParserLte = 19
FqlParserNeq = 20
FqlParserMulti = 21
FqlParserDiv = 22
FqlParserMod = 23
FqlParserPlus = 24
FqlParserMinus = 25
FqlParserMinusMinus = 26
FqlParserPlusPlus = 27
FqlParserAnd = 28
FqlParserOr = 29
FqlParserRange = 30
FqlParserAssign = 31
FqlParserQuestionMark = 32
FqlParserRegexNotMatch = 33
FqlParserRegexMatch = 34
FqlParserFor = 35
FqlParserReturn = 36
FqlParserDistinct = 37
FqlParserFilter = 38
FqlParserSort = 39
FqlParserLimit = 40
FqlParserLet = 41
FqlParserCollect = 42
FqlParserSortDirection = 43
FqlParserNone = 44
FqlParserNull = 45
FqlParserBooleanLiteral = 46
FqlParserUse = 47
FqlParserInto = 48
FqlParserKeep = 49
FqlParserWith = 50
FqlParserCount = 51
FqlParserAll = 52
FqlParserAny = 53
FqlParserAggregate = 54
FqlParserLike = 55
FqlParserNot = 56
FqlParserIn = 57
FqlParserDo = 58
FqlParserWhile = 59
FqlParserParam = 60
FqlParserIdentifier = 61
FqlParserStringLiteral = 62
FqlParserIntegerLiteral = 63
FqlParserFloatLiteral = 64
FqlParserNamespaceSegment = 65
2018-09-18 16:42:38 -04:00
)
// FqlParser rules.
const (
FqlParserRULE_program = 0
FqlParserRULE_head = 1
FqlParserRULE_useExpression = 2
FqlParserRULE_use = 3
FqlParserRULE_body = 4
FqlParserRULE_bodyStatement = 5
FqlParserRULE_bodyExpression = 6
FqlParserRULE_returnExpression = 7
FqlParserRULE_forExpression = 8
FqlParserRULE_forExpressionValueVariable = 9
FqlParserRULE_forExpressionKeyVariable = 10
FqlParserRULE_forExpressionSource = 11
FqlParserRULE_forExpressionClause = 12
FqlParserRULE_forExpressionStatement = 13
FqlParserRULE_forExpressionBody = 14
FqlParserRULE_forExpressionReturn = 15
FqlParserRULE_filterClause = 16
FqlParserRULE_limitClause = 17
FqlParserRULE_limitClauseValue = 18
FqlParserRULE_sortClause = 19
FqlParserRULE_sortClauseExpression = 20
FqlParserRULE_collectClause = 21
FqlParserRULE_collectSelector = 22
FqlParserRULE_collectGrouping = 23
FqlParserRULE_collectAggregator = 24
FqlParserRULE_collectAggregateSelector = 25
FqlParserRULE_collectGroupVariable = 26
FqlParserRULE_collectCounter = 27
FqlParserRULE_variableDeclaration = 28
FqlParserRULE_param = 29
FqlParserRULE_variable = 30
FqlParserRULE_rangeOperator = 31
FqlParserRULE_arrayLiteral = 32
FqlParserRULE_objectLiteral = 33
FqlParserRULE_booleanLiteral = 34
FqlParserRULE_stringLiteral = 35
FqlParserRULE_integerLiteral = 36
FqlParserRULE_floatLiteral = 37
FqlParserRULE_noneLiteral = 38
FqlParserRULE_arrayElementList = 39
FqlParserRULE_propertyAssignment = 40
FqlParserRULE_shorthandPropertyName = 41
FqlParserRULE_computedPropertyName = 42
FqlParserRULE_propertyName = 43
FqlParserRULE_expressionGroup = 44
FqlParserRULE_namespaceIdentifier = 45
FqlParserRULE_namespace = 46
FqlParserRULE_functionIdentifier = 47
FqlParserRULE_functionCallExpression = 48
FqlParserRULE_member = 49
FqlParserRULE_memberPath = 50
FqlParserRULE_memberExpression = 51
FqlParserRULE_arguments = 52
FqlParserRULE_expression = 53
FqlParserRULE_forTernaryExpression = 54
FqlParserRULE_arrayOperator = 55
FqlParserRULE_inOperator = 56
FqlParserRULE_likeOperator = 57
FqlParserRULE_equalityOperator = 58
FqlParserRULE_regexpOperator = 59
FqlParserRULE_logicalAndOperator = 60
FqlParserRULE_logicalOrOperator = 61
FqlParserRULE_multiplicativeOperator = 62
FqlParserRULE_additiveOperator = 63
FqlParserRULE_unaryOperator = 64
2018-09-18 16:42:38 -04:00
)
// IProgramContext is an interface to support dynamic dispatch.
type IProgramContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsProgramContext differentiates from other interfaces.
IsProgramContext()
}
type ProgramContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyProgramContext() *ProgramContext {
var p = new(ProgramContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_program
return p
}
func (*ProgramContext) IsProgramContext() {}
func NewProgramContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ProgramContext {
var p = new(ProgramContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_program
return p
}
func (s *ProgramContext) GetParser() antlr.Parser { return s.parser }
func (s *ProgramContext) Body() IBodyContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IBodyContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IBodyContext)
}
func (s *ProgramContext) AllHead() []IHeadContext {
var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IHeadContext)(nil)).Elem())
var tst = make([]IHeadContext, len(ts))
for i, t := range ts {
if t != nil {
tst[i] = t.(IHeadContext)
}
}
return tst
}
func (s *ProgramContext) Head(i int) IHeadContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IHeadContext)(nil)).Elem(), i)
if t == nil {
return nil
}
return t.(IHeadContext)
}
2018-09-18 16:42:38 -04:00
func (s *ProgramContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ProgramContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ProgramContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterProgram(s)
}
}
func (s *ProgramContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitProgram(s)
}
}
func (s *ProgramContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitProgram(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) Program() (localctx IProgramContext) {
localctx = NewProgramContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 0, FqlParserRULE_program)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
var _alt int
2018-09-18 16:42:38 -04:00
p.EnterOuterAlt(localctx, 1)
p.SetState(133)
p.GetErrorHandler().Sync(p)
_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 0, p.GetParserRuleContext())
for _alt != 2 && _alt != antlr.ATNInvalidAltNumber {
if _alt == 1 {
{
p.SetState(130)
p.Head()
}
}
p.SetState(135)
p.GetErrorHandler().Sync(p)
_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 0, p.GetParserRuleContext())
}
2018-09-18 16:42:38 -04:00
{
p.SetState(136)
2018-09-18 16:42:38 -04:00
p.Body()
}
return localctx
}
// IHeadContext is an interface to support dynamic dispatch.
type IHeadContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsHeadContext differentiates from other interfaces.
IsHeadContext()
}
type HeadContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyHeadContext() *HeadContext {
var p = new(HeadContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_head
return p
}
func (*HeadContext) IsHeadContext() {}
func NewHeadContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *HeadContext {
var p = new(HeadContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_head
return p
}
func (s *HeadContext) GetParser() antlr.Parser { return s.parser }
func (s *HeadContext) UseExpression() IUseExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IUseExpressionContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IUseExpressionContext)
}
func (s *HeadContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *HeadContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *HeadContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterHead(s)
}
}
func (s *HeadContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitHead(s)
}
}
func (s *HeadContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitHead(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) Head() (localctx IHeadContext) {
localctx = NewHeadContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 2, FqlParserRULE_head)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(138)
p.UseExpression()
}
return localctx
}
// IUseExpressionContext is an interface to support dynamic dispatch.
type IUseExpressionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsUseExpressionContext differentiates from other interfaces.
IsUseExpressionContext()
}
type UseExpressionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyUseExpressionContext() *UseExpressionContext {
var p = new(UseExpressionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_useExpression
return p
}
func (*UseExpressionContext) IsUseExpressionContext() {}
func NewUseExpressionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *UseExpressionContext {
var p = new(UseExpressionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_useExpression
return p
}
func (s *UseExpressionContext) GetParser() antlr.Parser { return s.parser }
func (s *UseExpressionContext) Use() IUseContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IUseContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IUseContext)
}
func (s *UseExpressionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *UseExpressionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *UseExpressionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterUseExpression(s)
}
}
func (s *UseExpressionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitUseExpression(s)
}
}
func (s *UseExpressionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitUseExpression(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) UseExpression() (localctx IUseExpressionContext) {
localctx = NewUseExpressionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 4, FqlParserRULE_useExpression)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(140)
p.Use()
}
return localctx
}
// IUseContext is an interface to support dynamic dispatch.
type IUseContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsUseContext differentiates from other interfaces.
IsUseContext()
}
type UseContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyUseContext() *UseContext {
var p = new(UseContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_use
return p
}
func (*UseContext) IsUseContext() {}
func NewUseContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *UseContext {
var p = new(UseContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_use
return p
}
func (s *UseContext) GetParser() antlr.Parser { return s.parser }
func (s *UseContext) Use() antlr.TerminalNode {
return s.GetToken(FqlParserUse, 0)
}
func (s *UseContext) NamespaceIdentifier() INamespaceIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*INamespaceIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(INamespaceIdentifierContext)
}
func (s *UseContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *UseContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *UseContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterUse(s)
}
}
func (s *UseContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitUse(s)
}
}
func (s *UseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitUse(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) Use() (localctx IUseContext) {
localctx = NewUseContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 6, FqlParserRULE_use)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(142)
p.Match(FqlParserUse)
}
{
p.SetState(143)
p.NamespaceIdentifier()
}
return localctx
}
2018-09-18 16:42:38 -04:00
// IBodyContext is an interface to support dynamic dispatch.
type IBodyContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsBodyContext differentiates from other interfaces.
IsBodyContext()
}
type BodyContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyBodyContext() *BodyContext {
var p = new(BodyContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_body
return p
}
func (*BodyContext) IsBodyContext() {}
func NewBodyContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BodyContext {
var p = new(BodyContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_body
return p
}
func (s *BodyContext) GetParser() antlr.Parser { return s.parser }
func (s *BodyContext) BodyExpression() IBodyExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IBodyExpressionContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IBodyExpressionContext)
}
func (s *BodyContext) AllBodyStatement() []IBodyStatementContext {
var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IBodyStatementContext)(nil)).Elem())
var tst = make([]IBodyStatementContext, len(ts))
for i, t := range ts {
if t != nil {
tst[i] = t.(IBodyStatementContext)
}
}
return tst
}
func (s *BodyContext) BodyStatement(i int) IBodyStatementContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IBodyStatementContext)(nil)).Elem(), i)
if t == nil {
return nil
}
return t.(IBodyStatementContext)
}
func (s *BodyContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *BodyContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *BodyContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterBody(s)
}
}
func (s *BodyContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitBody(s)
}
}
func (s *BodyContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitBody(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) Body() (localctx IBodyContext) {
localctx = NewBodyContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 8, FqlParserRULE_body)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
var _alt int
2018-09-18 16:42:38 -04:00
p.EnterOuterAlt(localctx, 1)
p.SetState(148)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 1, p.GetParserRuleContext())
2018-09-18 16:42:38 -04:00
for _alt != 2 && _alt != antlr.ATNInvalidAltNumber {
if _alt == 1 {
{
p.SetState(145)
p.BodyStatement()
}
2018-09-18 16:42:38 -04:00
}
p.SetState(150)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 1, p.GetParserRuleContext())
2018-09-18 16:42:38 -04:00
}
{
p.SetState(151)
2018-09-18 16:42:38 -04:00
p.BodyExpression()
}
return localctx
}
// IBodyStatementContext is an interface to support dynamic dispatch.
type IBodyStatementContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsBodyStatementContext differentiates from other interfaces.
IsBodyStatementContext()
}
type BodyStatementContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyBodyStatementContext() *BodyStatementContext {
var p = new(BodyStatementContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_bodyStatement
return p
}
func (*BodyStatementContext) IsBodyStatementContext() {}
func NewBodyStatementContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BodyStatementContext {
var p = new(BodyStatementContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_bodyStatement
return p
}
func (s *BodyStatementContext) GetParser() antlr.Parser { return s.parser }
func (s *BodyStatementContext) FunctionCallExpression() IFunctionCallExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFunctionCallExpressionContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IFunctionCallExpressionContext)
}
func (s *BodyStatementContext) VariableDeclaration() IVariableDeclarationContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IVariableDeclarationContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IVariableDeclarationContext)
}
func (s *BodyStatementContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *BodyStatementContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *BodyStatementContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterBodyStatement(s)
}
}
func (s *BodyStatementContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitBodyStatement(s)
}
}
func (s *BodyStatementContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitBodyStatement(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) BodyStatement() (localctx IBodyStatementContext) {
localctx = NewBodyStatementContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 10, FqlParserRULE_bodyStatement)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(155)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
switch p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 2, p.GetParserRuleContext()) {
case 1:
2018-09-18 16:42:38 -04:00
p.EnterOuterAlt(localctx, 1)
{
p.SetState(153)
2018-09-18 16:42:38 -04:00
p.FunctionCallExpression()
}
case 2:
2018-09-18 16:42:38 -04:00
p.EnterOuterAlt(localctx, 2)
{
p.SetState(154)
2018-09-18 16:42:38 -04:00
p.VariableDeclaration()
}
}
return localctx
}
// IBodyExpressionContext is an interface to support dynamic dispatch.
type IBodyExpressionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsBodyExpressionContext differentiates from other interfaces.
IsBodyExpressionContext()
}
type BodyExpressionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyBodyExpressionContext() *BodyExpressionContext {
var p = new(BodyExpressionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_bodyExpression
return p
}
func (*BodyExpressionContext) IsBodyExpressionContext() {}
func NewBodyExpressionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BodyExpressionContext {
var p = new(BodyExpressionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_bodyExpression
return p
}
func (s *BodyExpressionContext) GetParser() antlr.Parser { return s.parser }
func (s *BodyExpressionContext) ReturnExpression() IReturnExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IReturnExpressionContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IReturnExpressionContext)
}
func (s *BodyExpressionContext) ForExpression() IForExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IForExpressionContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IForExpressionContext)
}
func (s *BodyExpressionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *BodyExpressionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *BodyExpressionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterBodyExpression(s)
}
}
func (s *BodyExpressionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitBodyExpression(s)
}
}
func (s *BodyExpressionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitBodyExpression(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) BodyExpression() (localctx IBodyExpressionContext) {
localctx = NewBodyExpressionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 12, FqlParserRULE_bodyExpression)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(159)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
switch p.GetTokenStream().LA(1) {
case FqlParserReturn:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(157)
2018-09-18 16:42:38 -04:00
p.ReturnExpression()
}
case FqlParserFor:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(158)
2018-09-18 16:42:38 -04:00
p.ForExpression()
}
default:
panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil))
}
return localctx
}
// IReturnExpressionContext is an interface to support dynamic dispatch.
type IReturnExpressionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsReturnExpressionContext differentiates from other interfaces.
IsReturnExpressionContext()
}
type ReturnExpressionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyReturnExpressionContext() *ReturnExpressionContext {
var p = new(ReturnExpressionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_returnExpression
return p
}
func (*ReturnExpressionContext) IsReturnExpressionContext() {}
func NewReturnExpressionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ReturnExpressionContext {
var p = new(ReturnExpressionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_returnExpression
return p
}
func (s *ReturnExpressionContext) GetParser() antlr.Parser { return s.parser }
func (s *ReturnExpressionContext) Return() antlr.TerminalNode {
return s.GetToken(FqlParserReturn, 0)
}
func (s *ReturnExpressionContext) Expression() IExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IExpressionContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IExpressionContext)
}
func (s *ReturnExpressionContext) Distinct() antlr.TerminalNode {
return s.GetToken(FqlParserDistinct, 0)
}
func (s *ReturnExpressionContext) OpenParen() antlr.TerminalNode {
return s.GetToken(FqlParserOpenParen, 0)
}
func (s *ReturnExpressionContext) ForExpression() IForExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IForExpressionContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IForExpressionContext)
}
func (s *ReturnExpressionContext) CloseParen() antlr.TerminalNode {
return s.GetToken(FqlParserCloseParen, 0)
}
func (s *ReturnExpressionContext) ForTernaryExpression() IForTernaryExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IForTernaryExpressionContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IForTernaryExpressionContext)
}
2018-09-18 16:42:38 -04:00
func (s *ReturnExpressionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ReturnExpressionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ReturnExpressionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterReturnExpression(s)
}
}
func (s *ReturnExpressionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitReturnExpression(s)
}
}
func (s *ReturnExpressionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitReturnExpression(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) ReturnExpression() (localctx IReturnExpressionContext) {
localctx = NewReturnExpressionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 14, FqlParserRULE_returnExpression)
2018-09-18 16:42:38 -04:00
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(176)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
switch p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 6, p.GetParserRuleContext()) {
2018-09-18 16:42:38 -04:00
case 1:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(161)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserReturn)
}
p.SetState(163)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
if p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 4, p.GetParserRuleContext()) == 1 {
2018-09-18 16:42:38 -04:00
{
p.SetState(162)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserDistinct)
}
}
{
p.SetState(165)
2018-09-18 16:42:38 -04:00
p.expression(0)
}
case 2:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(166)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserReturn)
}
p.SetState(168)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
if _la == FqlParserDistinct {
{
p.SetState(167)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserDistinct)
}
}
{
p.SetState(170)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserOpenParen)
}
{
p.SetState(171)
2018-09-18 16:42:38 -04:00
p.ForExpression()
}
{
p.SetState(172)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserCloseParen)
}
case 3:
p.EnterOuterAlt(localctx, 3)
{
p.SetState(174)
p.Match(FqlParserReturn)
}
{
p.SetState(175)
p.ForTernaryExpression()
}
2018-09-18 16:42:38 -04:00
}
return localctx
}
// IForExpressionContext is an interface to support dynamic dispatch.
type IForExpressionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsForExpressionContext differentiates from other interfaces.
IsForExpressionContext()
}
type ForExpressionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyForExpressionContext() *ForExpressionContext {
var p = new(ForExpressionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_forExpression
return p
}
func (*ForExpressionContext) IsForExpressionContext() {}
func NewForExpressionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ForExpressionContext {
var p = new(ForExpressionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_forExpression
return p
}
func (s *ForExpressionContext) GetParser() antlr.Parser { return s.parser }
func (s *ForExpressionContext) For() antlr.TerminalNode {
return s.GetToken(FqlParserFor, 0)
}
func (s *ForExpressionContext) ForExpressionValueVariable() IForExpressionValueVariableContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IForExpressionValueVariableContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IForExpressionValueVariableContext)
}
func (s *ForExpressionContext) In() antlr.TerminalNode {
return s.GetToken(FqlParserIn, 0)
}
func (s *ForExpressionContext) ForExpressionSource() IForExpressionSourceContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IForExpressionSourceContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IForExpressionSourceContext)
}
func (s *ForExpressionContext) ForExpressionReturn() IForExpressionReturnContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IForExpressionReturnContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IForExpressionReturnContext)
}
func (s *ForExpressionContext) Comma() antlr.TerminalNode {
return s.GetToken(FqlParserComma, 0)
}
func (s *ForExpressionContext) ForExpressionKeyVariable() IForExpressionKeyVariableContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IForExpressionKeyVariableContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IForExpressionKeyVariableContext)
}
func (s *ForExpressionContext) AllForExpressionBody() []IForExpressionBodyContext {
var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IForExpressionBodyContext)(nil)).Elem())
var tst = make([]IForExpressionBodyContext, len(ts))
for i, t := range ts {
if t != nil {
tst[i] = t.(IForExpressionBodyContext)
}
}
return tst
}
func (s *ForExpressionContext) ForExpressionBody(i int) IForExpressionBodyContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IForExpressionBodyContext)(nil)).Elem(), i)
if t == nil {
return nil
}
return t.(IForExpressionBodyContext)
}
func (s *ForExpressionContext) While() antlr.TerminalNode {
return s.GetToken(FqlParserWhile, 0)
}
func (s *ForExpressionContext) Expression() IExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IExpressionContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IExpressionContext)
}
func (s *ForExpressionContext) Do() antlr.TerminalNode {
return s.GetToken(FqlParserDo, 0)
}
2018-09-18 16:42:38 -04:00
func (s *ForExpressionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ForExpressionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ForExpressionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterForExpression(s)
}
}
func (s *ForExpressionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitForExpression(s)
}
}
func (s *ForExpressionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitForExpression(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) ForExpression() (localctx IForExpressionContext) {
localctx = NewForExpressionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 16, FqlParserRULE_forExpression)
2018-09-18 16:42:38 -04:00
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
var _alt int
p.SetState(209)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
switch p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 11, p.GetParserRuleContext()) {
case 1:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(178)
p.Match(FqlParserFor)
}
{
p.SetState(179)
p.ForExpressionValueVariable()
}
p.SetState(182)
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
2018-09-18 16:42:38 -04:00
if _la == FqlParserComma {
{
p.SetState(180)
p.Match(FqlParserComma)
}
{
p.SetState(181)
p.ForExpressionKeyVariable()
}
}
2018-09-18 16:42:38 -04:00
{
p.SetState(184)
p.Match(FqlParserIn)
2018-09-18 16:42:38 -04:00
}
{
p.SetState(185)
p.ForExpressionSource()
2018-09-18 16:42:38 -04:00
}
p.SetState(189)
p.GetErrorHandler().Sync(p)
_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 8, p.GetParserRuleContext())
2018-09-18 16:42:38 -04:00
for _alt != 2 && _alt != antlr.ATNInvalidAltNumber {
if _alt == 1 {
{
p.SetState(186)
p.ForExpressionBody()
}
2018-09-18 16:42:38 -04:00
}
p.SetState(191)
p.GetErrorHandler().Sync(p)
_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 8, p.GetParserRuleContext())
}
{
p.SetState(192)
p.ForExpressionReturn()
}
case 2:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(194)
p.Match(FqlParserFor)
}
{
p.SetState(195)
p.ForExpressionValueVariable()
}
p.SetState(197)
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
if _la == FqlParserDo {
{
p.SetState(196)
p.Match(FqlParserDo)
}
2018-09-18 16:42:38 -04:00
}
{
p.SetState(199)
p.Match(FqlParserWhile)
}
{
p.SetState(200)
p.expression(0)
}
p.SetState(204)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 10, p.GetParserRuleContext())
for _alt != 2 && _alt != antlr.ATNInvalidAltNumber {
if _alt == 1 {
{
p.SetState(201)
p.ForExpressionBody()
}
}
p.SetState(206)
p.GetErrorHandler().Sync(p)
_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 10, p.GetParserRuleContext())
}
{
p.SetState(207)
p.ForExpressionReturn()
}
2018-09-18 16:42:38 -04:00
}
return localctx
}
// IForExpressionValueVariableContext is an interface to support dynamic dispatch.
type IForExpressionValueVariableContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsForExpressionValueVariableContext differentiates from other interfaces.
IsForExpressionValueVariableContext()
}
type ForExpressionValueVariableContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyForExpressionValueVariableContext() *ForExpressionValueVariableContext {
var p = new(ForExpressionValueVariableContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_forExpressionValueVariable
return p
}
func (*ForExpressionValueVariableContext) IsForExpressionValueVariableContext() {}
func NewForExpressionValueVariableContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ForExpressionValueVariableContext {
var p = new(ForExpressionValueVariableContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_forExpressionValueVariable
return p
}
func (s *ForExpressionValueVariableContext) GetParser() antlr.Parser { return s.parser }
func (s *ForExpressionValueVariableContext) Identifier() antlr.TerminalNode {
return s.GetToken(FqlParserIdentifier, 0)
}
func (s *ForExpressionValueVariableContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ForExpressionValueVariableContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ForExpressionValueVariableContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterForExpressionValueVariable(s)
}
}
func (s *ForExpressionValueVariableContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitForExpressionValueVariable(s)
}
}
func (s *ForExpressionValueVariableContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitForExpressionValueVariable(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) ForExpressionValueVariable() (localctx IForExpressionValueVariableContext) {
localctx = NewForExpressionValueVariableContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 18, FqlParserRULE_forExpressionValueVariable)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(211)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserIdentifier)
}
return localctx
}
// IForExpressionKeyVariableContext is an interface to support dynamic dispatch.
type IForExpressionKeyVariableContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsForExpressionKeyVariableContext differentiates from other interfaces.
IsForExpressionKeyVariableContext()
}
type ForExpressionKeyVariableContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyForExpressionKeyVariableContext() *ForExpressionKeyVariableContext {
var p = new(ForExpressionKeyVariableContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_forExpressionKeyVariable
return p
}
func (*ForExpressionKeyVariableContext) IsForExpressionKeyVariableContext() {}
func NewForExpressionKeyVariableContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ForExpressionKeyVariableContext {
var p = new(ForExpressionKeyVariableContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_forExpressionKeyVariable
return p
}
func (s *ForExpressionKeyVariableContext) GetParser() antlr.Parser { return s.parser }
func (s *ForExpressionKeyVariableContext) Identifier() antlr.TerminalNode {
return s.GetToken(FqlParserIdentifier, 0)
}
func (s *ForExpressionKeyVariableContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ForExpressionKeyVariableContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ForExpressionKeyVariableContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterForExpressionKeyVariable(s)
}
}
func (s *ForExpressionKeyVariableContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitForExpressionKeyVariable(s)
}
}
func (s *ForExpressionKeyVariableContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitForExpressionKeyVariable(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) ForExpressionKeyVariable() (localctx IForExpressionKeyVariableContext) {
localctx = NewForExpressionKeyVariableContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 20, FqlParserRULE_forExpressionKeyVariable)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(213)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserIdentifier)
}
return localctx
}
// IForExpressionSourceContext is an interface to support dynamic dispatch.
type IForExpressionSourceContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsForExpressionSourceContext differentiates from other interfaces.
IsForExpressionSourceContext()
}
type ForExpressionSourceContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyForExpressionSourceContext() *ForExpressionSourceContext {
var p = new(ForExpressionSourceContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_forExpressionSource
return p
}
func (*ForExpressionSourceContext) IsForExpressionSourceContext() {}
func NewForExpressionSourceContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ForExpressionSourceContext {
var p = new(ForExpressionSourceContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_forExpressionSource
return p
}
func (s *ForExpressionSourceContext) GetParser() antlr.Parser { return s.parser }
func (s *ForExpressionSourceContext) FunctionCallExpression() IFunctionCallExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFunctionCallExpressionContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IFunctionCallExpressionContext)
}
func (s *ForExpressionSourceContext) ArrayLiteral() IArrayLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IArrayLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IArrayLiteralContext)
}
func (s *ForExpressionSourceContext) ObjectLiteral() IObjectLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IObjectLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IObjectLiteralContext)
}
func (s *ForExpressionSourceContext) Variable() IVariableContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IVariableContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IVariableContext)
}
func (s *ForExpressionSourceContext) MemberExpression() IMemberExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IMemberExpressionContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IMemberExpressionContext)
}
2018-09-22 19:18:10 -04:00
func (s *ForExpressionSourceContext) RangeOperator() IRangeOperatorContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRangeOperatorContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRangeOperatorContext)
}
2018-09-28 21:04:16 -04:00
func (s *ForExpressionSourceContext) Param() IParamContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IParamContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IParamContext)
}
2018-09-18 16:42:38 -04:00
func (s *ForExpressionSourceContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ForExpressionSourceContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ForExpressionSourceContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterForExpressionSource(s)
}
}
func (s *ForExpressionSourceContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitForExpressionSource(s)
}
}
func (s *ForExpressionSourceContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitForExpressionSource(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) ForExpressionSource() (localctx IForExpressionSourceContext) {
localctx = NewForExpressionSourceContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 22, FqlParserRULE_forExpressionSource)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(222)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
switch p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 12, p.GetParserRuleContext()) {
2018-09-18 16:42:38 -04:00
case 1:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(215)
2018-09-18 16:42:38 -04:00
p.FunctionCallExpression()
}
case 2:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(216)
2018-09-18 16:42:38 -04:00
p.ArrayLiteral()
}
case 3:
p.EnterOuterAlt(localctx, 3)
{
p.SetState(217)
2018-09-18 16:42:38 -04:00
p.ObjectLiteral()
}
case 4:
p.EnterOuterAlt(localctx, 4)
{
p.SetState(218)
2018-09-18 16:42:38 -04:00
p.Variable()
}
case 5:
p.EnterOuterAlt(localctx, 5)
{
p.SetState(219)
2018-09-18 16:42:38 -04:00
p.MemberExpression()
}
2018-09-22 19:18:10 -04:00
case 6:
p.EnterOuterAlt(localctx, 6)
{
p.SetState(220)
2018-09-22 19:18:10 -04:00
p.RangeOperator()
}
2018-09-28 21:04:16 -04:00
case 7:
p.EnterOuterAlt(localctx, 7)
{
p.SetState(221)
2018-09-28 21:04:16 -04:00
p.Param()
}
2018-09-18 16:42:38 -04:00
}
return localctx
}
// IForExpressionClauseContext is an interface to support dynamic dispatch.
type IForExpressionClauseContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsForExpressionClauseContext differentiates from other interfaces.
IsForExpressionClauseContext()
}
type ForExpressionClauseContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyForExpressionClauseContext() *ForExpressionClauseContext {
var p = new(ForExpressionClauseContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_forExpressionClause
return p
}
func (*ForExpressionClauseContext) IsForExpressionClauseContext() {}
func NewForExpressionClauseContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ForExpressionClauseContext {
var p = new(ForExpressionClauseContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_forExpressionClause
return p
}
func (s *ForExpressionClauseContext) GetParser() antlr.Parser { return s.parser }
func (s *ForExpressionClauseContext) LimitClause() ILimitClauseContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILimitClauseContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILimitClauseContext)
}
func (s *ForExpressionClauseContext) SortClause() ISortClauseContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ISortClauseContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ISortClauseContext)
}
func (s *ForExpressionClauseContext) FilterClause() IFilterClauseContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFilterClauseContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IFilterClauseContext)
}
func (s *ForExpressionClauseContext) CollectClause() ICollectClauseContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ICollectClauseContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ICollectClauseContext)
}
func (s *ForExpressionClauseContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ForExpressionClauseContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ForExpressionClauseContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterForExpressionClause(s)
}
}
func (s *ForExpressionClauseContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitForExpressionClause(s)
}
}
func (s *ForExpressionClauseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitForExpressionClause(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) ForExpressionClause() (localctx IForExpressionClauseContext) {
localctx = NewForExpressionClauseContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 24, FqlParserRULE_forExpressionClause)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(228)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
switch p.GetTokenStream().LA(1) {
case FqlParserLimit:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(224)
2018-09-18 16:42:38 -04:00
p.LimitClause()
}
case FqlParserSort:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(225)
2018-09-18 16:42:38 -04:00
p.SortClause()
}
case FqlParserFilter:
p.EnterOuterAlt(localctx, 3)
{
p.SetState(226)
2018-09-18 16:42:38 -04:00
p.FilterClause()
}
case FqlParserCollect:
p.EnterOuterAlt(localctx, 4)
{
p.SetState(227)
2018-09-18 16:42:38 -04:00
p.CollectClause()
}
default:
panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil))
}
return localctx
}
2018-10-28 01:45:26 -04:00
// IForExpressionStatementContext is an interface to support dynamic dispatch.
type IForExpressionStatementContext interface {
2018-09-18 16:42:38 -04:00
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
2018-10-28 01:45:26 -04:00
// IsForExpressionStatementContext differentiates from other interfaces.
IsForExpressionStatementContext()
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
type ForExpressionStatementContext struct {
2018-09-18 16:42:38 -04:00
*antlr.BaseParserRuleContext
parser antlr.Parser
}
2018-10-28 01:45:26 -04:00
func NewEmptyForExpressionStatementContext() *ForExpressionStatementContext {
var p = new(ForExpressionStatementContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_forExpressionStatement
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (*ForExpressionStatementContext) IsForExpressionStatementContext() {}
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func NewForExpressionStatementContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ForExpressionStatementContext {
var p = new(ForExpressionStatementContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_forExpressionStatement
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (s *ForExpressionStatementContext) GetParser() antlr.Parser { return s.parser }
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func (s *ForExpressionStatementContext) VariableDeclaration() IVariableDeclarationContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IVariableDeclarationContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IVariableDeclarationContext)
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
func (s *ForExpressionStatementContext) FunctionCallExpression() IFunctionCallExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFunctionCallExpressionContext)(nil)).Elem(), 0)
2018-09-18 16:42:38 -04:00
if t == nil {
return nil
}
2018-10-28 01:45:26 -04:00
return t.(IFunctionCallExpressionContext)
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
func (s *ForExpressionStatementContext) GetRuleContext() antlr.RuleContext {
2018-09-18 16:42:38 -04:00
return s
}
2018-10-28 01:45:26 -04:00
func (s *ForExpressionStatementContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
2018-09-18 16:42:38 -04:00
return antlr.TreesStringTree(s, ruleNames, recog)
}
2018-10-28 01:45:26 -04:00
func (s *ForExpressionStatementContext) EnterRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.EnterForExpressionStatement(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *ForExpressionStatementContext) ExitRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.ExitForExpressionStatement(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *ForExpressionStatementContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
2018-09-18 16:42:38 -04:00
switch t := visitor.(type) {
case FqlParserVisitor:
2018-10-28 01:45:26 -04:00
return t.VisitForExpressionStatement(s)
2018-09-18 16:42:38 -04:00
default:
return t.VisitChildren(s)
}
}
2018-10-28 01:45:26 -04:00
func (p *FqlParser) ForExpressionStatement() (localctx IForExpressionStatementContext) {
localctx = NewForExpressionStatementContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 26, FqlParserRULE_forExpressionStatement)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(232)
2018-10-28 01:45:26 -04:00
p.GetErrorHandler().Sync(p)
switch p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 14, p.GetParserRuleContext()) {
case 1:
2018-10-28 01:45:26 -04:00
p.EnterOuterAlt(localctx, 1)
{
p.SetState(230)
2018-10-28 01:45:26 -04:00
p.VariableDeclaration()
}
case 2:
2018-10-28 01:45:26 -04:00
p.EnterOuterAlt(localctx, 2)
{
p.SetState(231)
2018-10-28 01:45:26 -04:00
p.FunctionCallExpression()
}
2018-09-18 16:42:38 -04:00
}
return localctx
}
2018-10-28 01:45:26 -04:00
// IForExpressionBodyContext is an interface to support dynamic dispatch.
type IForExpressionBodyContext interface {
2018-09-18 16:42:38 -04:00
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
2018-10-28 01:45:26 -04:00
// IsForExpressionBodyContext differentiates from other interfaces.
IsForExpressionBodyContext()
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
type ForExpressionBodyContext struct {
2018-09-18 16:42:38 -04:00
*antlr.BaseParserRuleContext
parser antlr.Parser
}
2018-10-28 01:45:26 -04:00
func NewEmptyForExpressionBodyContext() *ForExpressionBodyContext {
var p = new(ForExpressionBodyContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_forExpressionBody
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (*ForExpressionBodyContext) IsForExpressionBodyContext() {}
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func NewForExpressionBodyContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ForExpressionBodyContext {
var p = new(ForExpressionBodyContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_forExpressionBody
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (s *ForExpressionBodyContext) GetParser() antlr.Parser { return s.parser }
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func (s *ForExpressionBodyContext) ForExpressionStatement() IForExpressionStatementContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IForExpressionStatementContext)(nil)).Elem(), 0)
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
if t == nil {
return nil
}
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
return t.(IForExpressionStatementContext)
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
func (s *ForExpressionBodyContext) ForExpressionClause() IForExpressionClauseContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IForExpressionClauseContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IForExpressionClauseContext)
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
func (s *ForExpressionBodyContext) GetRuleContext() antlr.RuleContext {
2018-09-18 16:42:38 -04:00
return s
}
2018-10-28 01:45:26 -04:00
func (s *ForExpressionBodyContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
2018-09-18 16:42:38 -04:00
return antlr.TreesStringTree(s, ruleNames, recog)
}
2018-10-28 01:45:26 -04:00
func (s *ForExpressionBodyContext) EnterRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.EnterForExpressionBody(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *ForExpressionBodyContext) ExitRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.ExitForExpressionBody(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *ForExpressionBodyContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
2018-09-18 16:42:38 -04:00
switch t := visitor.(type) {
case FqlParserVisitor:
2018-10-28 01:45:26 -04:00
return t.VisitForExpressionBody(s)
2018-09-18 16:42:38 -04:00
default:
return t.VisitChildren(s)
}
}
2018-10-28 01:45:26 -04:00
func (p *FqlParser) ForExpressionBody() (localctx IForExpressionBodyContext) {
localctx = NewForExpressionBodyContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 28, FqlParserRULE_forExpressionBody)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(236)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
switch p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 15, p.GetParserRuleContext()) {
case 1:
2018-10-28 01:45:26 -04:00
p.EnterOuterAlt(localctx, 1)
2018-09-18 16:42:38 -04:00
{
p.SetState(234)
2018-10-28 01:45:26 -04:00
p.ForExpressionStatement()
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
case 2:
2018-10-28 01:45:26 -04:00
p.EnterOuterAlt(localctx, 2)
2018-09-18 16:42:38 -04:00
{
p.SetState(235)
2018-10-28 01:45:26 -04:00
p.ForExpressionClause()
2018-09-18 16:42:38 -04:00
}
}
return localctx
}
2018-10-28 01:45:26 -04:00
// IForExpressionReturnContext is an interface to support dynamic dispatch.
type IForExpressionReturnContext interface {
2018-09-18 16:42:38 -04:00
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
2018-10-28 01:45:26 -04:00
// IsForExpressionReturnContext differentiates from other interfaces.
IsForExpressionReturnContext()
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
type ForExpressionReturnContext struct {
2018-09-18 16:42:38 -04:00
*antlr.BaseParserRuleContext
parser antlr.Parser
}
2018-10-28 01:45:26 -04:00
func NewEmptyForExpressionReturnContext() *ForExpressionReturnContext {
var p = new(ForExpressionReturnContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_forExpressionReturn
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (*ForExpressionReturnContext) IsForExpressionReturnContext() {}
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func NewForExpressionReturnContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ForExpressionReturnContext {
var p = new(ForExpressionReturnContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_forExpressionReturn
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (s *ForExpressionReturnContext) GetParser() antlr.Parser { return s.parser }
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func (s *ForExpressionReturnContext) ReturnExpression() IReturnExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IReturnExpressionContext)(nil)).Elem(), 0)
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
if t == nil {
return nil
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
return t.(IReturnExpressionContext)
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
func (s *ForExpressionReturnContext) ForExpression() IForExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IForExpressionContext)(nil)).Elem(), 0)
2018-09-18 16:42:38 -04:00
if t == nil {
return nil
}
2018-10-28 01:45:26 -04:00
return t.(IForExpressionContext)
2018-09-22 19:18:10 -04:00
}
2018-10-28 01:45:26 -04:00
func (s *ForExpressionReturnContext) GetRuleContext() antlr.RuleContext {
2018-09-18 16:42:38 -04:00
return s
}
2018-10-28 01:45:26 -04:00
func (s *ForExpressionReturnContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
2018-09-18 16:42:38 -04:00
return antlr.TreesStringTree(s, ruleNames, recog)
}
2018-10-28 01:45:26 -04:00
func (s *ForExpressionReturnContext) EnterRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.EnterForExpressionReturn(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *ForExpressionReturnContext) ExitRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.ExitForExpressionReturn(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *ForExpressionReturnContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
2018-09-18 16:42:38 -04:00
switch t := visitor.(type) {
case FqlParserVisitor:
2018-10-28 01:45:26 -04:00
return t.VisitForExpressionReturn(s)
2018-09-18 16:42:38 -04:00
default:
return t.VisitChildren(s)
}
}
2018-10-28 01:45:26 -04:00
func (p *FqlParser) ForExpressionReturn() (localctx IForExpressionReturnContext) {
localctx = NewForExpressionReturnContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 30, FqlParserRULE_forExpressionReturn)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(240)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
2018-10-28 01:45:26 -04:00
switch p.GetTokenStream().LA(1) {
case FqlParserReturn:
p.EnterOuterAlt(localctx, 1)
2018-09-18 16:42:38 -04:00
{
p.SetState(238)
2018-10-28 01:45:26 -04:00
p.ReturnExpression()
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
case FqlParserFor:
p.EnterOuterAlt(localctx, 2)
2018-09-18 16:42:38 -04:00
{
p.SetState(239)
2018-10-28 01:45:26 -04:00
p.ForExpression()
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
default:
panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil))
2018-09-18 16:42:38 -04:00
}
return localctx
}
2018-10-28 01:45:26 -04:00
// IFilterClauseContext is an interface to support dynamic dispatch.
type IFilterClauseContext interface {
2018-09-18 16:42:38 -04:00
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
2018-10-28 01:45:26 -04:00
// IsFilterClauseContext differentiates from other interfaces.
IsFilterClauseContext()
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
type FilterClauseContext struct {
2018-09-18 16:42:38 -04:00
*antlr.BaseParserRuleContext
parser antlr.Parser
}
2018-10-28 01:45:26 -04:00
func NewEmptyFilterClauseContext() *FilterClauseContext {
var p = new(FilterClauseContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_filterClause
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (*FilterClauseContext) IsFilterClauseContext() {}
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func NewFilterClauseContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FilterClauseContext {
var p = new(FilterClauseContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_filterClause
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (s *FilterClauseContext) GetParser() antlr.Parser { return s.parser }
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func (s *FilterClauseContext) Filter() antlr.TerminalNode {
return s.GetToken(FqlParserFilter, 0)
}
func (s *FilterClauseContext) Expression() IExpressionContext {
2018-09-18 16:42:38 -04:00
var t = s.GetTypedRuleContext(reflect.TypeOf((*IExpressionContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IExpressionContext)
}
2018-10-28 01:45:26 -04:00
func (s *FilterClauseContext) GetRuleContext() antlr.RuleContext {
2018-09-18 16:42:38 -04:00
return s
}
2018-10-28 01:45:26 -04:00
func (s *FilterClauseContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
2018-09-18 16:42:38 -04:00
return antlr.TreesStringTree(s, ruleNames, recog)
}
2018-10-28 01:45:26 -04:00
func (s *FilterClauseContext) EnterRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.EnterFilterClause(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *FilterClauseContext) ExitRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.ExitFilterClause(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *FilterClauseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
2018-09-18 16:42:38 -04:00
switch t := visitor.(type) {
case FqlParserVisitor:
2018-10-28 01:45:26 -04:00
return t.VisitFilterClause(s)
2018-09-18 16:42:38 -04:00
default:
return t.VisitChildren(s)
}
}
2018-10-28 01:45:26 -04:00
func (p *FqlParser) FilterClause() (localctx IFilterClauseContext) {
localctx = NewFilterClauseContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 32, FqlParserRULE_filterClause)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(242)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserFilter)
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
{
p.SetState(243)
2018-10-28 01:45:26 -04:00
p.expression(0)
2018-09-18 16:42:38 -04:00
}
return localctx
}
2018-10-28 01:45:26 -04:00
// ILimitClauseContext is an interface to support dynamic dispatch.
type ILimitClauseContext interface {
2018-09-18 16:42:38 -04:00
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
2018-10-28 01:45:26 -04:00
// IsLimitClauseContext differentiates from other interfaces.
IsLimitClauseContext()
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
type LimitClauseContext struct {
2018-09-18 16:42:38 -04:00
*antlr.BaseParserRuleContext
parser antlr.Parser
}
2018-10-28 01:45:26 -04:00
func NewEmptyLimitClauseContext() *LimitClauseContext {
var p = new(LimitClauseContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_limitClause
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (*LimitClauseContext) IsLimitClauseContext() {}
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func NewLimitClauseContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LimitClauseContext {
var p = new(LimitClauseContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_limitClause
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (s *LimitClauseContext) GetParser() antlr.Parser { return s.parser }
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func (s *LimitClauseContext) Limit() antlr.TerminalNode {
return s.GetToken(FqlParserLimit, 0)
2018-09-18 16:42:38 -04:00
}
func (s *LimitClauseContext) AllLimitClauseValue() []ILimitClauseValueContext {
var ts = s.GetTypedRuleContexts(reflect.TypeOf((*ILimitClauseValueContext)(nil)).Elem())
var tst = make([]ILimitClauseValueContext, len(ts))
for i, t := range ts {
if t != nil {
tst[i] = t.(ILimitClauseValueContext)
}
}
return tst
2018-09-18 16:42:38 -04:00
}
func (s *LimitClauseContext) LimitClauseValue(i int) ILimitClauseValueContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILimitClauseValueContext)(nil)).Elem(), i)
if t == nil {
return nil
}
return t.(ILimitClauseValueContext)
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
func (s *LimitClauseContext) Comma() antlr.TerminalNode {
return s.GetToken(FqlParserComma, 0)
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
func (s *LimitClauseContext) GetRuleContext() antlr.RuleContext {
2018-09-18 16:42:38 -04:00
return s
}
2018-10-28 01:45:26 -04:00
func (s *LimitClauseContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
2018-09-18 16:42:38 -04:00
return antlr.TreesStringTree(s, ruleNames, recog)
}
2018-10-28 01:45:26 -04:00
func (s *LimitClauseContext) EnterRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.EnterLimitClause(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *LimitClauseContext) ExitRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.ExitLimitClause(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *LimitClauseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
2018-09-18 16:42:38 -04:00
switch t := visitor.(type) {
case FqlParserVisitor:
2018-10-28 01:45:26 -04:00
return t.VisitLimitClause(s)
2018-09-18 16:42:38 -04:00
default:
return t.VisitChildren(s)
}
}
2018-10-28 01:45:26 -04:00
func (p *FqlParser) LimitClause() (localctx ILimitClauseContext) {
localctx = NewLimitClauseContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 34, FqlParserRULE_limitClause)
2018-10-28 01:45:26 -04:00
var _la int
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
2018-10-28 01:45:26 -04:00
p.EnterOuterAlt(localctx, 1)
{
p.SetState(245)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserLimit)
}
{
p.SetState(246)
p.LimitClauseValue()
2018-10-28 01:45:26 -04:00
}
p.SetState(249)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
2018-10-28 01:45:26 -04:00
_la = p.GetTokenStream().LA(1)
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
if _la == FqlParserComma {
2018-09-18 16:42:38 -04:00
{
p.SetState(247)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserComma)
2018-09-18 16:42:38 -04:00
}
{
p.SetState(248)
p.LimitClauseValue()
}
}
return localctx
}
// ILimitClauseValueContext is an interface to support dynamic dispatch.
type ILimitClauseValueContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsLimitClauseValueContext differentiates from other interfaces.
IsLimitClauseValueContext()
}
type LimitClauseValueContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyLimitClauseValueContext() *LimitClauseValueContext {
var p = new(LimitClauseValueContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_limitClauseValue
return p
}
func (*LimitClauseValueContext) IsLimitClauseValueContext() {}
func NewLimitClauseValueContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LimitClauseValueContext {
var p = new(LimitClauseValueContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_limitClauseValue
return p
}
func (s *LimitClauseValueContext) GetParser() antlr.Parser { return s.parser }
func (s *LimitClauseValueContext) IntegerLiteral() antlr.TerminalNode {
return s.GetToken(FqlParserIntegerLiteral, 0)
}
func (s *LimitClauseValueContext) Param() IParamContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IParamContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IParamContext)
}
func (s *LimitClauseValueContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *LimitClauseValueContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *LimitClauseValueContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterLimitClauseValue(s)
}
}
func (s *LimitClauseValueContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitLimitClauseValue(s)
}
}
func (s *LimitClauseValueContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitLimitClauseValue(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) LimitClauseValue() (localctx ILimitClauseValueContext) {
localctx = NewLimitClauseValueContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 36, FqlParserRULE_limitClauseValue)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(253)
p.GetErrorHandler().Sync(p)
switch p.GetTokenStream().LA(1) {
case FqlParserIntegerLiteral:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(251)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserIntegerLiteral)
2018-09-18 16:42:38 -04:00
}
case FqlParserParam:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(252)
p.Param()
}
default:
panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil))
2018-10-28 01:45:26 -04:00
}
2018-09-18 16:42:38 -04:00
return localctx
}
2018-10-28 01:45:26 -04:00
// ISortClauseContext is an interface to support dynamic dispatch.
type ISortClauseContext interface {
2018-09-18 16:42:38 -04:00
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
2018-10-28 01:45:26 -04:00
// IsSortClauseContext differentiates from other interfaces.
IsSortClauseContext()
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
type SortClauseContext struct {
2018-09-18 16:42:38 -04:00
*antlr.BaseParserRuleContext
parser antlr.Parser
}
2018-10-28 01:45:26 -04:00
func NewEmptySortClauseContext() *SortClauseContext {
var p = new(SortClauseContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_sortClause
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (*SortClauseContext) IsSortClauseContext() {}
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func NewSortClauseContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SortClauseContext {
var p = new(SortClauseContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_sortClause
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (s *SortClauseContext) GetParser() antlr.Parser { return s.parser }
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func (s *SortClauseContext) Sort() antlr.TerminalNode {
return s.GetToken(FqlParserSort, 0)
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
func (s *SortClauseContext) AllSortClauseExpression() []ISortClauseExpressionContext {
var ts = s.GetTypedRuleContexts(reflect.TypeOf((*ISortClauseExpressionContext)(nil)).Elem())
var tst = make([]ISortClauseExpressionContext, len(ts))
for i, t := range ts {
if t != nil {
tst[i] = t.(ISortClauseExpressionContext)
}
}
return tst
}
2018-10-28 01:45:26 -04:00
func (s *SortClauseContext) SortClauseExpression(i int) ISortClauseExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ISortClauseExpressionContext)(nil)).Elem(), i)
if t == nil {
return nil
}
2018-10-28 01:45:26 -04:00
return t.(ISortClauseExpressionContext)
}
2018-10-28 01:45:26 -04:00
func (s *SortClauseContext) AllComma() []antlr.TerminalNode {
return s.GetTokens(FqlParserComma)
}
func (s *SortClauseContext) Comma(i int) antlr.TerminalNode {
return s.GetToken(FqlParserComma, i)
}
func (s *SortClauseContext) GetRuleContext() antlr.RuleContext {
2018-09-18 16:42:38 -04:00
return s
}
2018-10-28 01:45:26 -04:00
func (s *SortClauseContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
2018-09-18 16:42:38 -04:00
return antlr.TreesStringTree(s, ruleNames, recog)
}
2018-10-28 01:45:26 -04:00
func (s *SortClauseContext) EnterRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.EnterSortClause(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *SortClauseContext) ExitRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.ExitSortClause(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *SortClauseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
2018-09-18 16:42:38 -04:00
switch t := visitor.(type) {
case FqlParserVisitor:
2018-10-28 01:45:26 -04:00
return t.VisitSortClause(s)
2018-09-18 16:42:38 -04:00
default:
return t.VisitChildren(s)
}
}
2018-10-28 01:45:26 -04:00
func (p *FqlParser) SortClause() (localctx ISortClauseContext) {
localctx = NewSortClauseContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 38, FqlParserRULE_sortClause)
2018-10-28 01:45:26 -04:00
var _la int
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(255)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserSort)
2018-09-18 16:42:38 -04:00
}
{
p.SetState(256)
2018-10-28 01:45:26 -04:00
p.SortClauseExpression()
}
p.SetState(261)
2018-10-28 01:45:26 -04:00
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
for _la == FqlParserComma {
{
p.SetState(257)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserComma)
}
{
p.SetState(258)
2018-10-28 01:45:26 -04:00
p.SortClauseExpression()
}
p.SetState(263)
2018-10-28 01:45:26 -04:00
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
}
2018-09-18 16:42:38 -04:00
return localctx
}
2018-10-28 01:45:26 -04:00
// ISortClauseExpressionContext is an interface to support dynamic dispatch.
type ISortClauseExpressionContext interface {
2018-09-18 16:42:38 -04:00
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
2018-10-28 01:45:26 -04:00
// IsSortClauseExpressionContext differentiates from other interfaces.
IsSortClauseExpressionContext()
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
type SortClauseExpressionContext struct {
2018-09-18 16:42:38 -04:00
*antlr.BaseParserRuleContext
parser antlr.Parser
}
2018-10-28 01:45:26 -04:00
func NewEmptySortClauseExpressionContext() *SortClauseExpressionContext {
var p = new(SortClauseExpressionContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_sortClauseExpression
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (*SortClauseExpressionContext) IsSortClauseExpressionContext() {}
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func NewSortClauseExpressionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SortClauseExpressionContext {
var p = new(SortClauseExpressionContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_sortClauseExpression
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (s *SortClauseExpressionContext) GetParser() antlr.Parser { return s.parser }
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func (s *SortClauseExpressionContext) Expression() IExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IExpressionContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
2018-10-28 01:45:26 -04:00
return t.(IExpressionContext)
}
2018-10-28 01:45:26 -04:00
func (s *SortClauseExpressionContext) SortDirection() antlr.TerminalNode {
return s.GetToken(FqlParserSortDirection, 0)
}
2018-10-28 01:45:26 -04:00
func (s *SortClauseExpressionContext) GetRuleContext() antlr.RuleContext {
2018-09-18 16:42:38 -04:00
return s
}
2018-10-28 01:45:26 -04:00
func (s *SortClauseExpressionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
2018-09-18 16:42:38 -04:00
return antlr.TreesStringTree(s, ruleNames, recog)
}
2018-10-28 01:45:26 -04:00
func (s *SortClauseExpressionContext) EnterRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.EnterSortClauseExpression(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *SortClauseExpressionContext) ExitRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.ExitSortClauseExpression(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *SortClauseExpressionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
2018-09-18 16:42:38 -04:00
switch t := visitor.(type) {
case FqlParserVisitor:
2018-10-28 01:45:26 -04:00
return t.VisitSortClauseExpression(s)
2018-09-18 16:42:38 -04:00
default:
return t.VisitChildren(s)
}
}
2018-10-28 01:45:26 -04:00
func (p *FqlParser) SortClauseExpression() (localctx ISortClauseExpressionContext) {
localctx = NewSortClauseExpressionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 40, FqlParserRULE_sortClauseExpression)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(264)
2018-10-28 01:45:26 -04:00
p.expression(0)
}
p.SetState(266)
p.GetErrorHandler().Sync(p)
if p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 20, p.GetParserRuleContext()) == 1 {
{
p.SetState(265)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserSortDirection)
}
2018-09-18 16:42:38 -04:00
}
return localctx
}
2018-10-28 01:45:26 -04:00
// ICollectClauseContext is an interface to support dynamic dispatch.
type ICollectClauseContext interface {
2018-09-18 16:42:38 -04:00
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
2018-10-28 01:45:26 -04:00
// IsCollectClauseContext differentiates from other interfaces.
IsCollectClauseContext()
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
type CollectClauseContext struct {
2018-09-18 16:42:38 -04:00
*antlr.BaseParserRuleContext
parser antlr.Parser
}
2018-10-28 01:45:26 -04:00
func NewEmptyCollectClauseContext() *CollectClauseContext {
var p = new(CollectClauseContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_collectClause
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (*CollectClauseContext) IsCollectClauseContext() {}
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func NewCollectClauseContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CollectClauseContext {
var p = new(CollectClauseContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_collectClause
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (s *CollectClauseContext) GetParser() antlr.Parser { return s.parser }
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func (s *CollectClauseContext) Collect() antlr.TerminalNode {
return s.GetToken(FqlParserCollect, 0)
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
func (s *CollectClauseContext) CollectCounter() ICollectCounterContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ICollectCounterContext)(nil)).Elem(), 0)
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
if t == nil {
return nil
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
return t.(ICollectCounterContext)
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
func (s *CollectClauseContext) CollectAggregator() ICollectAggregatorContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ICollectAggregatorContext)(nil)).Elem(), 0)
2018-09-18 16:42:38 -04:00
if t == nil {
return nil
}
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
return t.(ICollectAggregatorContext)
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
func (s *CollectClauseContext) CollectGrouping() ICollectGroupingContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ICollectGroupingContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ICollectGroupingContext)
}
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func (s *CollectClauseContext) CollectGroupVariable() ICollectGroupVariableContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ICollectGroupVariableContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ICollectGroupVariableContext)
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
func (s *CollectClauseContext) GetRuleContext() antlr.RuleContext {
2018-09-18 16:42:38 -04:00
return s
}
2018-10-28 01:45:26 -04:00
func (s *CollectClauseContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
2018-09-18 16:42:38 -04:00
return antlr.TreesStringTree(s, ruleNames, recog)
}
2018-10-28 01:45:26 -04:00
func (s *CollectClauseContext) EnterRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.EnterCollectClause(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *CollectClauseContext) ExitRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.ExitCollectClause(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *CollectClauseContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
2018-09-18 16:42:38 -04:00
switch t := visitor.(type) {
case FqlParserVisitor:
2018-10-28 01:45:26 -04:00
return t.VisitCollectClause(s)
2018-09-18 16:42:38 -04:00
default:
return t.VisitChildren(s)
}
}
2018-10-28 01:45:26 -04:00
func (p *FqlParser) CollectClause() (localctx ICollectClauseContext) {
localctx = NewCollectClauseContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 42, FqlParserRULE_collectClause)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(286)
p.GetErrorHandler().Sync(p)
switch p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 21, p.GetParserRuleContext()) {
2018-10-28 01:45:26 -04:00
case 1:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(268)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserCollect)
}
{
p.SetState(269)
2018-10-28 01:45:26 -04:00
p.CollectCounter()
}
2018-10-28 01:45:26 -04:00
case 2:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(270)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserCollect)
}
{
p.SetState(271)
2018-10-28 01:45:26 -04:00
p.CollectAggregator()
}
case 3:
p.EnterOuterAlt(localctx, 3)
{
p.SetState(272)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserCollect)
}
{
p.SetState(273)
2018-10-28 01:45:26 -04:00
p.CollectGrouping()
}
{
p.SetState(274)
2018-10-28 01:45:26 -04:00
p.CollectAggregator()
}
case 4:
p.EnterOuterAlt(localctx, 4)
{
p.SetState(276)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserCollect)
}
{
p.SetState(277)
2018-10-28 01:45:26 -04:00
p.CollectGrouping()
}
{
p.SetState(278)
2018-10-28 01:45:26 -04:00
p.CollectGroupVariable()
}
case 5:
p.EnterOuterAlt(localctx, 5)
{
p.SetState(280)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserCollect)
}
{
p.SetState(281)
2018-10-28 01:45:26 -04:00
p.CollectGrouping()
}
{
p.SetState(282)
2018-10-28 01:45:26 -04:00
p.CollectCounter()
}
case 6:
p.EnterOuterAlt(localctx, 6)
{
p.SetState(284)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserCollect)
}
{
p.SetState(285)
2018-10-28 01:45:26 -04:00
p.CollectGrouping()
}
2018-09-18 16:42:38 -04:00
}
return localctx
}
2018-10-28 01:45:26 -04:00
// ICollectSelectorContext is an interface to support dynamic dispatch.
type ICollectSelectorContext interface {
2018-09-18 16:42:38 -04:00
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
2018-10-28 01:45:26 -04:00
// IsCollectSelectorContext differentiates from other interfaces.
IsCollectSelectorContext()
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
type CollectSelectorContext struct {
2018-09-18 16:42:38 -04:00
*antlr.BaseParserRuleContext
parser antlr.Parser
}
2018-10-28 01:45:26 -04:00
func NewEmptyCollectSelectorContext() *CollectSelectorContext {
var p = new(CollectSelectorContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_collectSelector
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (*CollectSelectorContext) IsCollectSelectorContext() {}
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func NewCollectSelectorContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CollectSelectorContext {
var p = new(CollectSelectorContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_collectSelector
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (s *CollectSelectorContext) GetParser() antlr.Parser { return s.parser }
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func (s *CollectSelectorContext) Identifier() antlr.TerminalNode {
2018-09-18 16:42:38 -04:00
return s.GetToken(FqlParserIdentifier, 0)
}
2018-10-28 01:45:26 -04:00
func (s *CollectSelectorContext) Assign() antlr.TerminalNode {
return s.GetToken(FqlParserAssign, 0)
}
2018-10-28 01:45:26 -04:00
func (s *CollectSelectorContext) Expression() IExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IExpressionContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
2018-10-28 01:45:26 -04:00
return t.(IExpressionContext)
}
2018-10-28 01:45:26 -04:00
func (s *CollectSelectorContext) GetRuleContext() antlr.RuleContext {
2018-09-18 16:42:38 -04:00
return s
}
2018-10-28 01:45:26 -04:00
func (s *CollectSelectorContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
2018-09-18 16:42:38 -04:00
return antlr.TreesStringTree(s, ruleNames, recog)
}
2018-10-28 01:45:26 -04:00
func (s *CollectSelectorContext) EnterRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.EnterCollectSelector(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *CollectSelectorContext) ExitRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.ExitCollectSelector(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *CollectSelectorContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
2018-09-18 16:42:38 -04:00
switch t := visitor.(type) {
case FqlParserVisitor:
2018-10-28 01:45:26 -04:00
return t.VisitCollectSelector(s)
2018-09-18 16:42:38 -04:00
default:
return t.VisitChildren(s)
}
}
2018-10-28 01:45:26 -04:00
func (p *FqlParser) CollectSelector() (localctx ICollectSelectorContext) {
localctx = NewCollectSelectorContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 44, FqlParserRULE_collectSelector)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(288)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserIdentifier)
}
{
p.SetState(289)
p.Match(FqlParserAssign)
}
{
p.SetState(290)
2018-10-28 01:45:26 -04:00
p.expression(0)
}
2018-09-18 16:42:38 -04:00
return localctx
}
2018-10-28 01:45:26 -04:00
// ICollectGroupingContext is an interface to support dynamic dispatch.
type ICollectGroupingContext interface {
2018-09-18 16:42:38 -04:00
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
2018-10-28 01:45:26 -04:00
// IsCollectGroupingContext differentiates from other interfaces.
IsCollectGroupingContext()
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
type CollectGroupingContext struct {
2018-09-18 16:42:38 -04:00
*antlr.BaseParserRuleContext
parser antlr.Parser
}
2018-10-28 01:45:26 -04:00
func NewEmptyCollectGroupingContext() *CollectGroupingContext {
var p = new(CollectGroupingContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_collectGrouping
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (*CollectGroupingContext) IsCollectGroupingContext() {}
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func NewCollectGroupingContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CollectGroupingContext {
var p = new(CollectGroupingContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_collectGrouping
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (s *CollectGroupingContext) GetParser() antlr.Parser { return s.parser }
2018-10-28 01:45:26 -04:00
func (s *CollectGroupingContext) AllCollectSelector() []ICollectSelectorContext {
var ts = s.GetTypedRuleContexts(reflect.TypeOf((*ICollectSelectorContext)(nil)).Elem())
var tst = make([]ICollectSelectorContext, len(ts))
for i, t := range ts {
if t != nil {
tst[i] = t.(ICollectSelectorContext)
}
}
return tst
}
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func (s *CollectGroupingContext) CollectSelector(i int) ICollectSelectorContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ICollectSelectorContext)(nil)).Elem(), i)
2018-09-18 16:42:38 -04:00
if t == nil {
return nil
}
return t.(ICollectSelectorContext)
}
2018-10-28 01:45:26 -04:00
func (s *CollectGroupingContext) AllComma() []antlr.TerminalNode {
return s.GetTokens(FqlParserComma)
}
2018-10-28 01:45:26 -04:00
func (s *CollectGroupingContext) Comma(i int) antlr.TerminalNode {
return s.GetToken(FqlParserComma, i)
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
func (s *CollectGroupingContext) GetRuleContext() antlr.RuleContext {
2018-09-18 16:42:38 -04:00
return s
}
2018-10-28 01:45:26 -04:00
func (s *CollectGroupingContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
2018-09-18 16:42:38 -04:00
return antlr.TreesStringTree(s, ruleNames, recog)
}
2018-10-28 01:45:26 -04:00
func (s *CollectGroupingContext) EnterRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.EnterCollectGrouping(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *CollectGroupingContext) ExitRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.ExitCollectGrouping(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *CollectGroupingContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
2018-09-18 16:42:38 -04:00
switch t := visitor.(type) {
case FqlParserVisitor:
2018-10-28 01:45:26 -04:00
return t.VisitCollectGrouping(s)
2018-09-18 16:42:38 -04:00
default:
return t.VisitChildren(s)
}
}
2018-10-28 01:45:26 -04:00
func (p *FqlParser) CollectGrouping() (localctx ICollectGroupingContext) {
localctx = NewCollectGroupingContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 46, FqlParserRULE_collectGrouping)
var _la int
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
2018-10-28 01:45:26 -04:00
p.EnterOuterAlt(localctx, 1)
{
p.SetState(292)
2018-10-28 01:45:26 -04:00
p.CollectSelector()
}
p.SetState(297)
p.GetErrorHandler().Sync(p)
2018-10-28 01:45:26 -04:00
_la = p.GetTokenStream().LA(1)
for _la == FqlParserComma {
{
p.SetState(293)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserComma)
}
{
p.SetState(294)
p.CollectSelector()
}
p.SetState(299)
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
2018-10-28 01:45:26 -04:00
}
2018-10-28 01:45:26 -04:00
return localctx
}
// ICollectAggregatorContext is an interface to support dynamic dispatch.
type ICollectAggregatorContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsCollectAggregatorContext differentiates from other interfaces.
IsCollectAggregatorContext()
}
type CollectAggregatorContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyCollectAggregatorContext() *CollectAggregatorContext {
var p = new(CollectAggregatorContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_collectAggregator
return p
}
func (*CollectAggregatorContext) IsCollectAggregatorContext() {}
func NewCollectAggregatorContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CollectAggregatorContext {
var p = new(CollectAggregatorContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_collectAggregator
return p
}
func (s *CollectAggregatorContext) GetParser() antlr.Parser { return s.parser }
func (s *CollectAggregatorContext) Aggregate() antlr.TerminalNode {
return s.GetToken(FqlParserAggregate, 0)
}
func (s *CollectAggregatorContext) AllCollectAggregateSelector() []ICollectAggregateSelectorContext {
var ts = s.GetTypedRuleContexts(reflect.TypeOf((*ICollectAggregateSelectorContext)(nil)).Elem())
var tst = make([]ICollectAggregateSelectorContext, len(ts))
for i, t := range ts {
if t != nil {
tst[i] = t.(ICollectAggregateSelectorContext)
}
}
return tst
}
func (s *CollectAggregatorContext) CollectAggregateSelector(i int) ICollectAggregateSelectorContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ICollectAggregateSelectorContext)(nil)).Elem(), i)
if t == nil {
return nil
}
return t.(ICollectAggregateSelectorContext)
}
func (s *CollectAggregatorContext) AllComma() []antlr.TerminalNode {
return s.GetTokens(FqlParserComma)
}
func (s *CollectAggregatorContext) Comma(i int) antlr.TerminalNode {
return s.GetToken(FqlParserComma, i)
}
func (s *CollectAggregatorContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *CollectAggregatorContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *CollectAggregatorContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterCollectAggregator(s)
}
}
func (s *CollectAggregatorContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitCollectAggregator(s)
}
}
func (s *CollectAggregatorContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitCollectAggregator(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) CollectAggregator() (localctx ICollectAggregatorContext) {
localctx = NewCollectAggregatorContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 48, FqlParserRULE_collectAggregator)
2018-10-28 01:45:26 -04:00
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
2018-10-28 01:45:26 -04:00
}
}()
2018-10-28 01:45:26 -04:00
p.EnterOuterAlt(localctx, 1)
{
p.SetState(300)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserAggregate)
}
{
p.SetState(301)
2018-10-28 01:45:26 -04:00
p.CollectAggregateSelector()
}
p.SetState(306)
2018-10-28 01:45:26 -04:00
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
for _la == FqlParserComma {
{
p.SetState(302)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserComma)
}
{
p.SetState(303)
2018-10-28 01:45:26 -04:00
p.CollectAggregateSelector()
}
p.SetState(308)
2018-10-28 01:45:26 -04:00
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
2018-09-18 16:42:38 -04:00
}
return localctx
}
2018-10-28 01:45:26 -04:00
// ICollectAggregateSelectorContext is an interface to support dynamic dispatch.
type ICollectAggregateSelectorContext interface {
2018-09-18 16:42:38 -04:00
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
2018-10-28 01:45:26 -04:00
// IsCollectAggregateSelectorContext differentiates from other interfaces.
IsCollectAggregateSelectorContext()
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
type CollectAggregateSelectorContext struct {
2018-09-18 16:42:38 -04:00
*antlr.BaseParserRuleContext
parser antlr.Parser
}
2018-10-28 01:45:26 -04:00
func NewEmptyCollectAggregateSelectorContext() *CollectAggregateSelectorContext {
var p = new(CollectAggregateSelectorContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_collectAggregateSelector
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (*CollectAggregateSelectorContext) IsCollectAggregateSelectorContext() {}
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func NewCollectAggregateSelectorContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CollectAggregateSelectorContext {
var p = new(CollectAggregateSelectorContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_collectAggregateSelector
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (s *CollectAggregateSelectorContext) GetParser() antlr.Parser { return s.parser }
2018-10-28 01:45:26 -04:00
func (s *CollectAggregateSelectorContext) Identifier() antlr.TerminalNode {
return s.GetToken(FqlParserIdentifier, 0)
}
2018-10-28 01:45:26 -04:00
func (s *CollectAggregateSelectorContext) Assign() antlr.TerminalNode {
return s.GetToken(FqlParserAssign, 0)
}
2018-10-28 01:45:26 -04:00
func (s *CollectAggregateSelectorContext) FunctionCallExpression() IFunctionCallExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFunctionCallExpressionContext)(nil)).Elem(), 0)
2018-10-28 01:45:26 -04:00
if t == nil {
return nil
}
return t.(IFunctionCallExpressionContext)
}
2018-10-28 01:45:26 -04:00
func (s *CollectAggregateSelectorContext) GetRuleContext() antlr.RuleContext {
2018-09-18 16:42:38 -04:00
return s
}
2018-10-28 01:45:26 -04:00
func (s *CollectAggregateSelectorContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
2018-09-18 16:42:38 -04:00
return antlr.TreesStringTree(s, ruleNames, recog)
}
2018-10-28 01:45:26 -04:00
func (s *CollectAggregateSelectorContext) EnterRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.EnterCollectAggregateSelector(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *CollectAggregateSelectorContext) ExitRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.ExitCollectAggregateSelector(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *CollectAggregateSelectorContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
2018-09-18 16:42:38 -04:00
switch t := visitor.(type) {
case FqlParserVisitor:
2018-10-28 01:45:26 -04:00
return t.VisitCollectAggregateSelector(s)
2018-09-18 16:42:38 -04:00
default:
return t.VisitChildren(s)
}
}
2018-10-28 01:45:26 -04:00
func (p *FqlParser) CollectAggregateSelector() (localctx ICollectAggregateSelectorContext) {
localctx = NewCollectAggregateSelectorContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 50, FqlParserRULE_collectAggregateSelector)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(309)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserIdentifier)
}
{
p.SetState(310)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserAssign)
}
{
p.SetState(311)
2018-10-28 01:45:26 -04:00
p.FunctionCallExpression()
}
2018-09-18 16:42:38 -04:00
return localctx
}
2018-10-28 01:45:26 -04:00
// ICollectGroupVariableContext is an interface to support dynamic dispatch.
type ICollectGroupVariableContext interface {
2018-09-18 16:42:38 -04:00
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
2018-10-28 01:45:26 -04:00
// IsCollectGroupVariableContext differentiates from other interfaces.
IsCollectGroupVariableContext()
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
type CollectGroupVariableContext struct {
2018-09-18 16:42:38 -04:00
*antlr.BaseParserRuleContext
parser antlr.Parser
}
2018-10-28 01:45:26 -04:00
func NewEmptyCollectGroupVariableContext() *CollectGroupVariableContext {
var p = new(CollectGroupVariableContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_collectGroupVariable
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (*CollectGroupVariableContext) IsCollectGroupVariableContext() {}
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func NewCollectGroupVariableContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CollectGroupVariableContext {
var p = new(CollectGroupVariableContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_collectGroupVariable
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (s *CollectGroupVariableContext) GetParser() antlr.Parser { return s.parser }
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func (s *CollectGroupVariableContext) Into() antlr.TerminalNode {
return s.GetToken(FqlParserInto, 0)
}
func (s *CollectGroupVariableContext) CollectSelector() ICollectSelectorContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ICollectSelectorContext)(nil)).Elem(), 0)
2018-09-18 16:42:38 -04:00
if t == nil {
return nil
}
2018-10-28 01:45:26 -04:00
return t.(ICollectSelectorContext)
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
func (s *CollectGroupVariableContext) AllIdentifier() []antlr.TerminalNode {
return s.GetTokens(FqlParserIdentifier)
}
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func (s *CollectGroupVariableContext) Identifier(i int) antlr.TerminalNode {
return s.GetToken(FqlParserIdentifier, i)
}
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func (s *CollectGroupVariableContext) Keep() antlr.TerminalNode {
return s.GetToken(FqlParserKeep, 0)
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
func (s *CollectGroupVariableContext) GetRuleContext() antlr.RuleContext {
2018-09-18 16:42:38 -04:00
return s
}
2018-10-28 01:45:26 -04:00
func (s *CollectGroupVariableContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
2018-09-18 16:42:38 -04:00
return antlr.TreesStringTree(s, ruleNames, recog)
}
2018-10-28 01:45:26 -04:00
func (s *CollectGroupVariableContext) EnterRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.EnterCollectGroupVariable(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *CollectGroupVariableContext) ExitRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.ExitCollectGroupVariable(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *CollectGroupVariableContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
2018-09-18 16:42:38 -04:00
switch t := visitor.(type) {
case FqlParserVisitor:
2018-10-28 01:45:26 -04:00
return t.VisitCollectGroupVariable(s)
2018-09-18 16:42:38 -04:00
default:
return t.VisitChildren(s)
}
}
2018-10-28 01:45:26 -04:00
func (p *FqlParser) CollectGroupVariable() (localctx ICollectGroupVariableContext) {
localctx = NewCollectGroupVariableContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 52, FqlParserRULE_collectGroupVariable)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(321)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
switch p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 25, p.GetParserRuleContext()) {
2018-10-28 01:45:26 -04:00
case 1:
2018-09-18 16:42:38 -04:00
p.EnterOuterAlt(localctx, 1)
{
p.SetState(313)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserInto)
}
{
p.SetState(314)
2018-10-28 01:45:26 -04:00
p.CollectSelector()
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
case 2:
2018-09-18 16:42:38 -04:00
p.EnterOuterAlt(localctx, 2)
{
p.SetState(315)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserInto)
}
{
p.SetState(316)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserIdentifier)
}
p.SetState(319)
2018-10-28 01:45:26 -04:00
p.GetErrorHandler().Sync(p)
if p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 24, p.GetParserRuleContext()) == 1 {
2018-10-28 01:45:26 -04:00
{
p.SetState(317)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserKeep)
}
{
p.SetState(318)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserIdentifier)
}
2018-09-18 16:42:38 -04:00
}
}
return localctx
}
2018-10-28 01:45:26 -04:00
// ICollectCounterContext is an interface to support dynamic dispatch.
type ICollectCounterContext interface {
2018-09-18 16:42:38 -04:00
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
2018-10-28 01:45:26 -04:00
// IsCollectCounterContext differentiates from other interfaces.
IsCollectCounterContext()
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
type CollectCounterContext struct {
2018-09-18 16:42:38 -04:00
*antlr.BaseParserRuleContext
parser antlr.Parser
}
2018-10-28 01:45:26 -04:00
func NewEmptyCollectCounterContext() *CollectCounterContext {
var p = new(CollectCounterContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_collectCounter
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (*CollectCounterContext) IsCollectCounterContext() {}
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func NewCollectCounterContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CollectCounterContext {
var p = new(CollectCounterContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
2018-10-28 01:45:26 -04:00
p.RuleIndex = FqlParserRULE_collectCounter
2018-09-18 16:42:38 -04:00
return p
}
2018-10-28 01:45:26 -04:00
func (s *CollectCounterContext) GetParser() antlr.Parser { return s.parser }
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func (s *CollectCounterContext) With() antlr.TerminalNode {
return s.GetToken(FqlParserWith, 0)
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
func (s *CollectCounterContext) Count() antlr.TerminalNode {
return s.GetToken(FqlParserCount, 0)
}
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func (s *CollectCounterContext) Into() antlr.TerminalNode {
return s.GetToken(FqlParserInto, 0)
}
2018-09-18 16:42:38 -04:00
2018-10-28 01:45:26 -04:00
func (s *CollectCounterContext) Identifier() antlr.TerminalNode {
return s.GetToken(FqlParserIdentifier, 0)
2018-09-18 16:42:38 -04:00
}
2018-10-28 01:45:26 -04:00
func (s *CollectCounterContext) GetRuleContext() antlr.RuleContext {
2018-09-18 16:42:38 -04:00
return s
}
2018-10-28 01:45:26 -04:00
func (s *CollectCounterContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
2018-09-18 16:42:38 -04:00
return antlr.TreesStringTree(s, ruleNames, recog)
}
2018-10-28 01:45:26 -04:00
func (s *CollectCounterContext) EnterRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.EnterCollectCounter(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *CollectCounterContext) ExitRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
2018-10-28 01:45:26 -04:00
listenerT.ExitCollectCounter(s)
2018-09-18 16:42:38 -04:00
}
}
2018-10-28 01:45:26 -04:00
func (s *CollectCounterContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
2018-09-18 16:42:38 -04:00
switch t := visitor.(type) {
case FqlParserVisitor:
2018-10-28 01:45:26 -04:00
return t.VisitCollectCounter(s)
2018-09-18 16:42:38 -04:00
default:
return t.VisitChildren(s)
}
}
2018-10-28 01:45:26 -04:00
func (p *FqlParser) CollectCounter() (localctx ICollectCounterContext) {
localctx = NewCollectCounterContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 54, FqlParserRULE_collectCounter)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
2018-10-28 01:45:26 -04:00
p.EnterOuterAlt(localctx, 1)
{
p.SetState(323)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserWith)
}
{
p.SetState(324)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserCount)
}
{
p.SetState(325)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserInto)
}
{
p.SetState(326)
2018-10-28 01:45:26 -04:00
p.Match(FqlParserIdentifier)
2018-09-18 16:42:38 -04:00
}
return localctx
}
// IVariableDeclarationContext is an interface to support dynamic dispatch.
type IVariableDeclarationContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsVariableDeclarationContext differentiates from other interfaces.
IsVariableDeclarationContext()
}
type VariableDeclarationContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyVariableDeclarationContext() *VariableDeclarationContext {
var p = new(VariableDeclarationContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_variableDeclaration
return p
}
func (*VariableDeclarationContext) IsVariableDeclarationContext() {}
func NewVariableDeclarationContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *VariableDeclarationContext {
var p = new(VariableDeclarationContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_variableDeclaration
return p
}
func (s *VariableDeclarationContext) GetParser() antlr.Parser { return s.parser }
func (s *VariableDeclarationContext) Let() antlr.TerminalNode {
return s.GetToken(FqlParserLet, 0)
}
func (s *VariableDeclarationContext) Identifier() antlr.TerminalNode {
return s.GetToken(FqlParserIdentifier, 0)
}
func (s *VariableDeclarationContext) Assign() antlr.TerminalNode {
return s.GetToken(FqlParserAssign, 0)
}
func (s *VariableDeclarationContext) Expression() IExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IExpressionContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IExpressionContext)
}
func (s *VariableDeclarationContext) OpenParen() antlr.TerminalNode {
return s.GetToken(FqlParserOpenParen, 0)
}
func (s *VariableDeclarationContext) ForExpression() IForExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IForExpressionContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IForExpressionContext)
}
func (s *VariableDeclarationContext) CloseParen() antlr.TerminalNode {
return s.GetToken(FqlParserCloseParen, 0)
}
func (s *VariableDeclarationContext) ForTernaryExpression() IForTernaryExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IForTernaryExpressionContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IForTernaryExpressionContext)
}
2018-09-18 16:42:38 -04:00
func (s *VariableDeclarationContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *VariableDeclarationContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *VariableDeclarationContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterVariableDeclaration(s)
}
}
func (s *VariableDeclarationContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitVariableDeclaration(s)
}
}
func (s *VariableDeclarationContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitVariableDeclaration(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) VariableDeclaration() (localctx IVariableDeclarationContext) {
localctx = NewVariableDeclarationContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 56, FqlParserRULE_variableDeclaration)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(343)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
switch p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 26, p.GetParserRuleContext()) {
2018-09-18 16:42:38 -04:00
case 1:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(328)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserLet)
}
{
p.SetState(329)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserIdentifier)
}
{
p.SetState(330)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserAssign)
}
{
p.SetState(331)
2018-09-18 16:42:38 -04:00
p.expression(0)
}
case 2:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(332)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserLet)
}
{
p.SetState(333)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserIdentifier)
}
{
p.SetState(334)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserAssign)
}
{
p.SetState(335)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserOpenParen)
}
{
p.SetState(336)
2018-09-18 16:42:38 -04:00
p.ForExpression()
}
{
p.SetState(337)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserCloseParen)
}
case 3:
p.EnterOuterAlt(localctx, 3)
{
p.SetState(339)
p.Match(FqlParserLet)
}
{
p.SetState(340)
p.Match(FqlParserIdentifier)
}
{
p.SetState(341)
p.Match(FqlParserAssign)
}
{
p.SetState(342)
p.ForTernaryExpression()
}
2018-09-18 16:42:38 -04:00
}
return localctx
}
2018-09-28 21:04:16 -04:00
// IParamContext is an interface to support dynamic dispatch.
type IParamContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsParamContext differentiates from other interfaces.
IsParamContext()
}
type ParamContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyParamContext() *ParamContext {
var p = new(ParamContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_param
return p
}
func (*ParamContext) IsParamContext() {}
func NewParamContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ParamContext {
var p = new(ParamContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_param
return p
}
func (s *ParamContext) GetParser() antlr.Parser { return s.parser }
func (s *ParamContext) Param() antlr.TerminalNode {
return s.GetToken(FqlParserParam, 0)
}
func (s *ParamContext) Identifier() antlr.TerminalNode {
return s.GetToken(FqlParserIdentifier, 0)
}
func (s *ParamContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ParamContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ParamContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterParam(s)
}
}
func (s *ParamContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitParam(s)
}
}
func (s *ParamContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitParam(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) Param() (localctx IParamContext) {
localctx = NewParamContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 58, FqlParserRULE_param)
2018-09-28 21:04:16 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(345)
2018-09-28 21:04:16 -04:00
p.Match(FqlParserParam)
}
{
p.SetState(346)
2018-09-28 21:04:16 -04:00
p.Match(FqlParserIdentifier)
}
return localctx
}
2018-09-18 16:42:38 -04:00
// IVariableContext is an interface to support dynamic dispatch.
type IVariableContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsVariableContext differentiates from other interfaces.
IsVariableContext()
}
type VariableContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyVariableContext() *VariableContext {
var p = new(VariableContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_variable
return p
}
func (*VariableContext) IsVariableContext() {}
func NewVariableContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *VariableContext {
var p = new(VariableContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_variable
return p
}
func (s *VariableContext) GetParser() antlr.Parser { return s.parser }
func (s *VariableContext) Identifier() antlr.TerminalNode {
return s.GetToken(FqlParserIdentifier, 0)
}
func (s *VariableContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *VariableContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *VariableContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterVariable(s)
}
}
func (s *VariableContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitVariable(s)
}
}
func (s *VariableContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitVariable(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) Variable() (localctx IVariableContext) {
localctx = NewVariableContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 60, FqlParserRULE_variable)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(348)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserIdentifier)
}
return localctx
}
2018-09-22 19:18:10 -04:00
// IRangeOperatorContext is an interface to support dynamic dispatch.
type IRangeOperatorContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsRangeOperatorContext differentiates from other interfaces.
IsRangeOperatorContext()
}
type RangeOperatorContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyRangeOperatorContext() *RangeOperatorContext {
var p = new(RangeOperatorContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_rangeOperator
return p
}
func (*RangeOperatorContext) IsRangeOperatorContext() {}
func NewRangeOperatorContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *RangeOperatorContext {
var p = new(RangeOperatorContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_rangeOperator
return p
}
func (s *RangeOperatorContext) GetParser() antlr.Parser { return s.parser }
2018-09-28 13:56:25 -04:00
func (s *RangeOperatorContext) Range() antlr.TerminalNode {
return s.GetToken(FqlParserRange, 0)
}
2018-09-22 19:18:10 -04:00
func (s *RangeOperatorContext) AllIntegerLiteral() []IIntegerLiteralContext {
var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IIntegerLiteralContext)(nil)).Elem())
var tst = make([]IIntegerLiteralContext, len(ts))
for i, t := range ts {
if t != nil {
tst[i] = t.(IIntegerLiteralContext)
}
}
return tst
}
func (s *RangeOperatorContext) IntegerLiteral(i int) IIntegerLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IIntegerLiteralContext)(nil)).Elem(), i)
if t == nil {
return nil
}
return t.(IIntegerLiteralContext)
}
2018-09-28 13:56:25 -04:00
func (s *RangeOperatorContext) AllVariable() []IVariableContext {
var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IVariableContext)(nil)).Elem())
var tst = make([]IVariableContext, len(ts))
for i, t := range ts {
if t != nil {
tst[i] = t.(IVariableContext)
}
}
return tst
}
func (s *RangeOperatorContext) Variable(i int) IVariableContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IVariableContext)(nil)).Elem(), i)
if t == nil {
return nil
}
return t.(IVariableContext)
2018-09-22 19:18:10 -04:00
}
2018-09-28 21:04:16 -04:00
func (s *RangeOperatorContext) AllParam() []IParamContext {
var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IParamContext)(nil)).Elem())
var tst = make([]IParamContext, len(ts))
for i, t := range ts {
if t != nil {
tst[i] = t.(IParamContext)
}
}
return tst
}
func (s *RangeOperatorContext) Param(i int) IParamContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IParamContext)(nil)).Elem(), i)
if t == nil {
return nil
}
return t.(IParamContext)
}
2018-09-22 19:18:10 -04:00
func (s *RangeOperatorContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *RangeOperatorContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *RangeOperatorContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterRangeOperator(s)
}
}
func (s *RangeOperatorContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitRangeOperator(s)
}
}
func (s *RangeOperatorContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitRangeOperator(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) RangeOperator() (localctx IRangeOperatorContext) {
localctx = NewRangeOperatorContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 62, FqlParserRULE_rangeOperator)
2018-09-22 19:18:10 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
p.SetState(353)
2018-09-28 13:56:25 -04:00
p.GetErrorHandler().Sync(p)
switch p.GetTokenStream().LA(1) {
case FqlParserIntegerLiteral:
{
p.SetState(350)
2018-09-28 13:56:25 -04:00
p.IntegerLiteral()
}
case FqlParserIdentifier:
{
p.SetState(351)
2018-09-28 13:56:25 -04:00
p.Variable()
}
2018-09-28 21:04:16 -04:00
case FqlParserParam:
{
p.SetState(352)
2018-09-28 21:04:16 -04:00
p.Param()
}
2018-09-28 13:56:25 -04:00
default:
panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil))
2018-09-22 19:18:10 -04:00
}
{
p.SetState(355)
2018-09-22 19:18:10 -04:00
p.Match(FqlParserRange)
}
p.SetState(359)
2018-09-28 13:56:25 -04:00
p.GetErrorHandler().Sync(p)
switch p.GetTokenStream().LA(1) {
case FqlParserIntegerLiteral:
{
p.SetState(356)
2018-09-28 13:56:25 -04:00
p.IntegerLiteral()
}
case FqlParserIdentifier:
{
p.SetState(357)
2018-09-28 13:56:25 -04:00
p.Variable()
}
2018-09-28 21:04:16 -04:00
case FqlParserParam:
{
p.SetState(358)
2018-09-28 21:04:16 -04:00
p.Param()
}
2018-09-28 13:56:25 -04:00
default:
panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil))
2018-09-22 19:18:10 -04:00
}
return localctx
}
2018-09-18 16:42:38 -04:00
// IArrayLiteralContext is an interface to support dynamic dispatch.
type IArrayLiteralContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsArrayLiteralContext differentiates from other interfaces.
IsArrayLiteralContext()
}
type ArrayLiteralContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyArrayLiteralContext() *ArrayLiteralContext {
var p = new(ArrayLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_arrayLiteral
return p
}
func (*ArrayLiteralContext) IsArrayLiteralContext() {}
func NewArrayLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ArrayLiteralContext {
var p = new(ArrayLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_arrayLiteral
return p
}
func (s *ArrayLiteralContext) GetParser() antlr.Parser { return s.parser }
func (s *ArrayLiteralContext) OpenBracket() antlr.TerminalNode {
return s.GetToken(FqlParserOpenBracket, 0)
}
func (s *ArrayLiteralContext) CloseBracket() antlr.TerminalNode {
return s.GetToken(FqlParserCloseBracket, 0)
}
func (s *ArrayLiteralContext) ArrayElementList() IArrayElementListContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IArrayElementListContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IArrayElementListContext)
}
func (s *ArrayLiteralContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ArrayLiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ArrayLiteralContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterArrayLiteral(s)
}
}
func (s *ArrayLiteralContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitArrayLiteral(s)
}
}
func (s *ArrayLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitArrayLiteral(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) ArrayLiteral() (localctx IArrayLiteralContext) {
localctx = NewArrayLiteralContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 64, FqlParserRULE_arrayLiteral)
2018-09-18 16:42:38 -04:00
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(361)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserOpenBracket)
}
p.SetState(363)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
if (((_la)&-(0x1f+1)) == 0 && ((1<<uint(_la))&((1<<FqlParserOpenBracket)|(1<<FqlParserOpenParen)|(1<<FqlParserOpenBrace)|(1<<FqlParserPlus)|(1<<FqlParserMinus)|(1<<FqlParserAnd)|(1<<FqlParserOr))) != 0) || (((_la-35)&-(0x1f+1)) == 0 && ((1<<uint((_la-35)))&((1<<(FqlParserFor-35))|(1<<(FqlParserReturn-35))|(1<<(FqlParserDistinct-35))|(1<<(FqlParserFilter-35))|(1<<(FqlParserSort-35))|(1<<(FqlParserLimit-35))|(1<<(FqlParserLet-35))|(1<<(FqlParserCollect-35))|(1<<(FqlParserSortDirection-35))|(1<<(FqlParserNone-35))|(1<<(FqlParserNull-35))|(1<<(FqlParserBooleanLiteral-35))|(1<<(FqlParserUse-35))|(1<<(FqlParserInto-35))|(1<<(FqlParserKeep-35))|(1<<(FqlParserWith-35))|(1<<(FqlParserCount-35))|(1<<(FqlParserAll-35))|(1<<(FqlParserAny-35))|(1<<(FqlParserAggregate-35))|(1<<(FqlParserLike-35))|(1<<(FqlParserNot-35))|(1<<(FqlParserIn-35))|(1<<(FqlParserParam-35))|(1<<(FqlParserIdentifier-35))|(1<<(FqlParserStringLiteral-35))|(1<<(FqlParserIntegerLiteral-35))|(1<<(FqlParserFloatLiteral-35))|(1<<(FqlParserNamespaceSegment-35)))) != 0) {
2018-09-18 16:42:38 -04:00
{
p.SetState(362)
2018-09-18 16:42:38 -04:00
p.ArrayElementList()
}
}
{
p.SetState(365)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserCloseBracket)
}
return localctx
}
// IObjectLiteralContext is an interface to support dynamic dispatch.
type IObjectLiteralContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsObjectLiteralContext differentiates from other interfaces.
IsObjectLiteralContext()
}
type ObjectLiteralContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyObjectLiteralContext() *ObjectLiteralContext {
var p = new(ObjectLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_objectLiteral
return p
}
func (*ObjectLiteralContext) IsObjectLiteralContext() {}
func NewObjectLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ObjectLiteralContext {
var p = new(ObjectLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_objectLiteral
return p
}
func (s *ObjectLiteralContext) GetParser() antlr.Parser { return s.parser }
func (s *ObjectLiteralContext) OpenBrace() antlr.TerminalNode {
return s.GetToken(FqlParserOpenBrace, 0)
}
func (s *ObjectLiteralContext) CloseBrace() antlr.TerminalNode {
return s.GetToken(FqlParserCloseBrace, 0)
}
func (s *ObjectLiteralContext) AllPropertyAssignment() []IPropertyAssignmentContext {
var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IPropertyAssignmentContext)(nil)).Elem())
var tst = make([]IPropertyAssignmentContext, len(ts))
for i, t := range ts {
if t != nil {
tst[i] = t.(IPropertyAssignmentContext)
}
}
return tst
}
func (s *ObjectLiteralContext) PropertyAssignment(i int) IPropertyAssignmentContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IPropertyAssignmentContext)(nil)).Elem(), i)
if t == nil {
return nil
}
return t.(IPropertyAssignmentContext)
}
func (s *ObjectLiteralContext) AllComma() []antlr.TerminalNode {
return s.GetTokens(FqlParserComma)
}
func (s *ObjectLiteralContext) Comma(i int) antlr.TerminalNode {
return s.GetToken(FqlParserComma, i)
}
func (s *ObjectLiteralContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ObjectLiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ObjectLiteralContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterObjectLiteral(s)
}
}
func (s *ObjectLiteralContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitObjectLiteral(s)
}
}
func (s *ObjectLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitObjectLiteral(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) ObjectLiteral() (localctx IObjectLiteralContext) {
localctx = NewObjectLiteralContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 66, FqlParserRULE_objectLiteral)
2018-09-18 16:42:38 -04:00
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
var _alt int
p.EnterOuterAlt(localctx, 1)
{
p.SetState(367)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserOpenBrace)
}
p.SetState(376)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
if _la == FqlParserOpenBracket || (((_la-60)&-(0x1f+1)) == 0 && ((1<<uint((_la-60)))&((1<<(FqlParserParam-60))|(1<<(FqlParserIdentifier-60))|(1<<(FqlParserStringLiteral-60)))) != 0) {
2018-09-18 16:42:38 -04:00
{
p.SetState(368)
2018-09-18 16:42:38 -04:00
p.PropertyAssignment()
}
p.SetState(373)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 30, p.GetParserRuleContext())
2018-09-18 16:42:38 -04:00
for _alt != 2 && _alt != antlr.ATNInvalidAltNumber {
if _alt == 1 {
{
p.SetState(369)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserComma)
}
{
p.SetState(370)
2018-09-18 16:42:38 -04:00
p.PropertyAssignment()
}
}
p.SetState(375)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 30, p.GetParserRuleContext())
2018-09-18 16:42:38 -04:00
}
}
p.SetState(379)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
if _la == FqlParserComma {
{
p.SetState(378)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserComma)
}
}
{
p.SetState(381)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserCloseBrace)
}
return localctx
}
// IBooleanLiteralContext is an interface to support dynamic dispatch.
type IBooleanLiteralContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsBooleanLiteralContext differentiates from other interfaces.
IsBooleanLiteralContext()
}
type BooleanLiteralContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyBooleanLiteralContext() *BooleanLiteralContext {
var p = new(BooleanLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_booleanLiteral
return p
}
func (*BooleanLiteralContext) IsBooleanLiteralContext() {}
func NewBooleanLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *BooleanLiteralContext {
var p = new(BooleanLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_booleanLiteral
return p
}
func (s *BooleanLiteralContext) GetParser() antlr.Parser { return s.parser }
func (s *BooleanLiteralContext) BooleanLiteral() antlr.TerminalNode {
return s.GetToken(FqlParserBooleanLiteral, 0)
}
func (s *BooleanLiteralContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *BooleanLiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *BooleanLiteralContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterBooleanLiteral(s)
}
}
func (s *BooleanLiteralContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitBooleanLiteral(s)
}
}
func (s *BooleanLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitBooleanLiteral(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) BooleanLiteral() (localctx IBooleanLiteralContext) {
localctx = NewBooleanLiteralContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 68, FqlParserRULE_booleanLiteral)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(383)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserBooleanLiteral)
}
return localctx
}
// IStringLiteralContext is an interface to support dynamic dispatch.
type IStringLiteralContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsStringLiteralContext differentiates from other interfaces.
IsStringLiteralContext()
}
type StringLiteralContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyStringLiteralContext() *StringLiteralContext {
var p = new(StringLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_stringLiteral
return p
}
func (*StringLiteralContext) IsStringLiteralContext() {}
func NewStringLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *StringLiteralContext {
var p = new(StringLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_stringLiteral
return p
}
func (s *StringLiteralContext) GetParser() antlr.Parser { return s.parser }
func (s *StringLiteralContext) StringLiteral() antlr.TerminalNode {
return s.GetToken(FqlParserStringLiteral, 0)
}
func (s *StringLiteralContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *StringLiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *StringLiteralContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterStringLiteral(s)
}
}
func (s *StringLiteralContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitStringLiteral(s)
}
}
func (s *StringLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitStringLiteral(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) StringLiteral() (localctx IStringLiteralContext) {
localctx = NewStringLiteralContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 70, FqlParserRULE_stringLiteral)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(385)
2019-09-01 21:41:16 -04:00
p.Match(FqlParserStringLiteral)
2018-09-18 16:42:38 -04:00
}
return localctx
}
// IIntegerLiteralContext is an interface to support dynamic dispatch.
type IIntegerLiteralContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsIntegerLiteralContext differentiates from other interfaces.
IsIntegerLiteralContext()
}
type IntegerLiteralContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyIntegerLiteralContext() *IntegerLiteralContext {
var p = new(IntegerLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_integerLiteral
return p
}
func (*IntegerLiteralContext) IsIntegerLiteralContext() {}
func NewIntegerLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *IntegerLiteralContext {
var p = new(IntegerLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_integerLiteral
return p
}
func (s *IntegerLiteralContext) GetParser() antlr.Parser { return s.parser }
func (s *IntegerLiteralContext) IntegerLiteral() antlr.TerminalNode {
return s.GetToken(FqlParserIntegerLiteral, 0)
}
func (s *IntegerLiteralContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *IntegerLiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *IntegerLiteralContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterIntegerLiteral(s)
}
}
func (s *IntegerLiteralContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitIntegerLiteral(s)
}
}
func (s *IntegerLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitIntegerLiteral(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) IntegerLiteral() (localctx IIntegerLiteralContext) {
localctx = NewIntegerLiteralContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 72, FqlParserRULE_integerLiteral)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(387)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserIntegerLiteral)
}
return localctx
}
// IFloatLiteralContext is an interface to support dynamic dispatch.
type IFloatLiteralContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsFloatLiteralContext differentiates from other interfaces.
IsFloatLiteralContext()
}
type FloatLiteralContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyFloatLiteralContext() *FloatLiteralContext {
var p = new(FloatLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_floatLiteral
return p
}
func (*FloatLiteralContext) IsFloatLiteralContext() {}
func NewFloatLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FloatLiteralContext {
var p = new(FloatLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_floatLiteral
return p
}
func (s *FloatLiteralContext) GetParser() antlr.Parser { return s.parser }
func (s *FloatLiteralContext) FloatLiteral() antlr.TerminalNode {
return s.GetToken(FqlParserFloatLiteral, 0)
}
func (s *FloatLiteralContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *FloatLiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *FloatLiteralContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterFloatLiteral(s)
}
}
func (s *FloatLiteralContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitFloatLiteral(s)
}
}
func (s *FloatLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitFloatLiteral(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) FloatLiteral() (localctx IFloatLiteralContext) {
localctx = NewFloatLiteralContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 74, FqlParserRULE_floatLiteral)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(389)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserFloatLiteral)
}
return localctx
}
// INoneLiteralContext is an interface to support dynamic dispatch.
type INoneLiteralContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsNoneLiteralContext differentiates from other interfaces.
IsNoneLiteralContext()
}
type NoneLiteralContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyNoneLiteralContext() *NoneLiteralContext {
var p = new(NoneLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_noneLiteral
return p
}
func (*NoneLiteralContext) IsNoneLiteralContext() {}
func NewNoneLiteralContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *NoneLiteralContext {
var p = new(NoneLiteralContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_noneLiteral
return p
}
func (s *NoneLiteralContext) GetParser() antlr.Parser { return s.parser }
func (s *NoneLiteralContext) Null() antlr.TerminalNode {
return s.GetToken(FqlParserNull, 0)
}
func (s *NoneLiteralContext) None() antlr.TerminalNode {
return s.GetToken(FqlParserNone, 0)
}
func (s *NoneLiteralContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *NoneLiteralContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *NoneLiteralContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterNoneLiteral(s)
}
}
func (s *NoneLiteralContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitNoneLiteral(s)
}
}
func (s *NoneLiteralContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitNoneLiteral(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) NoneLiteral() (localctx INoneLiteralContext) {
localctx = NewNoneLiteralContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 76, FqlParserRULE_noneLiteral)
2018-09-18 16:42:38 -04:00
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(391)
2018-09-18 16:42:38 -04:00
_la = p.GetTokenStream().LA(1)
if !(_la == FqlParserNone || _la == FqlParserNull) {
p.GetErrorHandler().RecoverInline(p)
} else {
p.GetErrorHandler().ReportMatch(p)
p.Consume()
}
}
return localctx
}
// IArrayElementListContext is an interface to support dynamic dispatch.
type IArrayElementListContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsArrayElementListContext differentiates from other interfaces.
IsArrayElementListContext()
}
type ArrayElementListContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyArrayElementListContext() *ArrayElementListContext {
var p = new(ArrayElementListContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_arrayElementList
return p
}
func (*ArrayElementListContext) IsArrayElementListContext() {}
func NewArrayElementListContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ArrayElementListContext {
var p = new(ArrayElementListContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_arrayElementList
return p
}
func (s *ArrayElementListContext) GetParser() antlr.Parser { return s.parser }
func (s *ArrayElementListContext) AllExpression() []IExpressionContext {
var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IExpressionContext)(nil)).Elem())
var tst = make([]IExpressionContext, len(ts))
for i, t := range ts {
if t != nil {
tst[i] = t.(IExpressionContext)
}
}
return tst
}
func (s *ArrayElementListContext) Expression(i int) IExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IExpressionContext)(nil)).Elem(), i)
if t == nil {
return nil
}
return t.(IExpressionContext)
}
func (s *ArrayElementListContext) AllComma() []antlr.TerminalNode {
return s.GetTokens(FqlParserComma)
}
func (s *ArrayElementListContext) Comma(i int) antlr.TerminalNode {
return s.GetToken(FqlParserComma, i)
}
func (s *ArrayElementListContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ArrayElementListContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ArrayElementListContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterArrayElementList(s)
}
}
func (s *ArrayElementListContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitArrayElementList(s)
}
}
func (s *ArrayElementListContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitArrayElementList(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) ArrayElementList() (localctx IArrayElementListContext) {
localctx = NewArrayElementListContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 78, FqlParserRULE_arrayElementList)
2018-09-18 16:42:38 -04:00
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(393)
2018-09-18 16:42:38 -04:00
p.expression(0)
}
p.SetState(402)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
for _la == FqlParserComma {
p.SetState(395)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
for ok := true; ok; ok = _la == FqlParserComma {
{
p.SetState(394)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserComma)
}
p.SetState(397)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
}
{
p.SetState(399)
2018-09-18 16:42:38 -04:00
p.expression(0)
}
p.SetState(404)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
}
return localctx
}
// IPropertyAssignmentContext is an interface to support dynamic dispatch.
type IPropertyAssignmentContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsPropertyAssignmentContext differentiates from other interfaces.
IsPropertyAssignmentContext()
}
type PropertyAssignmentContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyPropertyAssignmentContext() *PropertyAssignmentContext {
var p = new(PropertyAssignmentContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_propertyAssignment
return p
}
func (*PropertyAssignmentContext) IsPropertyAssignmentContext() {}
func NewPropertyAssignmentContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *PropertyAssignmentContext {
var p = new(PropertyAssignmentContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_propertyAssignment
return p
}
func (s *PropertyAssignmentContext) GetParser() antlr.Parser { return s.parser }
func (s *PropertyAssignmentContext) PropertyName() IPropertyNameContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IPropertyNameContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IPropertyNameContext)
}
func (s *PropertyAssignmentContext) Colon() antlr.TerminalNode {
return s.GetToken(FqlParserColon, 0)
}
func (s *PropertyAssignmentContext) Expression() IExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IExpressionContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IExpressionContext)
}
func (s *PropertyAssignmentContext) ComputedPropertyName() IComputedPropertyNameContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IComputedPropertyNameContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IComputedPropertyNameContext)
}
func (s *PropertyAssignmentContext) ShorthandPropertyName() IShorthandPropertyNameContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IShorthandPropertyNameContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IShorthandPropertyNameContext)
}
func (s *PropertyAssignmentContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *PropertyAssignmentContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *PropertyAssignmentContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterPropertyAssignment(s)
}
}
func (s *PropertyAssignmentContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitPropertyAssignment(s)
}
}
func (s *PropertyAssignmentContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitPropertyAssignment(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) PropertyAssignment() (localctx IPropertyAssignmentContext) {
localctx = NewPropertyAssignmentContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 80, FqlParserRULE_propertyAssignment)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(414)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
switch p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 35, p.GetParserRuleContext()) {
2018-09-18 16:42:38 -04:00
case 1:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(405)
2018-09-18 16:42:38 -04:00
p.PropertyName()
}
{
p.SetState(406)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserColon)
}
{
p.SetState(407)
2018-09-18 16:42:38 -04:00
p.expression(0)
}
case 2:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(409)
2018-09-18 16:42:38 -04:00
p.ComputedPropertyName()
}
{
p.SetState(410)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserColon)
}
{
p.SetState(411)
2018-09-18 16:42:38 -04:00
p.expression(0)
}
case 3:
p.EnterOuterAlt(localctx, 3)
{
p.SetState(413)
2018-09-18 16:42:38 -04:00
p.ShorthandPropertyName()
}
}
return localctx
}
// IShorthandPropertyNameContext is an interface to support dynamic dispatch.
type IShorthandPropertyNameContext interface {
2018-09-18 16:42:38 -04:00
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsShorthandPropertyNameContext differentiates from other interfaces.
IsShorthandPropertyNameContext()
2018-09-18 16:42:38 -04:00
}
type ShorthandPropertyNameContext struct {
2018-09-18 16:42:38 -04:00
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyShorthandPropertyNameContext() *ShorthandPropertyNameContext {
var p = new(ShorthandPropertyNameContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_shorthandPropertyName
2018-09-18 16:42:38 -04:00
return p
}
func (*ShorthandPropertyNameContext) IsShorthandPropertyNameContext() {}
2018-09-18 16:42:38 -04:00
func NewShorthandPropertyNameContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ShorthandPropertyNameContext {
var p = new(ShorthandPropertyNameContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_shorthandPropertyName
2018-09-18 16:42:38 -04:00
return p
}
func (s *ShorthandPropertyNameContext) GetParser() antlr.Parser { return s.parser }
2018-09-18 16:42:38 -04:00
func (s *ShorthandPropertyNameContext) Variable() IVariableContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IVariableContext)(nil)).Elem(), 0)
2018-09-18 16:42:38 -04:00
if t == nil {
return nil
}
return t.(IVariableContext)
2018-09-18 16:42:38 -04:00
}
func (s *ShorthandPropertyNameContext) GetRuleContext() antlr.RuleContext {
2018-09-18 16:42:38 -04:00
return s
}
func (s *ShorthandPropertyNameContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
2018-09-18 16:42:38 -04:00
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ShorthandPropertyNameContext) EnterRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterShorthandPropertyName(s)
2018-09-18 16:42:38 -04:00
}
}
func (s *ShorthandPropertyNameContext) ExitRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitShorthandPropertyName(s)
2018-09-18 16:42:38 -04:00
}
}
func (s *ShorthandPropertyNameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
2018-09-18 16:42:38 -04:00
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitShorthandPropertyName(s)
2018-09-18 16:42:38 -04:00
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) ShorthandPropertyName() (localctx IShorthandPropertyNameContext) {
localctx = NewShorthandPropertyNameContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 82, FqlParserRULE_shorthandPropertyName)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(416)
p.Variable()
2018-09-18 16:42:38 -04:00
}
return localctx
}
// IComputedPropertyNameContext is an interface to support dynamic dispatch.
type IComputedPropertyNameContext interface {
2018-09-18 16:42:38 -04:00
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsComputedPropertyNameContext differentiates from other interfaces.
IsComputedPropertyNameContext()
2018-09-18 16:42:38 -04:00
}
type ComputedPropertyNameContext struct {
2018-09-18 16:42:38 -04:00
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyComputedPropertyNameContext() *ComputedPropertyNameContext {
var p = new(ComputedPropertyNameContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_computedPropertyName
2018-09-18 16:42:38 -04:00
return p
}
func (*ComputedPropertyNameContext) IsComputedPropertyNameContext() {}
2018-09-18 16:42:38 -04:00
func NewComputedPropertyNameContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ComputedPropertyNameContext {
var p = new(ComputedPropertyNameContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_computedPropertyName
2018-09-18 16:42:38 -04:00
return p
}
func (s *ComputedPropertyNameContext) GetParser() antlr.Parser { return s.parser }
2018-09-18 16:42:38 -04:00
func (s *ComputedPropertyNameContext) OpenBracket() antlr.TerminalNode {
return s.GetToken(FqlParserOpenBracket, 0)
}
func (s *ComputedPropertyNameContext) Expression() IExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IExpressionContext)(nil)).Elem(), 0)
2018-09-18 16:42:38 -04:00
if t == nil {
return nil
}
return t.(IExpressionContext)
2018-09-18 16:42:38 -04:00
}
func (s *ComputedPropertyNameContext) CloseBracket() antlr.TerminalNode {
return s.GetToken(FqlParserCloseBracket, 0)
}
func (s *ComputedPropertyNameContext) GetRuleContext() antlr.RuleContext {
2018-09-18 16:42:38 -04:00
return s
}
func (s *ComputedPropertyNameContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
2018-09-18 16:42:38 -04:00
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ComputedPropertyNameContext) EnterRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterComputedPropertyName(s)
}
}
func (s *ComputedPropertyNameContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitComputedPropertyName(s)
}
}
func (s *ComputedPropertyNameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitComputedPropertyName(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) ComputedPropertyName() (localctx IComputedPropertyNameContext) {
localctx = NewComputedPropertyNameContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 84, FqlParserRULE_computedPropertyName)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(418)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserOpenBracket)
}
{
p.SetState(419)
2018-09-18 16:42:38 -04:00
p.expression(0)
}
{
p.SetState(420)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserCloseBracket)
}
return localctx
}
// IPropertyNameContext is an interface to support dynamic dispatch.
type IPropertyNameContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsPropertyNameContext differentiates from other interfaces.
IsPropertyNameContext()
}
type PropertyNameContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyPropertyNameContext() *PropertyNameContext {
var p = new(PropertyNameContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_propertyName
return p
}
func (*PropertyNameContext) IsPropertyNameContext() {}
func NewPropertyNameContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *PropertyNameContext {
var p = new(PropertyNameContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_propertyName
return p
}
func (s *PropertyNameContext) GetParser() antlr.Parser { return s.parser }
func (s *PropertyNameContext) Identifier() antlr.TerminalNode {
return s.GetToken(FqlParserIdentifier, 0)
}
func (s *PropertyNameContext) StringLiteral() IStringLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IStringLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IStringLiteralContext)
}
func (s *PropertyNameContext) Param() IParamContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IParamContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IParamContext)
}
2018-09-18 16:42:38 -04:00
func (s *PropertyNameContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *PropertyNameContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *PropertyNameContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterPropertyName(s)
}
}
func (s *PropertyNameContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitPropertyName(s)
}
}
func (s *PropertyNameContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitPropertyName(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) PropertyName() (localctx IPropertyNameContext) {
localctx = NewPropertyNameContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 86, FqlParserRULE_propertyName)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(425)
p.GetErrorHandler().Sync(p)
switch p.GetTokenStream().LA(1) {
case FqlParserIdentifier:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(422)
p.Match(FqlParserIdentifier)
}
2019-09-01 21:41:16 -04:00
case FqlParserStringLiteral:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(423)
p.StringLiteral()
}
case FqlParserParam:
p.EnterOuterAlt(localctx, 3)
{
p.SetState(424)
p.Param()
}
default:
panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil))
2018-09-18 16:42:38 -04:00
}
return localctx
}
// IExpressionGroupContext is an interface to support dynamic dispatch.
type IExpressionGroupContext interface {
2018-09-18 16:42:38 -04:00
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsExpressionGroupContext differentiates from other interfaces.
IsExpressionGroupContext()
2018-09-18 16:42:38 -04:00
}
type ExpressionGroupContext struct {
2018-09-18 16:42:38 -04:00
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyExpressionGroupContext() *ExpressionGroupContext {
var p = new(ExpressionGroupContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_expressionGroup
2018-09-18 16:42:38 -04:00
return p
}
func (*ExpressionGroupContext) IsExpressionGroupContext() {}
2018-09-18 16:42:38 -04:00
func NewExpressionGroupContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ExpressionGroupContext {
var p = new(ExpressionGroupContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_expressionGroup
2018-09-18 16:42:38 -04:00
return p
}
func (s *ExpressionGroupContext) GetParser() antlr.Parser { return s.parser }
2018-09-18 16:42:38 -04:00
func (s *ExpressionGroupContext) OpenParen() antlr.TerminalNode {
return s.GetToken(FqlParserOpenParen, 0)
2018-09-18 16:42:38 -04:00
}
func (s *ExpressionGroupContext) Expression() IExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IExpressionContext)(nil)).Elem(), 0)
2018-09-18 16:42:38 -04:00
if t == nil {
return nil
}
return t.(IExpressionContext)
}
func (s *ExpressionGroupContext) CloseParen() antlr.TerminalNode {
return s.GetToken(FqlParserCloseParen, 0)
2018-09-18 16:42:38 -04:00
}
func (s *ExpressionGroupContext) GetRuleContext() antlr.RuleContext {
2018-09-18 16:42:38 -04:00
return s
}
func (s *ExpressionGroupContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
2018-09-18 16:42:38 -04:00
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ExpressionGroupContext) EnterRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterExpressionGroup(s)
2018-09-18 16:42:38 -04:00
}
}
func (s *ExpressionGroupContext) ExitRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitExpressionGroup(s)
2018-09-18 16:42:38 -04:00
}
}
func (s *ExpressionGroupContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
2018-09-18 16:42:38 -04:00
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitExpressionGroup(s)
2018-09-18 16:42:38 -04:00
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) ExpressionGroup() (localctx IExpressionGroupContext) {
localctx = NewExpressionGroupContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 88, FqlParserRULE_expressionGroup)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(427)
p.Match(FqlParserOpenParen)
}
{
p.SetState(428)
2018-09-18 16:42:38 -04:00
p.expression(0)
}
{
p.SetState(429)
p.Match(FqlParserCloseParen)
2018-09-18 16:42:38 -04:00
}
return localctx
}
// INamespaceIdentifierContext is an interface to support dynamic dispatch.
type INamespaceIdentifierContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsNamespaceIdentifierContext differentiates from other interfaces.
IsNamespaceIdentifierContext()
}
type NamespaceIdentifierContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyNamespaceIdentifierContext() *NamespaceIdentifierContext {
var p = new(NamespaceIdentifierContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_namespaceIdentifier
return p
}
func (*NamespaceIdentifierContext) IsNamespaceIdentifierContext() {}
func NewNamespaceIdentifierContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *NamespaceIdentifierContext {
var p = new(NamespaceIdentifierContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_namespaceIdentifier
return p
}
func (s *NamespaceIdentifierContext) GetParser() antlr.Parser { return s.parser }
func (s *NamespaceIdentifierContext) Namespace() INamespaceContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*INamespaceContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(INamespaceContext)
}
func (s *NamespaceIdentifierContext) Identifier() antlr.TerminalNode {
return s.GetToken(FqlParserIdentifier, 0)
}
func (s *NamespaceIdentifierContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *NamespaceIdentifierContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *NamespaceIdentifierContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterNamespaceIdentifier(s)
}
}
func (s *NamespaceIdentifierContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitNamespaceIdentifier(s)
}
}
func (s *NamespaceIdentifierContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitNamespaceIdentifier(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) NamespaceIdentifier() (localctx INamespaceIdentifierContext) {
localctx = NewNamespaceIdentifierContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 90, FqlParserRULE_namespaceIdentifier)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(431)
p.Namespace()
}
{
p.SetState(432)
p.Match(FqlParserIdentifier)
}
return localctx
}
// INamespaceContext is an interface to support dynamic dispatch.
type INamespaceContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsNamespaceContext differentiates from other interfaces.
IsNamespaceContext()
}
type NamespaceContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyNamespaceContext() *NamespaceContext {
var p = new(NamespaceContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_namespace
return p
}
func (*NamespaceContext) IsNamespaceContext() {}
func NewNamespaceContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *NamespaceContext {
var p = new(NamespaceContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_namespace
return p
}
func (s *NamespaceContext) GetParser() antlr.Parser { return s.parser }
func (s *NamespaceContext) AllNamespaceSegment() []antlr.TerminalNode {
return s.GetTokens(FqlParserNamespaceSegment)
}
func (s *NamespaceContext) NamespaceSegment(i int) antlr.TerminalNode {
return s.GetToken(FqlParserNamespaceSegment, i)
}
func (s *NamespaceContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *NamespaceContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *NamespaceContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterNamespace(s)
}
}
func (s *NamespaceContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitNamespace(s)
}
}
func (s *NamespaceContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitNamespace(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) Namespace() (localctx INamespaceContext) {
localctx = NewNamespaceContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 92, FqlParserRULE_namespace)
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
p.SetState(437)
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
for _la == FqlParserNamespaceSegment {
{
p.SetState(434)
p.Match(FqlParserNamespaceSegment)
}
p.SetState(439)
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
}
return localctx
}
// IFunctionIdentifierContext is an interface to support dynamic dispatch.
type IFunctionIdentifierContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsFunctionIdentifierContext differentiates from other interfaces.
IsFunctionIdentifierContext()
}
type FunctionIdentifierContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyFunctionIdentifierContext() *FunctionIdentifierContext {
var p = new(FunctionIdentifierContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_functionIdentifier
return p
}
func (*FunctionIdentifierContext) IsFunctionIdentifierContext() {}
func NewFunctionIdentifierContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FunctionIdentifierContext {
var p = new(FunctionIdentifierContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_functionIdentifier
return p
}
func (s *FunctionIdentifierContext) GetParser() antlr.Parser { return s.parser }
func (s *FunctionIdentifierContext) Identifier() antlr.TerminalNode {
return s.GetToken(FqlParserIdentifier, 0)
}
func (s *FunctionIdentifierContext) And() antlr.TerminalNode {
return s.GetToken(FqlParserAnd, 0)
}
func (s *FunctionIdentifierContext) Or() antlr.TerminalNode {
return s.GetToken(FqlParserOr, 0)
}
func (s *FunctionIdentifierContext) For() antlr.TerminalNode {
return s.GetToken(FqlParserFor, 0)
}
func (s *FunctionIdentifierContext) Return() antlr.TerminalNode {
return s.GetToken(FqlParserReturn, 0)
}
func (s *FunctionIdentifierContext) Distinct() antlr.TerminalNode {
return s.GetToken(FqlParserDistinct, 0)
}
func (s *FunctionIdentifierContext) Filter() antlr.TerminalNode {
return s.GetToken(FqlParserFilter, 0)
}
func (s *FunctionIdentifierContext) Sort() antlr.TerminalNode {
return s.GetToken(FqlParserSort, 0)
}
func (s *FunctionIdentifierContext) Limit() antlr.TerminalNode {
return s.GetToken(FqlParserLimit, 0)
}
func (s *FunctionIdentifierContext) Let() antlr.TerminalNode {
return s.GetToken(FqlParserLet, 0)
}
func (s *FunctionIdentifierContext) Collect() antlr.TerminalNode {
return s.GetToken(FqlParserCollect, 0)
}
func (s *FunctionIdentifierContext) SortDirection() antlr.TerminalNode {
return s.GetToken(FqlParserSortDirection, 0)
}
func (s *FunctionIdentifierContext) None() antlr.TerminalNode {
return s.GetToken(FqlParserNone, 0)
}
func (s *FunctionIdentifierContext) Null() antlr.TerminalNode {
return s.GetToken(FqlParserNull, 0)
}
func (s *FunctionIdentifierContext) BooleanLiteral() antlr.TerminalNode {
return s.GetToken(FqlParserBooleanLiteral, 0)
}
func (s *FunctionIdentifierContext) Use() antlr.TerminalNode {
return s.GetToken(FqlParserUse, 0)
}
func (s *FunctionIdentifierContext) Into() antlr.TerminalNode {
return s.GetToken(FqlParserInto, 0)
}
func (s *FunctionIdentifierContext) Keep() antlr.TerminalNode {
return s.GetToken(FqlParserKeep, 0)
}
func (s *FunctionIdentifierContext) With() antlr.TerminalNode {
return s.GetToken(FqlParserWith, 0)
}
func (s *FunctionIdentifierContext) Count() antlr.TerminalNode {
return s.GetToken(FqlParserCount, 0)
}
func (s *FunctionIdentifierContext) All() antlr.TerminalNode {
return s.GetToken(FqlParserAll, 0)
}
func (s *FunctionIdentifierContext) Any() antlr.TerminalNode {
return s.GetToken(FqlParserAny, 0)
}
func (s *FunctionIdentifierContext) Aggregate() antlr.TerminalNode {
return s.GetToken(FqlParserAggregate, 0)
}
func (s *FunctionIdentifierContext) Like() antlr.TerminalNode {
return s.GetToken(FqlParserLike, 0)
}
func (s *FunctionIdentifierContext) Not() antlr.TerminalNode {
return s.GetToken(FqlParserNot, 0)
}
func (s *FunctionIdentifierContext) In() antlr.TerminalNode {
return s.GetToken(FqlParserIn, 0)
}
func (s *FunctionIdentifierContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *FunctionIdentifierContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *FunctionIdentifierContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterFunctionIdentifier(s)
}
}
func (s *FunctionIdentifierContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitFunctionIdentifier(s)
}
}
func (s *FunctionIdentifierContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitFunctionIdentifier(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) FunctionIdentifier() (localctx IFunctionIdentifierContext) {
localctx = NewFunctionIdentifierContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 94, FqlParserRULE_functionIdentifier)
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(440)
_la = p.GetTokenStream().LA(1)
if !(_la == FqlParserAnd || _la == FqlParserOr || (((_la-35)&-(0x1f+1)) == 0 && ((1<<uint((_la-35)))&((1<<(FqlParserFor-35))|(1<<(FqlParserReturn-35))|(1<<(FqlParserDistinct-35))|(1<<(FqlParserFilter-35))|(1<<(FqlParserSort-35))|(1<<(FqlParserLimit-35))|(1<<(FqlParserLet-35))|(1<<(FqlParserCollect-35))|(1<<(FqlParserSortDirection-35))|(1<<(FqlParserNone-35))|(1<<(FqlParserNull-35))|(1<<(FqlParserBooleanLiteral-35))|(1<<(FqlParserUse-35))|(1<<(FqlParserInto-35))|(1<<(FqlParserKeep-35))|(1<<(FqlParserWith-35))|(1<<(FqlParserCount-35))|(1<<(FqlParserAll-35))|(1<<(FqlParserAny-35))|(1<<(FqlParserAggregate-35))|(1<<(FqlParserLike-35))|(1<<(FqlParserNot-35))|(1<<(FqlParserIn-35))|(1<<(FqlParserIdentifier-35)))) != 0)) {
p.GetErrorHandler().RecoverInline(p)
} else {
p.GetErrorHandler().ReportMatch(p)
p.Consume()
}
}
return localctx
}
2018-09-18 16:42:38 -04:00
// IFunctionCallExpressionContext is an interface to support dynamic dispatch.
type IFunctionCallExpressionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsFunctionCallExpressionContext differentiates from other interfaces.
IsFunctionCallExpressionContext()
}
type FunctionCallExpressionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyFunctionCallExpressionContext() *FunctionCallExpressionContext {
var p = new(FunctionCallExpressionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_functionCallExpression
return p
}
func (*FunctionCallExpressionContext) IsFunctionCallExpressionContext() {}
func NewFunctionCallExpressionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FunctionCallExpressionContext {
var p = new(FunctionCallExpressionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_functionCallExpression
return p
}
func (s *FunctionCallExpressionContext) GetParser() antlr.Parser { return s.parser }
func (s *FunctionCallExpressionContext) Namespace() INamespaceContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*INamespaceContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(INamespaceContext)
}
func (s *FunctionCallExpressionContext) FunctionIdentifier() IFunctionIdentifierContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFunctionIdentifierContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IFunctionIdentifierContext)
2018-09-18 16:42:38 -04:00
}
func (s *FunctionCallExpressionContext) Arguments() IArgumentsContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IArgumentsContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IArgumentsContext)
}
func (s *FunctionCallExpressionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *FunctionCallExpressionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *FunctionCallExpressionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterFunctionCallExpression(s)
}
}
func (s *FunctionCallExpressionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitFunctionCallExpression(s)
}
}
func (s *FunctionCallExpressionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitFunctionCallExpression(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) FunctionCallExpression() (localctx IFunctionCallExpressionContext) {
localctx = NewFunctionCallExpressionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 96, FqlParserRULE_functionCallExpression)
2018-09-18 16:42:38 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(442)
p.Namespace()
}
{
p.SetState(443)
p.FunctionIdentifier()
2018-09-18 16:42:38 -04:00
}
{
p.SetState(444)
2018-09-18 16:42:38 -04:00
p.Arguments()
}
return localctx
}
2019-09-07 01:21:43 -04:00
// IMemberContext is an interface to support dynamic dispatch.
type IMemberContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
2019-09-07 01:21:43 -04:00
// IsMemberContext differentiates from other interfaces.
IsMemberContext()
}
2019-09-07 01:21:43 -04:00
type MemberContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
2019-09-07 01:21:43 -04:00
func NewEmptyMemberContext() *MemberContext {
var p = new(MemberContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
2019-09-07 01:21:43 -04:00
p.RuleIndex = FqlParserRULE_member
return p
}
2019-09-07 01:21:43 -04:00
func (*MemberContext) IsMemberContext() {}
2019-09-07 01:21:43 -04:00
func NewMemberContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MemberContext {
var p = new(MemberContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
2019-09-07 01:21:43 -04:00
p.RuleIndex = FqlParserRULE_member
return p
}
2019-09-07 01:21:43 -04:00
func (s *MemberContext) GetParser() antlr.Parser { return s.parser }
2019-09-07 01:21:43 -04:00
func (s *MemberContext) Identifier() antlr.TerminalNode {
return s.GetToken(FqlParserIdentifier, 0)
}
2019-09-07 01:21:43 -04:00
func (s *MemberContext) FunctionCallExpression() IFunctionCallExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFunctionCallExpressionContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IFunctionCallExpressionContext)
}
func (s *MemberContext) Param() IParamContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IParamContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IParamContext)
}
func (s *MemberContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *MemberContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *MemberContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterMember(s)
}
}
func (s *MemberContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitMember(s)
}
}
func (s *MemberContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitMember(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) Member() (localctx IMemberContext) {
localctx = NewMemberContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 98, FqlParserRULE_member)
2019-09-07 01:21:43 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(449)
2019-09-07 01:21:43 -04:00
p.GetErrorHandler().Sync(p)
switch p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 38, p.GetParserRuleContext()) {
2019-09-07 01:21:43 -04:00
case 1:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(446)
2019-09-07 01:21:43 -04:00
p.Match(FqlParserIdentifier)
}
case 2:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(447)
2019-09-07 01:21:43 -04:00
p.FunctionCallExpression()
}
case 3:
p.EnterOuterAlt(localctx, 3)
{
p.SetState(448)
2019-09-07 01:21:43 -04:00
p.Param()
}
}
return localctx
}
// IMemberPathContext is an interface to support dynamic dispatch.
type IMemberPathContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsMemberPathContext differentiates from other interfaces.
IsMemberPathContext()
}
type MemberPathContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyMemberPathContext() *MemberPathContext {
var p = new(MemberPathContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_memberPath
return p
}
func (*MemberPathContext) IsMemberPathContext() {}
func NewMemberPathContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MemberPathContext {
var p = new(MemberPathContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_memberPath
return p
}
func (s *MemberPathContext) GetParser() antlr.Parser { return s.parser }
func (s *MemberPathContext) AllDot() []antlr.TerminalNode {
return s.GetTokens(FqlParserDot)
}
2019-09-07 01:21:43 -04:00
func (s *MemberPathContext) Dot(i int) antlr.TerminalNode {
return s.GetToken(FqlParserDot, i)
}
2019-09-07 01:21:43 -04:00
func (s *MemberPathContext) AllPropertyName() []IPropertyNameContext {
var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IPropertyNameContext)(nil)).Elem())
var tst = make([]IPropertyNameContext, len(ts))
for i, t := range ts {
if t != nil {
tst[i] = t.(IPropertyNameContext)
}
}
return tst
}
2019-09-07 01:21:43 -04:00
func (s *MemberPathContext) PropertyName(i int) IPropertyNameContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IPropertyNameContext)(nil)).Elem(), i)
if t == nil {
return nil
}
return t.(IPropertyNameContext)
}
2019-09-07 01:21:43 -04:00
func (s *MemberPathContext) AllComputedPropertyName() []IComputedPropertyNameContext {
var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IComputedPropertyNameContext)(nil)).Elem())
var tst = make([]IComputedPropertyNameContext, len(ts))
for i, t := range ts {
if t != nil {
tst[i] = t.(IComputedPropertyNameContext)
}
}
return tst
}
2019-09-07 01:21:43 -04:00
func (s *MemberPathContext) ComputedPropertyName(i int) IComputedPropertyNameContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IComputedPropertyNameContext)(nil)).Elem(), i)
if t == nil {
return nil
}
return t.(IComputedPropertyNameContext)
}
2019-09-07 01:21:43 -04:00
func (s *MemberPathContext) GetRuleContext() antlr.RuleContext {
return s
}
2019-09-07 01:21:43 -04:00
func (s *MemberPathContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
2019-09-07 01:21:43 -04:00
func (s *MemberPathContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
2019-09-07 01:21:43 -04:00
listenerT.EnterMemberPath(s)
}
}
2019-09-07 01:21:43 -04:00
func (s *MemberPathContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
2019-09-07 01:21:43 -04:00
listenerT.ExitMemberPath(s)
}
}
2019-09-07 01:21:43 -04:00
func (s *MemberPathContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
2019-09-07 01:21:43 -04:00
return t.VisitMemberPath(s)
default:
return t.VisitChildren(s)
}
}
2019-09-07 01:21:43 -04:00
func (p *FqlParser) MemberPath() (localctx IMemberPathContext) {
localctx = NewMemberPathContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 100, FqlParserRULE_memberPath)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
var _alt int
p.SetState(490)
p.GetErrorHandler().Sync(p)
2019-09-07 01:21:43 -04:00
switch p.GetTokenStream().LA(1) {
case FqlParserDot:
p.EnterOuterAlt(localctx, 1)
p.SetState(459)
p.GetErrorHandler().Sync(p)
_alt = 1
for ok := true; ok; ok = _alt != 2 && _alt != antlr.ATNInvalidAltNumber {
switch _alt {
case 1:
{
p.SetState(451)
p.Match(FqlParserDot)
}
{
p.SetState(452)
p.PropertyName()
}
p.SetState(456)
p.GetErrorHandler().Sync(p)
_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 39, p.GetParserRuleContext())
for _alt != 2 && _alt != antlr.ATNInvalidAltNumber {
if _alt == 1 {
{
p.SetState(453)
p.ComputedPropertyName()
}
}
p.SetState(458)
p.GetErrorHandler().Sync(p)
_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 39, p.GetParserRuleContext())
}
default:
panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil))
}
p.SetState(461)
p.GetErrorHandler().Sync(p)
_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 40, p.GetParserRuleContext())
}
2019-09-07 01:21:43 -04:00
case FqlParserOpenBracket:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(463)
p.ComputedPropertyName()
}
p.SetState(474)
p.GetErrorHandler().Sync(p)
_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 42, p.GetParserRuleContext())
for _alt != 2 && _alt != antlr.ATNInvalidAltNumber {
if _alt == 1 {
{
p.SetState(464)
p.Match(FqlParserDot)
}
{
p.SetState(465)
p.PropertyName()
}
p.SetState(469)
p.GetErrorHandler().Sync(p)
_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 41, p.GetParserRuleContext())
for _alt != 2 && _alt != antlr.ATNInvalidAltNumber {
if _alt == 1 {
{
p.SetState(466)
p.ComputedPropertyName()
}
}
p.SetState(471)
p.GetErrorHandler().Sync(p)
_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 41, p.GetParserRuleContext())
}
}
p.SetState(476)
p.GetErrorHandler().Sync(p)
_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 42, p.GetParserRuleContext())
}
p.SetState(487)
p.GetErrorHandler().Sync(p)
_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 44, p.GetParserRuleContext())
for _alt != 2 && _alt != antlr.ATNInvalidAltNumber {
if _alt == 1 {
{
p.SetState(477)
p.ComputedPropertyName()
}
p.SetState(482)
p.GetErrorHandler().Sync(p)
_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 43, p.GetParserRuleContext())
for _alt != 2 && _alt != antlr.ATNInvalidAltNumber {
if _alt == 1 {
{
p.SetState(478)
p.Match(FqlParserDot)
}
{
p.SetState(479)
p.PropertyName()
}
}
p.SetState(484)
p.GetErrorHandler().Sync(p)
_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 43, p.GetParserRuleContext())
}
}
p.SetState(489)
p.GetErrorHandler().Sync(p)
_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 44, p.GetParserRuleContext())
}
2019-09-07 01:21:43 -04:00
default:
panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil))
}
2019-09-07 01:21:43 -04:00
return localctx
}
2019-09-07 01:21:43 -04:00
// IMemberExpressionContext is an interface to support dynamic dispatch.
type IMemberExpressionContext interface {
antlr.ParserRuleContext
2019-09-07 01:21:43 -04:00
// GetParser returns the parser.
GetParser() antlr.Parser
2019-09-07 01:21:43 -04:00
// IsMemberExpressionContext differentiates from other interfaces.
IsMemberExpressionContext()
}
2019-09-07 01:21:43 -04:00
type MemberExpressionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
2019-09-07 01:21:43 -04:00
func NewEmptyMemberExpressionContext() *MemberExpressionContext {
var p = new(MemberExpressionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_memberExpression
return p
}
2019-09-07 01:21:43 -04:00
func (*MemberExpressionContext) IsMemberExpressionContext() {}
2019-09-07 01:21:43 -04:00
func NewMemberExpressionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MemberExpressionContext {
var p = new(MemberExpressionContext)
2019-09-07 01:21:43 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
2019-09-07 01:21:43 -04:00
p.parser = parser
p.RuleIndex = FqlParserRULE_memberExpression
2019-09-07 01:21:43 -04:00
return p
}
2019-09-07 01:21:43 -04:00
func (s *MemberExpressionContext) GetParser() antlr.Parser { return s.parser }
func (s *MemberExpressionContext) Member() IMemberContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IMemberContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IMemberContext)
}
func (s *MemberExpressionContext) MemberPath() IMemberPathContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IMemberPathContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IMemberPathContext)
}
func (s *MemberExpressionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *MemberExpressionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *MemberExpressionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterMemberExpression(s)
}
}
func (s *MemberExpressionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitMemberExpression(s)
}
}
func (s *MemberExpressionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitMemberExpression(s)
2019-09-07 01:21:43 -04:00
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) MemberExpression() (localctx IMemberExpressionContext) {
localctx = NewMemberExpressionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 102, FqlParserRULE_memberExpression)
2019-09-07 01:21:43 -04:00
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
2019-09-07 01:21:43 -04:00
}()
2019-09-07 01:21:43 -04:00
p.EnterOuterAlt(localctx, 1)
{
p.SetState(492)
2019-09-07 01:21:43 -04:00
p.Member()
}
{
p.SetState(493)
2019-09-07 01:21:43 -04:00
p.MemberPath()
}
return localctx
}
2018-09-18 16:42:38 -04:00
// IArgumentsContext is an interface to support dynamic dispatch.
type IArgumentsContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsArgumentsContext differentiates from other interfaces.
IsArgumentsContext()
}
type ArgumentsContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyArgumentsContext() *ArgumentsContext {
var p = new(ArgumentsContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_arguments
return p
}
func (*ArgumentsContext) IsArgumentsContext() {}
func NewArgumentsContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ArgumentsContext {
var p = new(ArgumentsContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_arguments
return p
}
func (s *ArgumentsContext) GetParser() antlr.Parser { return s.parser }
func (s *ArgumentsContext) OpenParen() antlr.TerminalNode {
return s.GetToken(FqlParserOpenParen, 0)
}
func (s *ArgumentsContext) CloseParen() antlr.TerminalNode {
return s.GetToken(FqlParserCloseParen, 0)
}
func (s *ArgumentsContext) AllExpression() []IExpressionContext {
var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IExpressionContext)(nil)).Elem())
var tst = make([]IExpressionContext, len(ts))
for i, t := range ts {
if t != nil {
tst[i] = t.(IExpressionContext)
}
}
return tst
}
func (s *ArgumentsContext) Expression(i int) IExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IExpressionContext)(nil)).Elem(), i)
if t == nil {
return nil
}
return t.(IExpressionContext)
}
func (s *ArgumentsContext) AllComma() []antlr.TerminalNode {
return s.GetTokens(FqlParserComma)
}
func (s *ArgumentsContext) Comma(i int) antlr.TerminalNode {
return s.GetToken(FqlParserComma, i)
}
func (s *ArgumentsContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ArgumentsContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ArgumentsContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterArguments(s)
}
}
func (s *ArgumentsContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitArguments(s)
}
}
func (s *ArgumentsContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitArguments(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) Arguments() (localctx IArgumentsContext) {
localctx = NewArgumentsContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 104, FqlParserRULE_arguments)
2018-09-18 16:42:38 -04:00
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(495)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserOpenParen)
}
p.SetState(504)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
if (((_la)&-(0x1f+1)) == 0 && ((1<<uint(_la))&((1<<FqlParserOpenBracket)|(1<<FqlParserOpenParen)|(1<<FqlParserOpenBrace)|(1<<FqlParserPlus)|(1<<FqlParserMinus)|(1<<FqlParserAnd)|(1<<FqlParserOr))) != 0) || (((_la-35)&-(0x1f+1)) == 0 && ((1<<uint((_la-35)))&((1<<(FqlParserFor-35))|(1<<(FqlParserReturn-35))|(1<<(FqlParserDistinct-35))|(1<<(FqlParserFilter-35))|(1<<(FqlParserSort-35))|(1<<(FqlParserLimit-35))|(1<<(FqlParserLet-35))|(1<<(FqlParserCollect-35))|(1<<(FqlParserSortDirection-35))|(1<<(FqlParserNone-35))|(1<<(FqlParserNull-35))|(1<<(FqlParserBooleanLiteral-35))|(1<<(FqlParserUse-35))|(1<<(FqlParserInto-35))|(1<<(FqlParserKeep-35))|(1<<(FqlParserWith-35))|(1<<(FqlParserCount-35))|(1<<(FqlParserAll-35))|(1<<(FqlParserAny-35))|(1<<(FqlParserAggregate-35))|(1<<(FqlParserLike-35))|(1<<(FqlParserNot-35))|(1<<(FqlParserIn-35))|(1<<(FqlParserParam-35))|(1<<(FqlParserIdentifier-35))|(1<<(FqlParserStringLiteral-35))|(1<<(FqlParserIntegerLiteral-35))|(1<<(FqlParserFloatLiteral-35))|(1<<(FqlParserNamespaceSegment-35)))) != 0) {
2018-09-18 16:42:38 -04:00
{
p.SetState(496)
2018-09-18 16:42:38 -04:00
p.expression(0)
}
p.SetState(501)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
for _la == FqlParserComma {
{
p.SetState(497)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserComma)
}
{
p.SetState(498)
2018-09-18 16:42:38 -04:00
p.expression(0)
}
p.SetState(503)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
}
}
{
p.SetState(506)
2018-09-18 16:42:38 -04:00
p.Match(FqlParserCloseParen)
}
return localctx
}
// IExpressionContext is an interface to support dynamic dispatch.
type IExpressionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsExpressionContext differentiates from other interfaces.
IsExpressionContext()
}
type ExpressionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyExpressionContext() *ExpressionContext {
var p = new(ExpressionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_expression
return p
}
func (*ExpressionContext) IsExpressionContext() {}
func NewExpressionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ExpressionContext {
var p = new(ExpressionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_expression
return p
}
func (s *ExpressionContext) GetParser() antlr.Parser { return s.parser }
func (s *ExpressionContext) UnaryOperator() IUnaryOperatorContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IUnaryOperatorContext)(nil)).Elem(), 0)
2018-09-18 16:42:38 -04:00
if t == nil {
return nil
}
return t.(IUnaryOperatorContext)
2018-09-18 16:42:38 -04:00
}
func (s *ExpressionContext) AllExpression() []IExpressionContext {
var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IExpressionContext)(nil)).Elem())
var tst = make([]IExpressionContext, len(ts))
for i, t := range ts {
if t != nil {
tst[i] = t.(IExpressionContext)
}
}
return tst
}
func (s *ExpressionContext) Expression(i int) IExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IExpressionContext)(nil)).Elem(), i)
if t == nil {
return nil
}
return t.(IExpressionContext)
}
func (s *ExpressionContext) FunctionCallExpression() IFunctionCallExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFunctionCallExpressionContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IFunctionCallExpressionContext)
2018-09-18 16:42:38 -04:00
}
func (s *ExpressionContext) ExpressionGroup() IExpressionGroupContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IExpressionGroupContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IExpressionGroupContext)
2018-09-18 16:42:38 -04:00
}
2018-09-22 19:18:10 -04:00
func (s *ExpressionContext) RangeOperator() IRangeOperatorContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRangeOperatorContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRangeOperatorContext)
}
2018-09-18 16:42:38 -04:00
func (s *ExpressionContext) StringLiteral() IStringLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IStringLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IStringLiteralContext)
}
func (s *ExpressionContext) IntegerLiteral() IIntegerLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IIntegerLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IIntegerLiteralContext)
}
func (s *ExpressionContext) FloatLiteral() IFloatLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IFloatLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IFloatLiteralContext)
}
func (s *ExpressionContext) BooleanLiteral() IBooleanLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IBooleanLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IBooleanLiteralContext)
}
func (s *ExpressionContext) ArrayLiteral() IArrayLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IArrayLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IArrayLiteralContext)
}
func (s *ExpressionContext) ObjectLiteral() IObjectLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IObjectLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IObjectLiteralContext)
}
func (s *ExpressionContext) Variable() IVariableContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IVariableContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IVariableContext)
}
func (s *ExpressionContext) MemberExpression() IMemberExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IMemberExpressionContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IMemberExpressionContext)
}
func (s *ExpressionContext) NoneLiteral() INoneLiteralContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*INoneLiteralContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(INoneLiteralContext)
}
2018-09-28 21:04:16 -04:00
func (s *ExpressionContext) Param() IParamContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IParamContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IParamContext)
}
func (s *ExpressionContext) MultiplicativeOperator() IMultiplicativeOperatorContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IMultiplicativeOperatorContext)(nil)).Elem(), 0)
2018-09-18 16:42:38 -04:00
if t == nil {
return nil
}
return t.(IMultiplicativeOperatorContext)
2018-09-18 16:42:38 -04:00
}
func (s *ExpressionContext) AdditiveOperator() IAdditiveOperatorContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IAdditiveOperatorContext)(nil)).Elem(), 0)
2018-09-18 16:42:38 -04:00
if t == nil {
return nil
}
return t.(IAdditiveOperatorContext)
2018-09-18 16:42:38 -04:00
}
func (s *ExpressionContext) ArrayOperator() IArrayOperatorContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IArrayOperatorContext)(nil)).Elem(), 0)
2018-09-18 16:42:38 -04:00
if t == nil {
return nil
}
return t.(IArrayOperatorContext)
2018-09-18 16:42:38 -04:00
}
func (s *ExpressionContext) InOperator() IInOperatorContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IInOperatorContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IInOperatorContext)
}
func (s *ExpressionContext) EqualityOperator() IEqualityOperatorContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IEqualityOperatorContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IEqualityOperatorContext)
}
func (s *ExpressionContext) LikeOperator() ILikeOperatorContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILikeOperatorContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILikeOperatorContext)
}
func (s *ExpressionContext) RegexpOperator() IRegexpOperatorContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IRegexpOperatorContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(IRegexpOperatorContext)
}
func (s *ExpressionContext) LogicalAndOperator() ILogicalAndOperatorContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILogicalAndOperatorContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILogicalAndOperatorContext)
}
func (s *ExpressionContext) LogicalOrOperator() ILogicalOrOperatorContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*ILogicalOrOperatorContext)(nil)).Elem(), 0)
if t == nil {
return nil
}
return t.(ILogicalOrOperatorContext)
2018-09-22 21:06:19 -04:00
}
2018-09-18 16:42:38 -04:00
func (s *ExpressionContext) QuestionMark() antlr.TerminalNode {
return s.GetToken(FqlParserQuestionMark, 0)
}
func (s *ExpressionContext) Colon() antlr.TerminalNode {
return s.GetToken(FqlParserColon, 0)
}
func (s *ExpressionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ExpressionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ExpressionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterExpression(s)
}
}
func (s *ExpressionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitExpression(s)
}
}
func (s *ExpressionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitExpression(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) Expression() (localctx IExpressionContext) {
return p.expression(0)
}
func (p *FqlParser) expression(_p int) (localctx IExpressionContext) {
var _parentctx antlr.ParserRuleContext = p.GetParserRuleContext()
_parentState := p.GetState()
localctx = NewExpressionContext(p, p.GetParserRuleContext(), _parentState)
var _prevctx IExpressionContext = localctx
var _ antlr.ParserRuleContext = _prevctx // TODO: To prevent unused variable warning.
_startState := 106
p.EnterRecursionRule(localctx, 106, FqlParserRULE_expression, _p)
2018-09-22 11:24:35 -04:00
var _la int
2018-09-18 16:42:38 -04:00
defer func() {
p.UnrollRecursionContexts(_parentctx)
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
var _alt int
p.EnterOuterAlt(localctx, 1)
p.SetState(525)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
switch p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 48, p.GetParserRuleContext()) {
2018-09-18 16:42:38 -04:00
case 1:
{
p.SetState(509)
p.UnaryOperator()
2018-09-18 16:42:38 -04:00
}
{
p.SetState(510)
p.expression(24)
2018-09-18 16:42:38 -04:00
}
case 2:
2018-09-18 16:42:38 -04:00
{
p.SetState(512)
p.FunctionCallExpression()
2018-09-18 16:42:38 -04:00
}
case 3:
{
p.SetState(513)
p.ExpressionGroup()
2018-09-18 16:42:38 -04:00
}
case 4:
{
p.SetState(514)
p.RangeOperator()
2018-09-18 16:42:38 -04:00
}
case 5:
{
p.SetState(515)
2018-09-22 19:18:10 -04:00
p.StringLiteral()
2018-09-18 16:42:38 -04:00
}
case 6:
2018-09-18 16:42:38 -04:00
{
p.SetState(516)
2018-09-22 19:18:10 -04:00
p.IntegerLiteral()
2018-09-18 16:42:38 -04:00
}
case 7:
2018-09-18 16:42:38 -04:00
{
p.SetState(517)
2018-09-22 19:18:10 -04:00
p.FloatLiteral()
2018-09-18 16:42:38 -04:00
}
case 8:
2018-09-18 16:42:38 -04:00
{
p.SetState(518)
2018-09-22 19:18:10 -04:00
p.BooleanLiteral()
2018-09-18 16:42:38 -04:00
}
case 9:
2018-09-18 16:42:38 -04:00
{
p.SetState(519)
2018-09-22 19:18:10 -04:00
p.ArrayLiteral()
2018-09-18 16:42:38 -04:00
}
case 10:
2018-09-18 16:42:38 -04:00
{
p.SetState(520)
2018-09-22 19:18:10 -04:00
p.ObjectLiteral()
2018-09-18 16:42:38 -04:00
}
case 11:
2018-09-18 16:42:38 -04:00
{
p.SetState(521)
2018-09-22 19:18:10 -04:00
p.Variable()
2018-09-18 16:42:38 -04:00
}
case 12:
2018-09-18 16:42:38 -04:00
{
p.SetState(522)
2018-09-22 19:18:10 -04:00
p.MemberExpression()
}
case 13:
2018-09-22 19:18:10 -04:00
{
p.SetState(523)
2018-09-18 16:42:38 -04:00
p.NoneLiteral()
}
case 14:
2018-09-28 21:04:16 -04:00
{
p.SetState(524)
2018-09-28 21:04:16 -04:00
p.Param()
}
2018-09-18 16:42:38 -04:00
}
p.GetParserRuleContext().SetStop(p.GetTokenStream().LT(-1))
p.SetState(576)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 52, p.GetParserRuleContext())
2018-09-18 16:42:38 -04:00
for _alt != 2 && _alt != antlr.ATNInvalidAltNumber {
if _alt == 1 {
if p.GetParseListeners() != nil {
p.TriggerExitRuleEvent()
}
_prevctx = localctx
p.SetState(574)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
switch p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 51, p.GetParserRuleContext()) {
2018-09-18 16:42:38 -04:00
case 1:
localctx = NewExpressionContext(p, _parentctx, _parentState)
p.PushNewRecursionContext(localctx, _startState, FqlParserRULE_expression)
p.SetState(527)
2018-09-18 16:42:38 -04:00
if !(p.Precpred(p.GetParserRuleContext(), 23)) {
panic(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 23)", ""))
2018-09-18 16:42:38 -04:00
}
{
p.SetState(528)
p.MultiplicativeOperator()
2018-09-18 16:42:38 -04:00
}
{
p.SetState(529)
p.expression(24)
2018-09-18 16:42:38 -04:00
}
case 2:
localctx = NewExpressionContext(p, _parentctx, _parentState)
p.PushNewRecursionContext(localctx, _startState, FqlParserRULE_expression)
p.SetState(531)
2018-09-18 16:42:38 -04:00
if !(p.Precpred(p.GetParserRuleContext(), 22)) {
panic(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 22)", ""))
2018-09-18 16:42:38 -04:00
}
{
p.SetState(532)
p.AdditiveOperator()
2018-09-18 16:42:38 -04:00
}
{
p.SetState(533)
p.expression(23)
2018-09-18 16:42:38 -04:00
}
case 3:
localctx = NewExpressionContext(p, _parentctx, _parentState)
p.PushNewRecursionContext(localctx, _startState, FqlParserRULE_expression)
p.SetState(535)
2018-09-18 16:42:38 -04:00
if !(p.Precpred(p.GetParserRuleContext(), 19)) {
panic(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 19)", ""))
2018-09-18 16:42:38 -04:00
}
{
p.SetState(536)
p.ArrayOperator()
}
p.SetState(539)
p.GetErrorHandler().Sync(p)
switch p.GetTokenStream().LA(1) {
case FqlParserNot, FqlParserIn:
{
p.SetState(537)
p.InOperator()
}
case FqlParserGt, FqlParserLt, FqlParserEq, FqlParserGte, FqlParserLte, FqlParserNeq:
{
p.SetState(538)
p.EqualityOperator()
}
default:
panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil))
}
{
p.SetState(541)
p.expression(20)
}
case 4:
localctx = NewExpressionContext(p, _parentctx, _parentState)
p.PushNewRecursionContext(localctx, _startState, FqlParserRULE_expression)
p.SetState(543)
if !(p.Precpred(p.GetParserRuleContext(), 18)) {
panic(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 18)", ""))
}
{
p.SetState(544)
p.InOperator()
}
{
p.SetState(545)
p.expression(19)
}
case 5:
localctx = NewExpressionContext(p, _parentctx, _parentState)
p.PushNewRecursionContext(localctx, _startState, FqlParserRULE_expression)
p.SetState(547)
if !(p.Precpred(p.GetParserRuleContext(), 17)) {
panic(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 17)", ""))
}
{
p.SetState(548)
p.LikeOperator()
}
{
p.SetState(549)
p.expression(18)
}
case 6:
localctx = NewExpressionContext(p, _parentctx, _parentState)
p.PushNewRecursionContext(localctx, _startState, FqlParserRULE_expression)
p.SetState(551)
if !(p.Precpred(p.GetParserRuleContext(), 16)) {
panic(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 16)", ""))
}
{
p.SetState(552)
p.EqualityOperator()
}
{
p.SetState(553)
p.expression(17)
}
case 7:
localctx = NewExpressionContext(p, _parentctx, _parentState)
p.PushNewRecursionContext(localctx, _startState, FqlParserRULE_expression)
p.SetState(555)
if !(p.Precpred(p.GetParserRuleContext(), 15)) {
panic(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 15)", ""))
}
{
p.SetState(556)
p.RegexpOperator()
}
{
p.SetState(557)
p.expression(16)
}
case 8:
localctx = NewExpressionContext(p, _parentctx, _parentState)
p.PushNewRecursionContext(localctx, _startState, FqlParserRULE_expression)
p.SetState(559)
if !(p.Precpred(p.GetParserRuleContext(), 14)) {
panic(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 14)", ""))
}
{
p.SetState(560)
p.LogicalAndOperator()
}
{
p.SetState(561)
p.expression(15)
}
case 9:
localctx = NewExpressionContext(p, _parentctx, _parentState)
p.PushNewRecursionContext(localctx, _startState, FqlParserRULE_expression)
p.SetState(563)
2018-09-22 11:24:35 -04:00
if !(p.Precpred(p.GetParserRuleContext(), 13)) {
panic(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 13)", ""))
2018-09-18 16:42:38 -04:00
}
{
p.SetState(564)
p.LogicalOrOperator()
2018-09-18 16:42:38 -04:00
}
{
p.SetState(565)
p.expression(14)
2018-09-18 16:42:38 -04:00
}
case 10:
2018-09-18 16:42:38 -04:00
localctx = NewExpressionContext(p, _parentctx, _parentState)
p.PushNewRecursionContext(localctx, _startState, FqlParserRULE_expression)
p.SetState(567)
2018-09-18 16:42:38 -04:00
2018-09-28 21:04:16 -04:00
if !(p.Precpred(p.GetParserRuleContext(), 12)) {
panic(antlr.NewFailedPredicateException(p, "p.Precpred(p.GetParserRuleContext(), 12)", ""))
2018-09-18 16:42:38 -04:00
}
{
p.SetState(568)
2018-09-22 21:06:19 -04:00
p.Match(FqlParserQuestionMark)
2018-09-18 16:42:38 -04:00
}
p.SetState(570)
2018-09-22 21:06:19 -04:00
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
2018-09-18 16:42:38 -04:00
if (((_la)&-(0x1f+1)) == 0 && ((1<<uint(_la))&((1<<FqlParserOpenBracket)|(1<<FqlParserOpenParen)|(1<<FqlParserOpenBrace)|(1<<FqlParserPlus)|(1<<FqlParserMinus)|(1<<FqlParserAnd)|(1<<FqlParserOr))) != 0) || (((_la-35)&-(0x1f+1)) == 0 && ((1<<uint((_la-35)))&((1<<(FqlParserFor-35))|(1<<(FqlParserReturn-35))|(1<<(FqlParserDistinct-35))|(1<<(FqlParserFilter-35))|(1<<(FqlParserSort-35))|(1<<(FqlParserLimit-35))|(1<<(FqlParserLet-35))|(1<<(FqlParserCollect-35))|(1<<(FqlParserSortDirection-35))|(1<<(FqlParserNone-35))|(1<<(FqlParserNull-35))|(1<<(FqlParserBooleanLiteral-35))|(1<<(FqlParserUse-35))|(1<<(FqlParserInto-35))|(1<<(FqlParserKeep-35))|(1<<(FqlParserWith-35))|(1<<(FqlParserCount-35))|(1<<(FqlParserAll-35))|(1<<(FqlParserAny-35))|(1<<(FqlParserAggregate-35))|(1<<(FqlParserLike-35))|(1<<(FqlParserNot-35))|(1<<(FqlParserIn-35))|(1<<(FqlParserParam-35))|(1<<(FqlParserIdentifier-35))|(1<<(FqlParserStringLiteral-35))|(1<<(FqlParserIntegerLiteral-35))|(1<<(FqlParserFloatLiteral-35))|(1<<(FqlParserNamespaceSegment-35)))) != 0) {
2018-09-22 21:06:19 -04:00
{
p.SetState(569)
2018-09-22 21:06:19 -04:00
p.expression(0)
}
2018-09-18 16:42:38 -04:00
}
{
p.SetState(572)
2018-09-22 21:06:19 -04:00
p.Match(FqlParserColon)
}
{
p.SetState(573)
2018-09-28 21:04:16 -04:00
p.expression(13)
2018-09-18 16:42:38 -04:00
}
}
}
p.SetState(578)
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().Sync(p)
_alt = p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 52, p.GetParserRuleContext())
2018-09-18 16:42:38 -04:00
}
return localctx
}
// IForTernaryExpressionContext is an interface to support dynamic dispatch.
type IForTernaryExpressionContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsForTernaryExpressionContext differentiates from other interfaces.
IsForTernaryExpressionContext()
}
type ForTernaryExpressionContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyForTernaryExpressionContext() *ForTernaryExpressionContext {
var p = new(ForTernaryExpressionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_forTernaryExpression
return p
}
func (*ForTernaryExpressionContext) IsForTernaryExpressionContext() {}
func NewForTernaryExpressionContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ForTernaryExpressionContext {
var p = new(ForTernaryExpressionContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_forTernaryExpression
return p
}
func (s *ForTernaryExpressionContext) GetParser() antlr.Parser { return s.parser }
func (s *ForTernaryExpressionContext) AllExpression() []IExpressionContext {
var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IExpressionContext)(nil)).Elem())
var tst = make([]IExpressionContext, len(ts))
for i, t := range ts {
if t != nil {
tst[i] = t.(IExpressionContext)
}
}
return tst
}
func (s *ForTernaryExpressionContext) Expression(i int) IExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IExpressionContext)(nil)).Elem(), i)
if t == nil {
return nil
}
return t.(IExpressionContext)
}
func (s *ForTernaryExpressionContext) QuestionMark() antlr.TerminalNode {
return s.GetToken(FqlParserQuestionMark, 0)
}
func (s *ForTernaryExpressionContext) Colon() antlr.TerminalNode {
return s.GetToken(FqlParserColon, 0)
}
func (s *ForTernaryExpressionContext) AllOpenParen() []antlr.TerminalNode {
return s.GetTokens(FqlParserOpenParen)
}
func (s *ForTernaryExpressionContext) OpenParen(i int) antlr.TerminalNode {
return s.GetToken(FqlParserOpenParen, i)
}
func (s *ForTernaryExpressionContext) AllForExpression() []IForExpressionContext {
var ts = s.GetTypedRuleContexts(reflect.TypeOf((*IForExpressionContext)(nil)).Elem())
var tst = make([]IForExpressionContext, len(ts))
for i, t := range ts {
if t != nil {
tst[i] = t.(IForExpressionContext)
}
}
return tst
}
func (s *ForTernaryExpressionContext) ForExpression(i int) IForExpressionContext {
var t = s.GetTypedRuleContext(reflect.TypeOf((*IForExpressionContext)(nil)).Elem(), i)
if t == nil {
return nil
}
return t.(IForExpressionContext)
}
func (s *ForTernaryExpressionContext) AllCloseParen() []antlr.TerminalNode {
return s.GetTokens(FqlParserCloseParen)
}
func (s *ForTernaryExpressionContext) CloseParen(i int) antlr.TerminalNode {
return s.GetToken(FqlParserCloseParen, i)
}
func (s *ForTernaryExpressionContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ForTernaryExpressionContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ForTernaryExpressionContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterForTernaryExpression(s)
}
}
func (s *ForTernaryExpressionContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitForTernaryExpression(s)
}
}
func (s *ForTernaryExpressionContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitForTernaryExpression(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) ForTernaryExpression() (localctx IForTernaryExpressionContext) {
localctx = NewForTernaryExpressionContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 108, FqlParserRULE_forTernaryExpression)
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(607)
p.GetErrorHandler().Sync(p)
switch p.GetInterpreter().AdaptivePredict(p.GetTokenStream(), 54, p.GetParserRuleContext()) {
case 1:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(579)
p.expression(0)
}
{
p.SetState(580)
p.Match(FqlParserQuestionMark)
}
p.SetState(582)
p.GetErrorHandler().Sync(p)
_la = p.GetTokenStream().LA(1)
if (((_la)&-(0x1f+1)) == 0 && ((1<<uint(_la))&((1<<FqlParserOpenBracket)|(1<<FqlParserOpenParen)|(1<<FqlParserOpenBrace)|(1<<FqlParserPlus)|(1<<FqlParserMinus)|(1<<FqlParserAnd)|(1<<FqlParserOr))) != 0) || (((_la-35)&-(0x1f+1)) == 0 && ((1<<uint((_la-35)))&((1<<(FqlParserFor-35))|(1<<(FqlParserReturn-35))|(1<<(FqlParserDistinct-35))|(1<<(FqlParserFilter-35))|(1<<(FqlParserSort-35))|(1<<(FqlParserLimit-35))|(1<<(FqlParserLet-35))|(1<<(FqlParserCollect-35))|(1<<(FqlParserSortDirection-35))|(1<<(FqlParserNone-35))|(1<<(FqlParserNull-35))|(1<<(FqlParserBooleanLiteral-35))|(1<<(FqlParserUse-35))|(1<<(FqlParserInto-35))|(1<<(FqlParserKeep-35))|(1<<(FqlParserWith-35))|(1<<(FqlParserCount-35))|(1<<(FqlParserAll-35))|(1<<(FqlParserAny-35))|(1<<(FqlParserAggregate-35))|(1<<(FqlParserLike-35))|(1<<(FqlParserNot-35))|(1<<(FqlParserIn-35))|(1<<(FqlParserParam-35))|(1<<(FqlParserIdentifier-35))|(1<<(FqlParserStringLiteral-35))|(1<<(FqlParserIntegerLiteral-35))|(1<<(FqlParserFloatLiteral-35))|(1<<(FqlParserNamespaceSegment-35)))) != 0) {
{
p.SetState(581)
p.expression(0)
}
}
{
p.SetState(584)
p.Match(FqlParserColon)
}
{
p.SetState(585)
p.Match(FqlParserOpenParen)
}
{
p.SetState(586)
p.ForExpression()
}
{
p.SetState(587)
p.Match(FqlParserCloseParen)
}
case 2:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(589)
p.expression(0)
}
{
p.SetState(590)
p.Match(FqlParserQuestionMark)
}
{
p.SetState(591)
p.Match(FqlParserOpenParen)
}
{
p.SetState(592)
p.ForExpression()
}
{
p.SetState(593)
p.Match(FqlParserCloseParen)
}
{
p.SetState(594)
p.Match(FqlParserColon)
}
{
p.SetState(595)
p.expression(0)
}
case 3:
p.EnterOuterAlt(localctx, 3)
{
p.SetState(597)
p.expression(0)
}
{
p.SetState(598)
p.Match(FqlParserQuestionMark)
}
{
p.SetState(599)
p.Match(FqlParserOpenParen)
}
{
p.SetState(600)
p.ForExpression()
}
{
p.SetState(601)
p.Match(FqlParserCloseParen)
}
{
p.SetState(602)
p.Match(FqlParserColon)
}
{
p.SetState(603)
p.Match(FqlParserOpenParen)
}
{
p.SetState(604)
p.ForExpression()
}
{
p.SetState(605)
p.Match(FqlParserCloseParen)
}
}
return localctx
}
// IArrayOperatorContext is an interface to support dynamic dispatch.
type IArrayOperatorContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsArrayOperatorContext differentiates from other interfaces.
IsArrayOperatorContext()
}
type ArrayOperatorContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyArrayOperatorContext() *ArrayOperatorContext {
var p = new(ArrayOperatorContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_arrayOperator
return p
}
func (*ArrayOperatorContext) IsArrayOperatorContext() {}
func NewArrayOperatorContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ArrayOperatorContext {
var p = new(ArrayOperatorContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_arrayOperator
return p
}
func (s *ArrayOperatorContext) GetParser() antlr.Parser { return s.parser }
func (s *ArrayOperatorContext) All() antlr.TerminalNode {
return s.GetToken(FqlParserAll, 0)
}
func (s *ArrayOperatorContext) Any() antlr.TerminalNode {
return s.GetToken(FqlParserAny, 0)
}
func (s *ArrayOperatorContext) None() antlr.TerminalNode {
return s.GetToken(FqlParserNone, 0)
}
func (s *ArrayOperatorContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *ArrayOperatorContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *ArrayOperatorContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterArrayOperator(s)
}
}
func (s *ArrayOperatorContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitArrayOperator(s)
}
}
func (s *ArrayOperatorContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitArrayOperator(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) ArrayOperator() (localctx IArrayOperatorContext) {
localctx = NewArrayOperatorContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 110, FqlParserRULE_arrayOperator)
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(609)
_la = p.GetTokenStream().LA(1)
if !(((_la-44)&-(0x1f+1)) == 0 && ((1<<uint((_la-44)))&((1<<(FqlParserNone-44))|(1<<(FqlParserAll-44))|(1<<(FqlParserAny-44)))) != 0) {
p.GetErrorHandler().RecoverInline(p)
} else {
p.GetErrorHandler().ReportMatch(p)
p.Consume()
}
}
return localctx
}
// IInOperatorContext is an interface to support dynamic dispatch.
type IInOperatorContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsInOperatorContext differentiates from other interfaces.
IsInOperatorContext()
}
type InOperatorContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyInOperatorContext() *InOperatorContext {
var p = new(InOperatorContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_inOperator
return p
}
func (*InOperatorContext) IsInOperatorContext() {}
func NewInOperatorContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *InOperatorContext {
var p = new(InOperatorContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_inOperator
return p
}
func (s *InOperatorContext) GetParser() antlr.Parser { return s.parser }
func (s *InOperatorContext) In() antlr.TerminalNode {
return s.GetToken(FqlParserIn, 0)
}
func (s *InOperatorContext) Not() antlr.TerminalNode {
return s.GetToken(FqlParserNot, 0)
}
func (s *InOperatorContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *InOperatorContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *InOperatorContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterInOperator(s)
}
}
func (s *InOperatorContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitInOperator(s)
}
}
func (s *InOperatorContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitInOperator(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) InOperator() (localctx IInOperatorContext) {
localctx = NewInOperatorContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 112, FqlParserRULE_inOperator)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(614)
p.GetErrorHandler().Sync(p)
switch p.GetTokenStream().LA(1) {
case FqlParserIn:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(611)
p.Match(FqlParserIn)
}
case FqlParserNot:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(612)
p.Match(FqlParserNot)
}
{
p.SetState(613)
p.Match(FqlParserIn)
}
default:
panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil))
}
return localctx
}
// ILikeOperatorContext is an interface to support dynamic dispatch.
type ILikeOperatorContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsLikeOperatorContext differentiates from other interfaces.
IsLikeOperatorContext()
}
type LikeOperatorContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyLikeOperatorContext() *LikeOperatorContext {
var p = new(LikeOperatorContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_likeOperator
return p
}
func (*LikeOperatorContext) IsLikeOperatorContext() {}
func NewLikeOperatorContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LikeOperatorContext {
var p = new(LikeOperatorContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_likeOperator
return p
}
func (s *LikeOperatorContext) GetParser() antlr.Parser { return s.parser }
func (s *LikeOperatorContext) Like() antlr.TerminalNode {
return s.GetToken(FqlParserLike, 0)
}
func (s *LikeOperatorContext) Not() antlr.TerminalNode {
return s.GetToken(FqlParserNot, 0)
}
func (s *LikeOperatorContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *LikeOperatorContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *LikeOperatorContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterLikeOperator(s)
}
}
func (s *LikeOperatorContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitLikeOperator(s)
}
}
func (s *LikeOperatorContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitLikeOperator(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) LikeOperator() (localctx ILikeOperatorContext) {
localctx = NewLikeOperatorContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 114, FqlParserRULE_likeOperator)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.SetState(619)
p.GetErrorHandler().Sync(p)
switch p.GetTokenStream().LA(1) {
case FqlParserLike:
p.EnterOuterAlt(localctx, 1)
{
p.SetState(616)
p.Match(FqlParserLike)
}
case FqlParserNot:
p.EnterOuterAlt(localctx, 2)
{
p.SetState(617)
p.Match(FqlParserNot)
}
{
p.SetState(618)
p.Match(FqlParserLike)
}
default:
panic(antlr.NewNoViableAltException(p, nil, nil, nil, nil, nil))
}
return localctx
}
2018-09-18 16:42:38 -04:00
// IEqualityOperatorContext is an interface to support dynamic dispatch.
type IEqualityOperatorContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsEqualityOperatorContext differentiates from other interfaces.
IsEqualityOperatorContext()
}
type EqualityOperatorContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyEqualityOperatorContext() *EqualityOperatorContext {
var p = new(EqualityOperatorContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_equalityOperator
return p
}
func (*EqualityOperatorContext) IsEqualityOperatorContext() {}
func NewEqualityOperatorContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *EqualityOperatorContext {
var p = new(EqualityOperatorContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_equalityOperator
return p
}
func (s *EqualityOperatorContext) GetParser() antlr.Parser { return s.parser }
func (s *EqualityOperatorContext) Gt() antlr.TerminalNode {
return s.GetToken(FqlParserGt, 0)
}
func (s *EqualityOperatorContext) Lt() antlr.TerminalNode {
return s.GetToken(FqlParserLt, 0)
}
func (s *EqualityOperatorContext) Eq() antlr.TerminalNode {
return s.GetToken(FqlParserEq, 0)
}
func (s *EqualityOperatorContext) Gte() antlr.TerminalNode {
return s.GetToken(FqlParserGte, 0)
}
func (s *EqualityOperatorContext) Lte() antlr.TerminalNode {
return s.GetToken(FqlParserLte, 0)
}
func (s *EqualityOperatorContext) Neq() antlr.TerminalNode {
return s.GetToken(FqlParserNeq, 0)
}
func (s *EqualityOperatorContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *EqualityOperatorContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *EqualityOperatorContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterEqualityOperator(s)
}
}
func (s *EqualityOperatorContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitEqualityOperator(s)
}
}
func (s *EqualityOperatorContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitEqualityOperator(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) EqualityOperator() (localctx IEqualityOperatorContext) {
localctx = NewEqualityOperatorContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 116, FqlParserRULE_equalityOperator)
2018-09-18 16:42:38 -04:00
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(621)
2018-09-18 16:42:38 -04:00
_la = p.GetTokenStream().LA(1)
if !(((_la)&-(0x1f+1)) == 0 && ((1<<uint(_la))&((1<<FqlParserGt)|(1<<FqlParserLt)|(1<<FqlParserEq)|(1<<FqlParserGte)|(1<<FqlParserLte)|(1<<FqlParserNeq))) != 0) {
p.GetErrorHandler().RecoverInline(p)
} else {
p.GetErrorHandler().ReportMatch(p)
p.Consume()
}
}
return localctx
}
// IRegexpOperatorContext is an interface to support dynamic dispatch.
type IRegexpOperatorContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsRegexpOperatorContext differentiates from other interfaces.
IsRegexpOperatorContext()
}
type RegexpOperatorContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyRegexpOperatorContext() *RegexpOperatorContext {
var p = new(RegexpOperatorContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_regexpOperator
return p
}
func (*RegexpOperatorContext) IsRegexpOperatorContext() {}
func NewRegexpOperatorContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *RegexpOperatorContext {
var p = new(RegexpOperatorContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_regexpOperator
return p
}
func (s *RegexpOperatorContext) GetParser() antlr.Parser { return s.parser }
func (s *RegexpOperatorContext) RegexMatch() antlr.TerminalNode {
return s.GetToken(FqlParserRegexMatch, 0)
}
func (s *RegexpOperatorContext) RegexNotMatch() antlr.TerminalNode {
return s.GetToken(FqlParserRegexNotMatch, 0)
}
func (s *RegexpOperatorContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *RegexpOperatorContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *RegexpOperatorContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterRegexpOperator(s)
}
}
func (s *RegexpOperatorContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitRegexpOperator(s)
}
}
func (s *RegexpOperatorContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitRegexpOperator(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) RegexpOperator() (localctx IRegexpOperatorContext) {
localctx = NewRegexpOperatorContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 118, FqlParserRULE_regexpOperator)
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(623)
_la = p.GetTokenStream().LA(1)
if !(_la == FqlParserRegexNotMatch || _la == FqlParserRegexMatch) {
p.GetErrorHandler().RecoverInline(p)
} else {
p.GetErrorHandler().ReportMatch(p)
p.Consume()
}
}
return localctx
}
// ILogicalAndOperatorContext is an interface to support dynamic dispatch.
type ILogicalAndOperatorContext interface {
2018-09-18 16:42:38 -04:00
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsLogicalAndOperatorContext differentiates from other interfaces.
IsLogicalAndOperatorContext()
2018-09-18 16:42:38 -04:00
}
type LogicalAndOperatorContext struct {
2018-09-18 16:42:38 -04:00
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyLogicalAndOperatorContext() *LogicalAndOperatorContext {
var p = new(LogicalAndOperatorContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_logicalAndOperator
2018-09-18 16:42:38 -04:00
return p
}
func (*LogicalAndOperatorContext) IsLogicalAndOperatorContext() {}
2018-09-18 16:42:38 -04:00
func NewLogicalAndOperatorContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LogicalAndOperatorContext {
var p = new(LogicalAndOperatorContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_logicalAndOperator
2018-09-18 16:42:38 -04:00
return p
}
func (s *LogicalAndOperatorContext) GetParser() antlr.Parser { return s.parser }
2018-09-18 16:42:38 -04:00
func (s *LogicalAndOperatorContext) And() antlr.TerminalNode {
2018-09-18 16:42:38 -04:00
return s.GetToken(FqlParserAnd, 0)
}
func (s *LogicalAndOperatorContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *LogicalAndOperatorContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *LogicalAndOperatorContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterLogicalAndOperator(s)
}
}
func (s *LogicalAndOperatorContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitLogicalAndOperator(s)
}
}
func (s *LogicalAndOperatorContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitLogicalAndOperator(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) LogicalAndOperator() (localctx ILogicalAndOperatorContext) {
localctx = NewLogicalAndOperatorContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 120, FqlParserRULE_logicalAndOperator)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(625)
p.Match(FqlParserAnd)
}
return localctx
}
// ILogicalOrOperatorContext is an interface to support dynamic dispatch.
type ILogicalOrOperatorContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsLogicalOrOperatorContext differentiates from other interfaces.
IsLogicalOrOperatorContext()
}
type LogicalOrOperatorContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyLogicalOrOperatorContext() *LogicalOrOperatorContext {
var p = new(LogicalOrOperatorContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_logicalOrOperator
return p
}
func (*LogicalOrOperatorContext) IsLogicalOrOperatorContext() {}
func NewLogicalOrOperatorContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *LogicalOrOperatorContext {
var p = new(LogicalOrOperatorContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_logicalOrOperator
return p
}
func (s *LogicalOrOperatorContext) GetParser() antlr.Parser { return s.parser }
func (s *LogicalOrOperatorContext) Or() antlr.TerminalNode {
2018-09-18 16:42:38 -04:00
return s.GetToken(FqlParserOr, 0)
}
func (s *LogicalOrOperatorContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *LogicalOrOperatorContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *LogicalOrOperatorContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterLogicalOrOperator(s)
}
}
func (s *LogicalOrOperatorContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitLogicalOrOperator(s)
}
}
func (s *LogicalOrOperatorContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitLogicalOrOperator(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) LogicalOrOperator() (localctx ILogicalOrOperatorContext) {
localctx = NewLogicalOrOperatorContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 122, FqlParserRULE_logicalOrOperator)
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(627)
p.Match(FqlParserOr)
}
return localctx
}
// IMultiplicativeOperatorContext is an interface to support dynamic dispatch.
type IMultiplicativeOperatorContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsMultiplicativeOperatorContext differentiates from other interfaces.
IsMultiplicativeOperatorContext()
}
type MultiplicativeOperatorContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyMultiplicativeOperatorContext() *MultiplicativeOperatorContext {
var p = new(MultiplicativeOperatorContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_multiplicativeOperator
return p
}
func (*MultiplicativeOperatorContext) IsMultiplicativeOperatorContext() {}
func NewMultiplicativeOperatorContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *MultiplicativeOperatorContext {
var p = new(MultiplicativeOperatorContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_multiplicativeOperator
return p
}
func (s *MultiplicativeOperatorContext) GetParser() antlr.Parser { return s.parser }
func (s *MultiplicativeOperatorContext) Multi() antlr.TerminalNode {
return s.GetToken(FqlParserMulti, 0)
}
func (s *MultiplicativeOperatorContext) Div() antlr.TerminalNode {
return s.GetToken(FqlParserDiv, 0)
}
func (s *MultiplicativeOperatorContext) Mod() antlr.TerminalNode {
return s.GetToken(FqlParserMod, 0)
}
func (s *MultiplicativeOperatorContext) GetRuleContext() antlr.RuleContext {
2018-09-18 16:42:38 -04:00
return s
}
func (s *MultiplicativeOperatorContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
2018-09-18 16:42:38 -04:00
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *MultiplicativeOperatorContext) EnterRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterMultiplicativeOperator(s)
2018-09-18 16:42:38 -04:00
}
}
func (s *MultiplicativeOperatorContext) ExitRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitMultiplicativeOperator(s)
2018-09-18 16:42:38 -04:00
}
}
func (s *MultiplicativeOperatorContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
2018-09-18 16:42:38 -04:00
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitMultiplicativeOperator(s)
2018-09-18 16:42:38 -04:00
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) MultiplicativeOperator() (localctx IMultiplicativeOperatorContext) {
localctx = NewMultiplicativeOperatorContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 124, FqlParserRULE_multiplicativeOperator)
2018-09-18 16:42:38 -04:00
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(629)
2018-09-18 16:42:38 -04:00
_la = p.GetTokenStream().LA(1)
if !(((_la)&-(0x1f+1)) == 0 && ((1<<uint(_la))&((1<<FqlParserMulti)|(1<<FqlParserDiv)|(1<<FqlParserMod))) != 0) {
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().RecoverInline(p)
} else {
p.GetErrorHandler().ReportMatch(p)
p.Consume()
}
}
return localctx
}
// IAdditiveOperatorContext is an interface to support dynamic dispatch.
type IAdditiveOperatorContext interface {
2018-09-18 16:42:38 -04:00
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsAdditiveOperatorContext differentiates from other interfaces.
IsAdditiveOperatorContext()
2018-09-18 16:42:38 -04:00
}
type AdditiveOperatorContext struct {
2018-09-18 16:42:38 -04:00
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyAdditiveOperatorContext() *AdditiveOperatorContext {
var p = new(AdditiveOperatorContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_additiveOperator
2018-09-18 16:42:38 -04:00
return p
}
func (*AdditiveOperatorContext) IsAdditiveOperatorContext() {}
2018-09-18 16:42:38 -04:00
func NewAdditiveOperatorContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AdditiveOperatorContext {
var p = new(AdditiveOperatorContext)
2018-09-18 16:42:38 -04:00
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_additiveOperator
2018-09-18 16:42:38 -04:00
return p
}
func (s *AdditiveOperatorContext) GetParser() antlr.Parser { return s.parser }
2018-09-18 16:42:38 -04:00
func (s *AdditiveOperatorContext) Plus() antlr.TerminalNode {
2018-09-18 16:42:38 -04:00
return s.GetToken(FqlParserPlus, 0)
}
func (s *AdditiveOperatorContext) Minus() antlr.TerminalNode {
2018-09-18 16:42:38 -04:00
return s.GetToken(FqlParserMinus, 0)
}
func (s *AdditiveOperatorContext) GetRuleContext() antlr.RuleContext {
2018-09-18 16:42:38 -04:00
return s
}
func (s *AdditiveOperatorContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
2018-09-18 16:42:38 -04:00
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *AdditiveOperatorContext) EnterRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterAdditiveOperator(s)
2018-09-18 16:42:38 -04:00
}
}
func (s *AdditiveOperatorContext) ExitRule(listener antlr.ParseTreeListener) {
2018-09-18 16:42:38 -04:00
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitAdditiveOperator(s)
2018-09-18 16:42:38 -04:00
}
}
func (s *AdditiveOperatorContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
2018-09-18 16:42:38 -04:00
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitAdditiveOperator(s)
2018-09-18 16:42:38 -04:00
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) AdditiveOperator() (localctx IAdditiveOperatorContext) {
localctx = NewAdditiveOperatorContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 126, FqlParserRULE_additiveOperator)
2018-09-18 16:42:38 -04:00
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(631)
2018-09-18 16:42:38 -04:00
_la = p.GetTokenStream().LA(1)
if !(_la == FqlParserPlus || _la == FqlParserMinus) {
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().RecoverInline(p)
} else {
p.GetErrorHandler().ReportMatch(p)
p.Consume()
}
}
return localctx
}
// IUnaryOperatorContext is an interface to support dynamic dispatch.
type IUnaryOperatorContext interface {
antlr.ParserRuleContext
// GetParser returns the parser.
GetParser() antlr.Parser
// IsUnaryOperatorContext differentiates from other interfaces.
IsUnaryOperatorContext()
}
type UnaryOperatorContext struct {
*antlr.BaseParserRuleContext
parser antlr.Parser
}
func NewEmptyUnaryOperatorContext() *UnaryOperatorContext {
var p = new(UnaryOperatorContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(nil, -1)
p.RuleIndex = FqlParserRULE_unaryOperator
return p
}
func (*UnaryOperatorContext) IsUnaryOperatorContext() {}
func NewUnaryOperatorContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *UnaryOperatorContext {
var p = new(UnaryOperatorContext)
p.BaseParserRuleContext = antlr.NewBaseParserRuleContext(parent, invokingState)
p.parser = parser
p.RuleIndex = FqlParserRULE_unaryOperator
return p
}
func (s *UnaryOperatorContext) GetParser() antlr.Parser { return s.parser }
func (s *UnaryOperatorContext) Not() antlr.TerminalNode {
return s.GetToken(FqlParserNot, 0)
}
func (s *UnaryOperatorContext) Plus() antlr.TerminalNode {
return s.GetToken(FqlParserPlus, 0)
}
func (s *UnaryOperatorContext) Minus() antlr.TerminalNode {
return s.GetToken(FqlParserMinus, 0)
}
func (s *UnaryOperatorContext) GetRuleContext() antlr.RuleContext {
return s
}
func (s *UnaryOperatorContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string {
return antlr.TreesStringTree(s, ruleNames, recog)
}
func (s *UnaryOperatorContext) EnterRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.EnterUnaryOperator(s)
}
}
func (s *UnaryOperatorContext) ExitRule(listener antlr.ParseTreeListener) {
if listenerT, ok := listener.(FqlParserListener); ok {
listenerT.ExitUnaryOperator(s)
}
}
func (s *UnaryOperatorContext) Accept(visitor antlr.ParseTreeVisitor) interface{} {
switch t := visitor.(type) {
case FqlParserVisitor:
return t.VisitUnaryOperator(s)
default:
return t.VisitChildren(s)
}
}
func (p *FqlParser) UnaryOperator() (localctx IUnaryOperatorContext) {
localctx = NewUnaryOperatorContext(p, p.GetParserRuleContext(), p.GetState())
p.EnterRule(localctx, 128, FqlParserRULE_unaryOperator)
2018-09-18 16:42:38 -04:00
var _la int
defer func() {
p.ExitRule()
}()
defer func() {
if err := recover(); err != nil {
if v, ok := err.(antlr.RecognitionException); ok {
localctx.SetException(v)
p.GetErrorHandler().ReportError(p, v)
p.GetErrorHandler().Recover(p, v)
} else {
panic(err)
}
}
}()
p.EnterOuterAlt(localctx, 1)
{
p.SetState(633)
2018-09-18 16:42:38 -04:00
_la = p.GetTokenStream().LA(1)
if !(_la == FqlParserPlus || _la == FqlParserMinus || _la == FqlParserNot) {
2018-09-18 16:42:38 -04:00
p.GetErrorHandler().RecoverInline(p)
} else {
p.GetErrorHandler().ReportMatch(p)
p.Consume()
}
}
return localctx
}
func (p *FqlParser) Sempred(localctx antlr.RuleContext, ruleIndex, predIndex int) bool {
switch ruleIndex {
case 53:
2018-09-18 16:42:38 -04:00
var t *ExpressionContext = nil
if localctx != nil {
t = localctx.(*ExpressionContext)
}
return p.Expression_Sempred(t, predIndex)
default:
panic("No predicate with index: " + fmt.Sprint(ruleIndex))
}
}
func (p *FqlParser) Expression_Sempred(localctx antlr.RuleContext, predIndex int) bool {
switch predIndex {
case 0:
return p.Precpred(p.GetParserRuleContext(), 23)
2018-09-18 16:42:38 -04:00
case 1:
return p.Precpred(p.GetParserRuleContext(), 22)
2018-09-18 16:42:38 -04:00
case 2:
return p.Precpred(p.GetParserRuleContext(), 19)
2018-09-18 16:42:38 -04:00
case 3:
return p.Precpred(p.GetParserRuleContext(), 18)
2018-09-18 16:42:38 -04:00
case 4:
return p.Precpred(p.GetParserRuleContext(), 17)
case 5:
return p.Precpred(p.GetParserRuleContext(), 16)
case 6:
return p.Precpred(p.GetParserRuleContext(), 15)
case 7:
return p.Precpred(p.GetParserRuleContext(), 14)
case 8:
return p.Precpred(p.GetParserRuleContext(), 13)
case 9:
2018-09-28 21:04:16 -04:00
return p.Precpred(p.GetParserRuleContext(), 12)
2018-09-18 16:42:38 -04:00
default:
panic("No predicate with index: " + fmt.Sprint(predIndex))
}
}