diff --git a/promql/parser/generated_parser.y b/promql/parser/generated_parser.y index c04f32f2b8..de69ce51f1 100644 --- a/promql/parser/generated_parser.y +++ b/promql/parser/generated_parser.y @@ -176,6 +176,7 @@ START_METRIC_SELECTOR %type number series_value signed_number signed_or_unsigned_number %type step_invariant_expr aggregate_expr aggregate_modifier bin_modifier binary_expr bool_modifier expr function_call function_call_args function_call_body group_modifiers label_matchers matrix_selector number_literal offset_expr on_or_ignoring paren_expr string_literal subquery_expr unary_expr vector_selector %type duration maybe_duration +%type range_duration %start start diff --git a/promql/parser/generated_parser.y.go b/promql/parser/generated_parser.y.go index 3075b9b1b1..f8b88bf401 100644 --- a/promql/parser/generated_parser.y.go +++ b/promql/parser/generated_parser.y.go @@ -15,23 +15,24 @@ import ( ) type yySymType struct { - yys int - node Node - item Item - matchers []*labels.Matcher - matcher *labels.Matcher - label labels.Label - labels labels.Labels - lblList []labels.Label - strings []string - series []SequenceValue - histogram *histogram.FloatHistogram - descriptors map[string]interface{} - bucket_set []float64 - int int64 - uint uint64 - float float64 - duration time.Duration + yys int + node Node + item Item + matchers []*labels.Matcher + matcher *labels.Matcher + label labels.Label + labels labels.Labels + lblList []labels.Label + strings []string + series []SequenceValue + histogram *histogram.FloatHistogram + descriptors map[string]interface{} + bucket_set []float64 + int int64 + uint uint64 + float float64 + duration time.Duration + range_duration rangeDuration } const EQL = 57346 @@ -306,203 +307,201 @@ var yyExca = [...]int16{ 75, 182, 81, 182, -2, 118, - -1, 195, - 12, 230, - 13, 230, - 18, 230, - 19, 230, - 25, 230, - 39, 230, - 45, 230, - 46, 230, - 49, 230, - 55, 230, - 60, 230, - 61, 230, - 62, 230, - 63, 230, - 64, 230, - 65, 230, - 66, 230, - 67, 230, - 68, 230, - 69, 230, - 70, 230, - 71, 230, - 75, 230, - 79, 230, - 81, 230, - 84, 230, - 85, 230, + -1, 161, + 21, 226, + -2, 225, + -1, 198, + 12, 234, + 13, 234, + 18, 234, + 19, 234, + 25, 234, + 39, 234, + 45, 234, + 46, 234, + 49, 234, + 55, 234, + 60, 234, + 61, 234, + 62, 234, + 63, 234, + 64, 234, + 65, 234, + 66, 234, + 67, 234, + 68, 234, + 69, 234, + 70, 234, + 71, 234, + 75, 234, + 79, 234, + 81, 234, + 84, 234, + 85, 234, -2, 0, - -1, 196, - 12, 230, - 13, 230, - 18, 230, - 19, 230, - 25, 230, - 39, 230, - 45, 230, - 46, 230, - 49, 230, - 55, 230, - 60, 230, - 61, 230, - 62, 230, - 63, 230, - 64, 230, - 65, 230, - 66, 230, - 67, 230, - 68, 230, - 69, 230, - 70, 230, - 71, 230, - 75, 230, - 79, 230, - 81, 230, - 84, 230, - 85, 230, + -1, 199, + 12, 234, + 13, 234, + 18, 234, + 19, 234, + 25, 234, + 39, 234, + 45, 234, + 46, 234, + 49, 234, + 55, 234, + 60, 234, + 61, 234, + 62, 234, + 63, 234, + 64, 234, + 65, 234, + 66, 234, + 67, 234, + 68, 234, + 69, 234, + 70, 234, + 71, 234, + 75, 234, + 79, 234, + 81, 234, + 84, 234, + 85, 234, -2, 0, - -1, 217, - 21, 228, + -1, 220, + 21, 232, -2, 0, - -1, 285, - 21, 229, + -1, 290, + 21, 233, -2, 0, } const yyPrivate = 57344 -const yyLast = 742 +const yyLast = 694 var yyAct = [...]int16{ - 151, 322, 320, 268, 327, 148, 221, 37, 187, 144, - 281, 280, 152, 113, 77, 173, 104, 102, 101, 6, - 128, 223, 105, 193, 155, 194, 195, 196, 339, 262, - 260, 233, 317, 316, 57, 100, 294, 239, 103, 146, - 300, 313, 263, 156, 156, 283, 147, 338, 259, 123, - 337, 106, 252, 311, 155, 299, 340, 301, 264, 157, - 157, 108, 298, 109, 235, 236, 292, 251, 237, 107, - 155, 292, 174, 191, 175, 96, 250, 99, 258, 224, - 226, 228, 229, 230, 238, 240, 243, 244, 245, 246, - 247, 110, 145, 225, 227, 231, 232, 234, 241, 242, - 98, 257, 321, 248, 249, 2, 3, 4, 5, 218, - 158, 104, 177, 217, 168, 162, 165, 105, 175, 160, - 164, 161, 176, 178, 189, 213, 106, 328, 216, 256, - 183, 179, 192, 163, 181, 100, 190, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, - 210, 211, 255, 182, 72, 212, 177, 214, 215, 33, - 82, 84, 85, 7, 86, 87, 176, 178, 90, 91, - 223, 93, 94, 95, 116, 96, 97, 99, 83, 147, - 233, 286, 289, 116, 114, 254, 239, 288, 147, 172, - 220, 124, 253, 114, 171, 310, 309, 117, 120, 261, - 98, 112, 287, 119, 278, 279, 117, 170, 282, 10, - 308, 159, 307, 235, 236, 312, 118, 237, 147, 74, - 306, 305, 304, 303, 302, 250, 81, 285, 224, 226, - 228, 229, 230, 238, 240, 243, 244, 245, 246, 247, - 79, 79, 225, 227, 231, 232, 234, 241, 242, 48, - 78, 78, 248, 249, 122, 73, 121, 150, 180, 76, - 290, 291, 293, 56, 295, 8, 9, 9, 34, 35, - 1, 284, 296, 297, 155, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 47, 46, 45, 44, 156, 314, 315, 127, 43, 42, - 41, 185, 319, 125, 166, 324, 325, 326, 188, 323, - 157, 329, 191, 331, 330, 155, 40, 126, 332, 333, - 100, 51, 72, 334, 53, 39, 38, 22, 52, 336, - 49, 167, 186, 335, 54, 156, 265, 80, 341, 153, - 154, 184, 219, 75, 115, 82, 84, 149, 70, 55, - 222, 157, 50, 111, 18, 19, 93, 94, 20, 0, - 96, 97, 99, 83, 71, 0, 0, 0, 0, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 0, 0, 0, 13, 98, 0, 0, 24, 0, - 30, 0, 0, 31, 32, 36, 100, 51, 72, 0, - 53, 267, 0, 22, 52, 0, 0, 0, 266, 0, - 54, 0, 270, 271, 269, 275, 277, 274, 276, 272, - 273, 0, 84, 0, 70, 0, 0, 0, 0, 0, - 18, 19, 93, 94, 20, 0, 96, 0, 99, 83, - 71, 0, 0, 0, 0, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 0, 0, 0, - 13, 98, 0, 0, 24, 0, 30, 0, 0, 31, - 32, 51, 72, 0, 53, 318, 0, 22, 52, 0, - 0, 0, 0, 0, 54, 0, 270, 271, 269, 275, - 277, 274, 276, 272, 273, 0, 0, 0, 70, 0, - 0, 0, 0, 0, 18, 19, 0, 0, 20, 0, - 0, 0, 17, 72, 71, 0, 0, 0, 22, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 0, 0, 0, 13, 0, 0, 0, 24, 0, - 30, 0, 0, 31, 32, 18, 19, 0, 0, 20, - 0, 0, 0, 17, 33, 0, 0, 0, 0, 22, - 11, 12, 14, 15, 16, 21, 23, 25, 26, 27, - 28, 29, 0, 0, 0, 13, 0, 0, 0, 24, - 0, 30, 0, 0, 31, 32, 18, 19, 0, 0, - 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 11, 12, 14, 15, 16, 21, 23, 25, 26, - 27, 28, 29, 100, 0, 0, 13, 0, 0, 0, - 24, 169, 30, 0, 0, 31, 32, 0, 0, 0, - 0, 0, 100, 0, 0, 0, 0, 0, 82, 84, - 85, 0, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 0, 96, 97, 99, 83, 82, 84, 85, - 0, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 0, 96, 97, 99, 83, 100, 0, 98, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, - 0, 82, 84, 85, 0, 86, 87, 88, 0, 90, + 151, 328, 326, 273, 333, 148, 226, 37, 190, 144, + 286, 285, 152, 113, 77, 176, 104, 128, 102, 101, + 267, 228, 105, 155, 196, 150, 197, 103, 198, 199, + 298, 238, 292, 268, 57, 222, 345, 244, 265, 146, + 106, 319, 155, 156, 323, 257, 147, 322, 300, 269, + 160, 156, 264, 123, 263, 344, 317, 161, 343, 157, + 256, 108, 156, 109, 240, 241, 327, 157, 242, 155, + 107, 346, 219, 6, 155, 288, 255, 262, 157, 229, + 231, 233, 234, 235, 243, 245, 248, 249, 250, 251, + 252, 110, 145, 230, 232, 236, 237, 239, 246, 247, + 104, 298, 162, 253, 254, 307, 105, 153, 154, 228, + 159, 306, 261, 194, 171, 165, 168, 167, 216, 238, + 163, 106, 164, 223, 192, 244, 305, 334, 124, 225, + 166, 182, 195, 304, 184, 260, 193, 200, 201, 202, + 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, + 213, 214, 240, 241, 72, 215, 242, 217, 218, 2, + 3, 4, 5, 100, 255, 33, 7, 229, 231, 233, + 234, 235, 243, 245, 248, 249, 250, 251, 252, 147, + 316, 230, 232, 236, 237, 239, 246, 247, 259, 84, + 295, 253, 254, 100, 291, 294, 315, 314, 318, 93, + 94, 147, 266, 96, 178, 99, 83, 283, 284, 186, + 293, 287, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 313, 98, 312, + 290, 34, 185, 96, 188, 99, 116, 51, 72, 116, + 53, 191, 180, 22, 52, 194, 114, 170, 155, 114, + 54, 10, 179, 181, 258, 311, 221, 112, 98, 117, + 220, 74, 117, 79, 70, 296, 297, 299, 156, 301, + 18, 19, 310, 78, 20, 309, 308, 302, 303, 56, + 71, 183, 9, 9, 157, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 122, 175, 121, + 13, 320, 321, 174, 24, 177, 30, 178, 325, 31, + 32, 330, 331, 332, 8, 329, 173, 335, 35, 337, + 336, 120, 79, 81, 338, 339, 119, 1, 36, 340, + 51, 72, 78, 53, 158, 342, 22, 52, 289, 118, + 76, 48, 47, 54, 347, 180, 46, 73, 45, 44, + 127, 43, 42, 41, 125, 179, 181, 70, 169, 40, + 126, 39, 38, 18, 19, 49, 189, 20, 341, 270, + 80, 187, 224, 71, 75, 115, 149, 55, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 227, 50, 111, 13, 0, 0, 0, 24, 0, 30, + 0, 0, 31, 32, 51, 72, 0, 53, 272, 0, + 22, 52, 0, 0, 0, 271, 0, 54, 0, 275, + 276, 274, 280, 282, 279, 281, 277, 278, 0, 0, + 0, 70, 0, 0, 0, 0, 0, 18, 19, 0, + 0, 20, 0, 0, 0, 17, 72, 71, 0, 0, + 0, 22, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 0, 0, 0, 13, 0, 0, + 0, 24, 0, 30, 0, 0, 31, 32, 18, 19, + 0, 0, 20, 0, 0, 100, 17, 33, 0, 0, + 0, 0, 22, 11, 12, 14, 15, 16, 21, 23, + 25, 26, 27, 28, 29, 0, 0, 0, 13, 0, + 82, 84, 24, 0, 30, 0, 0, 31, 32, 18, + 19, 93, 94, 20, 0, 96, 97, 99, 83, 0, + 0, 0, 0, 0, 11, 12, 14, 15, 16, 21, + 23, 25, 26, 27, 28, 29, 100, 0, 0, 13, + 98, 0, 0, 24, 172, 30, 0, 0, 31, 32, + 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, + 0, 82, 84, 85, 0, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 0, 96, 97, 99, 83, + 82, 84, 85, 0, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 324, 96, 97, 99, 83, 100, + 0, 98, 0, 0, 0, 275, 276, 274, 280, 282, + 279, 281, 277, 278, 0, 0, 0, 0, 100, 0, + 98, 0, 0, 0, 82, 84, 85, 0, 86, 87, + 88, 0, 90, 91, 92, 93, 94, 95, 0, 96, + 97, 99, 83, 82, 84, 85, 0, 86, 87, 0, + 0, 90, 91, 0, 93, 94, 95, 0, 96, 97, + 99, 83, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 98, + 0, 0, 0, 98, } var yyPact = [...]int16{ - 17, 153, 541, 541, 385, 500, -1000, -1000, -1000, 146, + 71, 156, 474, 474, 318, 433, -1000, -1000, -1000, 152, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 239, -1000, 224, -1000, 618, -1000, -1000, + -1000, -1000, -1000, 320, -1000, 321, -1000, 551, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 36, 111, -1000, 459, -1000, 459, 141, -1000, -1000, -1000, + 25, 106, -1000, 392, -1000, 392, 141, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 181, -1000, -1000, 196, -1000, -1000, 252, -1000, - 25, -1000, -54, -54, -54, -54, -54, -54, -54, -54, - -54, -54, -54, -54, -54, -54, -54, -54, 37, 255, - 209, 111, -59, -1000, 118, 118, 309, -1000, 599, 21, - -1000, 187, -1000, -1000, 70, 114, -1000, -1000, -1000, 238, - -1000, 128, -1000, 296, 459, -1000, -55, -50, -1000, 459, - 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - 459, 459, 459, 459, -1000, 170, -1000, -1000, -1000, 110, - -1000, -1000, -1000, -1000, -1000, -1000, 51, 51, 107, -1000, - -1000, -1000, -1000, 168, -1000, -1000, 45, -1000, 618, -1000, - -1000, 172, -1000, 127, -1000, -1000, -1000, -1000, -1000, 76, - -1000, -1000, -1000, -1000, -1000, 22, 4, 3, -1000, -1000, - -1000, 384, 382, 118, 118, 118, 118, 21, 21, 306, - 306, 306, 121, 662, 306, 306, 121, 21, 21, 306, - 21, 382, -1000, 23, -1000, -1000, -1000, 179, -1000, 180, + -1000, -1000, 237, -1000, -1000, 319, -1000, -1000, 295, -1000, + 29, -1000, -57, -57, -57, -57, -57, -57, -57, -57, + -57, -57, -57, -57, -57, -57, -57, -57, 37, 23, + 48, 106, -59, -1000, 115, 115, 225, -1000, 532, 179, + -1000, 296, -1000, -1000, 303, 200, -1000, -1000, -1000, 261, + -1000, 207, -1000, 229, 392, -1000, -54, -48, -1000, 392, + 392, 392, 392, 392, 392, 392, 392, 392, 392, 392, + 392, 392, 392, 392, -1000, 170, -1000, -1000, -1000, 103, + -1000, -1000, -1000, -1000, -1000, -1000, 55, 55, 51, 254, + -1000, -19, 114, -1000, -1000, -1000, 107, -1000, -1000, 38, + -1000, 551, -1000, -1000, 234, -1000, 110, -1000, -1000, -1000, + -1000, -1000, 52, -1000, -1000, -1000, -1000, -1000, 26, 12, + -6, -1000, -1000, -1000, 391, 149, 115, 115, 115, 115, + 179, 179, 471, 471, 471, 614, 595, 471, 471, 614, + 179, 179, 471, 179, 149, -1000, 53, -1000, -1000, -1000, + 192, -1000, -1000, -22, 188, -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, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 459, -1000, -1000, -1000, -1000, -1000, -1000, 52, - 52, 10, 52, 57, 57, 38, 40, -1000, -1000, 218, - 217, 216, 215, 214, 206, 204, 190, 189, -1000, -1000, - -1000, -1000, -1000, -1000, 32, 213, -1000, -1000, 19, -1000, - 618, -1000, -1000, -1000, 52, -1000, 7, 6, 458, -1000, - -1000, -1000, 47, 5, 51, 51, 51, 113, 47, 113, - 47, -1000, -1000, -1000, -1000, -1000, 52, 52, -1000, -1000, - -1000, 52, -1000, -1000, -1000, -1000, -1000, -1000, 51, -1000, - -1000, -1000, -1000, -1000, -1000, 26, -1000, 35, -1000, -1000, - -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 392, -1000, -1000, + -1000, -1000, -1000, -1000, 82, 82, 22, 82, 97, 97, + 109, 88, -1000, -1000, 270, 269, 266, 249, 223, 221, + 191, 190, 174, -1000, -1000, -1000, -1000, -1000, -1000, 35, + 196, -1000, -1000, -1000, 19, -1000, 551, -1000, -1000, -1000, + 82, -1000, 21, 18, 587, -1000, -1000, -1000, 11, 4, + 55, 55, 55, 113, 11, 113, 11, -1000, -1000, -1000, + -1000, -1000, 82, 82, -1000, -1000, -1000, 82, -1000, -1000, + -1000, -1000, -1000, -1000, 55, -1000, -1000, -1000, -1000, -1000, + -1000, 34, -1000, 50, -1000, -1000, -1000, -1000, } var yyPgo = [...]int16{ - 0, 353, 13, 352, 6, 15, 350, 263, 349, 347, - 344, 209, 265, 343, 14, 342, 10, 11, 341, 337, - 8, 336, 3, 4, 333, 2, 1, 0, 332, 12, - 5, 330, 326, 18, 191, 325, 317, 7, 316, 304, - 17, 303, 34, 300, 299, 298, 297, 293, 292, 291, - 290, 249, 9, 271, 270, 268, + 0, 392, 13, 391, 6, 15, 390, 279, 377, 376, + 375, 251, 314, 374, 14, 372, 10, 11, 371, 370, + 8, 369, 3, 4, 368, 2, 1, 0, 366, 12, + 5, 365, 362, 19, 128, 361, 360, 7, 359, 358, + 18, 354, 34, 353, 352, 351, 350, 349, 348, 346, + 342, 341, 9, 338, 334, 327, 231, } var yyR1 = [...]int8{ - 0, 54, 54, 54, 54, 54, 54, 54, 37, 37, + 0, 55, 55, 55, 55, 55, 55, 55, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 32, 32, 32, 32, 33, 33, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, @@ -515,7 +514,7 @@ var yyR1 = [...]int8{ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, 11, 11, 11, 13, 13, 13, 14, - 14, 14, 14, 55, 19, 19, 19, 19, 18, 18, + 14, 14, 14, 56, 19, 19, 19, 19, 18, 18, 18, 18, 18, 18, 18, 18, 18, 28, 28, 28, 20, 20, 20, 20, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 24, 24, @@ -524,8 +523,8 @@ var yyR1 = [...]int8{ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 8, 5, 5, 5, 5, 44, 27, 29, 29, - 30, 30, 26, 25, 25, 52, 48, 10, 53, 53, - 17, 17, + 30, 30, 26, 25, 25, 52, 54, 54, 54, 54, + 48, 10, 53, 53, 17, 17, } var yyR2 = [...]int8{ @@ -551,15 +550,15 @@ var yyR2 = [...]int8{ 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, 2, - 1, 1, 1, 2, 1, 1, 1, 1, 0, 1, - 0, 1, + 1, 1, 1, 2, 1, 1, 1, 2, 2, 3, + 1, 1, 0, 1, 0, 1, } var yyChk = [...]int16{ - -1000, -54, 88, 89, 90, 91, 2, 10, -12, -7, + -1000, -55, 88, 89, 90, 91, 2, 10, -12, -7, -11, 60, 61, 75, 62, 63, 64, 12, 45, 46, 49, 65, 18, 66, 79, 67, 68, 69, 70, 71, - 81, 84, 85, 13, -55, -12, 10, -37, -32, -35, + 81, 84, 85, 13, -56, -12, 10, -37, -32, -35, -38, -43, -44, -45, -47, -48, -49, -50, -51, -31, -3, 12, 19, 15, 25, -8, -7, -42, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, @@ -571,26 +570,26 @@ var yyChk = [...]int16{ 2, 4, 2, 24, -34, -41, -36, -46, 74, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -52, 55, 2, 9, -30, -9, - 2, -27, -29, 84, 85, 19, 39, 55, -52, 2, - -40, -33, -16, 15, 2, -16, -39, 22, -37, 22, - 20, 7, 2, -5, 2, 4, 52, 42, 53, -5, - 20, -14, 25, 2, -18, 5, -28, -20, 12, -27, - -29, 16, -37, 78, 80, 76, 77, -37, -37, -37, + 2, -27, -29, 84, 85, 19, 39, 55, -54, -52, + 2, 9, 54, -40, -33, -16, 15, 2, -16, -39, + 22, -37, 22, 20, 7, 2, -5, 2, 4, 52, + 42, 53, -5, 20, -14, 25, 2, -18, 5, -28, + -20, 12, -27, -29, 16, -37, 78, 80, 76, 77, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, - -37, -37, -52, 15, -27, -27, 21, 6, 2, -15, - 22, -4, -6, 2, 60, 74, 61, 75, 62, 63, - 64, 76, 77, 12, 78, 45, 46, 49, 65, 18, - 66, 79, 80, 67, 68, 69, 70, 71, 84, 85, - 57, 22, 7, 20, -2, 25, 2, 25, 2, 26, - 26, -29, 26, 39, 55, -21, 24, 17, -22, 30, - 28, 29, 35, 36, 33, 31, 34, 32, -16, -16, - -17, -16, -17, 22, -53, -52, 2, 22, 7, 2, - -37, -26, 19, -26, 26, -26, -20, -20, 24, 17, - 2, 17, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 21, 2, 22, -4, -26, 26, 26, 17, -22, - -25, 55, -26, -30, -27, -27, -27, -23, 14, -25, - -23, -25, -26, -26, -26, -24, -27, 24, 21, 2, - 21, -27, + -37, -37, -37, -37, -37, -52, 15, -27, -27, 21, + 6, 2, 54, 9, -15, 22, -4, -6, 2, 60, + 74, 61, 75, 62, 63, 64, 76, 77, 12, 78, + 45, 46, 49, 65, 18, 66, 79, 80, 67, 68, + 69, 70, 71, 84, 85, 57, 22, 7, 20, -2, + 25, 2, 25, 2, 26, 26, -29, 26, 39, 55, + -21, 24, 17, -22, 30, 28, 29, 35, 36, 33, + 31, 34, 32, -16, -16, -17, -16, -17, 22, -53, + -52, 2, 54, 22, 7, 2, -37, -26, 19, -26, + 26, -26, -20, -20, 24, 17, 2, 17, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 21, 2, 22, + -4, -26, 26, 26, 17, -22, -25, 55, -26, -30, + -27, -27, -27, -23, 14, -25, -23, -25, -26, -26, + -26, -24, -27, 24, 21, 2, 21, -27, } var yyDef = [...]int16{ @@ -599,36 +598,36 @@ var yyDef = [...]int16{ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 0, 2, -2, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 0, 106, 216, 0, 226, 0, 83, 84, -2, -2, + 0, 106, 216, 0, 230, 0, 83, 84, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, 210, 211, 0, 5, 98, 0, 124, 127, 0, 132, 133, 137, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 0, 0, 22, 23, 0, 0, 0, 60, 0, 81, - 82, 0, 87, 89, 0, 93, 97, 227, 122, 0, + 82, 0, 87, 89, 0, 93, 97, 231, 122, 0, 128, 0, 131, 136, 0, 42, 47, 48, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 69, 225, 70, 0, - 72, 220, 221, 73, 74, 217, 0, 0, 0, 80, - 20, 21, 24, 0, 54, 25, 0, 62, 64, 66, - 85, 0, 90, 0, 96, 212, 213, 214, 215, 0, - 123, 126, 129, 130, 135, 138, 140, 143, 147, 148, - 149, 0, 26, 0, 0, -2, -2, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 68, 0, 218, 219, 75, -2, 79, 0, - 53, 56, 58, 59, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, - 209, 61, 65, 86, 88, 91, 95, 92, 94, 0, - 0, 0, 0, 0, 0, 0, 0, 153, 155, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 45, 46, - 49, 231, 50, 71, 0, -2, 78, 51, 0, 57, - 63, 139, 222, 141, 0, 144, 0, 0, 0, 151, - 156, 152, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 76, 77, 52, 55, 142, 0, 0, 150, 154, - 157, 0, 224, 158, 159, 160, 161, 162, 0, 163, - 164, 165, 145, 146, 223, 0, 169, 0, 167, 170, - 166, 168, + 72, 220, 221, 73, 74, 217, 0, 0, 0, 0, + 80, -2, 0, 20, 21, 24, 0, 54, 25, 0, + 62, 64, 66, 85, 0, 90, 0, 96, 212, 213, + 214, 215, 0, 123, 126, 129, 130, 135, 138, 140, + 143, 147, 148, 149, 0, 26, 0, 0, -2, -2, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 68, 0, 218, 219, 75, + -2, 79, 228, 227, 0, 53, 56, 58, 59, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 207, 208, 209, 61, 65, 86, 88, + 91, 95, 92, 94, 0, 0, 0, 0, 0, 0, + 0, 0, 153, 155, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 45, 46, 49, 235, 50, 71, 0, + -2, 78, 229, 51, 0, 57, 63, 139, 222, 141, + 0, 144, 0, 0, 0, 151, 156, 152, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 76, 77, 52, + 55, 142, 0, 0, 150, 154, 157, 0, 224, 158, + 159, 160, 161, 162, 0, 163, 164, 165, 145, 146, + 223, 0, 169, 0, 167, 170, 166, 168, } var yyTok1 = [...]int8{ @@ -1327,7 +1326,9 @@ yydefault: yyVAL.node = &MatrixSelector{ VectorSelector: yyDollar[1].node.(Expr), - Range: yyDollar[3].duration, + Range: yyDollar[3].range_duration.duration, + OpenLeft: yyDollar[3].range_duration.openLeft, + OpenRight: yyDollar[3].range_duration.openRight, EndPos: yylex.(*parser).lastClosing, } } @@ -1830,6 +1831,49 @@ yydefault: } } case 226: + yyDollar = yyS[yypt-1 : yypt+1] + { + var err error + yyVAL.range_duration.duration, err = parseDuration(yyDollar[1].item.Val) + if err != nil { + yylex.(*parser).addParseErr(yyDollar[1].item.PositionRange(), err) + } + } + case 227: + yyDollar = yyS[yypt-2 : yypt+1] + { + var err error + yyVAL.range_duration.duration, err = parseDuration(yyDollar[1].item.Val) + if err != nil { + yylex.(*parser).addParseErr(yyDollar[1].item.PositionRange(), err) + } + + yyVAL.range_duration.openLeft = true + } + case 228: + yyDollar = yyS[yypt-2 : yypt+1] + { + var err error + yyVAL.range_duration.duration, err = parseDuration(yyDollar[1].item.Val) + if err != nil { + yylex.(*parser).addParseErr(yyDollar[1].item.PositionRange(), err) + } + + yyVAL.range_duration.openRight = true + } + case 229: + yyDollar = yyS[yypt-3 : yypt+1] + { + var err error + yyVAL.range_duration.duration, err = parseDuration(yyDollar[1].item.Val) + if err != nil { + yylex.(*parser).addParseErr(yyDollar[1].item.PositionRange(), err) + } + + yyVAL.range_duration.openLeft = true + yyVAL.range_duration.openRight = true + } + case 230: yyDollar = yyS[yypt-1 : yypt+1] { yyVAL.node = &StringLiteral{ @@ -1837,7 +1881,7 @@ yydefault: PosRange: yyDollar[1].item.PositionRange(), } } - case 227: + case 231: yyDollar = yyS[yypt-1 : yypt+1] { yyVAL.item = Item{ @@ -1846,12 +1890,12 @@ yydefault: Val: yylex.(*parser).unquoteString(yyDollar[1].item.Val), } } - case 228: + case 232: yyDollar = yyS[yypt-0 : yypt+1] { yyVAL.duration = 0 } - case 230: + case 234: yyDollar = yyS[yypt-0 : yypt+1] { yyVAL.strings = nil