mirror of https://github.com/grafana/loki
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.
2025 lines
58 KiB
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 */
|
|
}
|
|
|