Like Prometheus, but for logs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
loki/pkg/logql/syntax/syntax.y.go

2025 lines
58 KiB

// Code generated by goyacc -l -p syntax -o pkg/logql/syntax/syntax.y.go pkg/logql/syntax/syntax.y. DO NOT EDIT.
package syntax
import __yyfmt__ "fmt"
import (
"github.com/grafana/loki/v3/pkg/logql/log"
"github.com/prometheus/prometheus/model/labels"
"time"
)
type syntaxSymType struct {
yys int
val interface{}
bytes uint64
dur time.Duration
op string
binOp string
str string
strs []string
expr Expr
logExpr LogSelectorExpr
metricExpr SampleExpr
variantsExpr VariantsExpr
matcher *labels.Matcher
matchers []*labels.Matcher
metricExprs []SampleExpr
stage StageExpr
stages MultiStageExpr
filterer log.LabelFilterer
filter log.LineMatchType
lineFilterExpr *LineFilterExpr
binOpts *BinOpOptions
namedMatcher log.NamedLabelMatcher
namedMatchers []log.NamedLabelMatcher
labelFormat log.LabelFmt
labelsFormat []log.LabelFmt
grouping *Grouping
logRangeExpr *LogRangeExpr
literalExpr *LiteralExpr
labelFormatExpr *LabelFmtExpr
labelExtractionExpression log.LabelExtractionExpr
labelExtractionExpressionList []log.LabelExtractionExpr
unwrapExpr *UnwrapExpr
offsetExpr *OffsetExpr
}
const BYTES = 57346
const IDENTIFIER = 57347
const STRING = 57348
const NUMBER = 57349
const FUNCTION_FLAG = 57350
const DURATION = 57351
const RANGE = 57352
const MATCHERS = 57353
const LABELS = 57354
const EQ = 57355
const RE = 57356
const NRE = 57357
const NPA = 57358
const OPEN_BRACE = 57359
const CLOSE_BRACE = 57360
const OPEN_BRACKET = 57361
const CLOSE_BRACKET = 57362
const COMMA = 57363
const DOT = 57364
const PIPE_MATCH = 57365
const PIPE_EXACT = 57366
const PIPE_PATTERN = 57367
const OPEN_PARENTHESIS = 57368
const CLOSE_PARENTHESIS = 57369
const BY = 57370
const WITHOUT = 57371
const COUNT_OVER_TIME = 57372
const RATE = 57373
const RATE_COUNTER = 57374
const SUM = 57375
const SORT = 57376
const SORT_DESC = 57377
const AVG = 57378
const MAX = 57379
const MIN = 57380
const COUNT = 57381
const STDDEV = 57382
const STDVAR = 57383
const BOTTOMK = 57384
const TOPK = 57385
const APPROX_TOPK = 57386
const BYTES_OVER_TIME = 57387
const BYTES_RATE = 57388
const BOOL = 57389
const JSON = 57390
const REGEXP = 57391
const LOGFMT = 57392
const PIPE = 57393
const LINE_FMT = 57394
const LABEL_FMT = 57395
const UNWRAP = 57396
const AVG_OVER_TIME = 57397
const SUM_OVER_TIME = 57398
const MIN_OVER_TIME = 57399
const MAX_OVER_TIME = 57400
const STDVAR_OVER_TIME = 57401
const STDDEV_OVER_TIME = 57402
const QUANTILE_OVER_TIME = 57403
const BYTES_CONV = 57404
const DURATION_CONV = 57405
const DURATION_SECONDS_CONV = 57406
const FIRST_OVER_TIME = 57407
const LAST_OVER_TIME = 57408
const ABSENT_OVER_TIME = 57409
const VECTOR = 57410
const LABEL_REPLACE = 57411
const UNPACK = 57412
const OFFSET = 57413
const PATTERN = 57414
const IP = 57415
const ON = 57416
const IGNORING = 57417
const GROUP_LEFT = 57418
const GROUP_RIGHT = 57419
const DECOLORIZE = 57420
const DROP = 57421
const KEEP = 57422
const VARIANTS = 57423
const OF = 57424
const OR = 57425
const AND = 57426
const UNLESS = 57427
const CMP_EQ = 57428
const NEQ = 57429
const LT = 57430
const LTE = 57431
const GT = 57432
const GTE = 57433
const ADD = 57434
const SUB = 57435
const MUL = 57436
const DIV = 57437
const MOD = 57438
const POW = 57439
var syntaxToknames = [...]string{
"$end",
"error",
"$unk",
"BYTES",
"IDENTIFIER",
"STRING",
"NUMBER",
"FUNCTION_FLAG",
"DURATION",
"RANGE",
"MATCHERS",
"LABELS",
"EQ",
"RE",
"NRE",
"NPA",
"OPEN_BRACE",
"CLOSE_BRACE",
"OPEN_BRACKET",
"CLOSE_BRACKET",
"COMMA",
"DOT",
"PIPE_MATCH",
"PIPE_EXACT",
"PIPE_PATTERN",
"OPEN_PARENTHESIS",
"CLOSE_PARENTHESIS",
"BY",
"WITHOUT",
"COUNT_OVER_TIME",
"RATE",
"RATE_COUNTER",
"SUM",
"SORT",
"SORT_DESC",
"AVG",
"MAX",
"MIN",
"COUNT",
"STDDEV",
"STDVAR",
"BOTTOMK",
"TOPK",
"APPROX_TOPK",
"BYTES_OVER_TIME",
"BYTES_RATE",
"BOOL",
"JSON",
"REGEXP",
"LOGFMT",
"PIPE",
"LINE_FMT",
"LABEL_FMT",
"UNWRAP",
"AVG_OVER_TIME",
"SUM_OVER_TIME",
"MIN_OVER_TIME",
"MAX_OVER_TIME",
"STDVAR_OVER_TIME",
"STDDEV_OVER_TIME",
"QUANTILE_OVER_TIME",
"BYTES_CONV",
"DURATION_CONV",
"DURATION_SECONDS_CONV",
"FIRST_OVER_TIME",
"LAST_OVER_TIME",
"ABSENT_OVER_TIME",
"VECTOR",
"LABEL_REPLACE",
"UNPACK",
"OFFSET",
"PATTERN",
"IP",
"ON",
"IGNORING",
"GROUP_LEFT",
"GROUP_RIGHT",
"DECOLORIZE",
"DROP",
"KEEP",
"VARIANTS",
"OF",
"OR",
"AND",
"UNLESS",
"CMP_EQ",
"NEQ",
"LT",
"LTE",
"GT",
"GTE",
"ADD",
"SUB",
"MUL",
"DIV",
"MOD",
"POW",
}
var syntaxStatenames = [...]string{}
const syntaxEofCode = 1
const syntaxErrCode = 2
const syntaxInitialStackSize = 16
var syntaxExca = [...]int{
-1, 1,
1, -1,
-2, 0,
-1, 150,
21, 227,
27, 227,
-2, 3,
-1, 290,
21, 228,
27, 228,
-2, 3,
}
const syntaxPrivate = 57344
const syntaxLast = 642
var syntaxAct = [...]int{
293, 232, 88, 4, 217, 67, 130, 6, 188, 206,
158, 79, 203, 195, 66, 241, 205, 193, 80, 2,
59, 286, 84, 51, 52, 53, 60, 61, 64, 65,
62, 63, 54, 55, 56, 57, 58, 59, 143, 218,
11, 52, 53, 60, 61, 64, 65, 62, 63, 54,
55, 56, 57, 58, 59, 60, 61, 64, 65, 62,
63, 54, 55, 56, 57, 58, 59, 56, 57, 58,
59, 289, 113, 144, 210, 156, 157, 296, 119, 54,
55, 56, 57, 58, 59, 150, 301, 154, 156, 157,
269, 162, 225, 18, 160, 268, 265, 167, 224, 18,
284, 264, 219, 18, 281, 283, 146, 18, 278, 280,
98, 18, 70, 277, 169, 172, 173, 298, 174, 175,
176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
186, 187, 275, 170, 171, 18, 272, 274, 371, 18,
146, 271, 371, 200, 197, 208, 208, 216, 211, 214,
215, 212, 213, 343, 297, 140, 209, 392, 296, 267,
223, 155, 228, 343, 387, 263, 297, 310, 239, 235,
140, 190, 236, 360, 145, 233, 134, 228, 19, 20,
374, 114, 244, 350, 19, 20, 190, 380, 19, 20,
379, 134, 19, 20, 298, 298, 19, 20, 252, 253,
254, 344, 335, 299, 298, 75, 77, 298, 75, 77,
256, 89, 90, 72, 73, 74, 72, 73, 74, 378,
19, 20, 228, 243, 19, 20, 290, 87, 368, 89,
90, 376, 291, 294, 189, 300, 228, 303, 160, 113,
306, 292, 307, 119, 234, 320, 295, 305, 191, 189,
304, 266, 270, 273, 276, 279, 282, 285, 346, 347,
348, 229, 310, 363, 314, 316, 319, 321, 359, 208,
299, 322, 328, 324, 353, 75, 77, 76, 140, 333,
76, 243, 308, 72, 73, 74, 310, 351, 140, 247,
310, 331, 358, 243, 190, 336, 357, 338, 340, 134,
342, 113, 243, 318, 140, 243, 352, 341, 337, 134,
113, 234, 310, 354, 237, 317, 310, 222, 312, 243,
190, 148, 311, 221, 315, 134, 259, 245, 147, 334,
159, 126, 127, 125, 330, 135, 137, 301, 365, 366,
15, 242, 160, 113, 367, 364, 140, 76, 15, 161,
369, 370, 329, 128, 287, 129, 375, 161, 251, 250,
249, 136, 138, 139, 231, 18, 248, 134, 220, 75,
77, 382, 166, 383, 384, 15, 165, 72, 73, 74,
261, 302, 191, 189, 7, 164, 388, 94, 23, 24,
25, 38, 47, 48, 39, 41, 42, 40, 43, 44,
45, 46, 49, 26, 27, 234, 93, 86, 81, 390,
386, 356, 152, 28, 29, 30, 31, 32, 33, 34,
257, 309, 262, 35, 36, 37, 50, 21, 151, 231,
240, 153, 260, 246, 75, 77, 238, 75, 77, 14,
15, 76, 72, 73, 74, 72, 73, 74, 230, 7,
19, 20, 258, 23, 24, 25, 38, 47, 48, 39,
41, 42, 40, 43, 44, 45, 46, 49, 26, 27,
234, 385, 85, 234, 373, 372, 349, 339, 28, 29,
30, 31, 32, 33, 34, 83, 326, 327, 35, 36,
37, 50, 21, 296, 196, 163, 196, 255, 391, 194,
3, 168, 75, 77, 14, 15, 76, 92, 78, 76,
72, 73, 74, 91, 7, 19, 20, 389, 23, 24,
25, 38, 47, 48, 39, 41, 42, 40, 43, 44,
45, 46, 49, 26, 27, 377, 362, 361, 234, 332,
323, 149, 313, 28, 29, 30, 31, 32, 33, 34,
75, 77, 140, 35, 36, 37, 50, 21, 72, 73,
74, 325, 288, 227, 204, 202, 226, 225, 224, 14,
201, 199, 198, 134, 76, 95, 381, 355, 207, 196,
19, 20, 85, 204, 97, 96, 69, 192, 22, 82,
71, 131, 132, 141, 133, 126, 127, 125, 142, 135,
137, 17, 345, 16, 68, 124, 123, 122, 121, 120,
118, 117, 116, 115, 5, 13, 12, 128, 10, 129,
9, 8, 76, 1, 0, 136, 138, 139, 99, 100,
101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112,
}
var syntaxPact = [...]int{
358, -1000, -60, -1000, -1000, -1000, 535, 358, -1000, -1000,
-1000, -1000, -1000, -1000, 382, 467, 381, 201, -1000, 506,
500, 380, 361, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, 63, 63, 63, 63, 63, 63, 63, 63, 63,
63, 63, 63, 63, 63, 63, 535, -1000, 190, 547,
-45, 67, -1000, -1000, -1000, -1000, -1000, -1000, 301, 294,
-60, 358, 410, -1000, -1000, 74, 323, 488, 359, 350,
346, -1000, -1000, 358, 494, 358, 59, 39, -1000, 358,
358, 358, 358, 358, 358, 358, 358, 358, 358, 358,
358, 358, 358, -1000, -45, -1000, -1000, -1000, -1000, 165,
-1000, -1000, -1000, -1000, -1000, 491, 574, 566, -1000, 565,
-1000, -1000, -1000, -1000, 341, 564, -1000, 578, 573, 573,
61, -1000, -1000, 33, -1000, 342, -1000, -1000, -1000, 296,
-1000, -1000, -1000, 577, 562, 561, 560, 557, 234, 427,
419, 331, 287, 415, 423, 314, 300, 412, 262, -43,
340, 334, 333, 332, -31, -31, -27, -27, -77, -77,
-77, -77, -13, -13, -13, -13, -13, -13, 165, 341,
341, 341, 489, 399, -1000, -1000, 439, 399, -1000, -1000,
299, -1000, 411, -1000, 367, 401, -1000, 74, -1000, 401,
92, 86, 132, 128, 104, 100, 96, -1000, -62, 328,
556, -11, 358, -1000, -1000, -1000, -1000, -1000, -1000, 183,
331, 422, 144, 193, 283, 354, 220, 183, 358, 255,
400, 295, -1000, -1000, 291, -1000, 536, -1000, 297, 288,
276, 218, 273, 165, 150, -1000, 399, 574, 534, -1000,
559, 481, 573, 326, -1000, -1000, -1000, 308, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000,
-1000, -1000, -1000, -1000, -1000, -1000, 33, 533, 252, 303,
-1000, -1000, 175, 487, 66, 487, 468, 6, 341, 6,
143, 196, 466, 156, 260, -1000, -1000, 247, -1000, 358,
572, -1000, -1000, 390, 269, -1000, 265, -1000, -1000, 241,
-1000, 146, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 531,
530, -1000, 236, -1000, 331, 183, 66, 487, 66, -1000,
-1000, 165, -1000, 6, -1000, 202, -1000, -1000, -1000, 87,
465, 464, 153, 183, 204, -1000, 529, -1000, -1000, -1000,
-1000, 192, 163, -1000, 160, -1000, 66, -1000, 571, 91,
66, 32, 6, 6, 461, -1000, -1000, 389, -1000, -1000,
-1000, 137, 66, -1000, -1000, 6, 511, -1000, -1000, 388,
492, 130, -1000,
}
var syntaxPgo = [...]int{
0, 623, 18, 500, 3, 621, 620, 618, 616, 615,
614, 5, 613, 612, 611, 610, 609, 608, 607, 606,
605, 14, 112, 604, 4, 603, 602, 601, 102, 598,
594, 593, 8, 592, 591, 590, 6, 589, 7, 588,
15, 587, 575, 585, 584, 9, 16, 12, 565, 2,
10, 40, 13, 17, 1, 0, 541,
}
var syntaxR1 = [...]int{
0, 1, 2, 2, 2, 3, 3, 3, 4, 4,
4, 4, 4, 4, 4, 10, 50, 50, 50, 50,
50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
50, 50, 54, 54, 54, 26, 26, 26, 5, 5,
5, 5, 6, 6, 6, 6, 6, 6, 8, 38,
38, 38, 37, 37, 36, 36, 36, 36, 21, 21,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
11, 35, 35, 35, 35, 35, 35, 28, 24, 24,
24, 22, 22, 22, 23, 23, 41, 41, 12, 12,
13, 13, 13, 13, 14, 15, 15, 16, 17, 47,
47, 48, 48, 48, 18, 32, 32, 32, 32, 32,
32, 32, 32, 32, 52, 52, 53, 53, 34, 34,
33, 33, 31, 31, 31, 31, 31, 31, 31, 29,
29, 29, 29, 29, 29, 29, 30, 30, 30, 30,
30, 30, 30, 45, 45, 46, 46, 19, 20, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 43, 43, 44, 44, 44, 44,
42, 42, 42, 42, 42, 42, 42, 42, 51, 51,
51, 9, 39, 27, 27, 27, 27, 27, 27, 27,
27, 27, 27, 27, 27, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
55, 40, 40, 49, 49, 49, 49, 56, 56,
}
var syntaxR2 = [...]int{
0, 1, 1, 1, 1, 1, 2, 3, 1, 1,
1, 1, 1, 1, 3, 8, 2, 3, 4, 5,
3, 4, 5, 6, 3, 4, 5, 6, 3, 4,
5, 6, 4, 5, 6, 7, 3, 4, 4, 5,
3, 2, 3, 6, 3, 1, 1, 1, 4, 6,
5, 7, 4, 5, 5, 6, 7, 7, 12, 3,
3, 2, 1, 3, 3, 3, 3, 3, 1, 2,
1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 1, 1, 1, 1, 1, 1, 1, 1, 3,
4, 2, 5, 3, 1, 2, 1, 2, 1, 2,
1, 2, 1, 2, 2, 3, 2, 2, 1, 3,
3, 1, 3, 3, 2, 1, 1, 1, 1, 3,
2, 3, 3, 3, 3, 1, 1, 3, 6, 6,
1, 1, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 1, 1, 1, 3, 2, 2, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 0, 1, 5, 4, 5, 4,
1, 1, 2, 4, 5, 2, 4, 5, 1, 2,
2, 4, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2, 1, 3, 4, 4, 3, 3, 1, 3,
}
var syntaxChk = [...]int{
-1000, -1, -2, -3, -4, -10, -38, 26, -5, -6,
-7, -51, -8, -9, 81, 17, -25, -27, 7, 92,
93, 69, -39, 30, 31, 32, 45, 46, 55, 56,
57, 58, 59, 60, 61, 65, 66, 67, 33, 36,
39, 37, 38, 40, 41, 42, 43, 34, 35, 44,
68, 83, 84, 85, 92, 93, 94, 95, 96, 97,
86, 87, 90, 91, 88, 89, -21, -11, -23, 51,
-22, -35, 23, 24, 25, 15, 87, 16, -3, -4,
-2, 26, -37, 18, -36, 5, 26, 26, -49, 28,
29, 7, 7, 26, 26, -42, -43, -44, 47, -42,
-42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
-42, -42, -42, -11, -22, -12, -13, -14, -15, -32,
-16, -17, -18, -19, -20, 50, 48, 49, 70, 72,
-36, -34, -33, -30, 26, 52, 78, 53, 79, 80,
5, -31, -29, 83, 6, -28, 73, 27, 27, -56,
-4, 18, 2, 21, 13, 87, 14, 15, -50, 7,
-38, 26, -4, 7, 26, 26, 26, -4, 7, -2,
74, 75, 76, 77, -2, -2, -2, -2, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -2, -32, 84,
21, 83, -41, -53, 8, -52, 5, -53, 6, 6,
-32, 6, -48, -47, 5, -46, -45, 5, -36, -46,
13, 87, 90, 91, 88, 89, 86, -24, 6, -28,
26, 27, 21, -36, 6, 6, 6, 6, 2, 27,
21, 10, -54, -21, 51, -38, -50, 27, 21, -4,
7, -40, 27, 5, -40, 27, 21, 27, 26, 26,
26, 26, -32, -32, -32, 8, -53, 21, 13, 27,
21, 13, 21, 73, 9, 4, -51, 73, 9, 4,
-51, 9, 4, -51, 9, 4, -51, 9, 4, -51,
9, 4, -51, 9, 4, -51, 83, 26, 6, 82,
-4, -49, -50, -55, -54, -21, 71, 10, 51, 10,
-54, 54, 27, -54, -21, 27, -49, -4, 27, 21,
21, 27, 27, 6, -40, 27, -40, 27, 27, -40,
27, -40, -52, 6, -47, 2, 5, 6, -45, 26,
26, -24, 6, 27, 26, 27, -54, -21, -54, 9,
-55, -32, -55, 10, 5, -26, 62, 63, 64, 10,
27, 27, -54, 27, -4, 5, 21, 27, 27, 27,
27, 6, 6, 27, -50, -49, -54, -55, 26, -55,
-54, 51, 10, 10, 27, -49, 27, 6, 27, 27,
27, 5, -54, -55, -55, 10, 21, 27, -55, 6,
21, 6, 27,
}
var syntaxDef = [...]int{
0, -2, 1, 2, 3, 4, 5, 0, 8, 9,
10, 11, 12, 13, 0, 0, 0, 0, 188, 0,
0, 0, 0, 205, 206, 207, 208, 209, 210, 211,
212, 213, 214, 215, 216, 217, 218, 219, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
192, 174, 174, 174, 174, 174, 174, 174, 174, 174,
174, 174, 174, 174, 174, 174, 6, 68, 70, 0,
94, 0, 81, 82, 83, 84, 85, 86, 2, 3,
0, 0, 0, 61, 62, 0, 0, 0, 0, 0,
0, 189, 190, 0, 0, 0, 180, 181, 175, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 69, 95, 71, 72, 73, 74, 75,
76, 77, 78, 79, 80, 98, 100, 0, 102, 0,
115, 116, 117, 118, 0, 0, 108, 0, 0, 0,
0, 130, 131, 0, 91, 0, 87, 7, 14, 0,
-2, 59, 60, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3, 188, 0, 0, 0, 3, 0, 159,
0, 0, 182, 185, 160, 161, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 120, 0,
0, 0, 99, 106, 96, 126, 125, 104, 101, 103,
0, 107, 114, 111, 0, 157, 155, 153, 154, 158,
0, 0, 0, 0, 0, 0, 0, 93, 88, 0,
0, 0, 0, 63, 64, 65, 66, 67, 41, 48,
0, 16, 0, 0, 0, 0, 0, 52, 0, 3,
188, 0, 225, 221, 0, 226, 0, 191, 0, 0,
0, 0, 121, 122, 123, 97, 105, 0, 0, 119,
0, 0, 0, 0, 137, 144, 151, 0, 136, 143,
150, 132, 139, 146, 133, 140, 147, 134, 141, 148,
135, 142, 149, 138, 145, 152, 0, 0, 0, 0,
-2, 50, 0, 17, 20, 36, 0, 24, 0, 28,
0, 0, 0, 0, 0, 40, 54, 3, 53, 0,
0, 223, 224, 0, 0, 177, 0, 179, 183, 0,
186, 0, 127, 124, 112, 113, 109, 110, 156, 0,
0, 89, 0, 92, 0, 49, 21, 37, 38, 220,
25, 44, 29, 32, 42, 0, 45, 46, 47, 18,
0, 0, 0, 55, 3, 222, 0, 176, 178, 184,
187, 0, 0, 90, 0, 51, 39, 33, 0, 19,
22, 0, 26, 30, 0, 56, 57, 0, 128, 129,
15, 0, 23, 27, 31, 34, 0, 43, 35, 0,
0, 0, 58,
}
var syntaxTok1 = [...]int{
1,
}
var syntaxTok2 = [...]int{
2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, 93, 94, 95, 96, 97,
}
var syntaxTok3 = [...]int{
0,
}
var syntaxErrorMessages = [...]struct {
state int
token int
msg string
}{}
/* parser for yacc output */
var (
syntaxDebug = 0
syntaxErrorVerbose = false
)
type syntaxLexer interface {
Lex(lval *syntaxSymType) int
Error(s string)
}
type syntaxParser interface {
Parse(syntaxLexer) int
Lookahead() int
}
type syntaxParserImpl struct {
lval syntaxSymType
stack [syntaxInitialStackSize]syntaxSymType
char int
}
func (p *syntaxParserImpl) Lookahead() int {
return p.char
}
func syntaxNewParser() syntaxParser {
return &syntaxParserImpl{}
}
const syntaxFlag = -1000
func syntaxTokname(c int) string {
if c >= 1 && c-1 < len(syntaxToknames) {
if syntaxToknames[c-1] != "" {
return syntaxToknames[c-1]
}
}
return __yyfmt__.Sprintf("tok-%v", c)
}
func syntaxStatname(s int) string {
if s >= 0 && s < len(syntaxStatenames) {
if syntaxStatenames[s] != "" {
return syntaxStatenames[s]
}
}
return __yyfmt__.Sprintf("state-%v", s)
}
func syntaxErrorMessage(state, lookAhead int) string {
const TOKSTART = 4
if !syntaxErrorVerbose {
return "syntax error"
}
for _, e := range syntaxErrorMessages {
if e.state == state && e.token == lookAhead {
return "syntax error: " + e.msg
}
}
res := "syntax error: unexpected " + syntaxTokname(lookAhead)
// To match Bison, suggest at most four expected tokens.
expected := make([]int, 0, 4)
// Look for shiftable tokens.
base := syntaxPact[state]
for tok := TOKSTART; tok-1 < len(syntaxToknames); tok++ {
if n := base + tok; n >= 0 && n < syntaxLast && syntaxChk[syntaxAct[n]] == tok {
if len(expected) == cap(expected) {
return res
}
expected = append(expected, tok)
}
}
if syntaxDef[state] == -2 {
i := 0
for syntaxExca[i] != -1 || syntaxExca[i+1] != state {
i += 2
}
// Look for tokens that we accept or reduce.
for i += 2; syntaxExca[i] >= 0; i += 2 {
tok := syntaxExca[i]
if tok < TOKSTART || syntaxExca[i+1] == 0 {
continue
}
if len(expected) == cap(expected) {
return res
}
expected = append(expected, tok)
}
// If the default action is to accept or reduce, give up.
if syntaxExca[i+1] != 0 {
return res
}
}
for i, tok := range expected {
if i == 0 {
res += ", expecting "
} else {
res += " or "
}
res += syntaxTokname(tok)
}
return res
}
func syntaxlex1(lex syntaxLexer, lval *syntaxSymType) (char, token int) {
token = 0
char = lex.Lex(lval)
if char <= 0 {
token = syntaxTok1[0]
goto out
}
if char < len(syntaxTok1) {
token = syntaxTok1[char]
goto out
}
if char >= syntaxPrivate {
if char < syntaxPrivate+len(syntaxTok2) {
token = syntaxTok2[char-syntaxPrivate]
goto out
}
}
for i := 0; i < len(syntaxTok3); i += 2 {
token = syntaxTok3[i+0]
if token == char {
token = syntaxTok3[i+1]
goto out
}
}
out:
if token == 0 {
token = syntaxTok2[1] /* unknown char */
}
if syntaxDebug >= 3 {
__yyfmt__.Printf("lex %s(%d)\n", syntaxTokname(token), uint(char))
}
return char, token
}
func syntaxParse(syntaxlex syntaxLexer) int {
return syntaxNewParser().Parse(syntaxlex)
}
func (syntaxrcvr *syntaxParserImpl) Parse(syntaxlex syntaxLexer) int {
var syntaxn int
var syntaxVAL syntaxSymType
var syntaxDollar []syntaxSymType
_ = syntaxDollar // silence set and not used
syntaxS := syntaxrcvr.stack[:]
Nerrs := 0 /* number of errors */
Errflag := 0 /* error recovery flag */
syntaxstate := 0
syntaxrcvr.char = -1
syntaxtoken := -1 // syntaxrcvr.char translated into internal numbering
defer func() {
// Make sure we report no lookahead when not parsing.
syntaxstate = -1
syntaxrcvr.char = -1
syntaxtoken = -1
}()
syntaxp := -1
goto syntaxstack
ret0:
return 0
ret1:
return 1
syntaxstack:
/* put a state and value onto the stack */
if syntaxDebug >= 4 {
__yyfmt__.Printf("char %v in %v\n", syntaxTokname(syntaxtoken), syntaxStatname(syntaxstate))
}
syntaxp++
if syntaxp >= len(syntaxS) {
nyys := make([]syntaxSymType, len(syntaxS)*2)
copy(nyys, syntaxS)
syntaxS = nyys
}
syntaxS[syntaxp] = syntaxVAL
syntaxS[syntaxp].yys = syntaxstate
syntaxnewstate:
syntaxn = syntaxPact[syntaxstate]
if syntaxn <= syntaxFlag {
goto syntaxdefault /* simple state */
}
if syntaxrcvr.char < 0 {
syntaxrcvr.char, syntaxtoken = syntaxlex1(syntaxlex, &syntaxrcvr.lval)
}
syntaxn += syntaxtoken
if syntaxn < 0 || syntaxn >= syntaxLast {
goto syntaxdefault
}
syntaxn = syntaxAct[syntaxn]
if syntaxChk[syntaxn] == syntaxtoken { /* valid shift */
syntaxrcvr.char = -1
syntaxtoken = -1
syntaxVAL = syntaxrcvr.lval
syntaxstate = syntaxn
if Errflag > 0 {
Errflag--
}
goto syntaxstack
}
syntaxdefault:
/* default state action */
syntaxn = syntaxDef[syntaxstate]
if syntaxn == -2 {
if syntaxrcvr.char < 0 {
syntaxrcvr.char, syntaxtoken = syntaxlex1(syntaxlex, &syntaxrcvr.lval)
}
/* look through exception table */
xi := 0
for {
if syntaxExca[xi+0] == -1 && syntaxExca[xi+1] == syntaxstate {
break
}
xi += 2
}
for xi += 2; ; xi += 2 {
syntaxn = syntaxExca[xi+0]
if syntaxn < 0 || syntaxn == syntaxtoken {
break
}
}
syntaxn = syntaxExca[xi+1]
if syntaxn < 0 {
goto ret0
}
}
if syntaxn == 0 {
/* error ... attempt to resume parsing */
switch Errflag {
case 0: /* brand new error */
syntaxlex.Error(syntaxErrorMessage(syntaxstate, syntaxtoken))
Nerrs++
if syntaxDebug >= 1 {
__yyfmt__.Printf("%s", syntaxStatname(syntaxstate))
__yyfmt__.Printf(" saw %s\n", syntaxTokname(syntaxtoken))
}
fallthrough
case 1, 2: /* incompletely recovered error ... try again */
Errflag = 3
/* find a state where "error" is a legal shift action */
for syntaxp >= 0 {
syntaxn = syntaxPact[syntaxS[syntaxp].yys] + syntaxErrCode
if syntaxn >= 0 && syntaxn < syntaxLast {
syntaxstate = syntaxAct[syntaxn] /* simulate a shift of "error" */
if syntaxChk[syntaxstate] == syntaxErrCode {
goto syntaxstack
}
}
/* the current p has no shift on "error", pop stack */
if syntaxDebug >= 2 {
__yyfmt__.Printf("error recovery pops state %d\n", syntaxS[syntaxp].yys)
}
syntaxp--
}
/* there is no state on the stack with an error shift ... abort */
goto ret1
case 3: /* no shift yet; clobber input char */
if syntaxDebug >= 2 {
__yyfmt__.Printf("error recovery discards %s\n", syntaxTokname(syntaxtoken))
}
if syntaxtoken == syntaxEofCode {
goto ret1
}
syntaxrcvr.char = -1
syntaxtoken = -1
goto syntaxnewstate /* try again in the same state */
}
}
/* reduction by production syntaxn */
if syntaxDebug >= 2 {
__yyfmt__.Printf("reduce %v in:\n\t%v\n", syntaxn, syntaxStatname(syntaxstate))
}
syntaxnt := syntaxn
syntaxpt := syntaxp
_ = syntaxpt // guard against "declared and not used"
syntaxp -= syntaxR2[syntaxn]
// syntaxp is now the index of $0. Perform the default action. Iff the
// reduced production is ε, $1 is possibly out of range.
if syntaxp+1 >= len(syntaxS) {
nyys := make([]syntaxSymType, len(syntaxS)*2)
copy(nyys, syntaxS)
syntaxS = nyys
}
syntaxVAL = syntaxS[syntaxp+1]
/* consult goto table to find next state */
syntaxn = syntaxR1[syntaxn]
syntaxg := syntaxPgo[syntaxn]
syntaxj := syntaxg + syntaxS[syntaxp].yys + 1
if syntaxj >= syntaxLast {
syntaxstate = syntaxAct[syntaxg]
} else {
syntaxstate = syntaxAct[syntaxj]
if syntaxChk[syntaxstate] != -syntaxn {
syntaxstate = syntaxAct[syntaxg]
}
}
// dummy call; replaced with literal code
switch syntaxnt {
case 1:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxlex.(*parser).expr = syntaxDollar[1].expr
}
case 2:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.expr = syntaxDollar[1].logExpr
}
case 3:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.expr = syntaxDollar[1].metricExpr
}
case 4:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.expr = syntaxDollar[1].variantsExpr
}
case 5:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.logExpr = newMatcherExpr(syntaxDollar[1].matchers)
}
case 6:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.logExpr = newPipelineExpr(newMatcherExpr(syntaxDollar[1].matchers), syntaxDollar[2].stages)
}
case 7:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.logExpr = syntaxDollar[2].logExpr
}
case 8:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.metricExpr = syntaxDollar[1].metricExpr
}
case 9:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.metricExpr = syntaxDollar[1].metricExpr
}
case 10:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.metricExpr = syntaxDollar[1].metricExpr
}
case 11:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.metricExpr = syntaxDollar[1].literalExpr
}
case 12:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.metricExpr = syntaxDollar[1].metricExpr
}
case 13:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.metricExpr = syntaxDollar[1].metricExpr
}
case 14:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.metricExpr = syntaxDollar[2].metricExpr
}
case 15:
syntaxDollar = syntaxS[syntaxpt-8 : syntaxpt+1]
{
syntaxVAL.variantsExpr = newVariantsExpr(syntaxDollar[3].metricExprs, syntaxDollar[7].logRangeExpr)
}
case 16:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newMatcherExpr(syntaxDollar[1].matchers), syntaxDollar[2].dur, nil, nil)
}
case 17:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newMatcherExpr(syntaxDollar[1].matchers), syntaxDollar[2].dur, nil, syntaxDollar[3].offsetExpr)
}
case 18:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newMatcherExpr(syntaxDollar[2].matchers), syntaxDollar[4].dur, nil, nil)
}
case 19:
syntaxDollar = syntaxS[syntaxpt-5 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newMatcherExpr(syntaxDollar[2].matchers), syntaxDollar[4].dur, nil, syntaxDollar[5].offsetExpr)
}
case 20:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newMatcherExpr(syntaxDollar[1].matchers), syntaxDollar[2].dur, syntaxDollar[3].unwrapExpr, nil)
}
case 21:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newMatcherExpr(syntaxDollar[1].matchers), syntaxDollar[2].dur, syntaxDollar[4].unwrapExpr, syntaxDollar[3].offsetExpr)
}
case 22:
syntaxDollar = syntaxS[syntaxpt-5 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newMatcherExpr(syntaxDollar[2].matchers), syntaxDollar[4].dur, syntaxDollar[5].unwrapExpr, nil)
}
case 23:
syntaxDollar = syntaxS[syntaxpt-6 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newMatcherExpr(syntaxDollar[2].matchers), syntaxDollar[4].dur, syntaxDollar[6].unwrapExpr, syntaxDollar[5].offsetExpr)
}
case 24:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newMatcherExpr(syntaxDollar[1].matchers), syntaxDollar[3].dur, syntaxDollar[2].unwrapExpr, nil)
}
case 25:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newMatcherExpr(syntaxDollar[1].matchers), syntaxDollar[3].dur, syntaxDollar[2].unwrapExpr, syntaxDollar[4].offsetExpr)
}
case 26:
syntaxDollar = syntaxS[syntaxpt-5 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newMatcherExpr(syntaxDollar[2].matchers), syntaxDollar[5].dur, syntaxDollar[3].unwrapExpr, nil)
}
case 27:
syntaxDollar = syntaxS[syntaxpt-6 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newMatcherExpr(syntaxDollar[2].matchers), syntaxDollar[5].dur, syntaxDollar[3].unwrapExpr, syntaxDollar[6].offsetExpr)
}
case 28:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newPipelineExpr(newMatcherExpr(syntaxDollar[1].matchers), syntaxDollar[2].stages), syntaxDollar[3].dur, nil, nil)
}
case 29:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newPipelineExpr(newMatcherExpr(syntaxDollar[1].matchers), syntaxDollar[2].stages), syntaxDollar[3].dur, nil, syntaxDollar[4].offsetExpr)
}
case 30:
syntaxDollar = syntaxS[syntaxpt-5 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newPipelineExpr(newMatcherExpr(syntaxDollar[2].matchers), syntaxDollar[3].stages), syntaxDollar[5].dur, nil, nil)
}
case 31:
syntaxDollar = syntaxS[syntaxpt-6 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newPipelineExpr(newMatcherExpr(syntaxDollar[2].matchers), syntaxDollar[3].stages), syntaxDollar[5].dur, nil, syntaxDollar[6].offsetExpr)
}
case 32:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newPipelineExpr(newMatcherExpr(syntaxDollar[1].matchers), syntaxDollar[2].stages), syntaxDollar[4].dur, syntaxDollar[3].unwrapExpr, nil)
}
case 33:
syntaxDollar = syntaxS[syntaxpt-5 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newPipelineExpr(newMatcherExpr(syntaxDollar[1].matchers), syntaxDollar[2].stages), syntaxDollar[4].dur, syntaxDollar[3].unwrapExpr, syntaxDollar[5].offsetExpr)
}
case 34:
syntaxDollar = syntaxS[syntaxpt-6 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newPipelineExpr(newMatcherExpr(syntaxDollar[2].matchers), syntaxDollar[3].stages), syntaxDollar[6].dur, syntaxDollar[4].unwrapExpr, nil)
}
case 35:
syntaxDollar = syntaxS[syntaxpt-7 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newPipelineExpr(newMatcherExpr(syntaxDollar[2].matchers), syntaxDollar[3].stages), syntaxDollar[6].dur, syntaxDollar[4].unwrapExpr, syntaxDollar[7].offsetExpr)
}
case 36:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newPipelineExpr(newMatcherExpr(syntaxDollar[1].matchers), syntaxDollar[3].stages), syntaxDollar[2].dur, nil, nil)
}
case 37:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newPipelineExpr(newMatcherExpr(syntaxDollar[1].matchers), syntaxDollar[4].stages), syntaxDollar[2].dur, nil, syntaxDollar[3].offsetExpr)
}
case 38:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newPipelineExpr(newMatcherExpr(syntaxDollar[1].matchers), syntaxDollar[3].stages), syntaxDollar[2].dur, syntaxDollar[4].unwrapExpr, nil)
}
case 39:
syntaxDollar = syntaxS[syntaxpt-5 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = newLogRange(newPipelineExpr(newMatcherExpr(syntaxDollar[1].matchers), syntaxDollar[4].stages), syntaxDollar[2].dur, syntaxDollar[5].unwrapExpr, syntaxDollar[3].offsetExpr)
}
case 40:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.logRangeExpr = syntaxDollar[2].logRangeExpr
}
case 42:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.unwrapExpr = newUnwrapExpr(syntaxDollar[3].str, "")
}
case 43:
syntaxDollar = syntaxS[syntaxpt-6 : syntaxpt+1]
{
syntaxVAL.unwrapExpr = newUnwrapExpr(syntaxDollar[5].str, syntaxDollar[3].op)
}
case 44:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.unwrapExpr = syntaxDollar[1].unwrapExpr.addPostFilter(syntaxDollar[3].filterer)
}
case 45:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpConvBytes
}
case 46:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpConvDuration
}
case 47:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpConvDurationSeconds
}
case 48:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.metricExpr = newRangeAggregationExpr(syntaxDollar[3].logRangeExpr, syntaxDollar[1].op, nil, nil)
}
case 49:
syntaxDollar = syntaxS[syntaxpt-6 : syntaxpt+1]
{
syntaxVAL.metricExpr = newRangeAggregationExpr(syntaxDollar[5].logRangeExpr, syntaxDollar[1].op, nil, &syntaxDollar[3].str)
}
case 50:
syntaxDollar = syntaxS[syntaxpt-5 : syntaxpt+1]
{
syntaxVAL.metricExpr = newRangeAggregationExpr(syntaxDollar[3].logRangeExpr, syntaxDollar[1].op, syntaxDollar[5].grouping, nil)
}
case 51:
syntaxDollar = syntaxS[syntaxpt-7 : syntaxpt+1]
{
syntaxVAL.metricExpr = newRangeAggregationExpr(syntaxDollar[5].logRangeExpr, syntaxDollar[1].op, syntaxDollar[7].grouping, &syntaxDollar[3].str)
}
case 52:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.metricExpr = mustNewVectorAggregationExpr(syntaxDollar[3].metricExpr, syntaxDollar[1].op, nil, nil)
}
case 53:
syntaxDollar = syntaxS[syntaxpt-5 : syntaxpt+1]
{
syntaxVAL.metricExpr = mustNewVectorAggregationExpr(syntaxDollar[4].metricExpr, syntaxDollar[1].op, syntaxDollar[2].grouping, nil)
}
case 54:
syntaxDollar = syntaxS[syntaxpt-5 : syntaxpt+1]
{
syntaxVAL.metricExpr = mustNewVectorAggregationExpr(syntaxDollar[3].metricExpr, syntaxDollar[1].op, syntaxDollar[5].grouping, nil)
}
case 55:
syntaxDollar = syntaxS[syntaxpt-6 : syntaxpt+1]
{
syntaxVAL.metricExpr = mustNewVectorAggregationExpr(syntaxDollar[5].metricExpr, syntaxDollar[1].op, nil, &syntaxDollar[3].str)
}
case 56:
syntaxDollar = syntaxS[syntaxpt-7 : syntaxpt+1]
{
syntaxVAL.metricExpr = mustNewVectorAggregationExpr(syntaxDollar[5].metricExpr, syntaxDollar[1].op, syntaxDollar[7].grouping, &syntaxDollar[3].str)
}
case 57:
syntaxDollar = syntaxS[syntaxpt-7 : syntaxpt+1]
{
syntaxVAL.metricExpr = mustNewVectorAggregationExpr(syntaxDollar[6].metricExpr, syntaxDollar[1].op, syntaxDollar[2].grouping, &syntaxDollar[4].str)
}
case 58:
syntaxDollar = syntaxS[syntaxpt-12 : syntaxpt+1]
{
syntaxVAL.metricExpr = mustNewLabelReplaceExpr(syntaxDollar[3].metricExpr, syntaxDollar[5].str, syntaxDollar[7].str, syntaxDollar[9].str, syntaxDollar[11].str)
}
case 59:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.matchers = syntaxDollar[2].matchers
}
case 60:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.matchers = syntaxDollar[2].matchers
}
case 61:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
}
case 62:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.matchers = []*labels.Matcher{syntaxDollar[1].matcher}
}
case 63:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.matchers = append(syntaxDollar[1].matchers, syntaxDollar[3].matcher)
}
case 64:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.matcher = mustNewMatcher(labels.MatchEqual, syntaxDollar[1].str, syntaxDollar[3].str)
}
case 65:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.matcher = mustNewMatcher(labels.MatchNotEqual, syntaxDollar[1].str, syntaxDollar[3].str)
}
case 66:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.matcher = mustNewMatcher(labels.MatchRegexp, syntaxDollar[1].str, syntaxDollar[3].str)
}
case 67:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.matcher = mustNewMatcher(labels.MatchNotRegexp, syntaxDollar[1].str, syntaxDollar[3].str)
}
case 68:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.stages = MultiStageExpr{syntaxDollar[1].stage}
}
case 69:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.stages = append(syntaxDollar[1].stages, syntaxDollar[2].stage)
}
case 70:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.stage = syntaxDollar[1].lineFilterExpr
}
case 71:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.stage = syntaxDollar[2].stage
}
case 72:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.stage = syntaxDollar[2].stage
}
case 73:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.stage = syntaxDollar[2].stage
}
case 74:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.stage = syntaxDollar[2].stage
}
case 75:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.stage = &LabelFilterExpr{LabelFilterer: syntaxDollar[2].filterer}
}
case 76:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.stage = syntaxDollar[2].stage
}
case 77:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.stage = syntaxDollar[2].stage
}
case 78:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.stage = syntaxDollar[2].stage
}
case 79:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.stage = syntaxDollar[2].stage
}
case 80:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.stage = syntaxDollar[2].stage
}
case 81:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.filter = log.LineMatchRegexp
}
case 82:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.filter = log.LineMatchEqual
}
case 83:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.filter = log.LineMatchPattern
}
case 84:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.filter = log.LineMatchNotRegexp
}
case 85:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.filter = log.LineMatchNotEqual
}
case 86:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.filter = log.LineMatchNotPattern
}
case 87:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpFilterIP
}
case 88:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.lineFilterExpr = newLineFilterExpr(log.LineMatchEqual, "", syntaxDollar[1].str)
}
case 89:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.lineFilterExpr = newOrLineFilterExpr(newLineFilterExpr(log.LineMatchEqual, "", syntaxDollar[1].str), syntaxDollar[3].lineFilterExpr)
}
case 90:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.lineFilterExpr = newLineFilterExpr(log.LineMatchEqual, syntaxDollar[1].op, syntaxDollar[3].str)
}
case 91:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.lineFilterExpr = newLineFilterExpr(syntaxDollar[1].filter, "", syntaxDollar[2].str)
}
case 92:
syntaxDollar = syntaxS[syntaxpt-5 : syntaxpt+1]
{
syntaxVAL.lineFilterExpr = newLineFilterExpr(syntaxDollar[1].filter, syntaxDollar[2].op, syntaxDollar[4].str)
}
case 93:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.lineFilterExpr = newOrLineFilterExpr(syntaxDollar[1].lineFilterExpr, syntaxDollar[3].lineFilterExpr)
}
case 94:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.lineFilterExpr = syntaxDollar[1].lineFilterExpr
}
case 95:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.lineFilterExpr = newNestedLineFilterExpr(syntaxDollar[1].lineFilterExpr, syntaxDollar[2].lineFilterExpr)
}
case 96:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.strs = []string{syntaxDollar[1].str}
}
case 97:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.strs = append(syntaxDollar[1].strs, syntaxDollar[2].str)
}
case 98:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.stage = newLogfmtParserExpr(nil)
}
case 99:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.stage = newLogfmtParserExpr(syntaxDollar[2].strs)
}
case 100:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.stage = newLabelParserExpr(OpParserTypeJSON, "")
}
case 101:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.stage = newLabelParserExpr(OpParserTypeRegexp, syntaxDollar[2].str)
}
case 102:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.stage = newLabelParserExpr(OpParserTypeUnpack, "")
}
case 103:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.stage = newLabelParserExpr(OpParserTypePattern, syntaxDollar[2].str)
}
case 104:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.stage = newJSONExpressionParser(syntaxDollar[2].labelExtractionExpressionList)
}
case 105:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.stage = newLogfmtExpressionParser(syntaxDollar[3].labelExtractionExpressionList, syntaxDollar[2].strs)
}
case 106:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.stage = newLogfmtExpressionParser(syntaxDollar[2].labelExtractionExpressionList, nil)
}
case 107:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.stage = newLineFmtExpr(syntaxDollar[2].str)
}
case 108:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.stage = newDecolorizeExpr()
}
case 109:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.labelFormat = log.NewRenameLabelFmt(syntaxDollar[1].str, syntaxDollar[3].str)
}
case 110:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.labelFormat = log.NewTemplateLabelFmt(syntaxDollar[1].str, syntaxDollar[3].str)
}
case 111:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.labelsFormat = []log.LabelFmt{syntaxDollar[1].labelFormat}
}
case 112:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.labelsFormat = append(syntaxDollar[1].labelsFormat, syntaxDollar[3].labelFormat)
}
case 114:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.stage = newLabelFmtExpr(syntaxDollar[2].labelsFormat)
}
case 115:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewStringLabelFilter(syntaxDollar[1].matcher)
}
case 116:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.filterer = syntaxDollar[1].filterer
}
case 117:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.filterer = syntaxDollar[1].filterer
}
case 118:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.filterer = syntaxDollar[1].filterer
}
case 119:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = syntaxDollar[2].filterer
}
case 120:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewAndLabelFilter(syntaxDollar[1].filterer, syntaxDollar[2].filterer)
}
case 121:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewAndLabelFilter(syntaxDollar[1].filterer, syntaxDollar[3].filterer)
}
case 122:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewAndLabelFilter(syntaxDollar[1].filterer, syntaxDollar[3].filterer)
}
case 123:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewOrLabelFilter(syntaxDollar[1].filterer, syntaxDollar[3].filterer)
}
case 124:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.labelExtractionExpression = log.NewLabelExtractionExpr(syntaxDollar[1].str, syntaxDollar[3].str)
}
case 125:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.labelExtractionExpression = log.NewLabelExtractionExpr(syntaxDollar[1].str, syntaxDollar[1].str)
}
case 126:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.labelExtractionExpressionList = []log.LabelExtractionExpr{syntaxDollar[1].labelExtractionExpression}
}
case 127:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.labelExtractionExpressionList = append(syntaxDollar[1].labelExtractionExpressionList, syntaxDollar[3].labelExtractionExpression)
}
case 128:
syntaxDollar = syntaxS[syntaxpt-6 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewIPLabelFilter(syntaxDollar[5].str, syntaxDollar[1].str, log.LabelFilterEqual)
}
case 129:
syntaxDollar = syntaxS[syntaxpt-6 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewIPLabelFilter(syntaxDollar[5].str, syntaxDollar[1].str, log.LabelFilterNotEqual)
}
case 130:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.filterer = syntaxDollar[1].filterer
}
case 131:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.filterer = syntaxDollar[1].filterer
}
case 132:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewDurationLabelFilter(log.LabelFilterGreaterThan, syntaxDollar[1].str, syntaxDollar[3].dur)
}
case 133:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewDurationLabelFilter(log.LabelFilterGreaterThanOrEqual, syntaxDollar[1].str, syntaxDollar[3].dur)
}
case 134:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewDurationLabelFilter(log.LabelFilterLesserThan, syntaxDollar[1].str, syntaxDollar[3].dur)
}
case 135:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewDurationLabelFilter(log.LabelFilterLesserThanOrEqual, syntaxDollar[1].str, syntaxDollar[3].dur)
}
case 136:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewDurationLabelFilter(log.LabelFilterNotEqual, syntaxDollar[1].str, syntaxDollar[3].dur)
}
case 137:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewDurationLabelFilter(log.LabelFilterEqual, syntaxDollar[1].str, syntaxDollar[3].dur)
}
case 138:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewDurationLabelFilter(log.LabelFilterEqual, syntaxDollar[1].str, syntaxDollar[3].dur)
}
case 139:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewBytesLabelFilter(log.LabelFilterGreaterThan, syntaxDollar[1].str, syntaxDollar[3].bytes)
}
case 140:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewBytesLabelFilter(log.LabelFilterGreaterThanOrEqual, syntaxDollar[1].str, syntaxDollar[3].bytes)
}
case 141:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewBytesLabelFilter(log.LabelFilterLesserThan, syntaxDollar[1].str, syntaxDollar[3].bytes)
}
case 142:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewBytesLabelFilter(log.LabelFilterLesserThanOrEqual, syntaxDollar[1].str, syntaxDollar[3].bytes)
}
case 143:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewBytesLabelFilter(log.LabelFilterNotEqual, syntaxDollar[1].str, syntaxDollar[3].bytes)
}
case 144:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewBytesLabelFilter(log.LabelFilterEqual, syntaxDollar[1].str, syntaxDollar[3].bytes)
}
case 145:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewBytesLabelFilter(log.LabelFilterEqual, syntaxDollar[1].str, syntaxDollar[3].bytes)
}
case 146:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewNumericLabelFilter(log.LabelFilterGreaterThan, syntaxDollar[1].str, syntaxDollar[3].literalExpr.Val)
}
case 147:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewNumericLabelFilter(log.LabelFilterGreaterThanOrEqual, syntaxDollar[1].str, syntaxDollar[3].literalExpr.Val)
}
case 148:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewNumericLabelFilter(log.LabelFilterLesserThan, syntaxDollar[1].str, syntaxDollar[3].literalExpr.Val)
}
case 149:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewNumericLabelFilter(log.LabelFilterLesserThanOrEqual, syntaxDollar[1].str, syntaxDollar[3].literalExpr.Val)
}
case 150:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewNumericLabelFilter(log.LabelFilterNotEqual, syntaxDollar[1].str, syntaxDollar[3].literalExpr.Val)
}
case 151:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewNumericLabelFilter(log.LabelFilterEqual, syntaxDollar[1].str, syntaxDollar[3].literalExpr.Val)
}
case 152:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.filterer = log.NewNumericLabelFilter(log.LabelFilterEqual, syntaxDollar[1].str, syntaxDollar[3].literalExpr.Val)
}
case 153:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.namedMatcher = log.NewNamedLabelMatcher(nil, syntaxDollar[1].str)
}
case 154:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.namedMatcher = log.NewNamedLabelMatcher(syntaxDollar[1].matcher, "")
}
case 155:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.namedMatchers = []log.NamedLabelMatcher{syntaxDollar[1].namedMatcher}
}
case 156:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.namedMatchers = append(syntaxDollar[1].namedMatchers, syntaxDollar[3].namedMatcher)
}
case 157:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.stage = newDropLabelsExpr(syntaxDollar[2].namedMatchers)
}
case 158:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.stage = newKeepLabelsExpr(syntaxDollar[2].namedMatchers)
}
case 159:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.metricExpr = mustNewBinOpExpr("or", syntaxDollar[3].binOpts, syntaxDollar[1].expr, syntaxDollar[4].expr)
}
case 160:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.metricExpr = mustNewBinOpExpr("and", syntaxDollar[3].binOpts, syntaxDollar[1].expr, syntaxDollar[4].expr)
}
case 161:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.metricExpr = mustNewBinOpExpr("unless", syntaxDollar[3].binOpts, syntaxDollar[1].expr, syntaxDollar[4].expr)
}
case 162:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.metricExpr = mustNewBinOpExpr("+", syntaxDollar[3].binOpts, syntaxDollar[1].expr, syntaxDollar[4].expr)
}
case 163:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.metricExpr = mustNewBinOpExpr("-", syntaxDollar[3].binOpts, syntaxDollar[1].expr, syntaxDollar[4].expr)
}
case 164:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.metricExpr = mustNewBinOpExpr("*", syntaxDollar[3].binOpts, syntaxDollar[1].expr, syntaxDollar[4].expr)
}
case 165:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.metricExpr = mustNewBinOpExpr("/", syntaxDollar[3].binOpts, syntaxDollar[1].expr, syntaxDollar[4].expr)
}
case 166:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.metricExpr = mustNewBinOpExpr("%", syntaxDollar[3].binOpts, syntaxDollar[1].expr, syntaxDollar[4].expr)
}
case 167:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.metricExpr = mustNewBinOpExpr("^", syntaxDollar[3].binOpts, syntaxDollar[1].expr, syntaxDollar[4].expr)
}
case 168:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.metricExpr = mustNewBinOpExpr("==", syntaxDollar[3].binOpts, syntaxDollar[1].expr, syntaxDollar[4].expr)
}
case 169:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.metricExpr = mustNewBinOpExpr("!=", syntaxDollar[3].binOpts, syntaxDollar[1].expr, syntaxDollar[4].expr)
}
case 170:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.metricExpr = mustNewBinOpExpr(">", syntaxDollar[3].binOpts, syntaxDollar[1].expr, syntaxDollar[4].expr)
}
case 171:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.metricExpr = mustNewBinOpExpr(">=", syntaxDollar[3].binOpts, syntaxDollar[1].expr, syntaxDollar[4].expr)
}
case 172:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.metricExpr = mustNewBinOpExpr("<", syntaxDollar[3].binOpts, syntaxDollar[1].expr, syntaxDollar[4].expr)
}
case 173:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.metricExpr = mustNewBinOpExpr("<=", syntaxDollar[3].binOpts, syntaxDollar[1].expr, syntaxDollar[4].expr)
}
case 174:
syntaxDollar = syntaxS[syntaxpt-0 : syntaxpt+1]
{
syntaxVAL.binOpts = &BinOpOptions{VectorMatching: &VectorMatching{Card: CardOneToOne}}
}
case 175:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.binOpts = &BinOpOptions{VectorMatching: &VectorMatching{Card: CardOneToOne}, ReturnBool: true}
}
case 176:
syntaxDollar = syntaxS[syntaxpt-5 : syntaxpt+1]
{
syntaxVAL.binOpts = syntaxDollar[1].binOpts
syntaxVAL.binOpts.VectorMatching.On = true
syntaxVAL.binOpts.VectorMatching.MatchingLabels = syntaxDollar[4].strs
}
case 177:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.binOpts = syntaxDollar[1].binOpts
syntaxVAL.binOpts.VectorMatching.On = true
}
case 178:
syntaxDollar = syntaxS[syntaxpt-5 : syntaxpt+1]
{
syntaxVAL.binOpts = syntaxDollar[1].binOpts
syntaxVAL.binOpts.VectorMatching.MatchingLabels = syntaxDollar[4].strs
}
case 179:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.binOpts = syntaxDollar[1].binOpts
}
case 180:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.binOpts = syntaxDollar[1].binOpts
}
case 181:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.binOpts = syntaxDollar[1].binOpts
}
case 182:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.binOpts = syntaxDollar[1].binOpts
syntaxVAL.binOpts.VectorMatching.Card = CardManyToOne
}
case 183:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.binOpts = syntaxDollar[1].binOpts
syntaxVAL.binOpts.VectorMatching.Card = CardManyToOne
}
case 184:
syntaxDollar = syntaxS[syntaxpt-5 : syntaxpt+1]
{
syntaxVAL.binOpts = syntaxDollar[1].binOpts
syntaxVAL.binOpts.VectorMatching.Card = CardManyToOne
syntaxVAL.binOpts.VectorMatching.Include = syntaxDollar[4].strs
}
case 185:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.binOpts = syntaxDollar[1].binOpts
syntaxVAL.binOpts.VectorMatching.Card = CardOneToMany
}
case 186:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.binOpts = syntaxDollar[1].binOpts
syntaxVAL.binOpts.VectorMatching.Card = CardOneToMany
}
case 187:
syntaxDollar = syntaxS[syntaxpt-5 : syntaxpt+1]
{
syntaxVAL.binOpts = syntaxDollar[1].binOpts
syntaxVAL.binOpts.VectorMatching.Card = CardOneToMany
syntaxVAL.binOpts.VectorMatching.Include = syntaxDollar[4].strs
}
case 188:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.literalExpr = mustNewLiteralExpr(syntaxDollar[1].str, false)
}
case 189:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.literalExpr = mustNewLiteralExpr(syntaxDollar[2].str, false)
}
case 190:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.literalExpr = mustNewLiteralExpr(syntaxDollar[2].str, true)
}
case 191:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.metricExpr = NewVectorExpr(syntaxDollar[3].str)
}
case 192:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.str = OpTypeVector
}
case 193:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpTypeSum
}
case 194:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpTypeAvg
}
case 195:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpTypeCount
}
case 196:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpTypeMax
}
case 197:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpTypeMin
}
case 198:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpTypeStddev
}
case 199:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpTypeStdvar
}
case 200:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpTypeBottomK
}
case 201:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpTypeTopK
}
case 202:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpTypeSort
}
case 203:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpTypeSortDesc
}
case 204:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpTypeApproxTopK
}
case 205:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpRangeTypeCount
}
case 206:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpRangeTypeRate
}
case 207:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpRangeTypeRateCounter
}
case 208:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpRangeTypeBytes
}
case 209:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpRangeTypeBytesRate
}
case 210:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpRangeTypeAvg
}
case 211:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpRangeTypeSum
}
case 212:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpRangeTypeMin
}
case 213:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpRangeTypeMax
}
case 214:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpRangeTypeStdvar
}
case 215:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpRangeTypeStddev
}
case 216:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpRangeTypeQuantile
}
case 217:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpRangeTypeFirst
}
case 218:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpRangeTypeLast
}
case 219:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.op = OpRangeTypeAbsent
}
case 220:
syntaxDollar = syntaxS[syntaxpt-2 : syntaxpt+1]
{
syntaxVAL.offsetExpr = newOffsetExpr(syntaxDollar[2].dur)
}
case 221:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.strs = []string{syntaxDollar[1].str}
}
case 222:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.strs = append(syntaxDollar[1].strs, syntaxDollar[3].str)
}
case 223:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.grouping = &Grouping{Without: false, Groups: syntaxDollar[3].strs}
}
case 224:
syntaxDollar = syntaxS[syntaxpt-4 : syntaxpt+1]
{
syntaxVAL.grouping = &Grouping{Without: true, Groups: syntaxDollar[3].strs}
}
case 225:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.grouping = &Grouping{Without: false, Groups: nil}
}
case 226:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.grouping = &Grouping{Without: true, Groups: nil}
}
case 227:
syntaxDollar = syntaxS[syntaxpt-1 : syntaxpt+1]
{
syntaxVAL.metricExprs = []SampleExpr{syntaxDollar[1].metricExpr}
}
case 228:
syntaxDollar = syntaxS[syntaxpt-3 : syntaxpt+1]
{
syntaxVAL.metricExprs = append(syntaxDollar[1].metricExprs, syntaxDollar[3].metricExpr)
}
}
goto syntaxstack /* stack new state and value */
}