From 72801210940201ee84097d64a5d5aaa9e70f9c21 Mon Sep 17 00:00:00 2001 From: shahramn Date: Thu, 4 Jul 2024 12:15:39 +0100 Subject: [PATCH 1/2] ECC-1859: Compile error: grib_accessor_class_data_g2bifourier_packing.cc --- src/accessor/grib_accessor_class_data_g2bifourier_packing.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/accessor/grib_accessor_class_data_g2bifourier_packing.cc b/src/accessor/grib_accessor_class_data_g2bifourier_packing.cc index a014ef3c2..0a6092424 100644 --- a/src/accessor/grib_accessor_class_data_g2bifourier_packing.cc +++ b/src/accessor/grib_accessor_class_data_g2bifourier_packing.cc @@ -11,6 +11,7 @@ #include "grib_accessor_class_data_g2bifourier_packing.h" #include "grib_scaling.h" +#include grib_accessor_class_data_g2bifourier_packing_t _grib_accessor_class_data_g2bifourier_packing{"data_g2bifourier_packing"}; grib_accessor_class* grib_accessor_class_data_g2bifourier_packing = &_grib_accessor_class_data_g2bifourier_packing; From 53e202a2ee2b9949feaf3adb0db69b6db89f6448 Mon Sep 17 00:00:00 2001 From: shahramn Date: Thu, 4 Jul 2024 15:54:59 +0100 Subject: [PATCH 2/2] ECC-1860: Definition language: Add 'isnot' operator for strings --- src/eccodes_prototypes.h | 2 +- src/grib_expression_class_string_compare.cc | 19 +- src/grib_lex.cc | 1471 +++++------ src/grib_yacc.cc | 2559 ++++++++++--------- src/grib_yacc.h | 20 +- src/gribl.l | 33 +- src/griby.y | 4 +- src/makeyacc | 7 + tests/grib_filter.sh | 4 + 9 files changed, 2083 insertions(+), 2036 deletions(-) diff --git a/src/eccodes_prototypes.h b/src/eccodes_prototypes.h index ab2d4531e..9bceeb202 100644 --- a/src/eccodes_prototypes.h +++ b/src/eccodes_prototypes.h @@ -757,7 +757,7 @@ grib_expression* new_is_in_dict_expression(grib_context* c, const char* name, co grib_expression* new_true_expression(grib_context* c); /* grib_expression_class_string_compare.cc */ -grib_expression* new_string_compare_expression(grib_context* c, grib_expression* left, grib_expression* right); +grib_expression* new_string_compare_expression(grib_context* c, grib_expression* left, grib_expression* right, int eq); /* grib_expression_class_unop.cc */ grib_expression* new_unop_expression(grib_context* c, grib_unop_long_proc long_func, grib_unop_double_proc double_func, grib_expression* exp); diff --git a/src/grib_expression_class_string_compare.cc b/src/grib_expression_class_string_compare.cc index 421669aca..3003b5ef6 100644 --- a/src/grib_expression_class_string_compare.cc +++ b/src/grib_expression_class_string_compare.cc @@ -22,7 +22,8 @@ IMPLEMENTS = print IMPLEMENTS = add_dependency MEMBERS = grib_expression *left - MEMBERS = grib_expression *right + MEMBERS = grib_expression *right + MEMBERS = int eq END_CLASS_DEF */ @@ -50,6 +51,7 @@ typedef struct grib_expression_string_compare{ /* Members defined in string_compare */ grib_expression *left; grib_expression *right; + int eq; } grib_expression_string_compare; @@ -110,7 +112,11 @@ static int evaluate_long(grib_expression* g, grib_handle* h, long* lres) return ret; } - *lres = (grib_inline_strcmp(v1, v2) == 0); + if (e->eq) // IS operator + *lres = (grib_inline_strcmp(v1, v2) == 0); + else // ISNOT operator + *lres = (grib_inline_strcmp(v1, v2) != 0); + return GRIB_SUCCESS; } @@ -147,12 +153,13 @@ static void add_dependency(grib_expression* g, grib_accessor* observer) } grib_expression* new_string_compare_expression(grib_context* c, - grib_expression* left, grib_expression* right) + grib_expression* left, grib_expression* right, int eq) { grib_expression_string_compare* e = (grib_expression_string_compare*)grib_context_malloc_clear_persistent(c, sizeof(grib_expression_string_compare)); - e->base.cclass = grib_expression_class_string_compare; - e->left = left; - e->right = right; + e->base.cclass = grib_expression_class_string_compare; + e->left = left; + e->right = right; + e->eq = eq; return (grib_expression*)e; } diff --git a/src/grib_lex.cc b/src/grib_lex.cc index f4057b7a0..8efe0e58d 100644 --- a/src/grib_lex.cc +++ b/src/grib_lex.cc @@ -353,8 +353,8 @@ static void grib_yynoreturn grib_yy_fatal_error ( const char* msg ); (grib_yy_hold_char) = *grib_yy_cp; \ *grib_yy_cp = '\0'; \ (grib_yy_c_buf_p) = grib_yy_cp; -#define YY_NUM_RULES 138 -#define YY_END_OF_BUFFER 139 +#define YY_NUM_RULES 139 +#define YY_END_OF_BUFFER 140 /* This struct is not used in this scanner, but its presence is necessary. */ struct grib_yy_trans_info @@ -362,95 +362,95 @@ struct grib_yy_trans_info flex_int32_t grib_yy_verify; flex_int32_t grib_yy_nxt; }; -static const flex_int16_t grib_yy_accept[798] = +static const flex_int16_t grib_yy_accept[801] = { 0, - 135, 135, 139, 137, 135, 136, 12, 126, 134, 137, - 137, 137, 137, 129, 5, 137, 3, 128, 128, 128, - 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 137, 18, 135, 6, 0, 14, 130, 132, 0, - 0, 131, 129, 128, 128, 4, 7, 1, 2, 0, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 23, 128, 10, 128, 128, 128, 128, 128, 128, + 136, 136, 140, 138, 136, 137, 13, 127, 135, 138, + 138, 138, 138, 130, 5, 138, 3, 129, 129, 129, + 128, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 138, 19, 136, 6, 0, 15, 131, 133, 0, + 0, 132, 130, 129, 129, 4, 7, 1, 2, 0, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 24, 129, 10, 129, 129, 129, 129, 129, 129, - 128, 128, 128, 128, 128, 15, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 16, 0, 0, 0, 0, - 0, 0, 133, 131, 0, 128, 128, 0, 0, 128, - 0, 128, 24, 128, 13, 128, 128, 128, 8, 128, - 66, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 35, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 98, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 11, 128, 128, 52, 128, 128, 128, 128, + 129, 129, 129, 129, 129, 16, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 17, 0, 0, 0, 0, + 0, 0, 134, 132, 0, 129, 129, 0, 0, 129, + 0, 129, 25, 129, 14, 129, 129, 129, 8, 129, + 67, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 36, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 99, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 12, 129, 129, 53, 129, 129, 129, - 128, 128, 112, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 133, 0, 132, 0, 0, 0, 0, 0, 131, - 128, 128, 128, 128, 128, 128, 111, 28, 128, 115, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 89, - 128, 25, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 67, 128, 128, 30, 128, 128, 128, 128, 48, 128, - 128, 128, 128, 128, 128, 17, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 124, 128, 128, + 129, 129, 129, 113, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 134, 0, 133, 0, 0, 0, 0, 0, + 132, 129, 129, 129, 129, 129, 129, 112, 29, 129, + 116, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 90, 129, 26, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 68, 129, 129, 31, 129, 129, 129, 129, + 49, 129, 129, 129, 129, 129, 129, 18, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 125, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 114, 128, 128, 128, 128, 0, 0, 0, 0, 0, - 0, 131, 128, 128, 128, 56, 128, 27, 128, 128, - 20, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 44, 128, 128, 128, 128, 46, 128, 128, - 128, 128, 128, 100, 104, 108, 128, 128, 128, 128, - 29, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 50, 128, 123, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 97, 128, 128, 31, 121, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 115, 129, 129, 129, 129, 0, 0, 0, + 0, 0, 0, 132, 129, 129, 129, 57, 129, 28, + 129, 129, 21, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 45, 129, 129, 129, 129, 47, + 129, 129, 129, 129, 129, 101, 105, 109, 129, 129, + 11, 129, 129, 30, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 51, 129, 124, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 98, 129, - 0, 0, 0, 0, 128, 0, 0, 128, 122, 85, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 74, 128, 128, 128, 128, 40, 128, 91, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 21, 128, 45, 128, 128, 70, 128, 128, 128, 128, - 9, 128, 128, 128, 128, 128, 75, 76, 128, 128, - 128, 38, 128, 128, 19, 116, 128, 128, 128, 128, - 128, 99, 103, 107, 128, 128, 0, 0, 0, 0, - 0, 128, 128, 93, 128, 128, 128, 118, 128, 128, - 96, 117, 128, 128, 128, 68, 128, 128, 128, 128, + 129, 32, 122, 0, 0, 0, 0, 129, 0, 0, + 129, 123, 86, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 75, 129, 129, 129, 129, 41, + 129, 92, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 22, 129, 46, 129, 129, 71, 129, + 129, 129, 129, 9, 129, 129, 129, 129, 129, 76, + 77, 129, 129, 129, 39, 129, 129, 20, 117, 129, + 129, 129, 129, 129, 100, 104, 108, 129, 129, 0, + 0, 0, 0, 0, 129, 129, 94, 129, 129, 129, + 119, 129, 129, 97, 118, 129, 129, 129, 69, 129, - 128, 128, 125, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 54, 65, 87, 90, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 34, 128, 128, 128, 57, 128, 0, - 0, 128, 128, 128, 128, 59, 128, 128, 128, 128, - 128, 128, 128, 128, 36, 128, 128, 128, 128, 128, - 128, 128, 128, 64, 128, 128, 128, 128, 128, 95, - 128, 128, 58, 128, 128, 128, 128, 128, 128, 32, - 128, 128, 128, 128, 128, 128, 26, 128, 39, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 37, + 129, 129, 129, 129, 129, 126, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 55, 66, 88, + 91, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 35, 129, 129, 129, + 58, 129, 0, 0, 129, 129, 129, 129, 60, 129, + 129, 129, 129, 129, 129, 129, 129, 37, 129, 129, + 129, 129, 129, 129, 129, 129, 65, 129, 129, 129, + 129, 129, 96, 129, 129, 59, 129, 129, 129, 129, + 129, 129, 33, 129, 129, 129, 129, 129, 129, 27, + 129, 40, 129, 129, 129, 129, 129, 129, 129, 129, - 128, 128, 128, 128, 128, 128, 83, 128, 62, 22, - 128, 47, 49, 128, 86, 128, 128, 128, 128, 128, - 128, 128, 128, 80, 60, 128, 128, 128, 128, 128, - 128, 94, 128, 128, 128, 128, 128, 128, 120, 128, - 128, 128, 78, 77, 82, 128, 128, 128, 128, 128, - 113, 128, 128, 128, 128, 79, 128, 128, 128, 128, - 128, 128, 42, 63, 128, 128, 128, 128, 128, 128, - 128, 69, 128, 128, 128, 128, 128, 41, 61, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 55, 128, 128, 128, 128, 128, 128, + 129, 129, 38, 129, 129, 129, 129, 129, 129, 84, + 129, 63, 23, 129, 48, 50, 129, 87, 129, 129, + 129, 129, 129, 129, 129, 129, 81, 61, 129, 129, + 129, 129, 129, 129, 95, 129, 129, 129, 129, 129, + 129, 121, 129, 129, 129, 79, 78, 83, 129, 129, + 129, 129, 129, 114, 129, 129, 129, 129, 80, 129, + 129, 129, 129, 129, 129, 43, 64, 129, 129, 129, + 129, 129, 129, 129, 70, 129, 129, 129, 129, 129, + 42, 62, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 56, 129, 129, 129, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 51, 128, 128, 128, 128, 128, 128, 128, - 92, 128, 119, 128, 128, 128, 128, 128, 128, 128, - 84, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 53, 128, 33, 128, 128, - 128, 128, 88, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 43, 128, 72, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 73, 128, 128, 128, 128, - 128, 128, 128, 128, 102, 106, 110, 81, 128, 128, - 128, 128, 101, 105, 109, 71, 0 + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 52, 129, 129, 129, 129, + 129, 129, 129, 93, 129, 120, 129, 129, 129, 129, + 129, 129, 129, 85, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 54, 129, + 34, 129, 129, 129, 129, 89, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 44, 129, 73, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 74, 129, + 129, 129, 129, 129, 129, 129, 129, 103, 107, 111, + 82, 129, 129, 129, 129, 102, 106, 110, 72, 0 } ; @@ -496,197 +496,197 @@ static const YY_CHAR grib_yy_meta[57] = 8, 8, 8, 8, 1, 1 } ; -static const flex_int16_t grib_yy_base[828] = +static const flex_int16_t grib_yy_base[831] = { 0, - 0, 0, 1944, 1945, 1941, 1945, 1921, 1945, 44, 1934, - 51, 58, 0, 69, 68, 1919, 1918, 81, 96, 76, - 1945, 75, 92, 94, 102, 109, 66, 119, 117, 128, + 0, 0, 1950, 1951, 1947, 1951, 1927, 1951, 44, 1940, + 51, 58, 0, 69, 68, 1925, 1924, 81, 96, 76, + 1951, 75, 92, 94, 102, 109, 66, 119, 117, 128, 55, 142, 105, 134, 78, 141, 104, 149, 155, 167, - 157, 1883, 1945, 1935, 1945, 199, 1945, 210, 135, 222, - 234, 170, 245, 257, 273, 1945, 1945, 1945, 1945, 1914, - 1925, 1908, 98, 132, 169, 196, 184, 231, 154, 240, + 157, 1889, 1951, 1941, 1951, 199, 1951, 210, 135, 222, + 234, 170, 245, 257, 273, 1951, 1951, 1951, 1951, 1920, + 1931, 1914, 98, 132, 169, 196, 184, 231, 154, 240, 242, 251, 254, 252, 268, 171, 122, 258, 267, 273, 270, 207, 275, 283, 294, 279, 280, 281, 291, 290, - 294, 1907, 293, 305, 296, 308, 310, 297, 311, 312, + 294, 1913, 293, 305, 296, 308, 310, 297, 311, 312, - 313, 314, 319, 322, 321, 1906, 324, 320, 327, 328, - 341, 343, 206, 332, 344, 339, 348, 353, 352, 357, - 362, 354, 365, 363, 364, 1945, 0, 391, 396, 1910, - 398, 401, 414, 410, 401, 1920, 426, 438, 445, 455, - 0, 449, 1903, 450, 1902, 411, 386, 451, 1901, 453, - 1900, 454, 455, 457, 440, 458, 463, 465, 395, 466, - 469, 470, 471, 474, 475, 1899, 476, 478, 495, 484, - 480, 409, 489, 482, 486, 499, 513, 488, 500, 510, - 509, 511, 507, 514, 516, 522, 520, 527, 524, 525, - 528, 537, 540, 529, 534, 535, 543, 544, 550, 548, + 313, 319, 314, 321, 324, 1912, 322, 334, 326, 327, + 345, 329, 206, 346, 347, 349, 350, 354, 342, 361, + 358, 355, 369, 366, 367, 1951, 0, 394, 399, 1916, + 401, 405, 418, 389, 405, 1926, 430, 442, 449, 459, + 0, 371, 1909, 453, 1908, 415, 390, 444, 1907, 455, + 1906, 456, 457, 458, 460, 463, 464, 467, 465, 470, + 469, 471, 474, 472, 477, 1905, 479, 412, 496, 481, + 483, 413, 488, 485, 490, 486, 511, 505, 506, 508, + 504, 510, 514, 515, 516, 517, 521, 522, 524, 527, + 533, 534, 535, 536, 537, 540, 546, 548, 547, 549, - 554, 549, 552, 563, 553, 561, 564, 551, 566, 568, - 570, 573, 574, 577, 575, 578, 579, 582, 580, 576, - 617, 624, 631, 638, 645, 652, 663, 600, 663, 675, - 687, 1898, 659, 669, 658, 670, 1897, 1896, 682, 1895, - 683, 684, 586, 685, 686, 688, 690, 694, 696, 1894, - 697, 1893, 699, 701, 716, 718, 719, 706, 705, 713, - 716, 715, 710, 718, 735, 746, 748, 733, 734, 597, - 748, 737, 738, 1892, 740, 741, 743, 746, 1891, 745, - 747, 749, 754, 763, 759, 1890, 750, 755, 762, 766, - 772, 767, 770, 777, 775, 778, 784, 1889, 779, 780, + 551, 550, 552, 555, 557, 560, 564, 566, 567, 568, + 571, 572, 574, 573, 577, 576, 579, 583, 580, 585, + 582, 619, 626, 633, 640, 647, 654, 665, 669, 667, + 677, 689, 1904, 661, 586, 671, 672, 1903, 1902, 593, + 1901, 674, 686, 687, 688, 689, 690, 691, 692, 695, + 1900, 699, 1899, 697, 700, 717, 718, 720, 706, 705, + 710, 716, 717, 708, 720, 737, 743, 747, 734, 735, + 737, 736, 751, 740, 741, 1898, 743, 745, 746, 748, + 1897, 750, 753, 749, 765, 766, 762, 1896, 757, 755, + 758, 770, 773, 775, 779, 780, 783, 785, 782, 1893, - 781, 788, 783, 782, 786, 795, 801, 815, 797, 806, - 1888, 810, 812, 1903, 837, 833, 845, 853, 0, 857, - 857, 865, 1900, 877, 814, 1881, 862, 1880, 859, 873, - 1875, 872, 874, 860, 875, 823, 876, 877, 879, 885, - 886, 887, 1872, 904, 906, 907, 893, 1871, 894, 895, - 897, 898, 902, 919, 921, 922, 908, 907, 910, 933, - 1867, 919, 921, 922, 927, 929, 930, 934, 937, 936, - 938, 939, 945, 951, 946, 1866, 947, 953, 955, 948, - 952, 964, 940, 969, 970, 972, 975, 977, 976, 979, - 978, 980, 997, 1002, 1003, 1877, 995, 984, 1859, 1858, + 784, 786, 787, 790, 789, 788, 791, 795, 799, 828, + 808, 803, 1890, 802, 809, 1905, 842, 827, 851, 838, + 0, 862, 862, 869, 1900, 879, 873, 1881, 865, 1880, + 864, 876, 1876, 877, 878, 827, 879, 880, 881, 882, + 884, 889, 890, 891, 1875, 908, 909, 911, 896, 1870, + 901, 898, 903, 902, 906, 925, 926, 928, 923, 911, + 1868, 914, 933, 1867, 920, 925, 934, 936, 926, 935, + 939, 940, 941, 942, 945, 950, 949, 951, 1864, 952, + 947, 962, 956, 967, 969, 973, 970, 976, 977, 978, + 981, 980, 983, 985, 984, 1005, 1006, 1009, 1879, 996, - 1013, 1020, 1028, 1032, 1032, 1044, 1053, 1028, 1855, 1854, - 1047, 1048, 1029, 1049, 1050, 1052, 1054, 1053, 1057, 1059, - 1060, 1848, 1061, 1078, 1080, 1081, 1847, 1066, 1843, 1071, - 998, 1070, 1089, 1090, 1091, 1079, 1081, 1083, 1082, 1101, - 1842, 1086, 1837, 1092, 1093, 1835, 1094, 1096, 1097, 1099, - 1834, 1100, 1108, 1110, 1111, 1118, 1830, 1828, 1120, 1112, - 1115, 1827, 1116, 1121, 1824, 1823, 1122, 1131, 1126, 1132, - 1127, 1145, 1151, 1159, 1144, 1146, 1180, 1188, 1167, 1195, - 1203, 0, 1210, 1818, 1147, 1204, 1153, 1154, 1205, 1207, - 1816, 1815, 1159, 1206, 1208, 1809, 1226, 1225, 1227, 1213, + 992, 1857, 1856, 1022, 1028, 1036, 1024, 1040, 1052, 1061, + 1024, 1852, 1851, 1055, 1056, 1009, 1035, 1057, 1060, 1061, + 1062, 1064, 1065, 1068, 1846, 1067, 1086, 1087, 1088, 1844, + 1073, 1843, 1077, 1079, 1078, 1096, 1097, 1098, 1084, 1089, + 1095, 1087, 1107, 1839, 1092, 1837, 1101, 1105, 1836, 1096, + 1103, 1108, 1110, 1833, 1116, 1104, 1001, 1117, 1121, 1832, + 1827, 1122, 1126, 1123, 1825, 1118, 1128, 1824, 1818, 1127, + 1133, 1135, 1138, 1142, 1160, 1162, 1163, 1151, 1152, 1166, + 1188, 1177, 1195, 1203, 0, 1210, 1816, 1204, 1206, 1165, + 1168, 1205, 1209, 1815, 1812, 1207, 1208, 1210, 1811, 1228, - 1214, 1216, 1807, 1231, 1233, 1234, 1219, 1224, 1223, 1152, - 1225, 1242, 1232, 1227, 1236, 1806, 1803, 1802, 1242, 1243, - 1244, 1250, 1239, 1251, 1256, 1258, 1259, 1263, 1261, 1265, - 1268, 1270, 1271, 1798, 1288, 1290, 1292, 1789, 1277, 1303, - 1323, 1283, 1307, 1279, 1281, 1788, 1282, 1298, 1301, 1302, - 1319, 1321, 1301, 1321, 1784, 1318, 1338, 1339, 1341, 1328, - 1330, 1332, 1334, 1783, 1347, 1335, 1337, 1338, 1343, 1776, - 1339, 1340, 1774, 1348, 1350, 1344, 1351, 1353, 1354, 1365, - 1367, 1359, 1356, 1389, 1390, 1391, 1773, 1378, 1769, 1380, - 1383, 1384, 1381, 1386, 1388, 676, 1401, 1403, 1390, 1767, + 1227, 1231, 1216, 1217, 1218, 1807, 1235, 1236, 1241, 1227, + 1229, 1226, 1234, 1230, 1251, 1236, 1239, 1242, 1798, 1797, + 1793, 1247, 1248, 1252, 1253, 1254, 1257, 1259, 1264, 1265, + 1268, 1266, 1267, 1275, 1276, 1278, 1792, 1296, 1297, 1298, + 1785, 1283, 1310, 1318, 1315, 1285, 1316, 1317, 1783, 1318, + 1319, 1293, 1320, 1338, 1339, 1306, 1326, 1782, 1327, 1307, + 1344, 1347, 1333, 1334, 1337, 1338, 1778, 1355, 1343, 1344, + 1349, 1346, 1776, 1348, 1355, 1775, 1358, 1361, 1360, 1362, + 1364, 1363, 1284, 1365, 1372, 1369, 1384, 1389, 1392, 1772, + 1382, 1771, 1383, 1388, 1385, 1387, 1389, 1390, 1409, 1410, - 1407, 1408, 1409, 1394, 1396, 1395, 1766, 1413, 1763, 1762, - 1401, 1755, 1754, 1398, 1750, 1414, 1409, 1410, 1422, 1413, - 1425, 1433, 1427, 1748, 1747, 1450, 1451, 1452, 1437, 1438, - 1439, 1743, 1440, 1442, 1444, 1457, 1459, 1465, 1741, 1462, - 1471, 1473, 1733, 1731, 1730, 1474, 1461, 1462, 1465, 1460, - 1729, 1468, 1466, 1467, 1471, 1728, 1480, 1486, 1488, 1479, - 1486, 1485, 1727, 1721, 1492, 1504, 1510, 1513, 1514, 1515, - 1517, 1736, 1502, 1504, 1506, 1507, 1519, 1718, 1717, 1510, - 1521, 1528, 1529, 1515, 1523, 1522, 1528, 1545, 1547, 1548, - 1550, 1551, 1554, 1716, 1540, 1539, 1547, 1557, 1553, 1559, + 1412, 1397, 1764, 1415, 1416, 1417, 1405, 1411, 1412, 1763, + 1431, 1759, 1757, 1413, 1756, 1752, 1417, 1750, 1414, 1416, + 1419, 1421, 1426, 1423, 1418, 1429, 1743, 1742, 1460, 1461, + 1462, 1447, 1448, 1449, 1741, 1451, 1452, 1453, 1470, 1471, + 1474, 1738, 1472, 1475, 1482, 1737, 1736, 1735, 1483, 1461, + 1470, 1468, 1471, 1733, 1473, 1472, 1477, 1476, 1732, 1490, + 1494, 1495, 1492, 1497, 1494, 1726, 1725, 1501, 1512, 1515, + 1519, 1518, 1524, 1526, 1739, 1505, 1511, 1512, 1516, 1526, + 1721, 1720, 1519, 1530, 1536, 1537, 1529, 1532, 1535, 1537, + 1554, 1555, 1556, 1557, 1558, 1559, 1719, 1544, 1545, 1550, - 1564, 1567, 1556, 1565, 1560, 1552, 1583, 1586, 1588, 1589, - 1591, 1595, 1713, 1580, 1578, 1597, 1583, 1598, 1602, 1604, - 1712, 1585, 1711, 1589, 1600, 1603, 1606, 1610, 1611, 1616, - 1709, 1609, 1627, 1610, 1628, 1629, 1630, 1616, 1617, 1634, - 1636, 1638, 1639, 1643, 1646, 1708, 1647, 1707, 1649, 1652, - 1653, 1641, 1706, 1658, 1660, 1661, 1662, 1663, 1665, 1669, - 1672, 1673, 1674, 1654, 1676, 1294, 1678, 1679, 1682, 1688, - 1690, 1681, 1685, 1691, 1694, 1177, 1680, 1696, 1705, 1706, - 1709, 1713, 1718, 1719, 1176, 1001, 673, 497, 1708, 1716, - 1717, 1720, 372, 235, 153, 97, 1945, 1754, 1762, 1769, + 1564, 1560, 1572, 1573, 1575, 1567, 1569, 1570, 1576, 1587, + 1590, 1593, 1594, 1596, 1597, 1717, 1584, 1591, 1604, 1596, + 1608, 1609, 1614, 1716, 1594, 1715, 1602, 1605, 1615, 1616, + 1621, 1627, 1631, 1714, 1617, 1635, 1620, 1637, 1638, 1641, + 1626, 1623, 1644, 1646, 1648, 1649, 1653, 1654, 1590, 1651, + 1286, 1656, 1657, 1660, 1646, 1171, 1666, 1668, 1670, 1671, + 1673, 1675, 1677, 1682, 1683, 1686, 1170, 1687, 1053, 1684, + 1680, 1693, 1695, 1696, 1689, 1698, 1699, 1688, 969, 1700, + 1704, 1706, 1712, 1721, 1723, 1724, 1725, 839, 678, 618, + 443, 1716, 1722, 1726, 1727, 395, 235, 153, 97, 1951, - 1773, 1777, 1781, 1788, 1795, 1797, 1805, 1810, 1811, 1819, - 1824, 1828, 1830, 1837, 1845, 1849, 1856, 1861, 1866, 1868, - 1876, 1880, 1888, 1893, 1894, 1902, 1903 + 1763, 1771, 1778, 1782, 1786, 1790, 1797, 1804, 1806, 1814, + 1819, 1820, 1828, 1833, 1837, 1839, 1846, 1854, 1858, 1865, + 1870, 1875, 1877, 1885, 1889, 1897, 1902, 1903, 1911, 1912 } ; -static const flex_int16_t grib_yy_def[828] = +static const flex_int16_t grib_yy_def[831] = { 0, - 797, 1, 797, 797, 797, 797, 797, 797, 797, 797, - 797, 797, 798, 799, 797, 797, 797, 800, 800, 19, - 797, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 800, 1, 800, 800, 800, 800, 800, 800, 800, 800, + 800, 800, 801, 802, 800, 800, 800, 803, 803, 19, + 800, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 797, 797, 797, 797, 797, 797, 797, 801, 802, - 797, 803, 799, 804, 804, 797, 797, 797, 797, 797, - 805, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 800, 800, 800, 800, 800, 800, 800, 804, 805, + 800, 806, 802, 807, 807, 800, 800, 800, 800, 800, + 808, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 805, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 808, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 797, 806, 807, 808, 809, - 810, 802, 797, 803, 811, 812, 804, 797, 797, 812, - 813, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 805, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 814, 797, 797, 797, 797, 797, 810, 815, 797, 797, + 19, 19, 19, 19, 19, 800, 809, 810, 811, 812, + 813, 805, 800, 806, 814, 815, 807, 800, 800, 815, 816, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 805, 805, 805, 19, 19, 19, - 19, 19, 19, 19, 805, 805, 805, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 808, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 817, 814, 818, 797, 819, 820, 821, - 797, 797, 822, 816, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 805, 805, 805, 19, 19, 19, 19, - 19, 19, 19, 805, 805, 805, 19, 19, 19, 805, + 19, 817, 800, 800, 800, 800, 800, 813, 818, 800, + 800, 819, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 808, 808, 808, 19, 19, + 19, 19, 19, 19, 19, 808, 808, 808, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 805, 805, 805, 805, 19, 19, 19, 19, - 823, 797, 819, 824, 825, 797, 797, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 805, 805, 805, 19, 19, 19, 19, - 19, 19, 805, 805, 805, 19, 19, 19, 19, 805, + 19, 19, 19, 19, 19, 820, 817, 821, 800, 822, + 823, 824, 800, 800, 825, 819, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 808, 808, 808, 19, 19, + 19, 19, 19, 19, 19, 808, 808, 808, 19, 19, + 19, 19, 808, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 805, 805, 805, 19, 19, 797, 797, 826, 797, - 797, 827, 825, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 805, 805, 805, 19, + 19, 19, 19, 19, 19, 808, 808, 808, 808, 19, - 19, 19, 19, 805, 805, 805, 19, 19, 19, 19, - 19, 805, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 826, 800, 822, 827, 828, 800, 800, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 805, 805, 805, 19, 19, 797, - 797, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 805, 805, 805, 19, 19, 19, 805, 805, 805, 19, - 19, 19, 19, 19, 805, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 808, 808, 808, 19, + 19, 19, 19, 19, 19, 808, 808, 808, 19, 19, + 19, 19, 808, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 805, 805, 805, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 805, 805, 805, 19, 19, - - 805, 805, 805, 19, 19, 19, 19, 805, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 805, 805, 805, 19, 19, - 19, 19, 19, 19, 19, 805, 805, 805, 19, 805, - 805, 805, 19, 19, 19, 805, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 805, 805, 805, 19, - 19, 19, 19, 19, 19, 805, 805, 805, 805, 805, - 805, 805, 19, 19, 19, 19, 19, 19, 19, 19, - 805, 805, 805, 19, 19, 19, 19, 805, 805, 805, - 805, 805, 805, 19, 19, 19, 19, 805, 19, 805, + 19, 19, 19, 19, 808, 808, 808, 19, 19, 800, + 800, 829, 800, 800, 830, 828, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 808, - 805, 805, 19, 19, 19, 19, 805, 805, 805, 805, - 805, 805, 19, 19, 19, 805, 19, 805, 805, 805, - 19, 19, 19, 19, 805, 805, 805, 805, 805, 805, - 19, 19, 805, 19, 805, 805, 805, 19, 19, 805, - 805, 805, 805, 805, 805, 19, 805, 19, 805, 805, - 805, 19, 19, 805, 805, 805, 805, 805, 805, 805, - 805, 805, 805, 19, 805, 805, 805, 805, 805, 805, - 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, - 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, - 805, 805, 805, 805, 805, 805, 0, 797, 797, 797, + 808, 808, 19, 19, 19, 19, 808, 808, 808, 19, + 19, 19, 19, 19, 808, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 808, 808, 808, + 19, 19, 800, 800, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 808, 808, 808, 19, 19, 19, 808, + 808, 808, 19, 19, 19, 19, 19, 808, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 808, 808, 808, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 808, 808, - 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, - 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, - 797, 797, 797, 797, 797, 797, 797 + 808, 19, 19, 808, 808, 808, 19, 19, 19, 19, + 808, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 808, 808, + 808, 19, 19, 19, 19, 19, 19, 19, 808, 808, + 808, 19, 808, 808, 808, 19, 19, 19, 808, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 808, + 808, 808, 19, 19, 19, 19, 19, 19, 808, 808, + 808, 808, 808, 808, 808, 19, 19, 19, 19, 19, + 19, 19, 19, 808, 808, 808, 19, 19, 19, 19, + 808, 808, 808, 808, 808, 808, 19, 19, 19, 19, + + 808, 19, 808, 808, 808, 19, 19, 19, 19, 808, + 808, 808, 808, 808, 808, 19, 19, 19, 808, 19, + 808, 808, 808, 19, 19, 19, 19, 808, 808, 808, + 808, 808, 808, 19, 19, 808, 19, 808, 808, 808, + 19, 19, 808, 808, 808, 808, 808, 808, 19, 808, + 19, 808, 808, 808, 19, 19, 808, 808, 808, 808, + 808, 808, 808, 808, 808, 808, 19, 808, 808, 808, + 808, 808, 808, 808, 808, 808, 808, 808, 808, 808, + 808, 808, 808, 808, 808, 808, 808, 808, 808, 808, + 808, 808, 808, 808, 808, 808, 808, 808, 808, 0, + + 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, + 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, + 800, 800, 800, 800, 800, 800, 800, 800, 800, 800 } ; -static const flex_int16_t grib_yy_nxt[2002] = +static const flex_int16_t grib_yy_nxt[2008] = { 0, 4, 5, 6, 7, 8, 9, 10, 8, 11, 11, 12, 13, 14, 14, 14, 14, 14, 14, 14, 15, @@ -714,7 +714,7 @@ static const flex_int16_t grib_yy_nxt[2002] = 123, 46, 46, 46, 46, 46, 46, 46, 51, 51, 52, 62, 48, 48, 48, 48, 48, 48, 48, 146, 145, 62, 62, 128, 130, 130, 130, 130, 130, 130, - 130, 166, 131, 205, 60, 128, 133, 133, 133, 133, + 130, 166, 131, 206, 60, 128, 133, 133, 133, 133, 133, 133, 133, 51, 51, 52, 62, 53, 53, 53, 53, 53, 53, 53, 147, 62, 60, 62, 55, 136, 136, 136, 136, 136, 136, 136, 62, 62, 148, 62, @@ -724,194 +724,194 @@ static const flex_int16_t grib_yy_nxt[2002] = 62, 154, 156, 60, 62, 62, 62, 162, 62, 163, 157, 158, 164, 159, 168, 62, 62, 165, 62, 62, 167, 62, 62, 169, 171, 173, 176, 170, 172, 175, - 62, 179, 174, 62, 178, 62, 62, 62, 62, 62, - 182, 177, 181, 180, 62, 62, 62, 62, 189, 62, - 190, 191, 62, 62, 196, 184, 185, 62, 183, 195, - 187, 188, 194, 186, 62, 192, 62, 198, 62, 62, - 193, 206, 199, 62, 197, 207, 202, 62, 62, 62, - 209, 60, 62, 200, 201, 208, 212, 62, 62, 62, - 62, 203, 210, 213, 211, 204, 216, 215, 218, 138, + 62, 180, 174, 62, 178, 62, 62, 62, 62, 62, + 183, 177, 182, 181, 62, 191, 62, 62, 179, 62, + 192, 62, 62, 190, 62, 185, 186, 196, 184, 62, + 188, 189, 203, 187, 193, 195, 199, 62, 197, 194, + 62, 62, 62, 198, 62, 62, 200, 204, 208, 62, + 62, 205, 210, 62, 212, 207, 62, 201, 202, 214, + 213, 62, 62, 211, 62, 209, 62, 215, 216, 233, - 138, 214, 219, 220, 223, 223, 225, 225, 226, 229, - 229, 62, 217, 130, 130, 130, 130, 130, 130, 130, - 62, 131, 51, 51, 52, 235, 133, 133, 133, 133, - 133, 133, 133, 228, 62, 60, 62, 128, 136, 136, - 136, 136, 136, 136, 136, 228, 234, 260, 246, 128, - 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, - 222, 222, 222, 222, 60, 62, 141, 140, 140, 140, - 140, 140, 140, 140, 62, 62, 62, 232, 62, 62, - 62, 233, 62, 62, 239, 237, 236, 241, 62, 238, - 62, 62, 240, 242, 62, 62, 62, 247, 244, 62, + 217, 219, 138, 138, 60, 220, 221, 224, 224, 226, + 226, 227, 229, 230, 230, 62, 218, 130, 130, 130, + 130, 130, 130, 130, 229, 131, 51, 51, 52, 236, + 133, 133, 133, 133, 133, 133, 133, 62, 62, 60, + 62, 128, 136, 136, 136, 136, 136, 136, 136, 255, + 235, 261, 60, 128, 223, 223, 223, 223, 223, 223, + 223, 223, 223, 223, 223, 223, 223, 223, 60, 62, + 141, 140, 140, 140, 140, 140, 140, 140, 62, 237, + 62, 62, 62, 62, 234, 62, 240, 238, 62, 62, + 62, 239, 62, 241, 62, 62, 62, 62, 243, 62, - 62, 62, 249, 62, 60, 62, 60, 62, 243, 62, - 252, 62, 245, 62, 62, 254, 250, 248, 262, 258, - 253, 263, 251, 261, 62, 62, 265, 268, 266, 259, - 267, 269, 62, 255, 62, 62, 62, 256, 62, 62, - 264, 62, 257, 271, 272, 62, 270, 62, 273, 62, - 62, 275, 62, 62, 62, 274, 276, 277, 279, 62, - 62, 282, 62, 280, 283, 62, 284, 278, 62, 62, - 286, 281, 285, 62, 62, 62, 62, 62, 62, 62, - 287, 295, 289, 288, 291, 293, 62, 290, 62, 62, - 300, 62, 292, 62, 296, 62, 297, 294, 62, 62, + 245, 248, 62, 250, 62, 60, 62, 242, 62, 244, + 62, 62, 253, 62, 246, 62, 259, 249, 247, 251, + 252, 263, 262, 254, 266, 264, 267, 265, 268, 62, + 62, 62, 260, 62, 256, 62, 62, 273, 257, 62, + 62, 62, 62, 258, 269, 274, 62, 62, 270, 62, + 271, 275, 62, 277, 272, 281, 279, 278, 62, 62, + 62, 62, 62, 276, 286, 62, 282, 284, 287, 280, + 285, 62, 62, 62, 62, 62, 62, 62, 288, 283, + 62, 295, 62, 293, 297, 62, 289, 291, 298, 62, + 292, 62, 62, 62, 290, 294, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 298, 62, 321, 321, - 299, 62, 304, 301, 307, 303, 302, 306, 310, 309, - 305, 312, 62, 308, 313, 311, 60, 333, 359, 314, - 314, 314, 314, 314, 314, 314, 222, 222, 222, 222, - 222, 222, 222, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 227, 227, 227, - 227, 227, 227, 227, 316, 316, 316, 316, 316, 316, - 316, 317, 317, 318, 319, 230, 230, 230, 230, 230, - 230, 230, 60, 62, 62, 60, 320, 230, 230, 230, - 230, 230, 230, 230, 62, 62, 60, 328, 320, 323, + 296, 62, 62, 299, 62, 62, 302, 62, 62, 300, + 62, 62, 301, 306, 309, 303, 308, 305, 62, 304, + 311, 307, 312, 313, 310, 332, 314, 60, 60, 329, + 315, 316, 316, 316, 316, 316, 316, 316, 223, 223, + 223, 223, 223, 223, 223, 225, 225, 225, 225, 225, + 225, 225, 225, 225, 225, 225, 225, 225, 225, 228, + 228, 228, 228, 228, 228, 228, 318, 318, 318, 318, + 318, 318, 318, 319, 319, 320, 321, 323, 323, 231, + 231, 231, 231, 231, 231, 231, 62, 60, 322, 231, + 231, 231, 231, 231, 231, 231, 62, 62, 60, 62, - 323, 323, 323, 323, 323, 323, 326, 62, 62, 62, - 62, 62, 327, 62, 330, 62, 329, 336, 331, 62, - 334, 62, 62, 338, 62, 60, 62, 60, 60, 636, - 62, 62, 332, 342, 335, 62, 340, 339, 62, 337, - 62, 62, 349, 62, 60, 341, 352, 344, 343, 347, - 348, 350, 354, 345, 346, 60, 351, 60, 62, 62, - 355, 360, 62, 62, 356, 62, 62, 353, 62, 363, - 62, 62, 62, 62, 62, 62, 357, 366, 361, 62, - 62, 367, 368, 358, 62, 370, 362, 62, 62, 365, - 364, 62, 62, 369, 371, 62, 373, 62, 372, 374, + 322, 325, 325, 325, 325, 325, 325, 325, 328, 333, + 330, 62, 62, 62, 62, 62, 62, 62, 331, 338, + 62, 340, 62, 336, 62, 62, 60, 60, 335, 60, + 62, 62, 344, 62, 334, 62, 341, 337, 342, 351, + 339, 62, 62, 343, 354, 62, 60, 345, 346, 349, + 350, 352, 60, 347, 356, 348, 60, 357, 353, 62, + 62, 62, 62, 358, 363, 62, 62, 362, 62, 355, + 62, 62, 366, 62, 62, 62, 62, 359, 62, 369, + 62, 364, 62, 62, 360, 361, 370, 62, 371, 365, + 62, 62, 368, 372, 367, 62, 373, 374, 62, 377, - 62, 377, 62, 62, 62, 62, 62, 62, 62, 62, - 375, 62, 379, 62, 376, 382, 380, 378, 381, 383, - 62, 387, 62, 385, 388, 389, 62, 384, 393, 386, - 394, 62, 395, 396, 390, 62, 397, 62, 392, 62, - 62, 408, 391, 398, 319, 399, 60, 400, 62, 314, - 314, 314, 314, 314, 314, 314, 401, 402, 402, 402, - 402, 402, 402, 402, 319, 406, 406, 417, 401, 322, - 322, 322, 322, 322, 322, 322, 404, 322, 322, 322, - 322, 322, 322, 322, 62, 62, 60, 62, 404, 323, - 323, 323, 323, 323, 323, 323, 409, 62, 62, 62, + 62, 375, 380, 376, 62, 62, 378, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 386, 379, 383, + 62, 382, 385, 390, 62, 381, 384, 62, 62, 388, + 391, 392, 387, 62, 62, 389, 395, 402, 321, 393, + 401, 396, 394, 397, 403, 398, 399, 400, 60, 321, + 404, 60, 62, 62, 316, 316, 316, 316, 316, 316, + 316, 407, 404, 405, 405, 405, 405, 405, 405, 405, + 409, 409, 417, 407, 324, 324, 324, 324, 324, 324, + 324, 324, 324, 324, 324, 324, 324, 324, 60, 62, + 62, 325, 325, 325, 325, 325, 325, 325, 62, 412, - 62, 62, 62, 412, 62, 414, 415, 410, 411, 413, - 62, 62, 62, 60, 420, 60, 60, 418, 62, 62, - 62, 416, 62, 62, 419, 428, 423, 62, 60, 421, - 60, 60, 62, 62, 422, 62, 432, 436, 429, 431, - 426, 430, 60, 427, 62, 424, 62, 62, 433, 438, - 434, 435, 62, 425, 62, 62, 437, 441, 439, 62, - 444, 62, 62, 62, 62, 62, 445, 443, 440, 442, - 62, 62, 62, 62, 462, 449, 62, 62, 62, 450, - 62, 447, 448, 446, 452, 455, 453, 451, 457, 62, - 458, 456, 459, 454, 62, 62, 460, 62, 463, 461, + 411, 62, 62, 62, 62, 62, 62, 62, 415, 62, + 418, 414, 413, 416, 62, 62, 62, 60, 60, 423, + 60, 62, 421, 62, 420, 419, 62, 62, 62, 422, + 426, 62, 431, 424, 60, 60, 62, 60, 425, 62, + 435, 432, 60, 434, 429, 62, 430, 433, 62, 427, + 62, 62, 439, 441, 436, 437, 428, 438, 444, 62, + 62, 62, 442, 448, 62, 62, 62, 62, 443, 447, + 62, 440, 62, 445, 62, 62, 62, 62, 60, 446, + 452, 62, 460, 453, 456, 451, 450, 62, 449, 455, + 458, 457, 62, 454, 62, 62, 459, 461, 62, 466, - 62, 62, 62, 62, 62, 62, 60, 464, 467, 62, - 60, 60, 60, 466, 472, 471, 473, 470, 465, 474, - 62, 477, 477, 62, 468, 469, 475, 476, 317, 317, - 318, 319, 402, 402, 402, 402, 402, 402, 402, 319, - 480, 480, 502, 320, 482, 482, 482, 482, 482, 482, - 482, 479, 484, 62, 62, 320, 407, 407, 407, 407, - 407, 407, 407, 479, 319, 407, 407, 407, 407, 407, - 407, 407, 62, 62, 62, 62, 485, 62, 62, 62, - 486, 487, 62, 490, 62, 62, 62, 60, 494, 60, - 60, 62, 493, 489, 491, 62, 62, 488, 60, 60, + 462, 62, 62, 62, 464, 62, 62, 465, 62, 62, + 62, 463, 470, 467, 60, 60, 469, 62, 60, 474, + 476, 62, 475, 468, 473, 477, 62, 478, 471, 472, + 480, 480, 483, 483, 62, 479, 319, 319, 320, 321, + 405, 405, 405, 405, 405, 405, 405, 321, 487, 62, + 525, 322, 485, 485, 485, 485, 485, 485, 485, 482, + 62, 490, 60, 322, 410, 410, 410, 410, 410, 410, + 410, 482, 321, 410, 410, 410, 410, 410, 410, 410, + 62, 62, 62, 491, 488, 62, 62, 62, 489, 62, + 62, 493, 62, 62, 497, 60, 60, 60, 62, 496, - 60, 492, 501, 495, 62, 503, 62, 62, 62, 496, - 60, 62, 500, 507, 497, 510, 509, 62, 62, 62, - 508, 62, 62, 514, 62, 62, 511, 498, 515, 499, - 504, 505, 506, 62, 520, 62, 62, 62, 518, 513, - 62, 62, 516, 62, 519, 62, 62, 62, 526, 517, - 529, 62, 62, 512, 60, 523, 62, 62, 521, 522, - 60, 524, 527, 525, 528, 532, 531, 533, 60, 62, - 530, 62, 62, 534, 535, 540, 540, 62, 62, 62, - 536, 539, 544, 545, 62, 60, 60, 563, 537, 542, - 548, 538, 478, 478, 478, 478, 478, 478, 478, 319, + 492, 494, 62, 62, 62, 60, 60, 60, 504, 62, + 495, 498, 62, 506, 62, 499, 60, 62, 510, 503, + 62, 62, 500, 505, 512, 511, 62, 513, 62, 62, + 62, 514, 517, 62, 501, 62, 502, 507, 508, 509, + 518, 62, 62, 62, 519, 516, 62, 62, 62, 521, + 523, 62, 62, 62, 524, 522, 520, 532, 62, 515, + 62, 526, 529, 62, 527, 528, 531, 62, 534, 60, + 530, 60, 60, 536, 535, 533, 62, 62, 481, 481, + 481, 481, 481, 481, 481, 543, 543, 542, 537, 538, + 62, 539, 540, 62, 547, 62, 62, 548, 541, 321, - 478, 478, 478, 478, 478, 478, 478, 481, 481, 481, - 481, 481, 481, 481, 319, 481, 481, 481, 481, 481, - 481, 481, 482, 482, 482, 482, 482, 482, 482, 62, - 62, 62, 62, 62, 60, 60, 60, 550, 62, 62, - 60, 62, 60, 60, 62, 543, 547, 556, 62, 62, - 62, 60, 62, 546, 549, 551, 552, 62, 560, 554, - 562, 62, 555, 561, 62, 568, 553, 62, 62, 62, - 557, 564, 558, 559, 567, 62, 62, 566, 570, 571, - 569, 62, 573, 62, 62, 575, 62, 565, 62, 576, - 62, 572, 574, 62, 578, 62, 62, 60, 577, 60, + 481, 481, 481, 481, 481, 481, 481, 484, 484, 484, + 484, 484, 484, 484, 321, 484, 484, 484, 484, 484, + 484, 484, 485, 485, 485, 485, 485, 485, 485, 62, + 62, 62, 62, 62, 62, 62, 60, 60, 551, 553, + 60, 62, 62, 62, 60, 60, 545, 546, 550, 559, + 60, 62, 62, 549, 62, 62, 552, 554, 555, 62, + 60, 62, 557, 565, 62, 558, 563, 62, 564, 566, + 556, 571, 62, 62, 560, 561, 567, 62, 62, 62, + 562, 569, 62, 573, 62, 572, 570, 574, 578, 62, + 62, 62, 62, 62, 575, 579, 568, 576, 577, 581, - 580, 60, 62, 60, 62, 581, 62, 62, 62, 579, - 60, 587, 590, 582, 583, 541, 541, 541, 541, 541, - 541, 541, 588, 62, 591, 592, 62, 62, 60, 584, - 60, 585, 62, 586, 319, 541, 541, 541, 541, 541, - 541, 541, 589, 62, 593, 598, 62, 60, 60, 595, - 60, 596, 599, 62, 594, 62, 60, 62, 597, 62, - 62, 604, 62, 62, 62, 62, 600, 606, 62, 62, - 609, 611, 610, 62, 612, 62, 62, 605, 62, 62, - 607, 62, 613, 618, 62, 620, 601, 602, 614, 603, - 62, 616, 62, 619, 622, 617, 624, 608, 60, 60, + 62, 62, 583, 62, 580, 60, 60, 60, 62, 62, + 62, 62, 584, 625, 582, 60, 60, 590, 62, 585, + 592, 586, 544, 544, 544, 544, 544, 544, 544, 321, + 544, 544, 544, 544, 544, 544, 544, 587, 588, 589, + 62, 62, 62, 62, 62, 62, 597, 60, 60, 593, + 601, 62, 62, 60, 591, 604, 60, 602, 62, 62, + 594, 595, 62, 62, 60, 596, 607, 598, 62, 62, + 599, 62, 609, 62, 62, 603, 600, 615, 612, 613, + 62, 608, 614, 62, 610, 62, 62, 62, 62, 62, + 62, 616, 605, 60, 62, 606, 623, 62, 60, 621, - 60, 615, 623, 62, 625, 62, 62, 621, 62, 62, - 60, 62, 60, 62, 633, 62, 60, 60, 60, 62, - 62, 62, 60, 62, 630, 629, 62, 631, 626, 627, - 628, 634, 632, 635, 62, 62, 637, 648, 62, 62, - 650, 645, 643, 639, 644, 647, 638, 62, 646, 649, - 62, 651, 62, 652, 653, 640, 641, 642, 62, 60, - 60, 60, 62, 62, 62, 62, 60, 62, 60, 62, - 654, 60, 661, 656, 60, 662, 655, 664, 663, 665, - 60, 668, 60, 60, 660, 62, 62, 62, 667, 60, - 62, 62, 62, 62, 676, 60, 62, 60, 657, 658, + 626, 60, 619, 617, 622, 611, 620, 62, 62, 627, + 62, 618, 62, 62, 62, 62, 624, 628, 60, 60, + 636, 60, 62, 629, 60, 60, 60, 633, 630, 632, + 62, 631, 634, 635, 637, 638, 62, 62, 62, 62, + 60, 62, 62, 62, 62, 640, 62, 653, 62, 652, + 642, 62, 655, 646, 62, 641, 651, 650, 648, 647, + 654, 658, 639, 643, 644, 645, 649, 656, 657, 60, + 60, 60, 62, 62, 62, 659, 62, 62, 62, 60, + 60, 60, 664, 60, 60, 665, 62, 667, 668, 666, + 671, 60, 60, 62, 663, 62, 62, 62, 62, 60, - 659, 678, 679, 669, 62, 666, 673, 674, 675, 677, - 62, 62, 670, 60, 671, 680, 686, 62, 684, 60, - 672, 685, 60, 60, 60, 687, 60, 62, 681, 62, - 60, 62, 62, 698, 682, 62, 683, 60, 60, 688, - 62, 697, 690, 696, 62, 695, 699, 62, 62, 691, - 692, 689, 693, 62, 60, 694, 60, 60, 703, 60, - 60, 705, 700, 60, 62, 62, 60, 706, 60, 701, - 702, 704, 62, 60, 707, 713, 60, 62, 62, 710, - 711, 62, 708, 712, 717, 62, 715, 714, 724, 709, - 62, 716, 60, 721, 718, 60, 722, 60, 60, 719, + 670, 62, 62, 60, 60, 679, 676, 681, 660, 661, + 662, 678, 682, 672, 680, 677, 673, 62, 669, 62, + 683, 60, 62, 674, 60, 689, 62, 60, 60, 675, + 62, 687, 688, 60, 690, 60, 62, 62, 684, 60, + 701, 62, 685, 686, 62, 60, 60, 691, 693, 699, + 700, 62, 698, 694, 62, 702, 692, 62, 697, 695, + 62, 696, 62, 60, 60, 60, 60, 60, 60, 62, + 62, 703, 706, 60, 708, 62, 709, 704, 705, 716, + 707, 60, 60, 710, 60, 62, 713, 714, 715, 718, + 711, 720, 62, 717, 62, 62, 60, 712, 719, 60, - 60, 723, 720, 62, 60, 62, 60, 60, 62, 60, - 62, 60, 60, 60, 62, 60, 725, 738, 731, 60, - 60, 732, 734, 727, 728, 60, 729, 735, 739, 726, - 730, 736, 733, 737, 62, 62, 60, 60, 60, 60, - 741, 62, 62, 60, 740, 60, 746, 60, 60, 742, - 753, 748, 60, 743, 744, 60, 60, 752, 60, 745, - 747, 60, 60, 749, 750, 751, 62, 60, 754, 60, - 60, 60, 60, 757, 60, 756, 764, 758, 60, 62, - 759, 60, 60, 60, 755, 60, 760, 60, 60, 60, - 60, 60, 761, 765, 60, 762, 763, 60, 766, 60, + 725, 62, 60, 60, 724, 60, 60, 721, 722, 62, + 723, 726, 727, 60, 60, 62, 62, 60, 60, 62, + 728, 62, 734, 60, 60, 60, 741, 62, 730, 731, + 60, 732, 733, 729, 735, 737, 60, 738, 739, 736, + 60, 742, 62, 740, 60, 62, 60, 60, 62, 743, + 60, 62, 744, 60, 749, 60, 756, 60, 60, 745, + 60, 751, 60, 60, 746, 60, 60, 755, 750, 60, + 747, 62, 752, 753, 748, 60, 754, 60, 757, 60, + 60, 767, 60, 760, 60, 759, 60, 761, 762, 60, + 763, 60, 60, 60, 758, 60, 60, 60, 60, 764, - 60, 768, 769, 60, 770, 60, 772, 773, 774, 767, - 777, 771, 775, 778, 60, 60, 776, 60, 60, 779, - 781, 780, 60, 785, 782, 60, 60, 60, 60, 60, - 783, 62, 62, 62, 62, 784, 62, 62, 62, 786, - 789, 62, 62, 62, 790, 60, 62, 788, 787, 791, - 792, 793, 62, 62, 62, 62, 62, 796, 62, 794, - 795, 50, 50, 54, 54, 54, 62, 54, 62, 54, - 54, 62, 62, 62, 62, 62, 62, 62, 49, 62, - 62, 49, 132, 132, 132, 132, 134, 62, 62, 134, - 137, 62, 62, 137, 62, 137, 137, 61, 62, 62, + 765, 768, 60, 766, 60, 60, 769, 60, 60, 60, + 771, 780, 772, 60, 773, 60, 775, 776, 770, 774, + 777, 60, 779, 778, 781, 60, 782, 783, 784, 787, + 60, 60, 60, 60, 60, 60, 60, 785, 786, 62, + 62, 62, 62, 788, 62, 62, 62, 789, 60, 790, + 62, 62, 792, 791, 793, 794, 795, 62, 62, 796, + 62, 62, 62, 62, 799, 797, 62, 62, 62, 798, + 50, 50, 54, 54, 54, 62, 54, 62, 54, 54, + 62, 62, 62, 62, 62, 62, 62, 49, 62, 62, + 49, 132, 132, 132, 132, 134, 62, 62, 134, 137, - 61, 62, 61, 61, 221, 221, 222, 222, 62, 62, - 222, 224, 224, 62, 62, 224, 130, 130, 130, 130, - 227, 227, 227, 62, 227, 230, 230, 62, 62, 230, - 136, 62, 62, 136, 62, 136, 136, 231, 231, 315, - 62, 62, 315, 62, 315, 315, 322, 322, 62, 62, - 322, 324, 62, 62, 324, 62, 324, 324, 314, 62, - 62, 314, 62, 314, 314, 316, 316, 62, 62, 316, - 403, 403, 62, 62, 403, 405, 405, 407, 407, 62, - 62, 407, 323, 62, 62, 323, 60, 323, 323, 478, - 478, 62, 62, 478, 481, 481, 62, 62, 481, 483, + 62, 62, 137, 62, 137, 137, 61, 62, 62, 61, + 62, 61, 61, 222, 222, 223, 223, 62, 62, 223, + 225, 225, 62, 62, 225, 130, 130, 130, 130, 228, + 228, 228, 62, 228, 231, 231, 62, 62, 231, 136, + 62, 62, 136, 62, 136, 136, 232, 232, 317, 62, + 62, 317, 62, 317, 317, 324, 324, 62, 62, 324, + 326, 62, 62, 326, 62, 326, 326, 316, 62, 62, + 316, 62, 316, 316, 318, 318, 62, 62, 318, 406, + 406, 62, 62, 406, 408, 408, 410, 410, 60, 62, + 410, 325, 62, 62, 325, 62, 325, 325, 481, 481, - 62, 483, 483, 541, 541, 62, 62, 541, 482, 60, - 482, 482, 60, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 325, 62, 62, 62, 62, 62, 60, - 131, 62, 62, 62, 60, 141, 44, 126, 59, 58, - 47, 45, 44, 797, 3, 797, 797, 797, 797, 797, - 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, - 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, - 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, - 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, - 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + 62, 62, 481, 484, 484, 62, 62, 484, 486, 60, + 486, 486, 544, 544, 60, 62, 544, 485, 62, 485, + 485, 62, 62, 62, 62, 62, 62, 62, 62, 327, + 62, 62, 62, 62, 62, 60, 131, 62, 62, 62, + 60, 141, 44, 126, 59, 58, 47, 45, 44, 800, + 3, 800, 800, 800, 800, 800, 800, 800, 800, 800, + 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, + 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, + 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, + 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, - 797 + 800, 800, 800, 800, 800, 800, 800 } ; -static const flex_int16_t grib_yy_chk[2002] = +static const flex_int16_t grib_yy_chk[2008] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -924,13 +924,13 @@ static const flex_int16_t grib_yy_chk[2002] = 31, 14, 14, 14, 14, 14, 14, 14, 15, 15, 18, 27, 14, 18, 18, 18, 18, 18, 18, 18, - 22, 20, 31, 35, 14, 19, 796, 27, 19, 19, + 22, 20, 31, 35, 14, 19, 799, 27, 19, 19, 19, 19, 19, 19, 19, 20, 22, 23, 22, 24, 22, 19, 22, 63, 35, 24, 63, 25, 35, 37, 33, 23, 28, 23, 26, 24, 23, 25, 24, 37, 33, 25, 29, 26, 28, 23, 25, 77, 29, 33, 26, 25, 26, 30, 28, 77, 29, 64, 49, 34, - 30, 26, 795, 30, 30, 28, 36, 32, 64, 34, + 30, 26, 798, 30, 30, 28, 36, 32, 64, 34, 49, 30, 36, 32, 38, 30, 30, 32, 34, 69, 39, 32, 41, 34, 38, 36, 32, 36, 38, 38, 39, 38, 40, 52, 65, 41, 76, 38, 38, 39, @@ -939,7 +939,7 @@ static const flex_int16_t grib_yy_chk[2002] = 40, 46, 46, 46, 46, 46, 46, 46, 48, 48, 48, 66, 48, 48, 48, 48, 48, 48, 48, 67, 66, 113, 82, 48, 50, 50, 50, 50, 50, 50, - 50, 82, 50, 113, 794, 48, 51, 51, 51, 51, + 50, 82, 50, 113, 797, 48, 51, 51, 51, 51, 51, 51, 51, 53, 53, 53, 68, 53, 53, 53, 53, 53, 53, 53, 68, 70, 54, 71, 53, 54, 54, 54, 54, 54, 54, 54, 72, 74, 68, 73, @@ -949,191 +949,191 @@ static const flex_int16_t grib_yy_chk[2002] = 83, 73, 75, 85, 86, 87, 88, 78, 84, 79, 75, 75, 80, 75, 84, 90, 89, 81, 93, 91, 83, 95, 98, 85, 87, 89, 93, 86, 88, 91, - 94, 95, 90, 96, 94, 97, 99, 100, 101, 102, - 98, 93, 97, 96, 103, 108, 105, 104, 102, 107, - 103, 104, 109, 110, 108, 100, 100, 114, 99, 107, - 101, 101, 105, 100, 116, 104, 111, 110, 112, 115, - 104, 114, 111, 117, 109, 115, 112, 119, 118, 122, - 117, 793, 120, 111, 111, 116, 120, 121, 124, 125, - 123, 112, 118, 121, 119, 112, 123, 122, 124, 128, + 94, 95, 90, 96, 94, 97, 99, 100, 101, 103, + 98, 93, 97, 96, 102, 103, 104, 107, 94, 105, + 104, 109, 110, 102, 112, 100, 100, 107, 99, 108, + 101, 101, 112, 100, 104, 105, 110, 119, 108, 104, + 111, 114, 115, 109, 116, 117, 111, 112, 115, 118, + 122, 112, 117, 121, 119, 114, 120, 111, 111, 121, + 120, 124, 125, 118, 123, 116, 142, 121, 122, 142, - 128, 121, 124, 125, 129, 129, 131, 131, 131, 135, - 135, 147, 123, 132, 132, 132, 132, 132, 132, 132, - 159, 132, 133, 133, 133, 147, 133, 133, 133, 133, - 133, 133, 133, 134, 172, 137, 146, 133, 137, 137, - 137, 137, 137, 137, 137, 134, 146, 172, 159, 133, - 138, 138, 138, 138, 138, 138, 138, 139, 139, 139, - 139, 139, 139, 139, 140, 155, 139, 140, 140, 140, - 140, 140, 140, 140, 142, 144, 148, 142, 150, 152, - 153, 144, 154, 156, 153, 150, 148, 155, 157, 152, - 158, 160, 154, 156, 161, 162, 163, 160, 158, 164, + 123, 124, 128, 128, 796, 124, 125, 129, 129, 131, + 131, 131, 134, 135, 135, 147, 123, 132, 132, 132, + 132, 132, 132, 132, 134, 132, 133, 133, 133, 147, + 133, 133, 133, 133, 133, 133, 133, 168, 172, 137, + 146, 133, 137, 137, 137, 137, 137, 137, 137, 168, + 146, 172, 791, 133, 138, 138, 138, 138, 138, 138, + 138, 139, 139, 139, 139, 139, 139, 139, 140, 148, + 139, 140, 140, 140, 140, 140, 140, 140, 144, 148, + 150, 152, 153, 154, 144, 155, 153, 150, 156, 157, + 159, 152, 158, 154, 161, 160, 162, 164, 156, 163, - 165, 167, 162, 168, 169, 171, 788, 174, 157, 170, - 165, 175, 158, 178, 173, 168, 163, 161, 174, 170, - 167, 175, 164, 173, 176, 179, 177, 178, 177, 171, - 177, 178, 183, 169, 181, 180, 182, 169, 177, 184, - 176, 185, 169, 180, 181, 187, 179, 186, 182, 189, - 190, 184, 188, 191, 194, 183, 185, 186, 188, 195, - 196, 191, 192, 189, 191, 193, 192, 187, 197, 198, - 194, 190, 193, 200, 202, 199, 208, 203, 205, 201, - 195, 203, 197, 196, 199, 201, 206, 198, 204, 207, - 208, 209, 200, 210, 204, 211, 205, 202, 212, 213, + 158, 160, 165, 162, 167, 169, 170, 155, 171, 157, + 174, 176, 165, 173, 158, 175, 170, 161, 159, 163, + 164, 174, 173, 167, 177, 175, 177, 176, 177, 181, + 178, 179, 171, 180, 169, 182, 177, 181, 169, 183, + 184, 185, 186, 169, 178, 182, 187, 188, 178, 189, + 179, 183, 190, 185, 180, 189, 187, 186, 191, 192, + 193, 194, 195, 184, 193, 196, 190, 192, 194, 188, + 192, 197, 199, 198, 200, 202, 201, 203, 195, 191, + 204, 202, 205, 200, 204, 206, 196, 198, 205, 207, + 199, 208, 209, 210, 197, 201, 211, 212, 214, 213, - 215, 220, 214, 216, 217, 219, 206, 218, 228, 228, - 207, 243, 212, 209, 214, 211, 210, 213, 217, 216, - 212, 219, 270, 215, 220, 218, 221, 243, 270, 221, - 221, 221, 221, 221, 221, 221, 222, 222, 222, 222, - 222, 222, 222, 223, 223, 223, 223, 223, 223, 223, - 224, 224, 224, 224, 224, 224, 224, 225, 225, 225, - 225, 225, 225, 225, 226, 226, 226, 226, 226, 226, - 226, 227, 227, 227, 227, 229, 229, 229, 229, 229, - 229, 229, 787, 235, 233, 596, 227, 230, 230, 230, - 230, 230, 230, 230, 234, 236, 231, 235, 227, 231, + 203, 216, 215, 206, 217, 219, 209, 221, 218, 207, + 220, 235, 208, 213, 215, 210, 214, 212, 240, 211, + 217, 213, 218, 219, 216, 240, 220, 790, 222, 235, + 221, 222, 222, 222, 222, 222, 222, 222, 223, 223, + 223, 223, 223, 223, 223, 224, 224, 224, 224, 224, + 224, 224, 225, 225, 225, 225, 225, 225, 225, 226, + 226, 226, 226, 226, 226, 226, 227, 227, 227, 227, + 227, 227, 227, 228, 228, 228, 228, 229, 229, 230, + 230, 230, 230, 230, 230, 230, 234, 789, 228, 231, + 231, 231, 231, 231, 231, 231, 236, 237, 232, 242, - 231, 231, 231, 231, 231, 231, 233, 239, 241, 242, - 244, 245, 234, 246, 239, 247, 236, 246, 241, 248, - 244, 249, 251, 248, 253, 255, 254, 256, 257, 596, - 259, 258, 242, 254, 245, 263, 251, 249, 260, 247, - 262, 261, 260, 264, 265, 253, 263, 255, 254, 258, - 259, 261, 265, 256, 257, 266, 262, 267, 268, 269, - 266, 271, 272, 273, 267, 275, 276, 264, 277, 275, - 280, 278, 281, 271, 282, 287, 268, 278, 272, 283, - 288, 280, 281, 269, 285, 283, 273, 289, 284, 277, - 276, 290, 292, 282, 284, 293, 287, 291, 285, 288, + 228, 232, 232, 232, 232, 232, 232, 232, 234, 242, + 236, 243, 244, 245, 246, 247, 248, 249, 237, 247, + 250, 249, 254, 245, 252, 255, 256, 257, 244, 258, + 260, 259, 255, 264, 243, 261, 250, 246, 252, 261, + 248, 262, 263, 254, 264, 265, 266, 255, 256, 259, + 260, 262, 267, 257, 266, 258, 268, 267, 263, 269, + 270, 272, 271, 268, 273, 274, 275, 272, 277, 265, + 278, 279, 277, 280, 284, 282, 273, 269, 283, 280, + 290, 274, 289, 291, 270, 271, 282, 287, 283, 275, + 285, 286, 279, 284, 278, 292, 285, 286, 293, 290, - 295, 291, 294, 296, 299, 300, 301, 304, 303, 297, - 289, 305, 293, 302, 290, 296, 294, 292, 295, 297, - 306, 302, 309, 300, 303, 304, 307, 299, 308, 301, - 308, 310, 308, 308, 305, 312, 309, 313, 307, 325, - 308, 325, 306, 310, 316, 312, 315, 313, 336, 315, - 315, 315, 315, 315, 315, 315, 316, 317, 317, 317, - 317, 317, 317, 317, 318, 320, 320, 336, 316, 321, - 321, 321, 321, 321, 321, 321, 318, 322, 322, 322, - 322, 322, 322, 322, 329, 334, 324, 327, 318, 324, - 324, 324, 324, 324, 324, 324, 327, 332, 330, 333, + 294, 287, 293, 289, 295, 296, 291, 299, 297, 301, + 298, 302, 303, 306, 305, 304, 307, 299, 292, 296, + 308, 295, 298, 304, 309, 294, 297, 314, 312, 302, + 305, 306, 301, 311, 315, 303, 309, 314, 318, 307, + 312, 310, 308, 310, 315, 310, 310, 311, 788, 320, + 318, 317, 336, 310, 317, 317, 317, 317, 317, 317, + 317, 320, 318, 319, 319, 319, 319, 319, 319, 319, + 322, 322, 336, 320, 323, 323, 323, 323, 323, 323, + 323, 324, 324, 324, 324, 324, 324, 324, 326, 331, + 329, 326, 326, 326, 326, 326, 326, 326, 327, 329, - 335, 337, 338, 332, 339, 334, 335, 329, 330, 333, - 340, 341, 342, 344, 339, 345, 346, 337, 347, 349, - 350, 335, 351, 352, 338, 349, 342, 353, 354, 340, - 355, 356, 358, 357, 341, 359, 353, 357, 350, 352, - 346, 351, 360, 347, 362, 344, 363, 364, 354, 358, - 355, 356, 365, 345, 366, 367, 357, 362, 359, 368, - 365, 370, 369, 371, 372, 383, 366, 364, 360, 363, - 373, 375, 377, 380, 383, 370, 374, 381, 378, 371, - 379, 368, 369, 367, 373, 375, 374, 372, 378, 382, - 379, 377, 380, 374, 384, 385, 381, 386, 384, 382, + 327, 332, 334, 335, 337, 338, 339, 340, 334, 341, + 337, 332, 331, 335, 342, 343, 344, 346, 347, 341, + 348, 349, 339, 352, 338, 337, 351, 354, 353, 340, + 344, 355, 351, 342, 356, 357, 360, 358, 343, 362, + 355, 352, 363, 354, 348, 365, 349, 353, 359, 346, + 366, 369, 359, 360, 356, 357, 347, 358, 365, 367, + 370, 368, 362, 369, 371, 372, 373, 374, 363, 368, + 375, 359, 381, 366, 377, 376, 378, 380, 779, 367, + 373, 383, 381, 374, 377, 372, 371, 382, 370, 376, + 378, 377, 384, 375, 385, 387, 380, 382, 386, 387, - 387, 389, 388, 391, 390, 392, 393, 385, 388, 398, - 786, 394, 395, 387, 393, 392, 394, 391, 386, 395, - 397, 401, 401, 431, 389, 390, 397, 398, 402, 402, - 402, 402, 402, 402, 402, 402, 402, 402, 402, 403, - 404, 404, 431, 402, 405, 405, 405, 405, 405, 405, - 405, 403, 408, 408, 413, 402, 406, 406, 406, 406, - 406, 406, 406, 403, 407, 407, 407, 407, 407, 407, - 407, 407, 411, 412, 414, 415, 411, 416, 418, 417, - 412, 413, 419, 416, 420, 421, 423, 424, 420, 425, - 426, 428, 419, 415, 417, 432, 430, 414, 433, 434, + 383, 388, 389, 390, 385, 392, 391, 386, 393, 395, + 394, 384, 391, 388, 396, 397, 390, 401, 398, 395, + 397, 400, 396, 389, 394, 398, 457, 400, 392, 393, + 404, 404, 407, 407, 416, 401, 405, 405, 405, 405, + 405, 405, 405, 405, 405, 405, 405, 406, 411, 411, + 457, 405, 408, 408, 408, 408, 408, 408, 408, 406, + 417, 416, 769, 405, 409, 409, 409, 409, 409, 409, + 409, 406, 410, 410, 410, 410, 410, 410, 410, 410, + 414, 415, 418, 417, 414, 419, 420, 421, 415, 422, + 423, 419, 426, 424, 423, 427, 428, 429, 431, 422, - 435, 418, 430, 421, 436, 432, 437, 439, 438, 423, - 440, 442, 428, 436, 424, 438, 437, 444, 445, 447, - 436, 448, 449, 444, 450, 452, 439, 425, 445, 426, - 433, 434, 435, 453, 452, 454, 455, 460, 449, 442, - 461, 463, 447, 456, 450, 459, 464, 467, 460, 448, - 464, 469, 471, 440, 472, 455, 468, 470, 453, 454, - 473, 456, 461, 459, 463, 469, 468, 470, 474, 475, - 467, 476, 485, 471, 472, 479, 479, 510, 487, 488, - 473, 476, 487, 488, 493, 785, 776, 510, 474, 485, - 493, 475, 477, 477, 477, 477, 477, 477, 477, 478, + 418, 420, 433, 435, 434, 436, 437, 438, 433, 439, + 421, 424, 442, 435, 440, 426, 443, 445, 439, 431, + 441, 450, 427, 434, 440, 439, 447, 441, 451, 456, + 448, 442, 447, 452, 428, 453, 429, 436, 437, 438, + 448, 455, 458, 466, 450, 445, 459, 462, 464, 452, + 455, 463, 470, 467, 456, 453, 451, 467, 471, 443, + 472, 458, 463, 473, 459, 462, 466, 474, 471, 475, + 464, 476, 477, 473, 472, 470, 478, 479, 480, 480, + 480, 480, 480, 480, 480, 482, 482, 479, 474, 475, + 490, 476, 477, 491, 490, 767, 756, 491, 478, 481, - 478, 478, 478, 478, 478, 478, 478, 480, 480, 480, - 480, 480, 480, 480, 481, 481, 481, 481, 481, 481, - 481, 481, 483, 483, 483, 483, 483, 483, 483, 486, - 489, 494, 490, 495, 498, 497, 499, 495, 500, 501, - 504, 502, 505, 506, 507, 486, 490, 502, 509, 508, - 511, 512, 514, 489, 494, 497, 498, 513, 507, 500, - 509, 515, 501, 508, 523, 515, 499, 519, 520, 521, - 504, 511, 505, 506, 514, 522, 524, 513, 520, 521, - 519, 525, 523, 526, 527, 525, 529, 512, 528, 526, - 530, 522, 524, 531, 528, 532, 533, 535, 527, 536, + 481, 481, 481, 481, 481, 481, 481, 483, 483, 483, + 483, 483, 483, 483, 484, 484, 484, 484, 484, 484, + 484, 484, 486, 486, 486, 486, 486, 486, 486, 488, + 492, 489, 496, 497, 493, 498, 501, 500, 496, 498, + 502, 503, 504, 505, 507, 508, 488, 489, 493, 505, + 509, 512, 510, 492, 511, 514, 497, 500, 501, 513, + 515, 516, 503, 512, 517, 504, 510, 518, 511, 513, + 502, 518, 522, 523, 507, 508, 514, 524, 525, 526, + 509, 516, 527, 523, 528, 522, 517, 524, 528, 529, + 530, 532, 533, 531, 525, 529, 515, 526, 527, 531, - 530, 537, 539, 766, 544, 531, 545, 547, 542, 529, - 553, 539, 544, 532, 533, 540, 540, 540, 540, 540, - 540, 540, 542, 548, 545, 547, 549, 550, 551, 535, - 552, 536, 543, 537, 541, 541, 541, 541, 541, 541, - 541, 541, 543, 556, 548, 553, 554, 557, 558, 550, - 559, 551, 554, 560, 549, 561, 565, 562, 552, 563, - 566, 560, 567, 568, 571, 572, 556, 562, 569, 576, - 566, 568, 567, 574, 569, 575, 577, 561, 578, 579, - 563, 583, 571, 576, 582, 578, 557, 558, 572, 559, - 580, 575, 581, 577, 580, 575, 582, 565, 584, 585, + 534, 535, 533, 536, 530, 538, 539, 540, 542, 583, + 546, 751, 534, 583, 532, 556, 560, 542, 552, 535, + 546, 536, 543, 543, 543, 543, 543, 543, 543, 544, + 544, 544, 544, 544, 544, 544, 544, 538, 539, 540, + 545, 547, 548, 550, 551, 553, 552, 554, 555, 547, + 556, 557, 559, 561, 545, 560, 562, 557, 563, 564, + 548, 550, 565, 566, 568, 551, 563, 553, 569, 570, + 554, 572, 565, 574, 571, 559, 555, 572, 569, 570, + 575, 564, 571, 577, 566, 579, 578, 580, 582, 581, + 584, 574, 561, 587, 586, 562, 581, 585, 588, 579, - 586, 574, 581, 588, 583, 590, 593, 579, 591, 592, - 597, 594, 598, 595, 593, 599, 601, 602, 603, 604, - 606, 605, 608, 614, 590, 588, 611, 591, 584, 585, - 586, 594, 592, 595, 617, 618, 597, 614, 620, 616, - 617, 606, 604, 599, 605, 611, 598, 619, 608, 616, - 621, 618, 623, 619, 620, 601, 602, 603, 622, 626, - 627, 628, 629, 630, 631, 633, 636, 634, 637, 635, - 621, 640, 630, 623, 638, 631, 622, 634, 633, 635, - 641, 638, 642, 646, 629, 650, 647, 648, 637, 657, - 649, 653, 654, 652, 650, 658, 655, 659, 626, 627, + 584, 589, 578, 575, 580, 568, 578, 591, 593, 585, + 595, 577, 596, 594, 597, 598, 582, 586, 599, 600, + 596, 601, 602, 587, 604, 605, 606, 593, 588, 591, + 607, 589, 594, 595, 597, 598, 608, 609, 614, 619, + 611, 620, 617, 625, 621, 600, 622, 620, 624, 619, + 602, 623, 622, 607, 626, 601, 617, 614, 609, 608, + 621, 625, 599, 604, 605, 606, 611, 623, 624, 629, + 630, 631, 632, 633, 634, 626, 636, 637, 638, 639, + 640, 643, 633, 641, 644, 634, 650, 637, 638, 636, + 641, 645, 649, 652, 632, 651, 653, 656, 655, 660, - 628, 653, 654, 640, 660, 636, 647, 648, 649, 652, - 662, 661, 641, 666, 642, 655, 662, 665, 660, 667, - 646, 661, 668, 669, 670, 665, 671, 673, 657, 674, - 681, 675, 676, 677, 658, 680, 659, 682, 683, 666, - 684, 676, 668, 675, 677, 674, 680, 686, 685, 669, - 670, 667, 671, 687, 688, 673, 689, 690, 684, 691, - 692, 686, 681, 693, 696, 695, 698, 687, 700, 682, - 683, 685, 697, 701, 688, 695, 702, 706, 699, 691, - 692, 703, 689, 693, 699, 705, 697, 696, 706, 690, - 704, 698, 707, 703, 700, 708, 704, 709, 710, 701, + 640, 658, 657, 661, 662, 653, 650, 656, 629, 630, + 631, 652, 657, 643, 655, 651, 644, 663, 639, 665, + 658, 669, 664, 645, 670, 665, 668, 672, 671, 649, + 676, 663, 664, 673, 668, 674, 677, 678, 660, 684, + 680, 679, 661, 662, 683, 685, 686, 669, 671, 678, + 679, 680, 677, 672, 687, 683, 670, 688, 676, 673, + 689, 674, 690, 691, 692, 693, 694, 695, 696, 698, + 699, 684, 687, 701, 689, 700, 690, 685, 686, 698, + 688, 703, 704, 691, 705, 702, 694, 695, 696, 700, + 692, 702, 706, 699, 707, 708, 710, 693, 701, 711, - 711, 705, 702, 715, 712, 714, 716, 718, 717, 725, - 722, 719, 726, 720, 724, 727, 707, 722, 714, 728, - 729, 715, 717, 709, 710, 730, 711, 718, 724, 708, - 712, 719, 716, 720, 732, 734, 733, 735, 736, 737, - 726, 738, 739, 740, 725, 741, 732, 742, 743, 727, - 739, 734, 744, 728, 729, 745, 747, 738, 749, 730, - 733, 750, 751, 735, 736, 737, 752, 754, 740, 755, - 756, 757, 758, 743, 759, 742, 752, 744, 760, 764, - 745, 761, 762, 763, 741, 765, 747, 767, 768, 777, - 772, 769, 749, 754, 773, 750, 751, 770, 755, 771, + 707, 709, 712, 713, 706, 714, 715, 703, 704, 717, + 705, 708, 709, 719, 728, 749, 718, 721, 722, 725, + 710, 720, 717, 723, 729, 730, 725, 727, 712, 713, + 731, 714, 715, 711, 718, 720, 732, 721, 722, 719, + 733, 727, 735, 723, 736, 737, 738, 739, 742, 728, + 740, 741, 729, 743, 735, 744, 742, 745, 746, 730, + 750, 737, 747, 748, 731, 752, 753, 741, 736, 754, + 732, 755, 738, 739, 733, 757, 740, 758, 743, 759, + 760, 755, 761, 746, 762, 745, 763, 747, 748, 771, + 750, 764, 765, 770, 744, 766, 768, 778, 775, 752, - 774, 757, 758, 775, 759, 778, 761, 762, 763, 756, - 768, 760, 765, 769, 779, 780, 767, 789, 781, 770, - 772, 771, 782, 777, 773, 790, 791, 783, 784, 792, - 774, 753, 748, 746, 731, 775, 723, 721, 713, 778, - 781, 694, 679, 678, 782, 672, 664, 780, 779, 783, - 784, 789, 663, 656, 651, 645, 644, 792, 643, 790, - 791, 798, 798, 799, 799, 799, 639, 799, 632, 799, - 799, 800, 625, 624, 800, 615, 800, 800, 801, 613, - 612, 801, 802, 802, 802, 802, 803, 610, 609, 803, - 804, 607, 600, 804, 589, 804, 804, 805, 587, 573, + 753, 757, 772, 754, 773, 774, 758, 776, 777, 780, + 760, 771, 761, 781, 762, 782, 764, 765, 759, 763, + 766, 783, 770, 768, 772, 792, 773, 774, 775, 778, + 784, 793, 785, 786, 787, 794, 795, 776, 777, 734, + 726, 724, 716, 780, 697, 682, 681, 781, 675, 782, + 667, 666, 784, 783, 785, 786, 787, 659, 654, 792, + 648, 647, 646, 642, 795, 793, 635, 628, 627, 794, + 801, 801, 802, 802, 802, 618, 802, 616, 802, 802, + 803, 615, 613, 803, 612, 803, 803, 804, 610, 603, + 804, 805, 805, 805, 805, 806, 592, 590, 806, 807, - 805, 570, 805, 805, 806, 806, 807, 807, 564, 555, - 807, 808, 808, 546, 538, 808, 809, 809, 809, 809, - 810, 810, 810, 534, 810, 811, 811, 518, 517, 811, - 812, 516, 503, 812, 496, 812, 812, 813, 813, 814, - 492, 491, 814, 484, 814, 814, 815, 815, 466, 465, - 815, 816, 462, 458, 816, 457, 816, 816, 817, 451, - 446, 817, 443, 817, 817, 818, 818, 441, 429, 818, - 819, 819, 427, 422, 819, 820, 820, 821, 821, 410, - 409, 821, 822, 400, 399, 822, 396, 822, 822, 823, - 823, 376, 361, 823, 824, 824, 348, 343, 824, 825, + 576, 573, 807, 567, 807, 807, 808, 558, 549, 808, + 541, 808, 808, 809, 809, 810, 810, 537, 521, 810, + 811, 811, 520, 519, 811, 812, 812, 812, 812, 813, + 813, 813, 506, 813, 814, 814, 499, 495, 814, 815, + 494, 487, 815, 469, 815, 815, 816, 816, 817, 468, + 465, 817, 461, 817, 817, 818, 818, 460, 454, 818, + 819, 449, 446, 819, 444, 819, 819, 820, 432, 430, + 820, 425, 820, 820, 821, 821, 413, 412, 821, 822, + 822, 403, 402, 822, 823, 823, 824, 824, 399, 379, + 824, 825, 364, 361, 825, 350, 825, 825, 826, 826, - 331, 825, 825, 826, 826, 328, 326, 826, 827, 323, - 827, 827, 314, 311, 298, 286, 279, 274, 252, 250, - 240, 238, 237, 232, 166, 151, 149, 145, 143, 136, - 130, 106, 92, 62, 61, 60, 44, 42, 17, 16, - 10, 7, 5, 3, 797, 797, 797, 797, 797, 797, - 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, - 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, - 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, - 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, - 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, + 345, 333, 826, 827, 827, 330, 328, 827, 828, 325, + 828, 828, 829, 829, 316, 313, 829, 830, 300, 830, + 830, 288, 281, 276, 253, 251, 241, 239, 238, 233, + 166, 151, 149, 145, 143, 136, 130, 106, 92, 62, + 61, 60, 44, 42, 17, 16, 10, 7, 5, 3, + 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, + 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, + 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, + 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, + 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, - 797 + 800, 800, 800, 800, 800, 800, 800 } ; static grib_yy_state_type grib_yy_last_accepting_state; @@ -1448,13 +1448,13 @@ grib_yy_match: while ( grib_yy_chk[grib_yy_base[grib_yy_current_state] + grib_yy_c] != grib_yy_current_state ) { grib_yy_current_state = (int) grib_yy_def[grib_yy_current_state]; - if ( grib_yy_current_state >= 798 ) + if ( grib_yy_current_state >= 801 ) grib_yy_c = grib_yy_meta[grib_yy_c]; } grib_yy_current_state = grib_yy_nxt[grib_yy_base[grib_yy_current_state] + grib_yy_c]; ++grib_yy_cp; } - while ( grib_yy_base[grib_yy_current_state] != 1945 ); + while ( grib_yy_base[grib_yy_current_state] != 1951 ); grib_yy_find_action: grib_yy_act = grib_yy_accept[grib_yy_current_state]; @@ -1481,47 +1481,47 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP #line 74 "gribl.l" -return EQ ; +return EQ ; YY_BREAK case 2: YY_RULE_SETUP #line 75 "gribl.l" -return GE ; +return GE ; YY_BREAK case 3: YY_RULE_SETUP #line 76 "gribl.l" -return GT ; +return GT ; YY_BREAK case 4: YY_RULE_SETUP #line 77 "gribl.l" -return LE ; +return LE ; YY_BREAK case 5: YY_RULE_SETUP #line 78 "gribl.l" -return LT ; +return LT ; YY_BREAK case 6: YY_RULE_SETUP #line 79 "gribl.l" -return NE ; +return NE ; YY_BREAK case 7: YY_RULE_SETUP #line 80 "gribl.l" -return NE ; +return NE ; YY_BREAK case 8: YY_RULE_SETUP #line 81 "gribl.l" -return BIT ; +return BIT ; YY_BREAK case 9: YY_RULE_SETUP #line 82 "gribl.l" -return BITOFF ; +return BITOFF ; YY_BREAK case 10: YY_RULE_SETUP @@ -1531,7 +1531,7 @@ return IS ; case 11: YY_RULE_SETUP #line 85 "gribl.l" -return NOT ; +return ISNOT ; YY_BREAK case 12: YY_RULE_SETUP @@ -1541,7 +1541,7 @@ return NOT ; case 13: YY_RULE_SETUP #line 87 "gribl.l" -return AND ; +return NOT ; YY_BREAK case 14: YY_RULE_SETUP @@ -1551,7 +1551,7 @@ return AND ; case 15: YY_RULE_SETUP #line 89 "gribl.l" -return OR ; +return AND ; YY_BREAK case 16: YY_RULE_SETUP @@ -1560,333 +1560,333 @@ return OR ; YY_BREAK case 17: YY_RULE_SETUP -#line 92 "gribl.l" -return NIL ; +#line 91 "gribl.l" +return OR ; YY_BREAK case 18: YY_RULE_SETUP #line 93 "gribl.l" -return DUMMY ; +return NIL ; YY_BREAK case 19: YY_RULE_SETUP -#line 95 "gribl.l" -return SUBSTR ; +#line 94 "gribl.l" +return DUMMY ; YY_BREAK case 20: YY_RULE_SETUP #line 96 "gribl.l" -return CLOSE ; +return SUBSTR ; YY_BREAK case 21: YY_RULE_SETUP #line 97 "gribl.l" -return LENGTH ; +return CLOSE ; YY_BREAK case 22: YY_RULE_SETUP #line 98 "gribl.l" -return LOWERCASE; +return LENGTH ; YY_BREAK case 23: YY_RULE_SETUP #line 99 "gribl.l" -return IF ; +return LOWERCASE; YY_BREAK case 24: YY_RULE_SETUP #line 100 "gribl.l" -return IF_TRANSIENT ; +return IF ; YY_BREAK case 25: YY_RULE_SETUP #line 101 "gribl.l" -return ELSE ; +return IF_TRANSIENT ; YY_BREAK case 26: YY_RULE_SETUP #line 102 "gribl.l" -return UNSIGNED ; +return ELSE ; YY_BREAK case 27: YY_RULE_SETUP #line 103 "gribl.l" -return ASCII ; +return UNSIGNED ; YY_BREAK case 28: YY_RULE_SETUP #line 104 "gribl.l" -return BYTE ; +return ASCII ; YY_BREAK case 29: YY_RULE_SETUP #line 105 "gribl.l" -return LABEL ; +return BYTE ; YY_BREAK case 30: YY_RULE_SETUP #line 106 "gribl.l" -return LIST ; +return LABEL ; YY_BREAK case 31: YY_RULE_SETUP #line 107 "gribl.l" -return WHILE ; +return LIST ; YY_BREAK case 32: YY_RULE_SETUP #line 108 "gribl.l" -return TEMPLATE ; +return WHILE ; YY_BREAK case 33: YY_RULE_SETUP #line 109 "gribl.l" -return TEMPLATE_NOFAIL ; +return TEMPLATE ; YY_BREAK case 34: YY_RULE_SETUP #line 110 "gribl.l" -return TRIGGER ; +return TEMPLATE_NOFAIL ; YY_BREAK case 35: YY_RULE_SETUP #line 111 "gribl.l" -return END ; +return TRIGGER ; YY_BREAK case 36: YY_RULE_SETUP #line 112 "gribl.l" -return IBMFLOAT ; +return END ; YY_BREAK case 37: YY_RULE_SETUP #line 113 "gribl.l" -return FLOAT ; +return IBMFLOAT ; YY_BREAK case 38: YY_RULE_SETUP #line 114 "gribl.l" -return SIGNED ; +return FLOAT ; YY_BREAK case 39: YY_RULE_SETUP #line 115 "gribl.l" -return CODETABLE; +return SIGNED ; YY_BREAK case 40: YY_RULE_SETUP #line 116 "gribl.l" -return GETENV; +return CODETABLE; YY_BREAK case 41: YY_RULE_SETUP #line 117 "gribl.l" -return SMART_TABLE; +return GETENV; YY_BREAK case 42: YY_RULE_SETUP #line 118 "gribl.l" -return DICTIONARY; +return SMART_TABLE; YY_BREAK case 43: YY_RULE_SETUP #line 119 "gribl.l" -return CODETABLE; +return DICTIONARY; YY_BREAK case 44: YY_RULE_SETUP #line 120 "gribl.l" -return FLAG ; +return CODETABLE; YY_BREAK case 45: YY_RULE_SETUP #line 121 "gribl.l" -return LOOKUP ; +return FLAG ; YY_BREAK case 46: YY_RULE_SETUP #line 122 "gribl.l" -return GROUP ; +return LOOKUP ; YY_BREAK case 47: YY_RULE_SETUP #line 123 "gribl.l" -return NON_ALPHA ; +return GROUP ; YY_BREAK case 48: YY_RULE_SETUP #line 124 "gribl.l" -return META ; +return NON_ALPHA ; YY_BREAK case 49: YY_RULE_SETUP #line 125 "gribl.l" -return PADTOEVEN ; +return META ; YY_BREAK case 50: YY_RULE_SETUP #line 126 "gribl.l" -return PADTO ; +return PADTOEVEN ; YY_BREAK case 51: YY_RULE_SETUP #line 127 "gribl.l" -return PADTOMULTIPLE ; +return PADTO ; YY_BREAK case 52: YY_RULE_SETUP #line 128 "gribl.l" -return PAD ; +return PADTOMULTIPLE ; YY_BREAK case 53: YY_RULE_SETUP #line 129 "gribl.l" -return SECTION_PADDING ; +return PAD ; YY_BREAK case 54: YY_RULE_SETUP #line 130 "gribl.l" -return MESSAGE ; +return SECTION_PADDING ; YY_BREAK case 55: YY_RULE_SETUP #line 131 "gribl.l" -return MESSAGE_COPY ; +return MESSAGE ; YY_BREAK case 56: YY_RULE_SETUP #line 132 "gribl.l" -return ALIAS ; +return MESSAGE_COPY ; YY_BREAK case 57: YY_RULE_SETUP #line 133 "gribl.l" -return UNALIAS ; +return ALIAS ; YY_BREAK case 58: YY_RULE_SETUP #line 134 "gribl.l" -return POS ; +return UNALIAS ; YY_BREAK case 59: YY_RULE_SETUP #line 135 "gribl.l" -return INTCONST ; +return POS ; YY_BREAK case 60: YY_RULE_SETUP #line 136 "gribl.l" -return TRANS ; +return INTCONST ; YY_BREAK case 61: YY_RULE_SETUP #line 137 "gribl.l" -return STRING_TYPE ; +return TRANS ; YY_BREAK case 62: YY_RULE_SETUP #line 138 "gribl.l" -return LONG_TYPE ; +return STRING_TYPE ; YY_BREAK case 63: YY_RULE_SETUP #line 139 "gribl.l" -return DOUBLE_TYPE ; +return LONG_TYPE ; YY_BREAK case 64: YY_RULE_SETUP #line 140 "gribl.l" -return ITERATOR ; +return DOUBLE_TYPE ; YY_BREAK case 65: YY_RULE_SETUP #line 141 "gribl.l" -return NEAREST ; +return ITERATOR ; YY_BREAK case 66: YY_RULE_SETUP #line 142 "gribl.l" -return BOX ; +return NEAREST ; YY_BREAK case 67: YY_RULE_SETUP #line 143 "gribl.l" -return KSEC ; +return BOX ; YY_BREAK case 68: YY_RULE_SETUP #line 144 "gribl.l" -return FLAGBIT ; +return KSEC ; YY_BREAK case 69: YY_RULE_SETUP #line 145 "gribl.l" -return KSEC1EXPVER ; +return FLAGBIT ; YY_BREAK case 70: YY_RULE_SETUP #line 146 "gribl.l" -return MODIFY ; +return KSEC1EXPVER ; YY_BREAK case 71: YY_RULE_SETUP -#line 148 "gribl.l" -return G1_HALF_BYTE ; +#line 147 "gribl.l" +return MODIFY ; YY_BREAK case 72: YY_RULE_SETUP #line 149 "gribl.l" -return G1_MESSAGE_LENGTH ; +return G1_HALF_BYTE ; YY_BREAK case 73: YY_RULE_SETUP #line 150 "gribl.l" -return G1_SECTION4_LENGTH ; +return G1_MESSAGE_LENGTH ; YY_BREAK case 74: YY_RULE_SETUP -#line 152 "gribl.l" -return EXPORT; +#line 151 "gribl.l" +return G1_SECTION4_LENGTH ; YY_BREAK case 75: YY_RULE_SETUP #line 153 "gribl.l" -return REMOVE; +return EXPORT; YY_BREAK case 76: YY_RULE_SETUP #line 154 "gribl.l" -return RENAME; +return REMOVE; YY_BREAK case 77: YY_RULE_SETUP #line 155 "gribl.l" -return IS_IN_LIST; +return RENAME; YY_BREAK case 78: YY_RULE_SETUP #line 156 "gribl.l" -return IS_IN_DICT; +return IS_IN_LIST; YY_BREAK case 79: YY_RULE_SETUP #line 157 "gribl.l" -return TO_INTEGER; +return IS_IN_DICT; YY_BREAK case 80: YY_RULE_SETUP #line 158 "gribl.l" -return TO_STRING; +return TO_INTEGER; YY_BREAK case 81: YY_RULE_SETUP #line 159 "gribl.l" -return SEX2DEC; +return TO_STRING; YY_BREAK case 82: YY_RULE_SETUP #line 160 "gribl.l" -return IS_INTEGER; +return SEX2DEC; YY_BREAK case 83: YY_RULE_SETUP @@ -1895,212 +1895,217 @@ return IS_INTEGER; YY_BREAK case 84: YY_RULE_SETUP -#line 163 "gribl.l" -return SECTION_LENGTH ; +#line 162 "gribl.l" +return IS_INTEGER; YY_BREAK case 85: YY_RULE_SETUP -#line 165 "gribl.l" -return ASSERT ; +#line 164 "gribl.l" +return SECTION_LENGTH ; YY_BREAK case 86: YY_RULE_SETUP -#line 167 "gribl.l" -return READ_ONLY; +#line 166 "gribl.l" +return ASSERT ; YY_BREAK case 87: YY_RULE_SETUP #line 168 "gribl.l" -return NO_COPY; +return READ_ONLY; YY_BREAK case 88: YY_RULE_SETUP #line 169 "gribl.l" -return EDITION_SPECIFIC; +return NO_COPY; YY_BREAK case 89: YY_RULE_SETUP #line 170 "gribl.l" -return DUMP; +return EDITION_SPECIFIC; YY_BREAK case 90: YY_RULE_SETUP #line 171 "gribl.l" -return NO_FAIL; +return DUMP; YY_BREAK case 91: YY_RULE_SETUP #line 172 "gribl.l" -return HIDDEN; +return NO_FAIL; YY_BREAK case 92: YY_RULE_SETUP #line 173 "gribl.l" -return CAN_BE_MISSING; +return HIDDEN; YY_BREAK case 93: YY_RULE_SETUP #line 174 "gribl.l" -return MISSING; +return CAN_BE_MISSING; YY_BREAK case 94: YY_RULE_SETUP #line 175 "gribl.l" -return CONSTRAINT; +return MISSING; YY_BREAK case 95: YY_RULE_SETUP #line 176 "gribl.l" -return OVERRIDE; +return CONSTRAINT; YY_BREAK case 96: YY_RULE_SETUP #line 177 "gribl.l" -return COPY_OK; +return OVERRIDE; YY_BREAK case 97: YY_RULE_SETUP -#line 179 "gribl.l" -return UINT8; +#line 178 "gribl.l" +return COPY_OK; YY_BREAK case 98: YY_RULE_SETUP #line 180 "gribl.l" -return INT8; +return UINT8; YY_BREAK case 99: YY_RULE_SETUP -#line 182 "gribl.l" -return UINT16; +#line 181 "gribl.l" +return INT8; YY_BREAK case 100: YY_RULE_SETUP #line 183 "gribl.l" -return INT16; +return UINT16; YY_BREAK case 101: YY_RULE_SETUP #line 184 "gribl.l" -return UINT16_LITTLE_ENDIAN; +return INT16; YY_BREAK case 102: YY_RULE_SETUP #line 185 "gribl.l" -return INT16_LITTLE_ENDIAN; +return UINT16_LITTLE_ENDIAN; YY_BREAK case 103: YY_RULE_SETUP -#line 187 "gribl.l" -return UINT32; +#line 186 "gribl.l" +return INT16_LITTLE_ENDIAN; YY_BREAK case 104: YY_RULE_SETUP #line 188 "gribl.l" -return INT32; +return UINT32; YY_BREAK case 105: YY_RULE_SETUP #line 189 "gribl.l" -return UINT32_LITTLE_ENDIAN; +return INT32; YY_BREAK case 106: YY_RULE_SETUP #line 190 "gribl.l" -return INT32_LITTLE_ENDIAN; +return UINT32_LITTLE_ENDIAN; YY_BREAK case 107: YY_RULE_SETUP -#line 192 "gribl.l" -return UINT64; +#line 191 "gribl.l" +return INT32_LITTLE_ENDIAN; YY_BREAK case 108: YY_RULE_SETUP #line 193 "gribl.l" -return INT64; +return UINT64; YY_BREAK case 109: YY_RULE_SETUP #line 194 "gribl.l" -return UINT64_LITTLE_ENDIAN; +return INT64; YY_BREAK case 110: YY_RULE_SETUP #line 195 "gribl.l" -return INT64_LITTLE_ENDIAN; +return UINT64_LITTLE_ENDIAN; YY_BREAK case 111: YY_RULE_SETUP -#line 197 "gribl.l" -return BLOB; +#line 196 "gribl.l" +return INT64_LITTLE_ENDIAN; YY_BREAK case 112: YY_RULE_SETUP -#line 199 "gribl.l" -return SET; +#line 198 "gribl.l" +return BLOB; YY_BREAK case 113: YY_RULE_SETUP #line 200 "gribl.l" -return SET_NOFAIL; +return SET; YY_BREAK case 114: YY_RULE_SETUP #line 201 "gribl.l" -return WHEN; +return SET_NOFAIL; YY_BREAK case 115: YY_RULE_SETUP #line 202 "gribl.l" -return CASE; +return WHEN; YY_BREAK case 116: YY_RULE_SETUP #line 203 "gribl.l" -return SWITCH; +return CASE; YY_BREAK case 117: YY_RULE_SETUP #line 204 "gribl.l" -return DEFAULT; +return SWITCH; YY_BREAK case 118: YY_RULE_SETUP #line 205 "gribl.l" -return CONCEPT; +return DEFAULT; YY_BREAK case 119: YY_RULE_SETUP #line 206 "gribl.l" -return CONCEPT_NOFAIL; +return CONCEPT; YY_BREAK case 120: YY_RULE_SETUP #line 207 "gribl.l" -return HASH_ARRAY; +return CONCEPT_NOFAIL; YY_BREAK case 121: YY_RULE_SETUP #line 208 "gribl.l" -return WRITE; +return HASH_ARRAY; YY_BREAK case 122: YY_RULE_SETUP #line 209 "gribl.l" -return APPEND; +return WRITE; YY_BREAK case 123: YY_RULE_SETUP #line 210 "gribl.l" -return PRINT; +return APPEND; YY_BREAK case 124: YY_RULE_SETUP #line 211 "gribl.l" -return SKIP; +return PRINT; YY_BREAK case 125: YY_RULE_SETUP -#line 213 "gribl.l" +#line 212 "gribl.l" +return SKIP; + YY_BREAK +case 126: +YY_RULE_SETUP +#line 214 "gribl.l" { int c,q; while((c = GET_INPUT()) && isspace(c) && c != '\n') ; @@ -2118,9 +2123,9 @@ YY_RULE_SETUP grib_parser_include(grib_yytext); } YY_BREAK -case 126: +case 127: YY_RULE_SETUP -#line 230 "gribl.l" +#line 231 "gribl.l" { int c,q = grib_yytext[0]; @@ -2140,9 +2145,9 @@ YY_RULE_SETUP return STRING; } YY_BREAK -case 127: +case 128: YY_RULE_SETUP -#line 249 "gribl.l" +#line 250 "gribl.l" { int c; unsigned long val = 0; @@ -2156,15 +2161,10 @@ YY_RULE_SETUP return INTEGER; } YY_BREAK -case 128: -YY_RULE_SETUP -#line 263 "gribl.l" -{ grib_yylval.str = strdup(grib_yytext); return IDENT; } - YY_BREAK case 129: YY_RULE_SETUP #line 264 "gribl.l" -{ grib_yylval.lval = atol((const char *)grib_yytext); return INTEGER; } +{ grib_yylval.str = strdup(grib_yytext); return IDENT; } YY_BREAK case 130: YY_RULE_SETUP @@ -2174,7 +2174,7 @@ YY_RULE_SETUP case 131: YY_RULE_SETUP #line 266 "gribl.l" -{ grib_yylval.dval = atof((const char *)grib_yytext); return FLOAT; } +{ grib_yylval.lval = atol((const char *)grib_yytext); return INTEGER; } YY_BREAK case 132: YY_RULE_SETUP @@ -2188,7 +2188,12 @@ YY_RULE_SETUP YY_BREAK case 134: YY_RULE_SETUP -#line 271 "gribl.l" +#line 269 "gribl.l" +{ grib_yylval.dval = atof((const char *)grib_yytext); return FLOAT; } + YY_BREAK +case 135: +YY_RULE_SETUP +#line 272 "gribl.l" { int c; while((c = GET_INPUT()) && (c != '\n')){} @@ -2196,28 +2201,28 @@ YY_RULE_SETUP grib_yylineno++; } YY_BREAK -case 135: -YY_RULE_SETUP -#line 277 "gribl.l" -; - YY_BREAK case 136: -/* rule 136 can match eol */ YY_RULE_SETUP #line 278 "gribl.l" -grib_yylineno++; +; YY_BREAK case 137: +/* rule 137 can match eol */ YY_RULE_SETUP -#line 282 "gribl.l" -return *grib_yytext; +#line 279 "gribl.l" +grib_yylineno++; YY_BREAK case 138: YY_RULE_SETUP -#line 284 "gribl.l" +#line 283 "gribl.l" +return *grib_yytext; + YY_BREAK +case 139: +YY_RULE_SETUP +#line 285 "gribl.l" ECHO; YY_BREAK -#line 2220 "gribl.cc" +#line 2225 "gribl.cc" case YY_STATE_EOF(INITIAL): grib_yyterminate(); @@ -2514,7 +2519,7 @@ static int grib_yy_get_next_buffer (void) while ( grib_yy_chk[grib_yy_base[grib_yy_current_state] + grib_yy_c] != grib_yy_current_state ) { grib_yy_current_state = (int) grib_yy_def[grib_yy_current_state]; - if ( grib_yy_current_state >= 798 ) + if ( grib_yy_current_state >= 801 ) grib_yy_c = grib_yy_meta[grib_yy_c]; } grib_yy_current_state = grib_yy_nxt[grib_yy_base[grib_yy_current_state] + grib_yy_c]; @@ -2542,11 +2547,11 @@ static int grib_yy_get_next_buffer (void) while ( grib_yy_chk[grib_yy_base[grib_yy_current_state] + grib_yy_c] != grib_yy_current_state ) { grib_yy_current_state = (int) grib_yy_def[grib_yy_current_state]; - if ( grib_yy_current_state >= 798 ) + if ( grib_yy_current_state >= 801 ) grib_yy_c = grib_yy_meta[grib_yy_c]; } grib_yy_current_state = grib_yy_nxt[grib_yy_base[grib_yy_current_state] + grib_yy_c]; - grib_yy_is_jam = (grib_yy_current_state == 797); + grib_yy_is_jam = (grib_yy_current_state == 800); return grib_yy_is_jam ? 0 : grib_yy_current_state; } @@ -3222,7 +3227,7 @@ void grib_yyfree (void * ptr ) #define YYTABLES_NAME "grib_yytables" -#line 284 "gribl.l" +#line 285 "gribl.l" diff --git a/src/grib_yacc.cc b/src/grib_yacc.cc index b8d94ab2c..e374bc009 100644 --- a/src/grib_yacc.cc +++ b/src/grib_yacc.cc @@ -258,10 +258,11 @@ extern int grib_yydebug; OR = 375, /* OR */ NOT = 376, /* NOT */ IS = 377, /* IS */ - IDENT = 378, /* IDENT */ - STRING = 379, /* STRING */ - INTEGER = 380, /* INTEGER */ - FLOAT = 381 /* FLOAT */ + ISNOT = 378, /* ISNOT */ + IDENT = 379, /* IDENT */ + STRING = 380, /* STRING */ + INTEGER = 381, /* INTEGER */ + FLOAT = 382 /* FLOAT */ }; typedef enum grib_yytokentype grib_yytoken_kind_t; #endif @@ -390,10 +391,11 @@ extern int grib_yydebug; #define OR 375 #define NOT 376 #define IS 377 -#define IDENT 378 -#define STRING 379 -#define INTEGER 380 -#define FLOAT 381 +#define ISNOT 378 +#define IDENT 379 +#define STRING 380 +#define INTEGER 381 +#define FLOAT 382 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED @@ -417,7 +419,7 @@ union YYSTYPE grib_rule *rules; grib_rule_entry *rule_entry; -#line 421 "y.tab.c" +#line 423 "y.tab.c" }; typedef union YYSTYPE YYSTYPE; @@ -560,77 +562,78 @@ enum grib_yysymbol_kind_t YYSYMBOL_OR = 120, /* OR */ YYSYMBOL_NOT = 121, /* NOT */ YYSYMBOL_IS = 122, /* IS */ - YYSYMBOL_IDENT = 123, /* IDENT */ - YYSYMBOL_STRING = 124, /* STRING */ - YYSYMBOL_INTEGER = 125, /* INTEGER */ - YYSYMBOL_FLOAT = 126, /* FLOAT */ - YYSYMBOL_127_ = 127, /* ',' */ - YYSYMBOL_128_ = 128, /* ';' */ - YYSYMBOL_129_ = 129, /* '[' */ - YYSYMBOL_130_ = 130, /* ']' */ - YYSYMBOL_131_ = 131, /* '(' */ - YYSYMBOL_132_ = 132, /* ')' */ - YYSYMBOL_133_ = 133, /* '=' */ - YYSYMBOL_134_ = 134, /* '.' */ - YYSYMBOL_135_ = 135, /* '{' */ - YYSYMBOL_136_ = 136, /* '}' */ - YYSYMBOL_137_ = 137, /* ':' */ - YYSYMBOL_138_ = 138, /* '-' */ - YYSYMBOL_139_ = 139, /* '^' */ - YYSYMBOL_140_ = 140, /* '*' */ - YYSYMBOL_141_ = 141, /* '/' */ - YYSYMBOL_142_ = 142, /* '%' */ - YYSYMBOL_143_ = 143, /* '+' */ - YYSYMBOL_YYACCEPT = 144, /* $accept */ - YYSYMBOL_all = 145, /* all */ - YYSYMBOL_empty = 146, /* empty */ - YYSYMBOL_dvalues = 147, /* dvalues */ - YYSYMBOL_svalues = 148, /* svalues */ - YYSYMBOL_integer_array = 149, /* integer_array */ - YYSYMBOL_instructions = 150, /* instructions */ - YYSYMBOL_instruction = 151, /* instruction */ - YYSYMBOL_semi = 152, /* semi */ - YYSYMBOL_argument_list = 153, /* argument_list */ - YYSYMBOL_arguments = 154, /* arguments */ - YYSYMBOL_argument = 155, /* argument */ - YYSYMBOL_simple = 156, /* simple */ - YYSYMBOL_if_block = 157, /* if_block */ - YYSYMBOL_when_block = 158, /* when_block */ - YYSYMBOL_set = 159, /* set */ - YYSYMBOL_set_list = 160, /* set_list */ - YYSYMBOL_default = 161, /* default */ - YYSYMBOL_flags = 162, /* flags */ - YYSYMBOL_flag_list = 163, /* flag_list */ - YYSYMBOL_flag = 164, /* flag */ - YYSYMBOL_list_block = 165, /* list_block */ - YYSYMBOL_while_block = 166, /* while_block */ - YYSYMBOL_trigger_block = 167, /* trigger_block */ - YYSYMBOL_concept_block = 168, /* concept_block */ - YYSYMBOL_concept_list = 169, /* concept_list */ - YYSYMBOL_hash_array_list = 170, /* hash_array_list */ - YYSYMBOL_hash_array_block = 171, /* hash_array_block */ - YYSYMBOL_case_list = 172, /* case_list */ - YYSYMBOL_case_value = 173, /* case_value */ - YYSYMBOL_switch_block = 174, /* switch_block */ - YYSYMBOL_concept_value = 175, /* concept_value */ - YYSYMBOL_concept_conditions = 176, /* concept_conditions */ - YYSYMBOL_concept_condition = 177, /* concept_condition */ - YYSYMBOL_hash_array_value = 178, /* hash_array_value */ - YYSYMBOL_string_or_ident = 179, /* string_or_ident */ - YYSYMBOL_atom = 180, /* atom */ - YYSYMBOL_power = 181, /* power */ - YYSYMBOL_factor = 182, /* factor */ - YYSYMBOL_term = 183, /* term */ - YYSYMBOL_condition = 184, /* condition */ - YYSYMBOL_conjunction = 185, /* conjunction */ - YYSYMBOL_disjunction = 186, /* disjunction */ - YYSYMBOL_expression = 187, /* expression */ - YYSYMBOL_rule = 188, /* rule */ - YYSYMBOL_rule_entry = 189, /* rule_entry */ - YYSYMBOL_rule_entries = 190, /* rule_entries */ - YYSYMBOL_fact = 191, /* fact */ - YYSYMBOL_conditional_rule = 192, /* conditional_rule */ - YYSYMBOL_rules = 193 /* rules */ + YYSYMBOL_ISNOT = 123, /* ISNOT */ + YYSYMBOL_IDENT = 124, /* IDENT */ + YYSYMBOL_STRING = 125, /* STRING */ + YYSYMBOL_INTEGER = 126, /* INTEGER */ + YYSYMBOL_FLOAT = 127, /* FLOAT */ + YYSYMBOL_128_ = 128, /* ',' */ + YYSYMBOL_129_ = 129, /* ';' */ + YYSYMBOL_130_ = 130, /* '[' */ + YYSYMBOL_131_ = 131, /* ']' */ + YYSYMBOL_132_ = 132, /* '(' */ + YYSYMBOL_133_ = 133, /* ')' */ + YYSYMBOL_134_ = 134, /* '=' */ + YYSYMBOL_135_ = 135, /* '.' */ + YYSYMBOL_136_ = 136, /* '{' */ + YYSYMBOL_137_ = 137, /* '}' */ + YYSYMBOL_138_ = 138, /* ':' */ + YYSYMBOL_139_ = 139, /* '-' */ + YYSYMBOL_140_ = 140, /* '^' */ + YYSYMBOL_141_ = 141, /* '*' */ + YYSYMBOL_142_ = 142, /* '/' */ + YYSYMBOL_143_ = 143, /* '%' */ + YYSYMBOL_144_ = 144, /* '+' */ + YYSYMBOL_YYACCEPT = 145, /* $accept */ + YYSYMBOL_all = 146, /* all */ + YYSYMBOL_empty = 147, /* empty */ + YYSYMBOL_dvalues = 148, /* dvalues */ + YYSYMBOL_svalues = 149, /* svalues */ + YYSYMBOL_integer_array = 150, /* integer_array */ + YYSYMBOL_instructions = 151, /* instructions */ + YYSYMBOL_instruction = 152, /* instruction */ + YYSYMBOL_semi = 153, /* semi */ + YYSYMBOL_argument_list = 154, /* argument_list */ + YYSYMBOL_arguments = 155, /* arguments */ + YYSYMBOL_argument = 156, /* argument */ + YYSYMBOL_simple = 157, /* simple */ + YYSYMBOL_if_block = 158, /* if_block */ + YYSYMBOL_when_block = 159, /* when_block */ + YYSYMBOL_set = 160, /* set */ + YYSYMBOL_set_list = 161, /* set_list */ + YYSYMBOL_default = 162, /* default */ + YYSYMBOL_flags = 163, /* flags */ + YYSYMBOL_flag_list = 164, /* flag_list */ + YYSYMBOL_flag = 165, /* flag */ + YYSYMBOL_list_block = 166, /* list_block */ + YYSYMBOL_while_block = 167, /* while_block */ + YYSYMBOL_trigger_block = 168, /* trigger_block */ + YYSYMBOL_concept_block = 169, /* concept_block */ + YYSYMBOL_concept_list = 170, /* concept_list */ + YYSYMBOL_hash_array_list = 171, /* hash_array_list */ + YYSYMBOL_hash_array_block = 172, /* hash_array_block */ + YYSYMBOL_case_list = 173, /* case_list */ + YYSYMBOL_case_value = 174, /* case_value */ + YYSYMBOL_switch_block = 175, /* switch_block */ + YYSYMBOL_concept_value = 176, /* concept_value */ + YYSYMBOL_concept_conditions = 177, /* concept_conditions */ + YYSYMBOL_concept_condition = 178, /* concept_condition */ + YYSYMBOL_hash_array_value = 179, /* hash_array_value */ + YYSYMBOL_string_or_ident = 180, /* string_or_ident */ + YYSYMBOL_atom = 181, /* atom */ + YYSYMBOL_power = 182, /* power */ + YYSYMBOL_factor = 183, /* factor */ + YYSYMBOL_term = 184, /* term */ + YYSYMBOL_condition = 185, /* condition */ + YYSYMBOL_conjunction = 186, /* conjunction */ + YYSYMBOL_disjunction = 187, /* disjunction */ + YYSYMBOL_expression = 188, /* expression */ + YYSYMBOL_rule = 189, /* rule */ + YYSYMBOL_rule_entry = 190, /* rule_entry */ + YYSYMBOL_rule_entries = 191, /* rule_entries */ + YYSYMBOL_fact = 192, /* fact */ + YYSYMBOL_conditional_rule = 193, /* conditional_rule */ + YYSYMBOL_rules = 194 /* rules */ }; typedef enum grib_yysymbol_kind_t grib_yysymbol_kind_t; @@ -958,19 +961,19 @@ union grib_yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 214 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1892 +#define YYLAST 1946 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 144 +#define YYNTOKENS 145 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 50 /* YYNRULES -- Number of rules. */ -#define YYNRULES 267 +#define YYNRULES 268 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 903 +#define YYNSTATES 905 /* YYMAXUTOK -- Last valid token kind. */ -#define YYMAXUTOK 381 +#define YYMAXUTOK 382 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM @@ -987,16 +990,16 @@ static const grib_yytype_uint8 grib_yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 142, 2, 2, - 131, 132, 140, 143, 127, 138, 134, 141, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 137, 128, - 2, 133, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 143, 2, 2, + 132, 133, 141, 144, 128, 139, 135, 142, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 138, 129, + 2, 134, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 129, 2, 130, 139, 2, 2, 2, 2, 2, + 2, 130, 2, 131, 140, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 135, 2, 136, 2, 2, 2, 2, + 2, 2, 2, 136, 2, 137, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -1022,40 +1025,40 @@ static const grib_yytype_uint8 grib_yytranslate[] = 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126 + 125, 126, 127 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const grib_yytype_int16 grib_yyrline[] = { - 0, 262, 262, 264, 265, 266, 267, 269, 273, 276, - 277, 278, 279, 282, 283, 287, 288, 291, 292, 293, - 294, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 309, 310, 313, 314, 317, 318, 321, 325, 328, 331, - 334, 337, 340, 343, 346, 349, 352, 355, 359, 362, - 365, 368, 371, 374, 377, 380, 383, 386, 397, 401, - 404, 407, 410, 413, 416, 419, 422, 425, 428, 431, - 434, 438, 441, 444, 447, 450, 453, 456, 459, 462, - 465, 468, 471, 474, 477, 480, 484, 487, 490, 493, - 496, 498, 501, 504, 507, 510, 513, 516, 519, 522, - 525, 528, 531, 534, 537, 540, 543, 545, 547, 550, - 553, 556, 560, 564, 567, 570, 582, 594, 606, 609, - 612, 614, 617, 620, 621, 622, 623, 625, 628, 629, - 630, 631, 632, 633, 634, 635, 637, 638, 639, 640, - 641, 645, 646, 647, 648, 652, 653, 654, 657, 658, - 661, 662, 666, 667, 670, 671, 674, 675, 678, 679, - 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, - 690, 691, 694, 697, 700, 703, 704, 705, 706, 707, - 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, - 718, 719, 723, 724, 727, 728, 731, 732, 735, 736, - 739, 743, 744, 745, 748, 750, 752, 754, 758, 759, - 762, 763, 767, 769, 773, 774, 775, 776, 779, 780, - 781, 783, 784, 785, 786, 787, 788, 792, 793, 796, - 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, - 807, 810, 811, 812, 815, 817, 818, 819, 820, 821, - 822, 827, 828, 831, 832, 835, 836, 839, 845, 846, - 849, 850, 853, 854, 857, 861, 864, 865 + 0, 263, 263, 265, 266, 267, 268, 270, 274, 277, + 278, 279, 280, 283, 284, 288, 289, 292, 293, 294, + 295, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 310, 311, 314, 315, 318, 319, 322, 326, 329, 332, + 335, 338, 341, 344, 347, 350, 353, 356, 360, 363, + 366, 369, 372, 375, 378, 381, 384, 387, 398, 402, + 405, 408, 411, 414, 417, 420, 423, 426, 429, 432, + 435, 439, 442, 445, 448, 451, 454, 457, 460, 463, + 466, 469, 472, 475, 478, 481, 485, 488, 491, 494, + 497, 499, 502, 505, 508, 511, 514, 517, 520, 523, + 526, 529, 532, 535, 538, 541, 544, 546, 548, 551, + 554, 557, 561, 565, 568, 571, 583, 595, 607, 610, + 613, 615, 618, 621, 622, 623, 624, 626, 629, 630, + 631, 632, 633, 634, 635, 636, 638, 639, 640, 641, + 642, 646, 647, 648, 649, 653, 654, 655, 658, 659, + 662, 663, 667, 668, 671, 672, 675, 676, 679, 680, + 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, + 691, 692, 695, 698, 701, 704, 705, 706, 707, 708, + 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, + 719, 720, 724, 725, 728, 729, 732, 733, 736, 737, + 740, 744, 745, 746, 749, 751, 753, 755, 759, 760, + 763, 764, 768, 770, 774, 775, 776, 777, 780, 781, + 782, 784, 785, 786, 787, 788, 789, 793, 794, 797, + 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, + 808, 811, 812, 813, 816, 818, 819, 820, 821, 822, + 823, 824, 829, 830, 833, 834, 837, 838, 841, 847, + 848, 851, 852, 855, 856, 859, 863, 866, 867 }; #endif @@ -1091,10 +1094,10 @@ static const char *const grib_yytname[] = "G1_HALF_BYTE", "G1_MESSAGE_LENGTH", "G1_SECTION4_LENGTH", "SECTION_LENGTH", "LENGTH", "FLAG", "ITERATOR", "NEAREST", "BOX", "KSEC", "ASSERT", "SUBSTR", "CASE", "SWITCH", "DEFAULT", "EQ", "NE", "GE", "LE", - "LT", "GT", "BIT", "BITOFF", "AND", "OR", "NOT", "IS", "IDENT", "STRING", - "INTEGER", "FLOAT", "','", "';'", "'['", "']'", "'('", "')'", "'='", - "'.'", "'{'", "'}'", "':'", "'-'", "'^'", "'*'", "'/'", "'%'", "'+'", - "$accept", "all", "empty", "dvalues", "svalues", "integer_array", + "LT", "GT", "BIT", "BITOFF", "AND", "OR", "NOT", "IS", "ISNOT", "IDENT", + "STRING", "INTEGER", "FLOAT", "','", "';'", "'['", "']'", "'('", "')'", + "'='", "'.'", "'{'", "'}'", "':'", "'-'", "'^'", "'*'", "'/'", "'%'", + "'+'", "$accept", "all", "empty", "dvalues", "svalues", "integer_array", "instructions", "instruction", "semi", "argument_list", "arguments", "argument", "simple", "if_block", "when_block", "set", "set_list", "default", "flags", "flag_list", "flag", "list_block", "while_block", @@ -1113,7 +1116,7 @@ grib_yysymbol_name (grib_yysymbol_kind_t grib_yysymbol) } #endif -#define YYPACT_NINF (-654) +#define YYPACT_NINF (-658) #define grib_yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) @@ -1127,97 +1130,97 @@ grib_yysymbol_name (grib_yysymbol_kind_t grib_yysymbol) STATE-NUM. */ static const grib_yytype_int16 grib_yypact[] = { - 1435, -654, -24, -10, 8, 65, -67, 115, 162, 147, - 186, 202, 204, 64, 200, 213, 82, 245, 249, 253, - 264, 277, 281, 282, 284, 285, 287, 288, 289, 290, - 291, 292, 293, 295, 294, 300, 303, 296, 297, 298, - 308, 311, 312, 315, 316, 318, 319, 320, 258, 321, - 322, -16, -12, 61, 323, 847, 305, 324, 325, 327, - 326, 328, 333, 334, 335, 337, 332, 347, 348, 349, - 356, 357, 358, 361, 354, 355, 7, 283, 314, -79, - 487, -654, -654, 1538, 360, -654, -654, -654, -654, -654, - -654, 256, 128, -654, -654, -654, -654, 18, -654, -654, - -654, -654, 847, 847, 366, 365, 367, 369, 370, 847, - 371, 157, 362, 372, -654, -654, 847, 38, 373, 374, - 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, - 362, 362, 362, 362, 380, 375, 187, 379, 376, 386, - 221, 381, -47, -654, 383, 387, 382, 193, -94, 195, - 377, 847, 390, 398, -654, 394, -654, 413, -654, 251, - 411, 414, 418, 419, -654, -654, 420, 422, 847, 423, - -654, -654, -654, 847, 109, -654, -654, -654, 364, 433, - 405, -654, -75, -20, 149, 437, 441, -654, 434, -654, - 431, 377, 438, 377, 435, 436, 442, -654, 439, 443, - 444, 449, 447, 448, 450, 847, 847, 847, 454, 235, - -76, 445, 66, 451, -654, 459, 9, 468, 1766, -654, - -654, 460, 462, 463, -654, 464, 469, -654, 461, 470, - -654, 473, 474, 481, 471, 485, -654, -654, 491, 500, - 847, 847, -654, 377, 377, 501, 502, 847, 509, 377, - 503, 505, 377, 377, 377, 377, 377, 377, 377, 377, - 377, 377, 377, 377, 377, 377, 847, 510, 512, 527, - 847, 528, 529, 538, 543, 546, 504, 548, 847, 539, - 847, 549, 550, 256, 553, 128, 555, 556, 256, 544, - -654, -654, 535, 302, 847, 551, 552, 558, 563, 847, - 557, 559, 575, 578, 260, 149, 568, 570, -654, -654, - 847, -84, 109, 109, 109, 109, 109, 109, 84, 84, - 84, 84, 84, 84, 84, 84, 847, 847, 554, 847, - -654, 574, -654, 847, 847, 847, 577, 579, 580, 595, - 847, 847, 847, -654, 573, 594, 847, 596, 597, 598, - 599, 600, 607, 610, 606, 607, 610, 610, 847, 612, - 377, 610, 847, 11, -654, 601, 602, 615, 616, 847, - 847, 611, 614, -654, 624, 627, 617, 262, 619, -654, - -654, -654, 630, 620, 626, 362, -654, 634, 635, -654, - -654, -654, -654, -654, -654, -654, -654, -654, -654, -654, - -654, -654, -654, 629, 637, 638, 640, 633, 643, 644, - 377, 639, -654, 847, 645, 377, 266, 377, 641, 41, - -11, -78, 647, -54, 87, 55, -74, -654, -654, -654, - -654, -654, -654, -654, -654, -654, -654, -654, -654, -654, - -654, 648, -654, -49, -654, -36, -654, -654, 646, 652, - 653, 654, 649, 655, 656, 94, 658, 657, 665, -654, - 663, -654, -654, -654, -654, -654, -654, -654, -654, -654, - -654, -75, -75, -20, -20, -20, -20, -20, -20, 149, - 437, 673, 667, 674, 668, 669, 670, 681, 682, 683, - 687, 679, 680, 685, -654, 636, 686, 847, 847, 847, - 847, 847, -654, -56, 690, 677, 610, -654, 93, 678, - 688, 650, 362, -654, 689, 694, 695, 1663, 1766, 108, - 215, 1766, 362, 362, 362, 362, 1766, 362, 377, 224, - 236, 362, 238, 847, 946, 362, 1036, 697, -654, 696, - 699, 698, -654, -654, -654, -52, -654, 362, 709, 703, - 717, 256, 377, 719, 377, 722, 706, 727, 256, 377, - 544, 729, 730, 313, 651, -654, -35, -34, -654, -654, - -654, -654, -654, 732, 733, 737, -654, -654, 739, 740, - -654, 726, -654, 377, -654, -654, -654, 723, 738, 362, - 847, -654, -654, -654, 762, 736, 742, 744, 745, 747, - 748, 757, -654, 788, -654, -654, -654, -654, -654, 362, - 377, -654, 750, 752, 10, 754, -62, 755, 756, 847, - 377, 847, 377, 758, 377, 377, 377, 377, 760, 377, - -654, 847, 377, 847, 377, 377, 847, 377, 362, 847, - 362, 377, 847, 362, 847, 377, 362, 847, 271, 377, - 377, 766, 256, 97, -45, -654, 770, -654, 774, 256, - 104, -27, -654, -654, 769, 771, 651, -63, -654, 775, - -654, 759, -654, 773, 778, 117, 789, 791, -654, -654, - 847, 847, -654, 362, 847, -72, -654, 1766, 377, 377, - 377, 362, 362, -654, 607, 787, 377, -654, 1766, -62, - 182, 866, -654, -654, 914, 794, -654, 795, -654, -654, - -654, -654, -654, -654, -654, -654, 797, -654, 798, -654, - -654, 799, -654, 377, 800, 570, -65, -654, 802, 377, - 803, -654, 377, 805, -654, -654, -654, -654, 807, 39, - 814, 786, 377, 808, 817, 53, 819, 806, 377, 847, - 847, 775, 938, 651, -654, -654, -654, -654, 820, -654, - 821, 823, 818, 824, 377, 812, 816, -654, -654, 815, - -654, -654, -654, 377, 377, 100, -654, -654, 822, 825, - 362, 362, 362, 362, 362, -654, 362, 828, -654, 362, - -654, 377, -654, 362, 121, 377, 834, 256, -654, 835, - 145, 377, 836, 256, -654, -654, -654, 829, 775, 837, - 843, 845, -654, -654, -654, 1766, 1306, -654, -654, -654, - 827, 1766, 1766, 377, 377, 377, 377, 377, 377, 856, - 377, -654, 377, 857, 377, -654, 858, 57, 859, 863, - 377, -654, 864, 144, 313, -654, -654, -654, -654, -654, - 852, -654, 853, 854, -654, -654, -654, -654, -654, -654, - 860, -654, -654, 151, -654, 152, 377, 861, 862, -654, - 159, 377, -51, -654, -654, -654, 377, 868, 377, 872, - 377, -654, 377, 377, 873, 377, -654, -654, -654, 865, - -654, 867, -654, -654, -654, 870, -654, 377, 377, 377, - -654, -654, -654 + 1507, -658, -37, -14, 51, 142, -53, -40, 58, 32, + 72, 98, 85, 25, 99, 139, 177, 162, 168, 176, + 197, 205, 208, 212, 228, 270, 272, 277, 310, 313, + 314, 315, 126, 311, 316, 317, 318, 319, 320, 321, + 322, 325, 328, 329, 330, 331, 333, 334, 291, 356, + 357, -12, 14, 15, 364, 755, 360, 366, 365, 374, + 369, 376, 378, 379, 385, 386, 381, 383, 384, 387, + 394, 397, 398, 400, 393, 401, -11, 407, 409, -81, + 535, -658, -658, 1610, 415, -658, -658, -658, -658, -658, + -658, 201, 82, -658, -658, -658, -658, 18, -658, -658, + -658, -658, 755, 755, 421, 422, 423, 425, 426, 755, + 427, 183, 418, 430, -658, -658, 755, -38, 431, 432, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 429, 434, 235, 433, 435, 437, + 233, 436, -78, -658, 438, 439, 443, 89, -94, 132, + 428, 755, 444, 450, -658, 451, -658, 459, -658, 256, + 456, 457, 458, 460, -658, -658, 461, 463, 755, 465, + -658, -658, -658, 755, -45, -658, -658, -658, 441, 264, + 424, -658, -52, -71, 259, 472, 478, -658, 446, -658, + 467, 428, 474, 428, 469, 470, 471, -658, 479, 480, + 481, 482, 477, 483, 485, 755, 755, 755, 487, 230, + -80, 468, 22, 475, -658, 488, 7, 486, 1819, -658, + -658, 490, 493, 495, -658, 496, 497, -658, 489, 498, + -658, 500, 501, 502, 491, 503, -658, -658, 504, 508, + 755, 755, -658, 428, 428, 510, 509, 755, 524, 428, + 525, 522, 428, 428, 428, 428, 428, 428, 428, 428, + 428, 428, 428, 428, 428, 428, 755, 526, 528, 529, + 755, 530, 531, 539, 540, 541, 534, 543, 755, 134, + 755, 544, 545, 201, 546, 82, 547, 548, 201, 419, + -658, -658, 542, 84, 755, 549, 550, 551, 552, 755, + 553, 554, 555, 556, 268, 259, 303, 558, -658, -658, + 755, -76, -76, -45, -45, -45, -45, -45, -45, 258, + 258, 258, 258, 258, 258, 258, 258, 755, 755, 484, + 755, -658, 561, -658, 755, 755, 755, 564, 565, 566, + 569, 755, 755, 755, -658, 570, 571, 755, 573, 575, + 576, 591, 592, 560, 557, 596, 560, 557, 557, 755, + 578, 428, 557, 755, 17, -658, 537, 538, 597, 598, + 755, 755, 590, 593, -658, 606, 607, 599, 293, 600, + -658, -658, -658, 608, 602, 603, 418, -658, 612, 615, + -658, -658, -658, -658, -658, -658, -658, -658, -658, -658, + -658, -658, -658, -658, 609, 617, 618, 619, 611, 621, + 622, 428, 613, -658, 755, 624, 428, 262, 428, 616, + -9, 57, -90, 623, -73, 30, 133, -25, -658, -658, + -658, -658, -658, -658, -658, -658, -658, -658, -658, -658, + -658, -658, 625, -658, -48, -658, 251, -658, -658, 627, + 629, 630, 632, 626, 634, 639, 64, 636, 642, 643, + -658, 640, -658, -658, -658, -658, -658, -658, -658, -658, + -658, -658, -658, -52, -52, -71, -71, -71, -71, -71, + -71, 259, 472, 648, 644, 654, 646, 647, 649, 657, + 659, 660, 661, 653, 664, 665, -658, 658, 666, 755, + 755, 755, 755, 755, -658, 33, 668, 476, 557, -658, + 203, 667, 670, 672, 418, -658, 671, 676, 677, 1716, + 1819, 154, 169, 1819, 418, 418, 418, 418, 1819, 418, + 428, 172, 180, 418, 186, 755, 869, 418, 1035, 628, + -658, 687, 679, 681, -658, -658, -658, -67, -658, 418, + 633, 678, 696, 201, 428, 697, 428, 700, 685, 702, + 201, 428, 419, 703, 704, 340, 701, -658, -61, -59, + -658, -658, -658, -658, -658, 707, 712, 713, -658, -658, + 714, 716, -658, 715, -658, 428, -658, -658, -658, 717, + 719, 418, 755, -658, -658, -658, 506, 711, 720, 723, + 724, 727, 728, 737, -658, 745, -658, -658, -658, -658, + -658, 418, 428, -658, 729, 731, 9, 736, -65, 741, + 746, 755, 428, 755, 428, 748, 428, 428, 428, 428, + 749, 428, -658, 755, 428, 755, 428, 428, 755, 428, + 418, 755, 418, 428, 755, 418, 755, 428, 418, 755, + 299, 428, 428, 740, 201, 71, -16, -658, 763, -658, + 764, 201, 86, 61, -658, -658, 730, 761, 701, -62, + -658, 767, -658, 775, -658, 768, 769, 104, 776, 778, + -658, -658, 755, 755, -658, 418, 755, -82, -658, 1819, + 428, 428, 428, 418, 418, -658, 560, 774, 428, -658, + 1819, -65, 455, 868, -658, -658, 901, 777, -658, 779, + -658, -658, -658, -658, -658, -658, -658, -658, 780, -658, + 781, -658, -658, 782, -658, 428, 783, 558, -66, -658, + 784, 428, 785, -658, 428, 786, -658, -658, -658, -658, + 790, 76, 795, 773, 428, 791, 797, 103, 798, 788, + 428, 755, 755, 767, 916, 701, -658, -658, -658, -658, + 799, -658, 802, 805, 800, 801, 428, 804, 806, -658, + -658, 803, -658, -658, -658, 428, 428, 222, -658, -658, + 807, 809, 418, 418, 418, 418, 418, -658, 418, 814, + -658, 418, -658, 428, -658, 418, 105, 428, 808, 201, + -658, 811, 111, 428, 819, 201, -658, -658, -658, 812, + 767, 816, 817, 820, -658, -658, -658, 1819, 1377, -658, + -658, -658, 825, 1819, 1819, 428, 428, 428, 428, 428, + 428, 813, 428, -658, 428, 831, 428, -658, 834, 156, + 835, 836, 428, -658, 837, 171, 340, -658, -658, -658, + -658, -658, 826, -658, 827, 828, -658, -658, -658, -658, + -658, -658, 829, -658, -658, 114, -658, 115, 428, 838, + 839, -658, 129, 428, -60, -658, -658, -658, 428, 843, + 428, 844, 428, -658, 428, 428, 846, 428, -658, -658, + -658, 841, -658, 845, -658, -658, -658, 847, -658, 428, + 428, 428, -658, -658, -658 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1234,8 +1237,8 @@ static const grib_yytype_int16 grib_yydefact[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, 17, 0, 22, 28, 23, 24, 25, - 26, 3, 4, 27, 29, 192, 194, 266, 264, 258, - 259, 6, 0, 0, 0, 0, 0, 0, 0, 8, + 26, 3, 4, 27, 29, 192, 194, 267, 265, 259, + 260, 6, 0, 0, 0, 0, 0, 0, 0, 8, 0, 8, 8, 0, 68, 69, 0, 8, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, @@ -1243,99 +1246,99 @@ static const grib_yytype_int16 grib_yydefact[] = 8, 0, 0, 0, 128, 0, 132, 0, 137, 0, 0, 0, 0, 0, 221, 222, 0, 0, 0, 215, 217, 219, 220, 0, 0, 32, 119, 33, 34, 218, - 228, 234, 243, 252, 254, 256, 257, 36, 0, 261, + 228, 234, 243, 253, 255, 257, 258, 36, 0, 262, 0, 8, 0, 8, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 8, 0, 1, 0, 0, 0, 20, 18, 21, 0, 0, 0, 193, 0, 0, 195, 0, 0, - 267, 0, 0, 0, 0, 0, 107, 108, 0, 0, + 268, 0, 0, 0, 0, 0, 107, 108, 0, 0, 8, 8, 152, 8, 8, 0, 0, 0, 0, 8, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 154, 122, 0, 0, 0, 0, 0, 0, 0, 8, - 0, 0, 0, 0, 0, 251, 0, 0, 218, 224, + 0, 0, 0, 0, 0, 252, 0, 0, 218, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, - 106, 0, 105, 8, 8, 8, 0, 0, 0, 0, - 8, 8, 8, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 8, 0, 0, 0, 19, 0, 0, 0, 0, 0, - 0, 0, 0, 136, 0, 0, 0, 0, 0, 153, - 42, 47, 0, 0, 0, 8, 70, 0, 0, 72, - 71, 74, 73, 76, 75, 78, 77, 80, 79, 82, - 81, 84, 83, 0, 0, 0, 0, 0, 0, 0, - 8, 0, 112, 8, 0, 8, 0, 8, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 159, 168, 158, - 169, 170, 171, 161, 160, 162, 164, 163, 165, 166, - 167, 155, 156, 0, 123, 0, 124, 127, 131, 135, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, - 0, 223, 35, 215, 250, 227, 232, 233, 229, 230, - 231, 242, 241, 245, 249, 247, 248, 246, 244, 253, - 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 121, 0, 0, 8, 8, 8, - 8, 8, 15, 0, 0, 0, 208, 260, 0, 0, - 0, 0, 8, 92, 0, 0, 0, 0, 0, 8, - 8, 0, 8, 8, 8, 8, 0, 8, 8, 8, - 8, 8, 8, 0, 0, 8, 0, 0, 109, 0, - 0, 0, 89, 11, 9, 0, 90, 8, 0, 0, - 0, 0, 8, 0, 8, 0, 0, 0, 0, 8, - 0, 0, 0, 0, 0, 13, 0, 0, 130, 134, - 139, 138, 118, 0, 0, 0, 240, 235, 0, 0, - 226, 0, 100, 8, 101, 102, 103, 0, 0, 8, - 0, 115, 116, 117, 0, 0, 0, 0, 0, 0, - 0, 0, 213, 0, 205, 209, 212, 204, 206, 8, - 8, 207, 0, 0, 0, 0, 262, 0, 0, 8, - 8, 8, 8, 0, 8, 8, 8, 8, 0, 8, - 86, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 0, 8, - 8, 0, 0, 0, 0, 175, 0, 196, 0, 0, - 0, 0, 184, 157, 0, 0, 0, 0, 30, 145, - 125, 0, 126, 0, 0, 0, 0, 0, 120, 104, - 8, 8, 96, 8, 0, 0, 198, 0, 8, 8, - 8, 8, 8, 16, 0, 0, 8, 93, 0, 0, - 0, 141, 263, 265, 143, 0, 37, 0, 39, 174, - 41, 48, 43, 51, 173, 87, 0, 52, 0, 54, - 85, 0, 49, 8, 0, 36, 8, 60, 0, 8, - 0, 111, 8, 0, 12, 10, 91, 67, 0, 0, - 0, 0, 8, 0, 0, 0, 0, 0, 8, 0, - 0, 150, 146, 0, 31, 14, 236, 237, 0, 238, - 0, 0, 0, 0, 8, 0, 0, 203, 199, 0, - 44, 46, 45, 8, 8, 0, 210, 94, 0, 0, - 8, 8, 8, 8, 8, 57, 8, 0, 56, 8, - 63, 8, 113, 8, 0, 8, 0, 0, 182, 0, - 0, 8, 0, 0, 190, 148, 149, 0, 151, 0, - 0, 0, 97, 98, 65, 0, 0, 172, 61, 62, - 0, 0, 0, 8, 8, 8, 8, 8, 8, 0, - 8, 66, 8, 0, 8, 176, 0, 0, 0, 0, - 8, 185, 0, 0, 0, 239, 214, 216, 200, 202, - 0, 211, 0, 0, 38, 40, 53, 55, 50, 59, - 0, 64, 114, 0, 179, 0, 8, 0, 0, 187, - 0, 8, 0, 201, 142, 144, 8, 0, 8, 0, - 8, 183, 8, 8, 0, 8, 191, 147, 58, 0, - 177, 0, 181, 197, 186, 0, 189, 8, 8, 8, - 178, 180, 188 + 8, 106, 0, 105, 8, 8, 8, 0, 0, 0, + 0, 8, 8, 8, 99, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 8, 0, 0, 0, 19, 0, 0, 0, 0, + 0, 0, 0, 0, 136, 0, 0, 0, 0, 0, + 153, 42, 47, 0, 0, 0, 8, 70, 0, 0, + 72, 71, 74, 73, 76, 75, 78, 77, 80, 79, + 82, 81, 84, 83, 0, 0, 0, 0, 0, 0, + 0, 8, 0, 112, 8, 0, 8, 0, 8, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 159, 168, + 158, 169, 170, 171, 161, 160, 162, 164, 163, 165, + 166, 167, 155, 156, 0, 123, 0, 124, 127, 131, + 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 225, 0, 223, 35, 215, 250, 251, 227, 232, 233, + 229, 230, 231, 242, 241, 245, 249, 247, 248, 246, + 244, 254, 256, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 121, 0, 0, 8, + 8, 8, 8, 8, 15, 0, 0, 0, 208, 261, + 0, 0, 0, 0, 8, 92, 0, 0, 0, 0, + 0, 8, 8, 0, 8, 8, 8, 8, 0, 8, + 8, 8, 8, 8, 8, 0, 0, 8, 0, 0, + 109, 0, 0, 0, 89, 11, 9, 0, 90, 8, + 0, 0, 0, 0, 8, 0, 8, 0, 0, 0, + 0, 8, 0, 0, 0, 0, 0, 13, 0, 0, + 130, 134, 139, 138, 118, 0, 0, 0, 240, 235, + 0, 0, 226, 0, 100, 8, 101, 102, 103, 0, + 0, 8, 0, 115, 116, 117, 0, 0, 0, 0, + 0, 0, 0, 0, 213, 0, 205, 209, 212, 204, + 206, 8, 8, 207, 0, 0, 0, 0, 263, 0, + 0, 8, 8, 8, 8, 0, 8, 8, 8, 8, + 0, 8, 86, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 0, 8, 8, 0, 0, 0, 0, 175, 0, 196, + 0, 0, 0, 0, 184, 157, 0, 0, 0, 0, + 30, 145, 125, 0, 126, 0, 0, 0, 0, 0, + 120, 104, 8, 8, 96, 8, 0, 0, 198, 0, + 8, 8, 8, 8, 8, 16, 0, 0, 8, 93, + 0, 0, 0, 141, 264, 266, 143, 0, 37, 0, + 39, 174, 41, 48, 43, 51, 173, 87, 0, 52, + 0, 54, 85, 0, 49, 8, 0, 36, 8, 60, + 0, 8, 0, 111, 8, 0, 12, 10, 91, 67, + 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, + 8, 0, 0, 150, 146, 0, 31, 14, 236, 237, + 0, 238, 0, 0, 0, 0, 8, 0, 0, 203, + 199, 0, 44, 46, 45, 8, 8, 0, 210, 94, + 0, 0, 8, 8, 8, 8, 8, 57, 8, 0, + 56, 8, 63, 8, 113, 8, 0, 8, 0, 0, + 182, 0, 0, 8, 0, 0, 190, 148, 149, 0, + 151, 0, 0, 0, 97, 98, 65, 0, 0, 172, + 61, 62, 0, 0, 0, 8, 8, 8, 8, 8, + 8, 0, 8, 66, 8, 0, 8, 176, 0, 0, + 0, 0, 8, 185, 0, 0, 0, 239, 214, 216, + 200, 202, 0, 211, 0, 0, 38, 40, 53, 55, + 50, 59, 0, 64, 114, 0, 179, 0, 8, 0, + 0, 187, 0, 8, 0, 201, 142, 144, 8, 0, + 8, 0, 8, 183, 8, 8, 0, 8, 191, 147, + 58, 0, 177, 0, 181, 197, 186, 0, 189, 8, + 8, 8, 178, 180, 188 }; /* YYPGOTO[NTERM-NUM]. */ static const grib_yytype_int16 grib_yypgoto[] = { - -654, -654, 5, 564, -654, -351, 0, -654, -653, 242, - -307, -184, -654, -654, -654, -442, 154, 591, 210, -654, - 440, -654, -654, -654, -654, -264, 718, -654, -654, 329, - -654, -89, -345, -654, -82, -165, 830, -15, 80, -6, - -160, 691, -654, -96, -654, 14, 392, -654, -654, 913 + -658, -658, 5, 533, -658, -352, 0, -658, -657, 686, + -307, -193, -658, -658, -658, -443, -170, 589, 207, -658, + 440, -658, -658, -658, -658, -259, 692, -658, -658, 294, + -658, -89, -349, -658, -75, -144, 810, 91, 113, 90, + -162, 663, -658, -58, -658, 10, 368, -658, -658, 890 }; /* YYDEFGOTO[NTERM-NUM]. */ static const grib_yytype_int16 grib_yydefgoto[] = { - 0, 80, 290, 545, 567, 503, 615, 83, 669, 176, - 177, 178, 84, 85, 86, 666, 667, 243, 291, 441, - 442, 87, 88, 89, 90, 91, 92, 93, 685, 686, - 94, 95, 505, 506, 96, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 97, 616, 617, 99, 100, 101 + 0, 80, 290, 547, 569, 505, 617, 83, 671, 176, + 177, 178, 84, 85, 86, 668, 669, 243, 291, 442, + 443, 87, 88, 89, 90, 91, 92, 93, 687, 688, + 94, 95, 507, 508, 96, 179, 180, 181, 182, 183, + 184, 185, 186, 187, 97, 618, 619, 99, 100, 101 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1343,390 +1346,400 @@ static const grib_yytype_int16 grib_yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const grib_yytype_int16 grib_yytable[] = { - 82, 564, 224, 462, 508, 81, 231, 232, 305, 308, - 227, 509, 510, 751, 98, 787, 514, 561, 562, 421, - 246, 343, 228, 167, 426, 208, 57, 208, 208, 561, - 562, 561, 562, 347, 348, 349, 684, 284, 766, 463, - 170, 285, 313, 314, 212, 221, 222, 78, 223, 221, - 222, 78, 223, 355, 213, 292, 107, 350, 552, 356, - 175, 229, 559, 384, 767, 315, 316, 317, 351, 225, - 226, 601, 289, 752, 602, 648, 276, 307, 221, 222, - 78, 223, 554, 219, 649, 887, 563, 277, 565, 543, - 544, 742, 648, 671, 415, 417, 221, 222, 78, 223, - 808, 670, 672, 161, 162, 163, 57, 102, 154, 748, - 344, 98, 156, 354, 175, 155, 242, 242, 318, 157, - 550, 103, 242, 319, 551, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 104, - 209, 229, 363, 700, 164, 165, 464, 308, 308, 308, + 82, 566, 224, 463, 510, 81, 305, 208, 511, 512, + 98, 753, 344, 516, 789, 164, 165, 227, 563, 564, + 563, 564, 228, 57, 422, 208, 686, 208, 768, 427, + 308, 167, 563, 564, 221, 222, 78, 223, 284, 348, + 349, 350, 285, 212, 231, 232, 276, 554, 464, 170, + 356, 225, 226, 213, 385, 769, 357, 277, 246, 229, + 175, 650, 167, 351, 556, 314, 315, 650, 319, 673, + 651, 107, 289, 320, 352, 754, 672, 889, 674, 169, + 170, 171, 172, 219, 108, 416, 418, 173, 565, 316, + 317, 318, 247, 292, 174, 102, 241, 248, 810, 221, + 222, 78, 223, 161, 162, 163, 57, 98, 221, 222, + 78, 223, 561, 154, 175, 307, 242, 242, 103, 550, + 155, 744, 242, 209, 551, 242, 242, 242, 242, 242, + 242, 242, 242, 242, 242, 242, 242, 242, 242, 156, + 158, 364, 229, 702, 164, 165, 157, 159, 345, 114, + 115, 355, 359, 161, 162, 163, 241, 360, 557, 607, + 445, 603, 110, 558, 604, 481, 513, 465, 466, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, - 308, 605, 221, 222, 78, 223, 479, 247, 548, 164, - 165, 241, 248, 549, 511, 795, 221, 222, 78, 223, - 221, 222, 78, 223, 166, 158, 557, 114, 115, 801, - 558, 167, 159, 866, 105, 358, 106, 446, 447, 241, - 359, 161, 162, 163, 347, 348, 349, 169, 170, 171, - 172, 118, 175, 119, 555, 173, 167, 242, 364, 556, - 601, 575, 174, 606, 740, 753, 576, 601, 350, 741, - 820, 746, 169, 170, 171, 172, 747, 619, 108, 351, - 173, 241, 164, 165, 758, 175, 175, 174, 833, 759, - 496, 225, 226, 834, 161, 162, 163, 347, 348, 349, - 320, 321, 322, 323, 324, 325, 515, 221, 222, 78, - 223, 175, 839, 516, 354, 175, 110, 840, 877, 879, - 871, 350, 166, 878, 880, 175, 884, 654, 240, 167, - 241, 885, 351, 109, 661, 164, 165, 465, 466, 467, - 468, 469, 470, 168, 175, 169, 170, 171, 172, 111, - 268, 175, 269, 173, 473, 474, 475, 476, 477, 478, - 174, 161, 162, 163, 281, 112, 286, 282, 283, 287, - 288, 116, 224, 113, 175, 166, 117, 224, 175, 175, - 175, 227, 167, 775, 621, 175, 175, 175, 241, 638, - 640, 238, 643, 631, 273, 274, 168, 241, 169, 170, - 171, 172, 164, 165, 352, 633, 173, 636, 120, 241, - 353, 241, 121, 174, 297, 298, 122, 765, 444, 221, - 222, 78, 223, 457, 458, 522, 523, 123, 739, 151, - 242, 543, 544, 561, 562, 745, 734, 735, 471, 472, - 124, 330, 166, 332, 125, 126, 683, 127, 128, 167, - 129, 130, 131, 132, 133, 134, 210, 137, 175, 140, - 141, 142, 135, 168, 136, 169, 170, 171, 172, 138, - 753, 143, 139, 173, 144, 145, 188, 445, 146, 147, - 174, 148, 149, 150, 152, 153, 160, 211, 190, 345, - 191, 193, 189, 380, 381, 192, 194, 195, 196, 386, - 197, 198, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, 199, 200, 201, 202, - 203, 204, 378, 379, 205, 206, 207, 214, 220, 233, - 234, 310, 235, 236, 237, 241, 239, 245, 250, 251, - 267, 271, 175, 175, 175, 175, 175, 695, 403, 266, - 270, 272, 407, 280, 289, 275, 278, 242, 618, 295, - 279, 623, 418, 293, 242, 242, 628, 242, 242, 242, - 242, 294, 242, 837, 242, 242, 242, 242, 296, 843, - 242, 452, 299, 725, 312, 300, 725, 427, 460, 301, - 302, 303, 242, 304, 306, 311, 326, 328, 161, 162, - 163, 327, 329, 331, 336, 224, 333, 334, 337, 338, - 513, 482, 224, 335, 339, 484, 485, 486, 340, 341, - 357, 342, 491, 492, 493, 346, 361, 161, 162, 163, - 362, 212, 369, 365, 242, 366, 213, 367, 428, 164, - 165, 374, 368, 370, 354, 371, 372, 429, 430, 431, - 432, 433, 434, 373, 242, 435, 436, 375, 437, 438, - 538, 439, 440, 376, 175, 542, 175, 546, 164, 165, - 377, 382, 385, 387, 383, 413, 175, 388, 175, 166, - 404, 175, 405, 242, 175, 242, 167, 175, 242, 175, - 224, 242, 175, 805, 806, 540, 224, 406, 408, 409, - 168, 410, 169, 170, 171, 172, 411, 443, 166, 412, - 173, 414, 419, 420, 416, 167, 422, 174, 424, 425, - 453, 481, 454, 448, 449, 175, 175, 769, 242, 168, - 450, 169, 170, 171, 172, 451, 242, 242, 455, 173, - 459, 456, 461, 244, 483, 494, 174, 487, 249, 488, - 489, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 490, 495, 497, 498, 499, - 500, 501, 502, 504, 507, 512, 353, 356, 630, 596, - 597, 598, 599, 600, 352, 355, 517, 519, 224, 518, - 520, 524, 521, 525, 224, 526, 527, 529, 530, 531, - 532, 533, 655, 534, 657, 535, 536, 537, 541, 662, - 568, 594, 539, 547, 553, 560, 569, 570, 571, 668, - 609, 572, 573, 574, 578, 242, 242, 242, 242, 242, - 577, 242, 579, 679, 242, 580, 581, 583, 242, 582, - 584, 585, 586, 360, 587, 588, 589, 161, 162, 163, - 590, 591, 592, 604, 607, 848, 850, 593, 595, 645, - 697, 852, 853, 603, 608, 611, 612, 613, 644, 647, - 706, 646, 708, 651, 710, 711, 712, 713, 652, 715, - 653, 659, 717, 656, 719, 720, 658, 722, 164, 165, - 660, 727, 664, 665, 680, 731, 673, 674, 678, 736, - 737, 705, 675, 707, 676, 677, 161, 162, 163, 681, - 684, 687, 778, 716, 688, 718, 689, 690, 721, 691, - 692, 724, 693, 755, 728, 698, 730, 699, 166, 733, - 701, 703, 704, 738, 709, 167, 714, 743, 770, 771, - 772, 744, 749, 754, 750, 756, 777, 164, 165, 168, - 757, 169, 170, 171, 172, 776, 760, 694, 761, 173, - 779, 797, 762, 763, 780, 781, 174, 782, 783, 784, - 794, 799, 786, 785, 789, 791, 788, 793, 796, 790, - 800, 803, 792, 802, 807, 809, 810, 166, 811, 815, - 812, 817, 798, 816, 167, 851, 813, 821, 804, 829, - 822, 836, 838, 842, 844, 161, 162, 163, 168, 845, - 169, 170, 171, 172, 814, 846, 528, 847, 173, 860, - 863, 865, 867, 818, 819, 174, 868, 870, 873, 874, - 875, 889, 876, 882, 883, 891, 895, 897, 872, 898, - 663, 831, 899, 423, 309, 835, 164, 165, 702, 566, - 230, 841, 0, 0, 768, 0, 0, 0, 480, 0, + 308, 308, 308, 104, 166, 221, 222, 78, 223, 552, + 109, 167, 577, 553, 164, 165, 111, 578, 750, 742, + 221, 222, 78, 223, 743, 168, 225, 226, 169, 170, + 171, 172, 175, 797, 748, 113, 173, 242, 365, 749, + 446, 281, 112, 174, 282, 283, 755, 221, 222, 78, + 223, 116, 760, 835, 166, 447, 448, 761, 836, 841, + 803, 167, 879, 881, 842, 175, 175, 880, 882, 161, + 162, 163, 348, 349, 350, 168, 135, 886, 169, 170, + 171, 172, 887, 117, 286, 559, 173, 287, 288, 560, + 417, 175, 105, 174, 106, 175, 351, 161, 162, 163, + 221, 222, 78, 223, 621, 175, 120, 352, 241, 498, + 164, 165, 121, 868, 656, 221, 222, 78, 223, 623, + 122, 663, 633, 241, 175, 517, 241, 118, 873, 119, + 635, 175, 518, 355, 241, 240, 638, 241, 164, 165, + 241, 123, 161, 162, 163, 221, 222, 78, 223, 124, + 166, 603, 125, 224, 608, 175, 126, 167, 224, 175, + 175, 175, 640, 642, 777, 645, 175, 175, 175, 227, + 603, 168, 127, 822, 169, 170, 171, 172, 166, 268, + 353, 269, 173, 164, 165, 167, 354, 273, 274, 174, + 321, 322, 323, 324, 325, 326, 567, 545, 546, 767, + 297, 298, 169, 170, 171, 172, 311, 312, 545, 546, + 173, 242, 458, 459, 128, 741, 129, 174, 331, 685, + 333, 130, 747, 166, 467, 468, 469, 470, 471, 472, + 167, 475, 476, 477, 478, 479, 480, 524, 525, 175, + 563, 564, 428, 151, 168, 736, 737, 169, 170, 171, + 172, 755, 473, 474, 131, 173, 460, 132, 133, 134, + 137, 136, 174, 140, 141, 142, 143, 138, 139, 144, + 381, 382, 145, 146, 147, 148, 387, 149, 150, 390, + 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 429, 161, 162, 163, 348, 349, 350, + 152, 153, 430, 431, 432, 433, 434, 435, 160, 190, + 436, 437, 188, 438, 439, 189, 440, 441, 191, 192, + 193, 351, 194, 195, 175, 175, 175, 175, 175, 196, + 197, 198, 352, 199, 200, 164, 165, 201, 202, 242, + 620, 203, 204, 625, 205, 206, 242, 242, 630, 242, + 242, 242, 242, 207, 242, 214, 242, 242, 242, 242, + 839, 210, 242, 211, 220, 233, 845, 697, 234, 235, + 236, 237, 241, 239, 242, 166, 245, 250, 251, 266, + 267, 271, 167, 272, 313, 270, 289, 224, 515, 310, + 329, 275, 278, 279, 224, 280, 168, 295, 293, 169, + 170, 171, 172, 727, 294, 296, 727, 173, 299, 300, + 301, 327, 302, 303, 174, 304, 242, 306, 328, 330, + 332, 334, 335, 336, 358, 337, 338, 339, 340, 341, + 212, 362, 483, 606, 686, 342, 242, 343, 540, 347, + 363, 370, 375, 544, 366, 548, 175, 367, 175, 213, + 368, 369, 371, 372, 373, 374, 376, 377, 175, 378, + 175, 383, 384, 175, 355, 242, 175, 242, 386, 175, + 242, 175, 224, 242, 175, 389, 388, 405, 224, 406, + 407, 409, 410, 411, 412, 413, 414, 415, 420, 421, + 423, 425, 426, 354, 357, 444, 874, 454, 455, 456, + 457, 506, 449, 450, 451, 452, 504, 175, 175, 771, + 242, 462, 485, 807, 808, 489, 490, 491, 242, 242, + 492, 244, 514, 496, 497, 499, 249, 500, 501, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 502, 503, 509, 519, 353, 356, 520, + 521, 522, 527, 526, 529, 523, 531, 632, 528, 532, + 533, 534, 535, 536, 537, 538, 539, 541, 543, 549, + 224, 555, 570, 562, 571, 572, 224, 573, 653, 574, + 646, 657, 575, 659, 161, 162, 163, 576, 664, 579, + 580, 581, 583, 582, 161, 162, 163, 584, 585, 586, + 587, 589, 588, 590, 591, 592, 593, 242, 242, 242, + 242, 242, 681, 242, 596, 238, 242, 594, 595, 597, + 242, 361, 605, 611, 609, 164, 165, 610, 613, 614, + 615, 647, 648, 649, 654, 164, 165, 850, 852, 699, + 655, 661, 658, 854, 855, 660, 662, 666, 667, 708, + 670, 710, 675, 712, 713, 714, 715, 676, 717, 677, + 678, 719, 679, 721, 722, 166, 724, 689, 680, 682, + 729, 683, 167, 690, 733, 166, 691, 692, 738, 739, + 693, 694, 167, 695, 751, 700, 168, 701, 740, 169, + 170, 171, 172, 703, 780, 696, 168, 173, 705, 169, + 170, 171, 172, 706, 174, 711, 716, 173, 161, 162, + 163, 745, 746, 346, 174, 752, 756, 772, 773, 774, + 757, 758, 759, 778, 762, 779, 763, 781, 782, 799, + 783, 784, 785, 786, 796, 801, 788, 791, 793, 795, + 798, 802, 809, 804, 805, 811, 379, 380, 812, 164, + 165, 813, 787, 814, 815, 790, 838, 862, 792, 840, + 819, 794, 817, 823, 818, 824, 831, 844, 846, 847, + 848, 800, 404, 849, 853, 865, 408, 806, 867, 869, + 870, 872, 878, 875, 876, 877, 419, 891, 893, 166, + 897, 884, 885, 816, 899, 530, 167, 424, 900, 568, + 901, 770, 820, 821, 309, 453, 704, 230, 0, 0, + 168, 482, 461, 169, 170, 171, 172, 0, 0, 0, + 833, 641, 665, 0, 837, 0, 0, 0, 174, 0, + 843, 0, 0, 0, 0, 0, 484, 0, 0, 0, + 486, 487, 488, 0, 0, 0, 0, 493, 494, 495, + 0, 0, 856, 857, 858, 859, 860, 861, 0, 863, + 0, 864, 0, 866, 0, 0, 0, 0, 0, 871, + 0, 0, 0, 0, 161, 162, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 854, 855, 856, 857, 858, 859, 0, - 861, 0, 862, 0, 864, 0, 166, 0, 0, 0, - 869, 0, 0, 167, 0, 161, 162, 163, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 168, 0, 169, - 170, 171, 172, 0, 0, 0, 881, 639, 0, 0, - 0, 886, 0, 0, 174, 0, 888, 0, 890, 0, - 892, 0, 893, 894, 0, 896, 164, 165, 0, 0, - 0, 0, 0, 610, 0, 0, 0, 900, 901, 902, - 620, 622, 0, 624, 625, 626, 627, 0, 629, 0, - 632, 634, 635, 637, 0, 0, 641, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 166, 0, 650, 0, - 0, 0, 0, 167, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 168, 0, 169, - 170, 171, 172, 0, 0, 0, 0, 642, 0, 0, + 0, 0, 0, 0, 0, 883, 0, 0, 0, 0, + 888, 0, 0, 0, 0, 890, 0, 892, 0, 894, + 0, 895, 896, 0, 898, 164, 165, 0, 0, 0, + 542, 0, 0, 612, 0, 0, 902, 903, 904, 0, + 622, 624, 0, 626, 627, 628, 629, 0, 631, 0, + 634, 636, 637, 639, 0, 0, 643, 0, 0, 0, + 0, 0, 0, 0, 0, 166, 0, 0, 652, 0, + 0, 0, 167, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 168, 0, 0, 169, + 170, 171, 172, 0, 0, 0, 0, 644, 0, 0, 0, 0, 0, 0, 174, 0, 0, 0, 0, 0, - 682, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 684, 0, 0, 0, 0, 598, 599, 600, 601, 602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 696, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 698, 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, 0, 0, 723, - 0, 726, 0, 0, 729, 0, 0, 732, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 725, + 0, 728, 0, 0, 731, 0, 0, 734, 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, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 764, 0, 0, 0, 0, 0, - 0, 0, 773, 774, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 766, 0, 0, 0, 0, 0, + 0, 0, 775, 776, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 707, 0, 709, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 718, + 0, 720, 0, 0, 723, 0, 0, 726, 0, 0, + 730, 0, 732, 0, 0, 735, 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, 0, 0, 0, 0, 0, 0, 764, 765, + 0, 825, 826, 827, 828, 829, 0, 830, 0, 0, + 832, 215, 3, 0, 834, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 0, 0, 0, 0, 0, + 0, 0, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 0, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 0, 45, 46, 0, 0, 47, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 0, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 0, 69, 70, + 71, 72, 73, 74, 0, 0, 75, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 216, 0, 0, 217, 0, 0, -8, 1, 0, + 0, 2, 3, 0, 851, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 0, 0, 0, 0, 0, + 0, 0, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 0, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 0, 45, 46, 0, 0, 47, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 0, 69, 70, + 71, 72, 73, 74, 215, 3, 75, 0, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, + 0, 76, 77, 78, 79, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 0, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 0, 45, 46, + 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 0, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 0, 69, 70, 71, 72, 73, 74, 0, 0, 75, 215, 3, 0, 0, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 0, 0, 0, 0, 0, 0, - 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 0, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 0, 45, 46, 0, 0, 47, 0, - 0, 823, 824, 825, 826, 827, 0, 828, 0, 0, - 830, 0, 0, 0, 832, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 0, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 0, 69, 70, 71, - 72, 73, 74, 0, 0, 75, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, - 0, 0, 217, 0, 0, -8, 1, 0, 0, 2, - 3, 0, 849, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 0, 0, 0, 0, 0, 0, 0, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 0, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 0, 45, 46, 0, 0, 47, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 0, 69, 70, 71, 72, - 73, 74, 215, 3, 75, 0, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 0, 0, 76, 77, - 78, 79, 0, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 0, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 0, 45, 46, 0, 0, - 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 0, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 0, 69, - 70, 71, 72, 73, 74, 0, 0, 75, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 216, 0, 0, 217, 0, 218, 215, 3, 0, - 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 0, 0, 0, 0, 0, 0, 0, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 0, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 0, 45, 46, 0, 0, 47, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 0, 69, 70, 71, 72, 73, 74, - 215, 3, 75, 0, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 0, 0, 614, 0, 0, 217, + 10, 11, 12, 13, 216, 0, 0, 217, 0, 218, 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 0, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 0, 45, 46, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 0, 58, 59, 60, 61, 62, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 0, 69, 70, 71, - 72, 73, 74, 0, 0, 75, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, - 0, 0, 217 + 72, 73, 74, 215, 3, 75, 0, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 0, 0, 0, + 616, 0, 0, 217, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 0, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 0, 45, 46, 0, + 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 0, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 0, + 69, 70, 71, 72, 73, 74, 0, 0, 75, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 216, 0, 0, 217 }; static const grib_yytype_int16 grib_yycheck[] = { - 0, 443, 91, 310, 355, 0, 102, 103, 168, 174, - 92, 356, 357, 666, 0, 80, 361, 80, 81, 283, - 116, 205, 4, 107, 288, 18, 88, 18, 18, 80, - 81, 80, 81, 22, 23, 24, 108, 131, 110, 123, - 124, 135, 117, 118, 123, 123, 124, 125, 126, 123, - 124, 125, 126, 129, 133, 151, 123, 46, 136, 135, - 55, 123, 136, 247, 136, 140, 141, 142, 57, 123, - 124, 127, 137, 136, 130, 127, 123, 173, 123, 124, - 125, 126, 136, 83, 136, 136, 135, 134, 124, 125, - 126, 136, 127, 127, 278, 279, 123, 124, 125, 126, - 753, 136, 136, 19, 20, 21, 88, 131, 124, 136, - 206, 97, 124, 209, 109, 131, 111, 112, 138, 131, - 131, 131, 117, 143, 135, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 131, - 133, 123, 133, 133, 60, 61, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 506, 123, 124, 125, 126, 326, 129, 127, 60, - 61, 133, 134, 132, 358, 136, 123, 124, 125, 126, - 123, 124, 125, 126, 100, 124, 131, 123, 124, 136, - 135, 107, 131, 136, 129, 129, 131, 293, 294, 133, - 134, 19, 20, 21, 22, 23, 24, 123, 124, 125, - 126, 129, 207, 131, 127, 131, 107, 212, 218, 132, - 127, 127, 138, 130, 127, 667, 132, 127, 46, 132, - 130, 127, 123, 124, 125, 126, 132, 129, 123, 57, - 131, 133, 60, 61, 127, 240, 241, 138, 127, 132, - 346, 123, 124, 132, 19, 20, 21, 22, 23, 24, - 111, 112, 113, 114, 115, 116, 362, 123, 124, 125, - 126, 266, 127, 369, 370, 270, 129, 132, 127, 127, - 136, 46, 100, 132, 132, 280, 127, 551, 131, 107, - 133, 132, 57, 131, 558, 60, 61, 312, 313, 314, - 315, 316, 317, 121, 299, 123, 124, 125, 126, 123, - 123, 306, 125, 131, 320, 321, 322, 323, 324, 325, - 138, 19, 20, 21, 131, 123, 131, 134, 135, 134, - 135, 131, 421, 129, 329, 100, 123, 426, 333, 334, - 335, 423, 107, 694, 129, 340, 341, 342, 133, 533, - 534, 109, 536, 129, 133, 134, 121, 133, 123, 124, - 125, 126, 60, 61, 129, 129, 131, 129, 123, 133, - 135, 133, 123, 138, 123, 124, 123, 684, 76, 123, - 124, 125, 126, 123, 124, 123, 124, 123, 652, 131, - 385, 125, 126, 80, 81, 659, 125, 126, 318, 319, - 123, 191, 100, 193, 123, 123, 590, 123, 123, 107, - 123, 123, 123, 123, 123, 123, 133, 123, 413, 123, - 123, 123, 129, 121, 129, 123, 124, 125, 126, 129, - 872, 123, 129, 131, 123, 123, 131, 135, 123, 123, - 138, 123, 123, 123, 123, 123, 123, 133, 123, 207, - 123, 123, 128, 243, 244, 129, 123, 123, 123, 249, - 123, 129, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 129, 129, 129, 123, - 123, 123, 240, 241, 123, 131, 131, 0, 128, 123, - 125, 127, 125, 124, 124, 133, 125, 125, 125, 125, - 125, 125, 497, 498, 499, 500, 501, 603, 266, 129, - 131, 125, 270, 131, 137, 134, 133, 512, 518, 125, - 133, 521, 280, 133, 519, 520, 526, 522, 523, 524, - 525, 133, 527, 797, 529, 530, 531, 532, 125, 803, - 535, 299, 131, 639, 139, 131, 642, 3, 306, 131, - 131, 131, 547, 131, 131, 122, 119, 123, 19, 20, - 21, 120, 131, 125, 125, 654, 131, 131, 125, 125, - 360, 329, 661, 131, 125, 333, 334, 335, 131, 131, - 135, 131, 340, 341, 342, 131, 135, 19, 20, 21, - 131, 123, 131, 133, 589, 133, 133, 133, 54, 60, - 61, 130, 133, 133, 700, 132, 132, 63, 64, 65, - 66, 67, 68, 132, 609, 71, 72, 132, 74, 75, - 410, 77, 78, 132, 619, 415, 621, 417, 60, 61, - 130, 130, 123, 130, 132, 131, 631, 132, 633, 100, - 130, 636, 130, 638, 639, 640, 107, 642, 643, 644, - 739, 646, 647, 749, 750, 413, 745, 130, 130, 130, - 121, 123, 123, 124, 125, 126, 123, 132, 100, 123, - 131, 123, 123, 123, 135, 107, 123, 138, 123, 123, - 123, 127, 123, 132, 132, 680, 681, 687, 683, 121, - 132, 123, 124, 125, 126, 132, 691, 692, 123, 131, - 132, 123, 132, 112, 130, 132, 138, 130, 117, 130, - 130, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 130, 132, 131, 131, 131, - 131, 131, 125, 123, 128, 123, 135, 135, 528, 497, - 498, 499, 500, 501, 129, 129, 135, 123, 837, 135, - 123, 132, 135, 123, 843, 135, 130, 123, 123, 130, - 123, 123, 552, 123, 554, 132, 123, 123, 123, 559, - 124, 135, 133, 132, 127, 127, 124, 124, 124, 128, - 130, 132, 127, 127, 127, 780, 781, 782, 783, 784, - 132, 786, 127, 583, 789, 132, 123, 123, 793, 132, - 132, 132, 132, 212, 123, 123, 123, 19, 20, 21, - 123, 132, 132, 136, 136, 815, 816, 132, 132, 123, - 610, 821, 822, 133, 136, 136, 132, 132, 131, 131, - 620, 132, 622, 124, 624, 625, 626, 627, 135, 629, - 123, 135, 632, 124, 634, 635, 124, 637, 60, 61, - 123, 641, 123, 123, 131, 645, 124, 124, 132, 649, - 650, 619, 125, 621, 125, 125, 19, 20, 21, 131, - 108, 135, 6, 631, 132, 633, 132, 132, 636, 132, - 132, 639, 125, 124, 642, 135, 644, 135, 100, 647, - 136, 136, 136, 127, 136, 107, 136, 127, 688, 689, - 690, 127, 133, 128, 133, 132, 696, 60, 61, 121, - 132, 123, 124, 125, 126, 128, 127, 129, 127, 131, - 6, 135, 680, 681, 130, 130, 138, 130, 130, 130, - 123, 123, 132, 723, 132, 132, 726, 132, 124, 729, - 123, 135, 732, 124, 6, 125, 125, 100, 125, 137, - 132, 136, 742, 137, 107, 128, 132, 135, 748, 131, - 135, 127, 127, 127, 135, 19, 20, 21, 121, 132, - 123, 124, 125, 126, 764, 132, 385, 132, 131, 123, - 123, 123, 123, 773, 774, 138, 123, 123, 136, 136, - 136, 123, 132, 132, 132, 123, 123, 132, 844, 132, - 560, 791, 132, 285, 174, 795, 60, 61, 616, 445, - 97, 801, -1, -1, 685, -1, -1, -1, 327, -1, + 0, 444, 91, 310, 356, 0, 168, 18, 357, 358, + 0, 668, 205, 362, 80, 60, 61, 92, 80, 81, + 80, 81, 4, 88, 283, 18, 108, 18, 110, 288, + 174, 107, 80, 81, 124, 125, 126, 127, 132, 22, + 23, 24, 136, 124, 102, 103, 124, 137, 124, 125, + 130, 124, 125, 134, 247, 137, 136, 135, 116, 124, + 55, 128, 107, 46, 137, 117, 118, 128, 139, 128, + 137, 124, 138, 144, 57, 137, 137, 137, 137, 124, + 125, 126, 127, 83, 124, 278, 279, 132, 136, 141, + 142, 143, 130, 151, 139, 132, 134, 135, 755, 124, + 125, 126, 127, 19, 20, 21, 88, 97, 124, 125, + 126, 127, 137, 125, 109, 173, 111, 112, 132, 128, + 132, 137, 117, 134, 133, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 125, + 125, 134, 124, 134, 60, 61, 132, 132, 206, 124, + 125, 209, 130, 19, 20, 21, 134, 135, 128, 508, + 76, 128, 130, 133, 131, 327, 359, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 132, 100, 124, 125, 126, 127, 132, + 132, 107, 128, 136, 60, 61, 124, 133, 137, 128, + 124, 125, 126, 127, 133, 121, 124, 125, 124, 125, + 126, 127, 207, 137, 128, 130, 132, 212, 218, 133, + 136, 132, 124, 139, 135, 136, 669, 124, 125, 126, + 127, 132, 128, 128, 100, 293, 294, 133, 133, 128, + 137, 107, 128, 128, 133, 240, 241, 133, 133, 19, + 20, 21, 22, 23, 24, 121, 130, 128, 124, 125, + 126, 127, 133, 124, 132, 132, 132, 135, 136, 136, + 136, 266, 130, 139, 132, 270, 46, 19, 20, 21, + 124, 125, 126, 127, 130, 280, 124, 57, 134, 347, + 60, 61, 124, 137, 553, 124, 125, 126, 127, 130, + 124, 560, 130, 134, 299, 363, 134, 130, 137, 132, + 130, 306, 370, 371, 134, 132, 130, 134, 60, 61, + 134, 124, 19, 20, 21, 124, 125, 126, 127, 124, + 100, 128, 124, 422, 131, 330, 124, 107, 427, 334, + 335, 336, 535, 536, 696, 538, 341, 342, 343, 424, + 128, 121, 124, 131, 124, 125, 126, 127, 100, 124, + 130, 126, 132, 60, 61, 107, 136, 134, 135, 139, + 111, 112, 113, 114, 115, 116, 125, 126, 127, 686, + 124, 125, 124, 125, 126, 127, 122, 123, 126, 127, + 132, 386, 124, 125, 124, 654, 124, 139, 191, 592, + 193, 124, 661, 100, 313, 314, 315, 316, 317, 318, + 107, 321, 322, 323, 324, 325, 326, 124, 125, 414, + 80, 81, 3, 132, 121, 126, 127, 124, 125, 126, + 127, 874, 319, 320, 124, 132, 133, 124, 124, 124, + 124, 130, 139, 124, 124, 124, 124, 130, 130, 124, + 243, 244, 124, 124, 124, 124, 249, 124, 124, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 54, 19, 20, 21, 22, 23, 24, + 124, 124, 63, 64, 65, 66, 67, 68, 124, 124, + 71, 72, 132, 74, 75, 129, 77, 78, 124, 130, + 124, 46, 124, 124, 499, 500, 501, 502, 503, 124, + 124, 130, 57, 130, 130, 60, 61, 130, 124, 514, + 520, 124, 124, 523, 124, 132, 521, 522, 528, 524, + 525, 526, 527, 132, 529, 0, 531, 532, 533, 534, + 799, 134, 537, 134, 129, 124, 805, 605, 126, 126, + 125, 125, 134, 126, 549, 100, 126, 126, 126, 130, + 126, 126, 107, 126, 140, 132, 138, 656, 361, 128, + 124, 135, 134, 134, 663, 132, 121, 126, 134, 124, + 125, 126, 127, 641, 134, 126, 644, 132, 132, 132, + 132, 119, 132, 132, 139, 132, 591, 132, 120, 132, + 126, 132, 132, 132, 136, 126, 126, 126, 126, 132, + 124, 136, 128, 137, 108, 132, 611, 132, 411, 132, + 132, 132, 131, 416, 134, 418, 621, 134, 623, 134, + 134, 134, 134, 133, 133, 133, 133, 133, 633, 131, + 635, 131, 133, 638, 702, 640, 641, 642, 124, 644, + 645, 646, 741, 648, 649, 133, 131, 131, 747, 131, + 131, 131, 131, 124, 124, 124, 132, 124, 124, 124, + 124, 124, 124, 136, 136, 133, 846, 124, 124, 124, + 124, 124, 133, 133, 133, 133, 126, 682, 683, 689, + 685, 133, 131, 751, 752, 131, 131, 131, 693, 694, + 131, 112, 124, 133, 133, 132, 117, 132, 132, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 132, 132, 129, 136, 130, 130, 136, + 124, 124, 124, 133, 131, 136, 124, 530, 136, 124, + 131, 124, 124, 124, 133, 124, 124, 134, 124, 133, + 839, 128, 125, 128, 125, 125, 845, 125, 125, 133, + 132, 554, 128, 556, 19, 20, 21, 128, 561, 133, + 128, 128, 124, 133, 19, 20, 21, 133, 124, 133, + 133, 124, 133, 124, 124, 124, 133, 782, 783, 784, + 785, 786, 585, 788, 136, 109, 791, 133, 133, 133, + 795, 212, 134, 131, 137, 60, 61, 137, 137, 133, + 133, 124, 133, 132, 136, 60, 61, 817, 818, 612, + 124, 136, 125, 823, 824, 125, 124, 124, 124, 622, + 129, 624, 125, 626, 627, 628, 629, 125, 631, 126, + 126, 634, 126, 636, 637, 100, 639, 136, 133, 132, + 643, 132, 107, 133, 647, 100, 133, 133, 651, 652, + 133, 133, 107, 126, 134, 136, 121, 136, 128, 124, + 125, 126, 127, 137, 6, 130, 121, 132, 137, 124, + 125, 126, 127, 137, 139, 137, 137, 132, 19, 20, + 21, 128, 128, 207, 139, 134, 129, 690, 691, 692, + 125, 133, 133, 129, 128, 698, 128, 6, 131, 136, + 131, 131, 131, 131, 124, 124, 133, 133, 133, 133, + 125, 124, 6, 125, 136, 126, 240, 241, 126, 60, + 61, 126, 725, 133, 133, 728, 128, 124, 731, 128, + 137, 734, 138, 136, 138, 136, 132, 128, 136, 133, + 133, 744, 266, 133, 129, 124, 270, 750, 124, 124, + 124, 124, 133, 137, 137, 137, 280, 124, 124, 100, + 124, 133, 133, 766, 133, 386, 107, 285, 133, 446, + 133, 687, 775, 776, 174, 299, 618, 97, -1, -1, + 121, 328, 306, 124, 125, 126, 127, -1, -1, -1, + 793, 132, 562, -1, 797, -1, -1, -1, 139, -1, + 803, -1, -1, -1, -1, -1, 330, -1, -1, -1, + 334, 335, 336, -1, -1, -1, -1, 341, 342, 343, + -1, -1, 825, 826, 827, 828, 829, 830, -1, 832, + -1, 834, -1, 836, -1, -1, -1, -1, -1, 842, + -1, -1, -1, -1, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 823, 824, 825, 826, 827, 828, -1, - 830, -1, 832, -1, 834, -1, 100, -1, -1, -1, - 840, -1, -1, 107, -1, 19, 20, 21, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 121, -1, 123, - 124, 125, 126, -1, -1, -1, 866, 131, -1, -1, - -1, 871, -1, -1, 138, -1, 876, -1, 878, -1, - 880, -1, 882, 883, -1, 885, 60, 61, -1, -1, - -1, -1, -1, 512, -1, -1, -1, 897, 898, 899, - 519, 520, -1, 522, 523, 524, 525, -1, 527, -1, - 529, 530, 531, 532, -1, -1, 535, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 100, -1, 547, -1, - -1, -1, -1, 107, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 121, -1, 123, - 124, 125, 126, -1, -1, -1, -1, 131, -1, -1, - -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, - 589, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 868, -1, -1, -1, -1, + 873, -1, -1, -1, -1, 878, -1, 880, -1, 882, + -1, 884, 885, -1, 887, 60, 61, -1, -1, -1, + 414, -1, -1, 514, -1, -1, 899, 900, 901, -1, + 521, 522, -1, 524, 525, 526, 527, -1, 529, -1, + 531, 532, 533, 534, -1, -1, 537, -1, -1, -1, + -1, -1, -1, -1, -1, 100, -1, -1, 549, -1, + -1, -1, 107, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 121, -1, -1, 124, + 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, + -1, -1, -1, -1, 139, -1, -1, -1, -1, -1, + 591, -1, -1, -1, -1, 499, 500, 501, 502, 503, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 609, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 611, -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, 638, - -1, 640, -1, -1, 643, -1, -1, 646, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 640, + -1, 642, -1, -1, 645, -1, -1, 648, -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, -1, -1, -1, -1, - -1, -1, -1, -1, 683, -1, -1, -1, -1, -1, - -1, -1, 691, 692, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 685, -1, -1, -1, -1, -1, + -1, -1, 693, 694, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 621, -1, 623, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 633, + -1, 635, -1, -1, 638, -1, -1, 641, -1, -1, + 644, -1, 646, -1, -1, 649, -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, -1, -1, -1, -1, 682, 683, + -1, 782, 783, 784, 785, 786, -1, 788, -1, -1, + 791, 4, 5, -1, 795, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, -1, -1, -1, -1, -1, + -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, -1, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, 58, 59, -1, -1, 62, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 79, 80, 81, 82, + 83, 84, 85, 86, 87, -1, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, -1, 101, 102, + 103, 104, 105, 106, -1, -1, 109, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 124, -1, -1, 127, -1, -1, 0, 1, -1, + -1, 4, 5, -1, 137, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, -1, -1, -1, -1, -1, + -1, -1, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, -1, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, 58, 59, -1, -1, 62, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, -1, 101, 102, + 103, 104, 105, 106, 4, 5, 109, -1, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, -1, -1, + -1, 124, 125, 126, 127, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, -1, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, + -1, -1, 62, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, + 80, 81, 82, 83, 84, 85, 86, 87, -1, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + -1, 101, 102, 103, 104, 105, 106, -1, -1, 109, 4, 5, -1, -1, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, -1, -1, -1, -1, -1, -1, - -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, -1, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, -1, 58, 59, -1, -1, 62, -1, - -1, 780, 781, 782, 783, 784, -1, 786, -1, -1, - 789, -1, -1, -1, 793, 79, 80, 81, 82, 83, - 84, 85, 86, 87, -1, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, -1, 101, 102, 103, - 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, - -1, -1, 126, -1, -1, 0, 1, -1, -1, 4, - 5, -1, 136, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, -1, -1, -1, -1, -1, -1, -1, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, -1, 58, 59, -1, -1, 62, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, -1, 101, 102, 103, 104, - 105, 106, 4, 5, 109, -1, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, -1, -1, 123, 124, - 125, 126, -1, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, -1, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, 58, 59, -1, -1, - 62, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 79, 80, 81, - 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, 105, 106, -1, -1, 109, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 123, -1, -1, 126, -1, 128, 4, 5, -1, - -1, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, -1, -1, -1, -1, -1, -1, -1, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, -1, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - -1, 58, 59, -1, -1, 62, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, -1, 101, 102, 103, 104, 105, 106, - 4, 5, 109, -1, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, -1, -1, 123, -1, -1, 126, + 14, 15, 16, 17, 124, -1, -1, 127, -1, 129, -1, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, -1, -1, 62, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, 80, 81, 82, 83, - 84, 85, 86, 87, -1, 89, 90, 91, 92, 93, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -1, 101, 102, 103, - 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, - -1, -1, 126 + 104, 105, 106, 4, 5, 109, -1, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, -1, -1, -1, + 124, -1, -1, 127, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, -1, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, -1, 58, 59, -1, + -1, 62, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 79, 80, + 81, 82, 83, 84, 85, 86, 87, -1, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, -1, + 101, 102, 103, 104, 105, 106, -1, -1, 109, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 124, -1, -1, 127 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -1740,122 +1753,122 @@ static const grib_yytype_uint8 grib_yystos[] = 52, 53, 54, 55, 56, 58, 59, 62, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 101, - 102, 103, 104, 105, 106, 109, 123, 124, 125, 126, - 145, 146, 150, 151, 156, 157, 158, 165, 166, 167, - 168, 169, 170, 171, 174, 175, 178, 188, 189, 191, - 192, 193, 131, 131, 131, 129, 131, 123, 123, 131, - 129, 123, 123, 129, 123, 124, 131, 123, 129, 131, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 129, 129, 123, 129, 129, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 131, 123, 123, 124, 131, 124, 131, 124, 131, - 123, 19, 20, 21, 60, 61, 100, 107, 121, 123, - 124, 125, 126, 131, 138, 146, 153, 154, 155, 179, - 180, 181, 182, 183, 184, 185, 186, 187, 131, 128, - 123, 123, 129, 123, 123, 123, 123, 123, 129, 129, - 129, 129, 123, 123, 123, 123, 131, 131, 18, 133, - 133, 133, 123, 133, 0, 4, 123, 126, 128, 150, - 128, 123, 124, 126, 175, 123, 124, 178, 4, 123, - 193, 187, 187, 123, 125, 125, 124, 124, 153, 125, - 131, 133, 146, 161, 161, 125, 187, 129, 134, 161, - 125, 125, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 129, 125, 123, 125, - 131, 125, 125, 133, 134, 134, 123, 134, 133, 133, - 131, 131, 134, 135, 131, 135, 131, 134, 135, 137, - 146, 162, 187, 133, 133, 125, 125, 123, 124, 131, - 131, 131, 131, 131, 131, 184, 131, 187, 179, 180, - 127, 122, 139, 117, 118, 140, 141, 142, 138, 143, - 111, 112, 113, 114, 115, 116, 119, 120, 123, 131, - 162, 125, 162, 131, 131, 131, 125, 125, 125, 125, - 131, 131, 131, 155, 187, 153, 131, 22, 23, 24, - 46, 57, 129, 135, 187, 129, 135, 135, 129, 134, - 161, 135, 131, 133, 150, 133, 133, 133, 133, 131, - 133, 132, 132, 132, 130, 132, 132, 130, 153, 153, - 162, 162, 130, 132, 155, 123, 162, 130, 132, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 162, 153, 130, 130, 130, 153, 130, 130, - 123, 123, 123, 131, 123, 155, 135, 155, 153, 123, - 123, 169, 123, 170, 123, 123, 169, 3, 54, 63, - 64, 65, 66, 67, 68, 71, 72, 74, 75, 77, - 78, 163, 164, 132, 76, 135, 187, 187, 132, 132, - 132, 132, 153, 123, 123, 123, 123, 123, 124, 132, - 153, 132, 154, 123, 179, 181, 181, 181, 181, 181, - 181, 182, 182, 183, 183, 183, 183, 183, 183, 184, - 185, 127, 153, 130, 153, 153, 153, 130, 130, 130, - 130, 153, 153, 153, 132, 132, 187, 131, 131, 131, - 131, 131, 125, 149, 123, 176, 177, 128, 149, 176, - 176, 155, 123, 162, 176, 187, 187, 135, 135, 123, - 123, 135, 123, 124, 132, 123, 135, 130, 161, 123, - 123, 130, 123, 123, 123, 132, 123, 123, 162, 133, - 153, 123, 162, 125, 126, 147, 162, 132, 127, 132, - 131, 135, 136, 127, 136, 127, 132, 131, 135, 136, - 127, 80, 81, 135, 159, 124, 147, 148, 124, 124, - 124, 124, 132, 127, 127, 127, 132, 132, 127, 127, - 132, 123, 132, 123, 132, 132, 132, 123, 123, 123, - 123, 132, 132, 132, 135, 132, 153, 153, 153, 153, - 153, 127, 130, 133, 136, 176, 130, 136, 136, 130, - 161, 136, 132, 132, 123, 150, 189, 190, 150, 129, - 161, 129, 161, 150, 161, 161, 161, 161, 150, 161, - 162, 129, 161, 129, 161, 161, 129, 161, 155, 131, - 155, 161, 131, 155, 131, 123, 132, 131, 127, 136, - 161, 124, 135, 123, 169, 162, 124, 162, 124, 135, - 123, 169, 162, 164, 123, 123, 159, 160, 128, 152, - 136, 127, 136, 124, 124, 125, 125, 125, 132, 162, - 131, 131, 161, 155, 108, 172, 173, 135, 132, 132, - 132, 132, 132, 125, 129, 187, 161, 162, 135, 135, - 133, 136, 190, 136, 136, 153, 162, 153, 162, 136, - 162, 162, 162, 162, 136, 162, 153, 162, 153, 162, - 162, 153, 162, 161, 153, 187, 161, 162, 153, 161, - 153, 162, 161, 153, 125, 126, 162, 162, 127, 169, - 127, 132, 136, 127, 127, 169, 127, 132, 136, 133, - 133, 152, 136, 159, 128, 124, 132, 132, 127, 132, - 127, 127, 153, 153, 161, 154, 110, 136, 173, 150, - 162, 162, 162, 161, 161, 149, 128, 162, 6, 6, - 130, 130, 130, 130, 130, 162, 132, 80, 162, 132, - 162, 132, 162, 132, 123, 136, 124, 135, 162, 123, - 123, 136, 124, 135, 162, 187, 187, 6, 152, 125, - 125, 125, 132, 132, 162, 137, 137, 136, 162, 162, - 130, 135, 135, 161, 161, 161, 161, 161, 161, 131, - 161, 162, 161, 127, 132, 162, 127, 169, 127, 127, - 132, 162, 127, 169, 135, 132, 132, 132, 150, 136, - 150, 128, 150, 150, 162, 162, 162, 162, 162, 162, - 123, 162, 162, 123, 162, 123, 136, 123, 123, 162, - 123, 136, 160, 136, 136, 136, 132, 127, 132, 127, - 132, 162, 132, 132, 127, 132, 162, 136, 162, 123, - 162, 123, 162, 162, 162, 123, 162, 132, 132, 132, - 162, 162, 162 + 102, 103, 104, 105, 106, 109, 124, 125, 126, 127, + 146, 147, 151, 152, 157, 158, 159, 166, 167, 168, + 169, 170, 171, 172, 175, 176, 179, 189, 190, 192, + 193, 194, 132, 132, 132, 130, 132, 124, 124, 132, + 130, 124, 124, 130, 124, 125, 132, 124, 130, 132, + 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, + 124, 124, 124, 124, 124, 130, 130, 124, 130, 130, + 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, + 124, 132, 124, 124, 125, 132, 125, 132, 125, 132, + 124, 19, 20, 21, 60, 61, 100, 107, 121, 124, + 125, 126, 127, 132, 139, 147, 154, 155, 156, 180, + 181, 182, 183, 184, 185, 186, 187, 188, 132, 129, + 124, 124, 130, 124, 124, 124, 124, 124, 130, 130, + 130, 130, 124, 124, 124, 124, 132, 132, 18, 134, + 134, 134, 124, 134, 0, 4, 124, 127, 129, 151, + 129, 124, 125, 127, 176, 124, 125, 179, 4, 124, + 194, 188, 188, 124, 126, 126, 125, 125, 154, 126, + 132, 134, 147, 162, 162, 126, 188, 130, 135, 162, + 126, 126, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 162, 130, 126, 124, 126, + 132, 126, 126, 134, 135, 135, 124, 135, 134, 134, + 132, 132, 135, 136, 132, 136, 132, 135, 136, 138, + 147, 163, 188, 134, 134, 126, 126, 124, 125, 132, + 132, 132, 132, 132, 132, 185, 132, 188, 180, 181, + 128, 122, 123, 140, 117, 118, 141, 142, 143, 139, + 144, 111, 112, 113, 114, 115, 116, 119, 120, 124, + 132, 163, 126, 163, 132, 132, 132, 126, 126, 126, + 126, 132, 132, 132, 156, 188, 154, 132, 22, 23, + 24, 46, 57, 130, 136, 188, 130, 136, 136, 130, + 135, 162, 136, 132, 134, 151, 134, 134, 134, 134, + 132, 134, 133, 133, 133, 131, 133, 133, 131, 154, + 154, 163, 163, 131, 133, 156, 124, 163, 131, 133, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 154, 131, 131, 131, 154, 131, + 131, 124, 124, 124, 132, 124, 156, 136, 156, 154, + 124, 124, 170, 124, 171, 124, 124, 170, 3, 54, + 63, 64, 65, 66, 67, 68, 71, 72, 74, 75, + 77, 78, 164, 165, 133, 76, 136, 188, 188, 133, + 133, 133, 133, 154, 124, 124, 124, 124, 124, 125, + 133, 154, 133, 155, 124, 180, 180, 182, 182, 182, + 182, 182, 182, 183, 183, 184, 184, 184, 184, 184, + 184, 185, 186, 128, 154, 131, 154, 154, 154, 131, + 131, 131, 131, 154, 154, 154, 133, 133, 188, 132, + 132, 132, 132, 132, 126, 150, 124, 177, 178, 129, + 150, 177, 177, 156, 124, 163, 177, 188, 188, 136, + 136, 124, 124, 136, 124, 125, 133, 124, 136, 131, + 162, 124, 124, 131, 124, 124, 124, 133, 124, 124, + 163, 134, 154, 124, 163, 126, 127, 148, 163, 133, + 128, 133, 132, 136, 137, 128, 137, 128, 133, 132, + 136, 137, 128, 80, 81, 136, 160, 125, 148, 149, + 125, 125, 125, 125, 133, 128, 128, 128, 133, 133, + 128, 128, 133, 124, 133, 124, 133, 133, 133, 124, + 124, 124, 124, 133, 133, 133, 136, 133, 154, 154, + 154, 154, 154, 128, 131, 134, 137, 177, 131, 137, + 137, 131, 162, 137, 133, 133, 124, 151, 190, 191, + 151, 130, 162, 130, 162, 151, 162, 162, 162, 162, + 151, 162, 163, 130, 162, 130, 162, 162, 130, 162, + 156, 132, 156, 162, 132, 156, 132, 124, 133, 132, + 128, 137, 162, 125, 136, 124, 170, 163, 125, 163, + 125, 136, 124, 170, 163, 165, 124, 124, 160, 161, + 129, 153, 137, 128, 137, 125, 125, 126, 126, 126, + 133, 163, 132, 132, 162, 156, 108, 173, 174, 136, + 133, 133, 133, 133, 133, 126, 130, 188, 162, 163, + 136, 136, 134, 137, 191, 137, 137, 154, 163, 154, + 163, 137, 163, 163, 163, 163, 137, 163, 154, 163, + 154, 163, 163, 154, 163, 162, 154, 188, 162, 163, + 154, 162, 154, 163, 162, 154, 126, 127, 163, 163, + 128, 170, 128, 133, 137, 128, 128, 170, 128, 133, + 137, 134, 134, 153, 137, 160, 129, 125, 133, 133, + 128, 133, 128, 128, 154, 154, 162, 155, 110, 137, + 174, 151, 163, 163, 163, 162, 162, 150, 129, 163, + 6, 6, 131, 131, 131, 131, 131, 163, 133, 80, + 163, 133, 163, 133, 163, 133, 124, 137, 125, 136, + 163, 124, 124, 137, 125, 136, 163, 188, 188, 6, + 153, 126, 126, 126, 133, 133, 163, 138, 138, 137, + 163, 163, 131, 136, 136, 162, 162, 162, 162, 162, + 162, 132, 162, 163, 162, 128, 133, 163, 128, 170, + 128, 128, 133, 163, 128, 170, 136, 133, 133, 133, + 151, 137, 151, 129, 151, 151, 163, 163, 163, 163, + 163, 163, 124, 163, 163, 124, 163, 124, 137, 124, + 124, 163, 124, 137, 161, 137, 137, 137, 133, 128, + 133, 128, 133, 163, 133, 133, 128, 133, 163, 137, + 163, 124, 163, 124, 163, 163, 163, 124, 163, 133, + 133, 133, 163, 163, 163 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ static const grib_yytype_uint8 grib_yyr1[] = { - 0, 144, 145, 145, 145, 145, 145, 145, 146, 147, - 147, 147, 147, 148, 148, 149, 149, 150, 150, 150, - 150, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 152, 152, 153, 153, 154, 154, 155, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 157, 157, 157, 157, 158, 158, 158, 159, 159, - 160, 160, 161, 161, 162, 162, 163, 163, 164, 164, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 165, 166, 167, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 169, 169, 170, 170, 171, 171, 172, 172, - 173, 174, 174, 174, 175, 175, 175, 175, 176, 176, - 177, 177, 178, 178, 179, 179, 179, 179, 180, 180, - 180, 180, 180, 180, 180, 180, 180, 181, 181, 182, - 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, - 182, 183, 183, 183, 184, 184, 184, 184, 184, 184, - 184, 184, 184, 185, 185, 186, 186, 187, 188, 188, - 189, 189, 190, 190, 191, 192, 193, 193 + 0, 145, 146, 146, 146, 146, 146, 146, 147, 148, + 148, 148, 148, 149, 149, 150, 150, 151, 151, 151, + 151, 152, 152, 152, 152, 152, 152, 152, 152, 152, + 153, 153, 154, 154, 155, 155, 156, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, + 157, 158, 158, 158, 158, 159, 159, 159, 160, 160, + 161, 161, 162, 162, 163, 163, 164, 164, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 166, 167, 168, 169, 169, 169, 169, 169, + 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, + 169, 169, 170, 170, 171, 171, 172, 172, 173, 173, + 174, 175, 175, 175, 176, 176, 176, 176, 177, 177, + 178, 178, 179, 179, 180, 180, 180, 180, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 182, 182, 183, + 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, + 183, 184, 184, 184, 185, 185, 185, 185, 185, 185, + 185, 185, 185, 185, 186, 186, 187, 187, 188, 189, + 189, 190, 190, 191, 191, 192, 193, 194, 194 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -1886,8 +1899,8 @@ static const grib_yytype_int8 grib_yyr2[] = 1, 1, 1, 3, 2, 3, 4, 3, 1, 3, 3, 3, 3, 3, 1, 4, 6, 6, 6, 8, 4, 3, 3, 1, 3, 3, 3, 3, 3, 3, - 3, 2, 1, 3, 1, 3, 1, 1, 1, 1, - 4, 2, 1, 2, 1, 7, 1, 2 + 3, 3, 2, 1, 3, 1, 3, 1, 1, 1, + 1, 4, 2, 1, 2, 1, 7, 1, 2 }; @@ -2351,249 +2364,249 @@ grib_yyreduce: switch (grib_yyn) { case 2: /* all: empty */ -#line 262 "griby.y" +#line 263 "griby.y" { grib_parser_all_actions = 0;grib_parser_concept=0; grib_parser_hash_array=0;grib_parser_rules=0; } -#line 2358 "y.tab.c" +#line 2371 "y.tab.c" break; case 3: /* all: concept_list */ -#line 264 "griby.y" +#line 265 "griby.y" { grib_parser_concept = reverse_concept((grib_yyvsp[0].concept_value)); } -#line 2364 "y.tab.c" +#line 2377 "y.tab.c" break; case 4: /* all: hash_array_list */ -#line 265 "griby.y" +#line 266 "griby.y" { grib_parser_hash_array = reverse_hash_array((grib_yyvsp[0].hash_array_value)); } -#line 2370 "y.tab.c" +#line 2383 "y.tab.c" break; case 5: /* all: instructions */ -#line 266 "griby.y" - { grib_parser_all_actions = (grib_yyvsp[0].act); } -#line 2376 "y.tab.c" - break; - - case 6: /* all: rules */ #line 267 "griby.y" - { grib_parser_rules = (grib_yyvsp[0].rules); } -#line 2382 "y.tab.c" - break; - - case 7: /* all: error */ -#line 269 "griby.y" - { grib_parser_all_actions = 0; grib_parser_concept=0; - grib_parser_hash_array=0; grib_parser_rules=0; } + { grib_parser_all_actions = (grib_yyvsp[0].act); } #line 2389 "y.tab.c" break; - case 9: /* dvalues: FLOAT */ -#line 276 "griby.y" - { (grib_yyval.dvalue)=grib_darray_push(grib_parser_context,0,(grib_yyvsp[0].dval));} + case 6: /* all: rules */ +#line 268 "griby.y" + { grib_parser_rules = (grib_yyvsp[0].rules); } #line 2395 "y.tab.c" break; - case 10: /* dvalues: dvalues ',' FLOAT */ + case 7: /* all: error */ +#line 270 "griby.y" + { grib_parser_all_actions = 0; grib_parser_concept=0; + grib_parser_hash_array=0; grib_parser_rules=0; } +#line 2402 "y.tab.c" + break; + + case 9: /* dvalues: FLOAT */ #line 277 "griby.y" + { (grib_yyval.dvalue)=grib_darray_push(grib_parser_context,0,(grib_yyvsp[0].dval));} +#line 2408 "y.tab.c" + break; + + case 10: /* dvalues: dvalues ',' FLOAT */ +#line 278 "griby.y" { (grib_yyval.dvalue)=grib_darray_push(grib_parser_context,(grib_yyvsp[-2].dvalue),(grib_yyvsp[0].dval));} -#line 2401 "y.tab.c" +#line 2414 "y.tab.c" break; case 11: /* dvalues: INTEGER */ -#line 278 "griby.y" +#line 279 "griby.y" { (grib_yyval.dvalue)=grib_darray_push(grib_parser_context,0,(grib_yyvsp[0].lval));} -#line 2407 "y.tab.c" +#line 2420 "y.tab.c" break; case 12: /* dvalues: dvalues ',' INTEGER */ -#line 279 "griby.y" +#line 280 "griby.y" { (grib_yyval.dvalue)=grib_darray_push(grib_parser_context,(grib_yyvsp[-2].dvalue),(grib_yyvsp[0].lval));} -#line 2413 "y.tab.c" +#line 2426 "y.tab.c" break; case 13: /* svalues: STRING */ -#line 282 "griby.y" +#line 283 "griby.y" { (grib_yyval.svalue)=grib_sarray_push(grib_parser_context,0,(grib_yyvsp[0].str));} -#line 2419 "y.tab.c" +#line 2432 "y.tab.c" break; case 14: /* svalues: svalues ',' STRING */ -#line 283 "griby.y" +#line 284 "griby.y" { (grib_yyval.svalue)=grib_sarray_push(grib_parser_context,(grib_yyvsp[-2].svalue),(grib_yyvsp[0].str));} -#line 2425 "y.tab.c" +#line 2438 "y.tab.c" break; case 15: /* integer_array: INTEGER */ -#line 287 "griby.y" +#line 288 "griby.y" { (grib_yyval.ivalue)=grib_iarray_push(0,(grib_yyvsp[0].lval));} -#line 2431 "y.tab.c" +#line 2444 "y.tab.c" break; case 16: /* integer_array: integer_array ',' INTEGER */ -#line 288 "griby.y" +#line 289 "griby.y" { (grib_yyval.ivalue)=grib_iarray_push((grib_yyvsp[-2].ivalue),(grib_yyvsp[0].lval));} -#line 2437 "y.tab.c" +#line 2450 "y.tab.c" break; case 18: /* instructions: instruction instructions */ -#line 292 "griby.y" +#line 293 "griby.y" { (grib_yyvsp[-1].act)->next = (grib_yyvsp[0].act); (grib_yyval.act) = (grib_yyvsp[-1].act); } -#line 2443 "y.tab.c" +#line 2456 "y.tab.c" break; case 19: /* instructions: instruction ';' instructions */ -#line 293 "griby.y" +#line 294 "griby.y" { (grib_yyvsp[-2].act)->next = (grib_yyvsp[0].act); (grib_yyval.act) = (grib_yyvsp[-2].act); } -#line 2449 "y.tab.c" +#line 2462 "y.tab.c" break; case 20: /* instructions: instruction ';' */ -#line 294 "griby.y" +#line 295 "griby.y" { (grib_yyval.act) = (grib_yyvsp[-1].act);} -#line 2455 "y.tab.c" +#line 2468 "y.tab.c" break; case 32: /* argument_list: empty */ -#line 313 "griby.y" +#line 314 "griby.y" { (grib_yyval.explist) = 0; } -#line 2461 "y.tab.c" +#line 2474 "y.tab.c" break; case 35: /* arguments: argument ',' arguments */ -#line 318 "griby.y" +#line 319 "griby.y" { (grib_yyvsp[-2].explist)->next = (grib_yyvsp[0].explist); (grib_yyval.explist) = (grib_yyvsp[-2].explist); } -#line 2467 "y.tab.c" +#line 2480 "y.tab.c" break; case 36: /* argument: expression */ -#line 321 "griby.y" +#line 322 "griby.y" { (grib_yyval.explist) = grib_arguments_new(grib_parser_context,(grib_yyvsp[0].exp),NULL); } -#line 2473 "y.tab.c" +#line 2486 "y.tab.c" break; case 37: /* simple: UNSIGNED '[' INTEGER ']' IDENT default flags */ -#line 326 "griby.y" +#line 327 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"unsigned",(grib_yyvsp[-4].lval),NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-2].str)); } -#line 2479 "y.tab.c" +#line 2492 "y.tab.c" break; case 38: /* simple: UNSIGNED '[' INTEGER ']' IDENT '[' argument_list ']' default flags */ -#line 329 "griby.y" +#line 330 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"unsigned",(grib_yyvsp[-7].lval),(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-5].str)); } -#line 2485 "y.tab.c" +#line 2498 "y.tab.c" break; case 39: /* simple: UNSIGNED '(' INTEGER ')' IDENT default flags */ -#line 332 "griby.y" +#line 333 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"unsigned_bits",(grib_yyvsp[-4].lval),NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-2].str)); } -#line 2491 "y.tab.c" +#line 2504 "y.tab.c" break; case 40: /* simple: UNSIGNED '(' INTEGER ')' IDENT '[' argument_list ']' default flags */ -#line 335 "griby.y" +#line 336 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"unsigned_bits",(grib_yyvsp[-7].lval),(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-5].str)); } -#line 2497 "y.tab.c" +#line 2510 "y.tab.c" break; case 41: /* simple: ASCII '[' INTEGER ']' IDENT default flags */ -#line 338 "griby.y" +#line 339 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"ascii",(grib_yyvsp[-4].lval),NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-2].str)); } -#line 2503 "y.tab.c" +#line 2516 "y.tab.c" break; case 42: /* simple: GROUP IDENT default flags */ -#line 341 "griby.y" +#line 342 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"group",0,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-2].str)); } -#line 2509 "y.tab.c" +#line 2522 "y.tab.c" break; case 43: /* simple: GROUP IDENT '(' argument_list ')' default flags */ -#line 344 "griby.y" +#line 345 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"group",0,(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-5].str)); } -#line 2515 "y.tab.c" +#line 2528 "y.tab.c" break; case 44: /* simple: IDENT '=' TO_INTEGER '(' argument_list ')' flags */ -#line 347 "griby.y" +#line 348 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-6].str),"to_integer",0,(grib_yyvsp[-2].explist),0,(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-6].str)); } -#line 2521 "y.tab.c" +#line 2534 "y.tab.c" break; case 45: /* simple: IDENT '=' SEX2DEC '(' argument_list ')' flags */ -#line 350 "griby.y" +#line 351 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-6].str),"sexagesimal2decimal",0,(grib_yyvsp[-2].explist),0,(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-6].str)); } -#line 2527 "y.tab.c" +#line 2540 "y.tab.c" break; case 46: /* simple: IDENT '=' TO_STRING '(' argument_list ')' flags */ -#line 353 "griby.y" +#line 354 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-6].str),"to_string",0,(grib_yyvsp[-2].explist),0,(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-6].str)); } -#line 2533 "y.tab.c" +#line 2546 "y.tab.c" break; case 47: /* simple: NON_ALPHA IDENT default flags */ -#line 356 "griby.y" +#line 357 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"non_alpha",0,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-2].str)); } -#line 2539 "y.tab.c" +#line 2552 "y.tab.c" break; case 48: /* simple: ASCII '[' INTEGER ']' STRING default flags */ -#line 360 "griby.y" +#line 361 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"ascii",(grib_yyvsp[-4].lval),NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-2].str)); } -#line 2545 "y.tab.c" +#line 2558 "y.tab.c" break; case 49: /* simple: BYTE '[' INTEGER ']' IDENT default flags */ -#line 363 "griby.y" +#line 364 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"bytes",(grib_yyvsp[-4].lval),NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-2].str)); } -#line 2551 "y.tab.c" +#line 2564 "y.tab.c" break; case 50: /* simple: BYTE '[' INTEGER ']' IDENT '[' argument_list ']' default flags */ -#line 366 "griby.y" +#line 367 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"bytes",(grib_yyvsp[-7].lval),(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-5].str)); } -#line 2557 "y.tab.c" +#line 2570 "y.tab.c" break; case 51: /* simple: KSEC1EXPVER '[' INTEGER ']' IDENT default flags */ -#line 369 "griby.y" +#line 370 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"ksec1expver",(grib_yyvsp[-4].lval),NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-2].str)); } -#line 2563 "y.tab.c" +#line 2576 "y.tab.c" break; case 52: /* simple: SIGNED '[' INTEGER ']' IDENT default flags */ -#line 372 "griby.y" +#line 373 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"signed",(grib_yyvsp[-4].lval),NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-2].str)); } -#line 2569 "y.tab.c" +#line 2582 "y.tab.c" break; case 53: /* simple: SIGNED '[' INTEGER ']' IDENT '[' argument_list ']' default flags */ -#line 375 "griby.y" +#line 376 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"signed",(grib_yyvsp[-7].lval),(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-5].str)); } -#line 2575 "y.tab.c" +#line 2588 "y.tab.c" break; case 54: /* simple: SIGNED '(' INTEGER ')' IDENT default flags */ -#line 378 "griby.y" +#line 379 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"signed_bits",(grib_yyvsp[-4].lval),NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-2].str)); } -#line 2581 "y.tab.c" +#line 2594 "y.tab.c" break; case 55: /* simple: SIGNED '(' INTEGER ')' IDENT '[' argument_list ']' default flags */ -#line 381 "griby.y" +#line 382 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"signed_bits",(grib_yyvsp[-7].lval),(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-5].str)); } -#line 2587 "y.tab.c" +#line 2600 "y.tab.c" break; case 56: /* simple: CODETABLE '[' INTEGER ']' IDENT argument default flags */ -#line 384 "griby.y" +#line 385 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-3].str),"codetable",(grib_yyvsp[-5].lval), (grib_yyvsp[-2].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-3].str)); } -#line 2593 "y.tab.c" +#line 2606 "y.tab.c" break; case 57: /* simple: CODETABLE '[' IDENT ']' IDENT argument default flags */ -#line 387 "griby.y" +#line 388 "griby.y" { /* ECC-485: Set length to 0 and prepend the new argument */ grib_arguments* a = grib_arguments_new(grib_parser_context, new_accessor_expression(grib_parser_context,(grib_yyvsp[-5].str),0,0),NULL); @@ -2603,358 +2616,358 @@ grib_yyreduce: (grib_yyvsp[-1].explist), (grib_yyvsp[0].lval), NULL, NULL); free((grib_yyvsp[-3].str)); } -#line 2607 "y.tab.c" - break; - - case 58: /* simple: CODETABLE '[' INTEGER ']' IDENT argument default SET '(' IDENT ')' flags */ -#line 398 "griby.y" - { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-7].str),"codetable",(grib_yyvsp[-9].lval), (grib_yyvsp[-6].explist),(grib_yyvsp[-5].explist),(grib_yyvsp[0].lval),NULL,(grib_yyvsp[-2].str)); - free((grib_yyvsp[-7].str));free((grib_yyvsp[-2].str)); } -#line 2614 "y.tab.c" - break; - - case 59: /* simple: CODETABLE '[' INTEGER ']' IDENT '(' argument_list ')' default flags */ -#line 402 "griby.y" - { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"codetable",(grib_yyvsp[-7].lval), (grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-5].str)); } #line 2620 "y.tab.c" break; + case 58: /* simple: CODETABLE '[' INTEGER ']' IDENT argument default SET '(' IDENT ')' flags */ +#line 399 "griby.y" + { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-7].str),"codetable",(grib_yyvsp[-9].lval), (grib_yyvsp[-6].explist),(grib_yyvsp[-5].explist),(grib_yyvsp[0].lval),NULL,(grib_yyvsp[-2].str)); + free((grib_yyvsp[-7].str));free((grib_yyvsp[-2].str)); } +#line 2627 "y.tab.c" + break; + + case 59: /* simple: CODETABLE '[' INTEGER ']' IDENT '(' argument_list ')' default flags */ +#line 403 "griby.y" + { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"codetable",(grib_yyvsp[-7].lval), (grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-5].str)); } +#line 2633 "y.tab.c" + break; + case 60: /* simple: SMART_TABLE IDENT '(' argument_list ')' default flags */ -#line 405 "griby.y" +#line 406 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"smart_table",0,(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-5].str)); } -#line 2626 "y.tab.c" +#line 2639 "y.tab.c" break; case 61: /* simple: IDENT '=' DICTIONARY '(' argument_list ')' default flags */ -#line 408 "griby.y" +#line 409 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-7].str),"dictionary",0,(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-7].str)); } -#line 2632 "y.tab.c" +#line 2645 "y.tab.c" break; case 62: /* simple: IDENT '=' GETENV '(' argument_list ')' default flags */ -#line 411 "griby.y" +#line 412 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-7].str),"getenv",0,(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-7].str)); } -#line 2638 "y.tab.c" +#line 2651 "y.tab.c" break; case 63: /* simple: COMPLEX_CODETABLE '[' INTEGER ']' IDENT argument default flags */ -#line 414 "griby.y" +#line 415 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-3].str),"complex_codetable",(grib_yyvsp[-5].lval), (grib_yyvsp[-2].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-3].str)); } -#line 2644 "y.tab.c" +#line 2657 "y.tab.c" break; case 64: /* simple: COMPLEX_CODETABLE '[' INTEGER ']' IDENT '(' argument_list ')' default flags */ -#line 417 "griby.y" +#line 418 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"complex_codetable",(grib_yyvsp[-7].lval), (grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-5].str)); } -#line 2650 "y.tab.c" +#line 2663 "y.tab.c" break; case 65: /* simple: FLAG '[' INTEGER ']' IDENT argument default flags */ -#line 420 "griby.y" +#line 421 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-3].str),"codeflag",(grib_yyvsp[-5].lval), (grib_yyvsp[-2].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-3].str)); } -#line 2656 "y.tab.c" +#line 2669 "y.tab.c" break; case 66: /* simple: LOOKUP '[' INTEGER ']' IDENT '(' argument_list ')' flags */ -#line 423 "griby.y" +#line 424 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-4].str),"lookup",(grib_yyvsp[-6].lval),(grib_yyvsp[-2].explist),NULL,(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-4].str)); } -#line 2662 "y.tab.c" +#line 2675 "y.tab.c" break; case 67: /* simple: FLAGBIT IDENT '(' argument_list ')' default flags */ -#line 426 "griby.y" +#line 427 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"bit",0,(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-5].str)); } -#line 2668 "y.tab.c" +#line 2681 "y.tab.c" break; case 68: /* simple: LABEL IDENT */ -#line 429 "griby.y" +#line 430 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[0].str),"label",0,NULL,NULL,0,NULL,NULL); free((grib_yyvsp[0].str)); } -#line 2674 "y.tab.c" +#line 2687 "y.tab.c" break; case 69: /* simple: LABEL STRING */ -#line 432 "griby.y" +#line 433 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[0].str),"label",0,NULL,NULL,0,NULL,NULL); free((grib_yyvsp[0].str)); } -#line 2680 "y.tab.c" +#line 2693 "y.tab.c" break; case 70: /* simple: IBMFLOAT IDENT default flags */ -#line 435 "griby.y" +#line 436 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"ibmfloat",4,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); } -#line 2686 "y.tab.c" +#line 2699 "y.tab.c" break; case 71: /* simple: INT8 IDENT default flags */ -#line 439 "griby.y" +#line 440 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"int8",1,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); } -#line 2692 "y.tab.c" +#line 2705 "y.tab.c" break; case 72: /* simple: UINT8 IDENT default flags */ -#line 442 "griby.y" +#line 443 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"uint8",1,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); } -#line 2698 "y.tab.c" +#line 2711 "y.tab.c" break; case 73: /* simple: INT16 IDENT default flags */ -#line 445 "griby.y" +#line 446 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"int16",2,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); } -#line 2704 "y.tab.c" +#line 2717 "y.tab.c" break; case 74: /* simple: UINT16 IDENT default flags */ -#line 448 "griby.y" +#line 449 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"uint16",2,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); } -#line 2710 "y.tab.c" +#line 2723 "y.tab.c" break; case 75: /* simple: INT16_LITTLE_ENDIAN IDENT default flags */ -#line 451 "griby.y" +#line 452 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"int16_little_endian",2,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); } -#line 2716 "y.tab.c" +#line 2729 "y.tab.c" break; case 76: /* simple: UINT16_LITTLE_ENDIAN IDENT default flags */ -#line 454 "griby.y" +#line 455 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"uint16_little_endian",2,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); } -#line 2722 "y.tab.c" +#line 2735 "y.tab.c" break; case 77: /* simple: INT32 IDENT default flags */ -#line 457 "griby.y" +#line 458 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"int32",4,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); } -#line 2728 "y.tab.c" +#line 2741 "y.tab.c" break; case 78: /* simple: UINT32 IDENT default flags */ -#line 460 "griby.y" +#line 461 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"uint32",4,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); } -#line 2734 "y.tab.c" +#line 2747 "y.tab.c" break; case 79: /* simple: INT32_LITTLE_ENDIAN IDENT default flags */ -#line 463 "griby.y" +#line 464 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"int32_little_endian",4,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); } -#line 2740 "y.tab.c" +#line 2753 "y.tab.c" break; case 80: /* simple: UINT32_LITTLE_ENDIAN IDENT default flags */ -#line 466 "griby.y" +#line 467 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"uint32_little_endian",4,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); } -#line 2746 "y.tab.c" +#line 2759 "y.tab.c" break; case 81: /* simple: INT64 IDENT default flags */ -#line 469 "griby.y" +#line 470 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"int64",8,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); } -#line 2752 "y.tab.c" +#line 2765 "y.tab.c" break; case 82: /* simple: UINT64 IDENT default flags */ -#line 472 "griby.y" +#line 473 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"uint64",8,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); } -#line 2758 "y.tab.c" +#line 2771 "y.tab.c" break; case 83: /* simple: INT64_LITTLE_ENDIAN IDENT default flags */ -#line 475 "griby.y" +#line 476 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"int64_little_endian",8,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); } -#line 2764 "y.tab.c" +#line 2777 "y.tab.c" break; case 84: /* simple: UINT64_LITTLE_ENDIAN IDENT default flags */ -#line 478 "griby.y" +#line 479 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"uint64_little_endian",8,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-2].str)); } -#line 2770 "y.tab.c" +#line 2783 "y.tab.c" break; case 85: /* simple: BLOB IDENT '[' argument_list ']' default flags */ -#line 481 "griby.y" +#line 482 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"blob",0,(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-5].str)); } -#line 2776 "y.tab.c" +#line 2789 "y.tab.c" break; case 86: /* simple: IBMFLOAT IDENT '.' IDENT default flags */ -#line 485 "griby.y" +#line 486 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"ibmfloat",4,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),(grib_yyvsp[-4].str),NULL);free((grib_yyvsp[-2].str)); free((grib_yyvsp[-4].str)); } -#line 2782 "y.tab.c" +#line 2795 "y.tab.c" break; case 87: /* simple: IBMFLOAT IDENT '[' argument ']' default flags */ -#line 488 "griby.y" +#line 489 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"ibmfloat",4,(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-5].str)); } -#line 2788 "y.tab.c" +#line 2801 "y.tab.c" break; case 88: /* simple: POS IDENT */ -#line 491 "griby.y" +#line 492 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[0].str),"position",0,NULL,NULL,0,NULL,NULL); free((grib_yyvsp[0].str)); } -#line 2794 "y.tab.c" +#line 2807 "y.tab.c" break; case 89: /* simple: INTCONST IDENT '=' argument flags */ -#line 494 "griby.y" +#line 495 "griby.y" { (grib_yyval.act) = grib_action_create_variable(grib_parser_context,(grib_yyvsp[-3].str),"constant",0,(grib_yyvsp[-1].explist),NULL,(grib_yyvsp[0].lval),NULL);free((grib_yyvsp[-3].str)); } -#line 2800 "y.tab.c" +#line 2813 "y.tab.c" break; case 90: /* simple: TRANS IDENT '=' argument flags */ -#line 497 "griby.y" +#line 498 "griby.y" { (grib_yyval.act) = grib_action_create_variable(grib_parser_context,(grib_yyvsp[-3].str),"transient",0,(grib_yyvsp[-1].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL); free((grib_yyvsp[-3].str)); } -#line 2806 "y.tab.c" +#line 2819 "y.tab.c" break; case 91: /* simple: TRANS IDENT '=' '{' dvalues '}' flags */ -#line 499 "griby.y" +#line 500 "griby.y" { (grib_yyval.act) = grib_action_create_transient_darray(grib_parser_context,(grib_yyvsp[-5].str),(grib_yyvsp[-2].dvalue),(grib_yyvsp[0].lval)); free((grib_yyvsp[-5].str)); } -#line 2812 "y.tab.c" +#line 2825 "y.tab.c" break; case 92: /* simple: FLOAT IDENT default flags */ -#line 502 "griby.y" +#line 503 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"ieeefloat",4,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-2].str)); } -#line 2818 "y.tab.c" +#line 2831 "y.tab.c" break; case 93: /* simple: FLOAT IDENT '.' IDENT default flags */ -#line 505 "griby.y" +#line 506 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-2].str),"ieeefloat",4,NULL,(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),(grib_yyvsp[-4].str),NULL); free((grib_yyvsp[-2].str));free((grib_yyvsp[-4].str));} -#line 2824 "y.tab.c" +#line 2837 "y.tab.c" break; case 94: /* simple: FLOAT IDENT '[' argument ']' default flags */ -#line 508 "griby.y" +#line 509 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-5].str),"ieeefloat",4,(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL,NULL);free((grib_yyvsp[-5].str)); } -#line 2830 "y.tab.c" +#line 2843 "y.tab.c" break; case 95: /* simple: G1_HALF_BYTE IDENT */ -#line 511 "griby.y" +#line 512 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[0].str),"g1_half_byte_codeflag",0,NULL,NULL,0,NULL,NULL);free((grib_yyvsp[0].str)); } -#line 2836 "y.tab.c" +#line 2849 "y.tab.c" break; case 96: /* simple: SECTION_LENGTH '[' INTEGER ']' IDENT default */ -#line 514 "griby.y" +#line 515 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-1].str),"section_length",(grib_yyvsp[-3].lval),NULL,(grib_yyvsp[0].explist),0,NULL,NULL);free((grib_yyvsp[-1].str)); } -#line 2842 "y.tab.c" +#line 2855 "y.tab.c" break; case 97: /* simple: G1_MESSAGE_LENGTH '[' INTEGER ']' IDENT '(' argument_list ')' */ -#line 517 "griby.y" +#line 518 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-3].str),"g1_message_length",(grib_yyvsp[-5].lval),(grib_yyvsp[-1].explist),NULL,0,NULL,NULL);free((grib_yyvsp[-3].str)); } -#line 2848 "y.tab.c" +#line 2861 "y.tab.c" break; case 98: /* simple: G1_SECTION4_LENGTH '[' INTEGER ']' IDENT '(' argument_list ')' */ -#line 520 "griby.y" +#line 521 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-3].str),"g1_section4_length",(grib_yyvsp[-5].lval),(grib_yyvsp[-1].explist),NULL,0,NULL,NULL);free((grib_yyvsp[-3].str)); } -#line 2854 "y.tab.c" +#line 2867 "y.tab.c" break; case 99: /* simple: KSEC IDENT argument */ -#line 523 "griby.y" +#line 524 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-1].str),"ksec",0,(grib_yyvsp[0].explist),NULL,0,NULL,NULL);free((grib_yyvsp[-1].str)); } -#line 2860 "y.tab.c" +#line 2873 "y.tab.c" break; case 100: /* simple: PAD IDENT '(' argument_list ')' */ -#line 526 "griby.y" +#line 527 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-3].str),"pad",0,(grib_yyvsp[-1].explist),0,0,NULL,NULL); free((grib_yyvsp[-3].str)); } -#line 2866 "y.tab.c" +#line 2879 "y.tab.c" break; case 101: /* simple: PADTO IDENT '(' argument_list ')' */ -#line 529 "griby.y" +#line 530 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-3].str),"padto",0,(grib_yyvsp[-1].explist),0,0,NULL,NULL); free((grib_yyvsp[-3].str)); } -#line 2872 "y.tab.c" +#line 2885 "y.tab.c" break; case 102: /* simple: PADTOEVEN IDENT '(' argument_list ')' */ -#line 532 "griby.y" +#line 533 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-3].str),"padtoeven",0,(grib_yyvsp[-1].explist),0,0,NULL,NULL); free((grib_yyvsp[-3].str)); } -#line 2878 "y.tab.c" +#line 2891 "y.tab.c" break; case 103: /* simple: PADTOMULTIPLE IDENT '(' argument_list ')' */ -#line 535 "griby.y" +#line 536 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-3].str),"padtomultiple",0,(grib_yyvsp[-1].explist),0,0,NULL,NULL); free((grib_yyvsp[-3].str)); } -#line 2884 "y.tab.c" +#line 2897 "y.tab.c" break; case 104: /* simple: MESSAGE '[' INTEGER ']' IDENT flags */ -#line 538 "griby.y" +#line 539 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-1].str),"message",(grib_yyvsp[-3].lval),0,0,(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-1].str)); } -#line 2890 "y.tab.c" +#line 2903 "y.tab.c" break; case 105: /* simple: MESSAGE_COPY IDENT flags */ -#line 541 "griby.y" +#line 542 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-1].str),"message_copy",0,0,0,(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-1].str)); } -#line 2896 "y.tab.c" +#line 2909 "y.tab.c" break; case 106: /* simple: SECTION_PADDING IDENT flags */ -#line 544 "griby.y" +#line 545 "griby.y" { (grib_yyval.act) = grib_action_create_gen(grib_parser_context,(grib_yyvsp[-1].str),"section_padding",0,0,0,(grib_yyvsp[0].lval),NULL,NULL); free((grib_yyvsp[-1].str)); } -#line 2902 "y.tab.c" +#line 2915 "y.tab.c" break; case 107: /* simple: TEMPLATE IDENT STRING */ -#line 546 "griby.y" +#line 547 "griby.y" { (grib_yyval.act) = grib_action_create_template(grib_parser_context,0,(grib_yyvsp[-1].str),(grib_yyvsp[0].str)); free((grib_yyvsp[-1].str)); free((grib_yyvsp[0].str));} -#line 2908 "y.tab.c" +#line 2921 "y.tab.c" break; case 108: /* simple: TEMPLATE_NOFAIL IDENT STRING */ -#line 548 "griby.y" +#line 549 "griby.y" { (grib_yyval.act) = grib_action_create_template(grib_parser_context,1,(grib_yyvsp[-1].str),(grib_yyvsp[0].str)); free((grib_yyvsp[-1].str)); free((grib_yyvsp[0].str));} -#line 2914 "y.tab.c" +#line 2927 "y.tab.c" break; case 109: /* simple: ALIAS IDENT '=' IDENT flags */ -#line 551 "griby.y" +#line 552 "griby.y" { (grib_yyval.act) = grib_action_create_alias(grib_parser_context,(grib_yyvsp[-3].str),(grib_yyvsp[-1].str),NULL,(grib_yyvsp[0].lval)); free((grib_yyvsp[-3].str)); free((grib_yyvsp[-1].str)); } -#line 2920 "y.tab.c" +#line 2933 "y.tab.c" break; case 110: /* simple: UNALIAS IDENT */ -#line 554 "griby.y" +#line 555 "griby.y" { (grib_yyval.act) = grib_action_create_alias(grib_parser_context,(grib_yyvsp[0].str),NULL,NULL,0); free((grib_yyvsp[0].str)); } -#line 2926 "y.tab.c" +#line 2939 "y.tab.c" break; case 111: /* simple: ALIAS IDENT '.' IDENT '=' IDENT flags */ -#line 557 "griby.y" +#line 558 "griby.y" { (grib_yyval.act) = grib_action_create_alias(grib_parser_context,(grib_yyvsp[-3].str),(grib_yyvsp[-1].str),(grib_yyvsp[-5].str),(grib_yyvsp[0].lval)); free((grib_yyvsp[-5].str)); free((grib_yyvsp[-3].str)); free((grib_yyvsp[-1].str)); } -#line 2934 "y.tab.c" +#line 2947 "y.tab.c" break; case 112: /* simple: UNALIAS IDENT '.' IDENT */ -#line 561 "griby.y" +#line 562 "griby.y" { (grib_yyval.act) = grib_action_create_alias(grib_parser_context,(grib_yyvsp[0].str),NULL,(grib_yyvsp[-2].str),0); free((grib_yyvsp[-2].str)); free((grib_yyvsp[0].str)); } -#line 2942 "y.tab.c" +#line 2955 "y.tab.c" break; case 113: /* simple: META IDENT IDENT '(' argument_list ')' default flags */ -#line 565 "griby.y" +#line 566 "griby.y" { (grib_yyval.act) = grib_action_create_meta(grib_parser_context,(grib_yyvsp[-6].str),(grib_yyvsp[-5].str),(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),NULL); free((grib_yyvsp[-6].str));free((grib_yyvsp[-5].str));} -#line 2948 "y.tab.c" +#line 2961 "y.tab.c" break; case 114: /* simple: META IDENT '.' IDENT IDENT '(' argument_list ')' default flags */ -#line 568 "griby.y" +#line 569 "griby.y" { (grib_yyval.act) = grib_action_create_meta(grib_parser_context,(grib_yyvsp[-6].str),(grib_yyvsp[-5].str),(grib_yyvsp[-3].explist),(grib_yyvsp[-1].explist),(grib_yyvsp[0].lval),(grib_yyvsp[-8].str)); free((grib_yyvsp[-6].str));free((grib_yyvsp[-5].str));free((grib_yyvsp[-8].str));} -#line 2954 "y.tab.c" +#line 2967 "y.tab.c" break; case 115: /* simple: ITERATOR IDENT '(' argument_list ')' */ -#line 571 "griby.y" +#line 572 "griby.y" { grib_arguments* a = grib_arguments_new( grib_parser_context, @@ -2966,11 +2979,11 @@ grib_yyreduce: "ITERATOR","iterator",a,NULL, GRIB_ACCESSOR_FLAG_HIDDEN|GRIB_ACCESSOR_FLAG_READ_ONLY,NULL); free((grib_yyvsp[-3].str)); } -#line 2970 "y.tab.c" +#line 2983 "y.tab.c" break; case 116: /* simple: NEAREST IDENT '(' argument_list ')' */ -#line 583 "griby.y" +#line 584 "griby.y" { grib_arguments* a = grib_arguments_new( grib_parser_context, @@ -2982,11 +2995,11 @@ grib_yyreduce: "NEAREST","nearest",a,NULL, GRIB_ACCESSOR_FLAG_HIDDEN|GRIB_ACCESSOR_FLAG_READ_ONLY,NULL); free((grib_yyvsp[-3].str)); } -#line 2986 "y.tab.c" +#line 2999 "y.tab.c" break; case 117: /* simple: BOX IDENT '(' argument_list ')' */ -#line 595 "griby.y" +#line 596 "griby.y" { grib_arguments* a = grib_arguments_new( grib_parser_context, @@ -2998,809 +3011,815 @@ grib_yyreduce: "BOX","box",a,NULL, GRIB_ACCESSOR_FLAG_HIDDEN|GRIB_ACCESSOR_FLAG_READ_ONLY,NULL); free((grib_yyvsp[-3].str)); } -#line 3002 "y.tab.c" +#line 3015 "y.tab.c" break; case 118: /* simple: EXPORT IDENT '(' argument_list ')' */ -#line 607 "griby.y" +#line 608 "griby.y" { (grib_yyval.act) = grib_action_create_put(grib_parser_context,(grib_yyvsp[-3].str),(grib_yyvsp[-1].explist));free((grib_yyvsp[-3].str));} -#line 3008 "y.tab.c" +#line 3021 "y.tab.c" break; case 119: /* simple: REMOVE argument_list */ -#line 610 "griby.y" +#line 611 "griby.y" { (grib_yyval.act) = grib_action_create_remove(grib_parser_context,(grib_yyvsp[0].explist));} -#line 3014 "y.tab.c" +#line 3027 "y.tab.c" break; case 120: /* simple: RENAME '(' IDENT ',' IDENT ')' */ -#line 612 "griby.y" +#line 613 "griby.y" { (grib_yyval.act) = grib_action_create_rename(grib_parser_context,(grib_yyvsp[-3].str),(grib_yyvsp[-1].str));free((grib_yyvsp[-3].str));free((grib_yyvsp[-1].str));} -#line 3020 "y.tab.c" +#line 3033 "y.tab.c" break; case 121: /* simple: ASSERT '(' expression ')' */ -#line 615 "griby.y" +#line 616 "griby.y" { (grib_yyval.act) = grib_action_create_assert(grib_parser_context,(grib_yyvsp[-1].exp));} -#line 3026 "y.tab.c" +#line 3039 "y.tab.c" break; case 122: /* simple: MODIFY IDENT flags */ -#line 618 "griby.y" +#line 619 "griby.y" { (grib_yyval.act) = grib_action_create_modify(grib_parser_context,(grib_yyvsp[-1].str),(grib_yyvsp[0].lval)); free((grib_yyvsp[-1].str));} -#line 3032 "y.tab.c" +#line 3045 "y.tab.c" break; case 123: /* simple: SET IDENT '=' MISSING */ -#line 620 "griby.y" +#line 621 "griby.y" { (grib_yyval.act) = grib_action_create_set_missing(grib_parser_context,(grib_yyvsp[-2].str)); free((grib_yyvsp[-2].str)); } -#line 3038 "y.tab.c" +#line 3051 "y.tab.c" break; case 124: /* simple: SET IDENT '=' expression */ -#line 621 "griby.y" +#line 622 "griby.y" { (grib_yyval.act) = grib_action_create_set(grib_parser_context,(grib_yyvsp[-2].str),(grib_yyvsp[0].exp),0); free((grib_yyvsp[-2].str)); } -#line 3044 "y.tab.c" +#line 3057 "y.tab.c" break; case 125: /* simple: SET IDENT '=' '{' dvalues '}' */ -#line 622 "griby.y" +#line 623 "griby.y" { (grib_yyval.act) = grib_action_create_set_darray(grib_parser_context,(grib_yyvsp[-4].str),(grib_yyvsp[-1].dvalue)); free((grib_yyvsp[-4].str)); } -#line 3050 "y.tab.c" +#line 3063 "y.tab.c" break; case 126: /* simple: SET IDENT '=' '{' svalues '}' */ -#line 623 "griby.y" +#line 624 "griby.y" { (grib_yyval.act) = grib_action_create_set_sarray(grib_parser_context,(grib_yyvsp[-4].str),(grib_yyvsp[-1].svalue)); free((grib_yyvsp[-4].str)); } -#line 3056 "y.tab.c" +#line 3069 "y.tab.c" break; case 127: /* simple: SET_NOFAIL IDENT '=' expression */ -#line 625 "griby.y" +#line 626 "griby.y" { (grib_yyval.act) = grib_action_create_set(grib_parser_context,(grib_yyvsp[-2].str),(grib_yyvsp[0].exp),1); free((grib_yyvsp[-2].str)); } -#line 3062 "y.tab.c" +#line 3075 "y.tab.c" break; case 128: /* simple: WRITE STRING */ -#line 628 "griby.y" +#line 629 "griby.y" { (grib_yyval.act) = grib_action_create_write(grib_parser_context,(grib_yyvsp[0].str),0,0); free((grib_yyvsp[0].str));} -#line 3068 "y.tab.c" +#line 3081 "y.tab.c" break; case 129: /* simple: WRITE */ -#line 629 "griby.y" +#line 630 "griby.y" { (grib_yyval.act) = grib_action_create_write(grib_parser_context,"",0,0); } -#line 3074 "y.tab.c" +#line 3087 "y.tab.c" break; case 130: /* simple: WRITE '(' INTEGER ')' STRING */ -#line 630 "griby.y" +#line 631 "griby.y" { (grib_yyval.act) = grib_action_create_write(grib_parser_context,(grib_yyvsp[0].str),0,(grib_yyvsp[-2].lval)); free((grib_yyvsp[0].str));} -#line 3080 "y.tab.c" +#line 3093 "y.tab.c" break; case 131: /* simple: WRITE '(' INTEGER ')' */ -#line 631 "griby.y" +#line 632 "griby.y" { (grib_yyval.act) = grib_action_create_write(grib_parser_context,"",0,(grib_yyvsp[-1].lval)); } -#line 3086 "y.tab.c" +#line 3099 "y.tab.c" break; case 132: /* simple: APPEND STRING */ -#line 632 "griby.y" +#line 633 "griby.y" { (grib_yyval.act) = grib_action_create_write(grib_parser_context,(grib_yyvsp[0].str),1,0); free((grib_yyvsp[0].str));} -#line 3092 "y.tab.c" +#line 3105 "y.tab.c" break; case 133: /* simple: APPEND */ -#line 633 "griby.y" +#line 634 "griby.y" { (grib_yyval.act) = grib_action_create_write(grib_parser_context,"",1,0); } -#line 3098 "y.tab.c" +#line 3111 "y.tab.c" break; case 134: /* simple: APPEND '(' INTEGER ')' STRING */ -#line 634 "griby.y" +#line 635 "griby.y" { (grib_yyval.act) = grib_action_create_write(grib_parser_context,(grib_yyvsp[0].str),1,(grib_yyvsp[-2].lval)); free((grib_yyvsp[0].str));} -#line 3104 "y.tab.c" +#line 3117 "y.tab.c" break; case 135: /* simple: APPEND '(' INTEGER ')' */ -#line 635 "griby.y" +#line 636 "griby.y" { (grib_yyval.act) = grib_action_create_write(grib_parser_context,"",1,(grib_yyvsp[-1].lval)); } -#line 3110 "y.tab.c" +#line 3123 "y.tab.c" break; case 136: /* simple: CLOSE '(' IDENT ')' */ -#line 637 "griby.y" +#line 638 "griby.y" { (grib_yyval.act) = grib_action_create_close(grib_parser_context,(grib_yyvsp[-1].str)); free((grib_yyvsp[-1].str));} -#line 3116 "y.tab.c" +#line 3129 "y.tab.c" break; case 137: /* simple: PRINT STRING */ -#line 638 "griby.y" +#line 639 "griby.y" { (grib_yyval.act) = grib_action_create_print(grib_parser_context,(grib_yyvsp[0].str),0); free((grib_yyvsp[0].str)); } -#line 3122 "y.tab.c" +#line 3135 "y.tab.c" break; case 138: /* simple: PRINT '(' STRING ')' STRING */ -#line 639 "griby.y" +#line 640 "griby.y" { (grib_yyval.act) = grib_action_create_print(grib_parser_context,(grib_yyvsp[0].str),(grib_yyvsp[-2].str)); free((grib_yyvsp[0].str)); free((grib_yyvsp[-2].str));} -#line 3128 "y.tab.c" +#line 3141 "y.tab.c" break; case 139: /* simple: PRINT '(' IDENT ')' STRING */ -#line 640 "griby.y" +#line 641 "griby.y" { (grib_yyval.act) = grib_action_create_print(grib_parser_context,(grib_yyvsp[0].str),(grib_yyvsp[-2].str)); free((grib_yyvsp[0].str)); free((grib_yyvsp[-2].str));} -#line 3134 "y.tab.c" +#line 3147 "y.tab.c" break; case 140: /* simple: PRINT */ -#line 641 "griby.y" +#line 642 "griby.y" { (grib_yyval.act) = grib_action_create_print(grib_parser_context,"",0); } -#line 3140 "y.tab.c" +#line 3153 "y.tab.c" break; case 141: /* if_block: IF '(' expression ')' '{' instructions '}' */ -#line 645 "griby.y" +#line 646 "griby.y" { (grib_yyval.act) = grib_action_create_if(grib_parser_context,(grib_yyvsp[-4].exp),(grib_yyvsp[-1].act),0,0,grib_yylineno,file_being_parsed()); } -#line 3146 "y.tab.c" +#line 3159 "y.tab.c" break; case 142: /* if_block: IF '(' expression ')' '{' instructions '}' ELSE '{' instructions '}' */ -#line 646 "griby.y" +#line 647 "griby.y" { (grib_yyval.act) = grib_action_create_if(grib_parser_context,(grib_yyvsp[-8].exp),(grib_yyvsp[-5].act),(grib_yyvsp[-1].act),0,grib_yylineno,file_being_parsed()); } -#line 3152 "y.tab.c" +#line 3165 "y.tab.c" break; case 143: /* if_block: IF_TRANSIENT '(' expression ')' '{' instructions '}' */ -#line 647 "griby.y" +#line 648 "griby.y" { (grib_yyval.act) = grib_action_create_if(grib_parser_context,(grib_yyvsp[-4].exp),(grib_yyvsp[-1].act),0,1,grib_yylineno,file_being_parsed()); } -#line 3158 "y.tab.c" +#line 3171 "y.tab.c" break; case 144: /* if_block: IF_TRANSIENT '(' expression ')' '{' instructions '}' ELSE '{' instructions '}' */ -#line 648 "griby.y" +#line 649 "griby.y" { (grib_yyval.act) = grib_action_create_if(grib_parser_context,(grib_yyvsp[-8].exp),(grib_yyvsp[-5].act),(grib_yyvsp[-1].act),1,grib_yylineno,file_being_parsed()); } -#line 3164 "y.tab.c" +#line 3177 "y.tab.c" break; case 145: /* when_block: WHEN '(' expression ')' set semi */ -#line 652 "griby.y" +#line 653 "griby.y" { (grib_yyval.act) = grib_action_create_when(grib_parser_context,(grib_yyvsp[-3].exp),(grib_yyvsp[-1].act),NULL); } -#line 3170 "y.tab.c" +#line 3183 "y.tab.c" break; case 146: /* when_block: WHEN '(' expression ')' '{' set_list '}' */ -#line 653 "griby.y" +#line 654 "griby.y" { (grib_yyval.act) = grib_action_create_when(grib_parser_context,(grib_yyvsp[-4].exp),(grib_yyvsp[-1].act),NULL); } -#line 3176 "y.tab.c" +#line 3189 "y.tab.c" break; case 147: /* when_block: WHEN '(' expression ')' '{' set_list '}' ELSE '{' set_list '}' */ -#line 654 "griby.y" +#line 655 "griby.y" { (grib_yyval.act) = grib_action_create_when(grib_parser_context,(grib_yyvsp[-8].exp),(grib_yyvsp[-5].act),(grib_yyvsp[-1].act)); } -#line 3182 "y.tab.c" +#line 3195 "y.tab.c" break; case 148: /* set: SET IDENT '=' expression */ -#line 657 "griby.y" +#line 658 "griby.y" { (grib_yyval.act) = grib_action_create_set(grib_parser_context,(grib_yyvsp[-2].str),(grib_yyvsp[0].exp),0); free((grib_yyvsp[-2].str)); } -#line 3188 "y.tab.c" +#line 3201 "y.tab.c" break; case 149: /* set: SET_NOFAIL IDENT '=' expression */ -#line 658 "griby.y" +#line 659 "griby.y" { (grib_yyval.act) = grib_action_create_set(grib_parser_context,(grib_yyvsp[-2].str),(grib_yyvsp[0].exp),1); free((grib_yyvsp[-2].str)); } -#line 3194 "y.tab.c" +#line 3207 "y.tab.c" break; case 151: /* set_list: set_list set semi */ -#line 662 "griby.y" +#line 663 "griby.y" { (grib_yyvsp[-2].act)->next = (grib_yyvsp[-1].act); (grib_yyval.act) = (grib_yyvsp[-2].act); } -#line 3200 "y.tab.c" +#line 3213 "y.tab.c" break; case 152: /* default: empty */ -#line 666 "griby.y" +#line 667 "griby.y" { (grib_yyval.explist) = NULL ;} -#line 3206 "y.tab.c" +#line 3219 "y.tab.c" break; case 153: /* default: '=' argument_list */ -#line 667 "griby.y" +#line 668 "griby.y" { (grib_yyval.explist) = (grib_yyvsp[0].explist) ;} -#line 3212 "y.tab.c" +#line 3225 "y.tab.c" break; case 154: /* flags: empty */ -#line 670 "griby.y" +#line 671 "griby.y" { (grib_yyval.lval) = 0 ; } -#line 3218 "y.tab.c" +#line 3231 "y.tab.c" break; case 155: /* flags: ':' flag_list */ -#line 671 "griby.y" +#line 672 "griby.y" { (grib_yyval.lval) = (grib_yyvsp[0].lval); } -#line 3224 "y.tab.c" +#line 3237 "y.tab.c" break; case 157: /* flag_list: flag_list ',' flag */ -#line 675 "griby.y" +#line 676 "griby.y" { (grib_yyval.lval) = (grib_yyvsp[-2].lval) | (grib_yyvsp[0].lval); } -#line 3230 "y.tab.c" +#line 3243 "y.tab.c" break; case 158: /* flag: READ_ONLY */ -#line 678 "griby.y" +#line 679 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_READ_ONLY; } -#line 3236 "y.tab.c" +#line 3249 "y.tab.c" break; case 159: /* flag: LOWERCASE */ -#line 679 "griby.y" +#line 680 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_LOWERCASE; } -#line 3242 "y.tab.c" +#line 3255 "y.tab.c" break; case 160: /* flag: DUMP */ -#line 680 "griby.y" +#line 681 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_DUMP; } -#line 3248 "y.tab.c" +#line 3261 "y.tab.c" break; case 161: /* flag: NO_COPY */ -#line 681 "griby.y" +#line 682 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_NO_COPY; } -#line 3254 "y.tab.c" +#line 3267 "y.tab.c" break; case 162: /* flag: NO_FAIL */ -#line 682 "griby.y" +#line 683 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_NO_FAIL; } -#line 3260 "y.tab.c" +#line 3273 "y.tab.c" break; case 163: /* flag: HIDDEN */ -#line 683 "griby.y" +#line 684 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_HIDDEN; } -#line 3266 "y.tab.c" +#line 3279 "y.tab.c" break; case 164: /* flag: EDITION_SPECIFIC */ -#line 684 "griby.y" +#line 685 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_EDITION_SPECIFIC; } -#line 3272 "y.tab.c" +#line 3285 "y.tab.c" break; case 165: /* flag: CAN_BE_MISSING */ -#line 685 "griby.y" +#line 686 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_CAN_BE_MISSING; } -#line 3278 "y.tab.c" +#line 3291 "y.tab.c" break; case 166: /* flag: CONSTRAINT */ -#line 686 "griby.y" +#line 687 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_CONSTRAINT; } -#line 3284 "y.tab.c" +#line 3297 "y.tab.c" break; case 167: /* flag: COPY_OK */ -#line 687 "griby.y" +#line 688 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_COPY_OK; } -#line 3290 "y.tab.c" +#line 3303 "y.tab.c" break; case 168: /* flag: TRANS */ -#line 688 "griby.y" +#line 689 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_TRANSIENT; } -#line 3296 "y.tab.c" +#line 3309 "y.tab.c" break; case 169: /* flag: STRING_TYPE */ -#line 689 "griby.y" +#line 690 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_STRING_TYPE; } -#line 3302 "y.tab.c" +#line 3315 "y.tab.c" break; case 170: /* flag: LONG_TYPE */ -#line 690 "griby.y" +#line 691 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_LONG_TYPE; } -#line 3308 "y.tab.c" +#line 3321 "y.tab.c" break; case 171: /* flag: DOUBLE_TYPE */ -#line 691 "griby.y" +#line 692 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_DOUBLE_TYPE; } -#line 3314 "y.tab.c" +#line 3327 "y.tab.c" break; case 172: /* list_block: IDENT LIST '(' expression ')' '{' instructions '}' */ -#line 694 "griby.y" +#line 695 "griby.y" { (grib_yyval.act) = grib_action_create_list(grib_parser_context,(grib_yyvsp[-7].str),(grib_yyvsp[-4].exp),(grib_yyvsp[-1].act)); free((grib_yyvsp[-7].str)); } -#line 3320 "y.tab.c" +#line 3333 "y.tab.c" break; case 173: /* while_block: WHILE '(' expression ')' '{' instructions '}' */ -#line 697 "griby.y" +#line 698 "griby.y" { (grib_yyval.act) = grib_action_create_while(grib_parser_context,(grib_yyvsp[-4].exp),(grib_yyvsp[-1].act)); } -#line 3326 "y.tab.c" +#line 3339 "y.tab.c" break; case 174: /* trigger_block: TRIGGER '(' argument_list ')' '{' instructions '}' */ -#line 700 "griby.y" +#line 701 "griby.y" { (grib_yyval.act) = grib_action_create_trigger(grib_parser_context,(grib_yyvsp[-4].explist),(grib_yyvsp[-1].act)); } -#line 3332 "y.tab.c" +#line 3345 "y.tab.c" break; case 175: /* concept_block: CONCEPT IDENT '{' concept_list '}' flags */ -#line 703 "griby.y" +#line 704 "griby.y" { (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-4].str),(grib_yyvsp[-2].concept_value),0,0,0,0,0,0,(grib_yyvsp[0].lval),0); free((grib_yyvsp[-4].str)); } -#line 3338 "y.tab.c" +#line 3351 "y.tab.c" break; case 176: /* concept_block: CONCEPT IDENT '(' IDENT ')' '{' concept_list '}' flags */ -#line 704 "griby.y" +#line 705 "griby.y" { (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-7].str),(grib_yyvsp[-2].concept_value),0,0,(grib_yyvsp[-5].str),0,0,0,(grib_yyvsp[0].lval),0); free((grib_yyvsp[-7].str));free((grib_yyvsp[-5].str)); } -#line 3344 "y.tab.c" +#line 3357 "y.tab.c" break; case 177: /* concept_block: CONCEPT IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ')' flags */ -#line 705 "griby.y" +#line 706 "griby.y" { (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-10].str),0,(grib_yyvsp[-6].str),0,(grib_yyvsp[-8].str),(grib_yyvsp[-4].str),(grib_yyvsp[-2].str),0,(grib_yyvsp[0].lval),0); free((grib_yyvsp[-10].str));free((grib_yyvsp[-6].str));free((grib_yyvsp[-8].str));free((grib_yyvsp[-4].str));free((grib_yyvsp[-2].str)); } -#line 3350 "y.tab.c" +#line 3363 "y.tab.c" break; case 178: /* concept_block: CONCEPT IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ',' IDENT ')' flags */ -#line 706 "griby.y" +#line 707 "griby.y" { (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-12].str),0,(grib_yyvsp[-8].str),0,(grib_yyvsp[-10].str),(grib_yyvsp[-6].str),(grib_yyvsp[-4].str),(grib_yyvsp[-2].str),(grib_yyvsp[0].lval),0); free((grib_yyvsp[-12].str));free((grib_yyvsp[-8].str));free((grib_yyvsp[-10].str));free((grib_yyvsp[-6].str));free((grib_yyvsp[-4].str));free((grib_yyvsp[-2].str)); } -#line 3356 "y.tab.c" +#line 3369 "y.tab.c" break; case 179: /* concept_block: CONCEPT IDENT '(' IDENT ',' STRING ',' IDENT ')' flags */ -#line 707 "griby.y" +#line 708 "griby.y" { (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-8].str),0,(grib_yyvsp[-4].str),0,(grib_yyvsp[-6].str),(grib_yyvsp[-2].str),0,0,(grib_yyvsp[0].lval),0); free((grib_yyvsp[-8].str));free((grib_yyvsp[-4].str));free((grib_yyvsp[-6].str));free((grib_yyvsp[-2].str)); } -#line 3362 "y.tab.c" +#line 3375 "y.tab.c" break; case 180: /* concept_block: CONCEPT IDENT '.' IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ')' flags */ -#line 708 "griby.y" +#line 709 "griby.y" { (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-10].str),0,(grib_yyvsp[-6].str),(grib_yyvsp[-12].str),(grib_yyvsp[-8].str),(grib_yyvsp[-4].str),(grib_yyvsp[-2].str),0,(grib_yyvsp[0].lval),0); free((grib_yyvsp[-10].str));free((grib_yyvsp[-6].str));free((grib_yyvsp[-8].str));free((grib_yyvsp[-4].str)); free((grib_yyvsp[-2].str)); free((grib_yyvsp[-12].str));} -#line 3368 "y.tab.c" +#line 3381 "y.tab.c" break; case 181: /* concept_block: CONCEPT IDENT '.' IDENT '(' IDENT ',' STRING ',' IDENT ')' flags */ -#line 709 "griby.y" +#line 710 "griby.y" { (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-8].str),0,(grib_yyvsp[-4].str),(grib_yyvsp[-10].str),(grib_yyvsp[-6].str),(grib_yyvsp[-2].str),0,0,(grib_yyvsp[0].lval),0); free((grib_yyvsp[-8].str));free((grib_yyvsp[-4].str));free((grib_yyvsp[-6].str));free((grib_yyvsp[-2].str)); free((grib_yyvsp[-10].str));} -#line 3374 "y.tab.c" +#line 3387 "y.tab.c" break; case 182: /* concept_block: CONCEPT IDENT '.' IDENT '{' concept_list '}' flags */ -#line 710 "griby.y" +#line 711 "griby.y" { (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-4].str),(grib_yyvsp[-2].concept_value),0,(grib_yyvsp[-6].str),0,0,0,0,(grib_yyvsp[0].lval),0); free((grib_yyvsp[-6].str));free((grib_yyvsp[-4].str)); } -#line 3380 "y.tab.c" +#line 3393 "y.tab.c" break; case 183: /* concept_block: CONCEPT IDENT '.' IDENT '(' IDENT ')' '{' concept_list '}' flags */ -#line 711 "griby.y" +#line 712 "griby.y" { (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-7].str),(grib_yyvsp[-2].concept_value),0,(grib_yyvsp[-9].str),(grib_yyvsp[-5].str),0,0,0,(grib_yyvsp[0].lval),0); free((grib_yyvsp[-9].str));free((grib_yyvsp[-7].str));free((grib_yyvsp[-5].str)); } -#line 3386 "y.tab.c" +#line 3399 "y.tab.c" break; case 184: /* concept_block: CONCEPT_NOFAIL IDENT '{' concept_list '}' flags */ -#line 712 "griby.y" +#line 713 "griby.y" { (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-4].str),(grib_yyvsp[-2].concept_value),0,0,0,0,0,0,(grib_yyvsp[0].lval),1); free((grib_yyvsp[-4].str)); } -#line 3392 "y.tab.c" +#line 3405 "y.tab.c" break; case 185: /* concept_block: CONCEPT_NOFAIL IDENT '(' IDENT ')' '{' concept_list '}' flags */ -#line 713 "griby.y" +#line 714 "griby.y" { (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-7].str),(grib_yyvsp[-2].concept_value),0,0,(grib_yyvsp[-5].str),0,0,0,(grib_yyvsp[0].lval),1); free((grib_yyvsp[-7].str));free((grib_yyvsp[-5].str)); } -#line 3398 "y.tab.c" +#line 3411 "y.tab.c" break; case 186: /* concept_block: CONCEPT_NOFAIL IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ')' flags */ -#line 714 "griby.y" +#line 715 "griby.y" { (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-10].str),0,(grib_yyvsp[-6].str),0,(grib_yyvsp[-8].str),(grib_yyvsp[-4].str),(grib_yyvsp[-2].str),0,(grib_yyvsp[0].lval),1); free((grib_yyvsp[-10].str));free((grib_yyvsp[-6].str));free((grib_yyvsp[-8].str));free((grib_yyvsp[-4].str));free((grib_yyvsp[-2].str)); } -#line 3404 "y.tab.c" +#line 3417 "y.tab.c" break; case 187: /* concept_block: CONCEPT_NOFAIL IDENT '(' IDENT ',' STRING ',' IDENT ')' flags */ -#line 715 "griby.y" +#line 716 "griby.y" { (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-8].str),0,(grib_yyvsp[-4].str),0,(grib_yyvsp[-6].str),(grib_yyvsp[-2].str),0,0,(grib_yyvsp[0].lval),1); free((grib_yyvsp[-8].str));free((grib_yyvsp[-4].str));free((grib_yyvsp[-6].str));free((grib_yyvsp[-2].str)); } -#line 3410 "y.tab.c" +#line 3423 "y.tab.c" break; case 188: /* concept_block: CONCEPT_NOFAIL IDENT '.' IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ')' flags */ -#line 716 "griby.y" +#line 717 "griby.y" { (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-10].str),0,(grib_yyvsp[-6].str),(grib_yyvsp[-12].str),(grib_yyvsp[-8].str),(grib_yyvsp[-4].str),(grib_yyvsp[-2].str),0,(grib_yyvsp[0].lval),1); free((grib_yyvsp[-10].str));free((grib_yyvsp[-6].str));free((grib_yyvsp[-8].str));free((grib_yyvsp[-4].str));free((grib_yyvsp[-2].str)); free((grib_yyvsp[-12].str));} -#line 3416 "y.tab.c" +#line 3429 "y.tab.c" break; case 189: /* concept_block: CONCEPT_NOFAIL IDENT '.' IDENT '(' IDENT ',' STRING ',' IDENT ')' flags */ -#line 717 "griby.y" +#line 718 "griby.y" { (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-8].str),0,(grib_yyvsp[-4].str),(grib_yyvsp[-10].str),(grib_yyvsp[-6].str),(grib_yyvsp[-2].str),0,0,(grib_yyvsp[0].lval),1); free((grib_yyvsp[-8].str));free((grib_yyvsp[-4].str));free((grib_yyvsp[-6].str));free((grib_yyvsp[-2].str)); free((grib_yyvsp[-10].str));} -#line 3422 "y.tab.c" +#line 3435 "y.tab.c" break; case 190: /* concept_block: CONCEPT_NOFAIL IDENT '.' IDENT '{' concept_list '}' flags */ -#line 718 "griby.y" +#line 719 "griby.y" { (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-4].str),(grib_yyvsp[-2].concept_value),0,(grib_yyvsp[-6].str),0,0,0,0,(grib_yyvsp[0].lval),1); free((grib_yyvsp[-6].str));free((grib_yyvsp[-4].str)); } -#line 3428 "y.tab.c" +#line 3441 "y.tab.c" break; case 191: /* concept_block: CONCEPT_NOFAIL IDENT '.' IDENT '(' IDENT ')' '{' concept_list '}' flags */ -#line 719 "griby.y" +#line 720 "griby.y" { (grib_yyval.act) = grib_action_create_concept(grib_parser_context,(grib_yyvsp[-7].str),(grib_yyvsp[-2].concept_value),0,(grib_yyvsp[-9].str),(grib_yyvsp[-5].str),0,0,0,(grib_yyvsp[0].lval),1); free((grib_yyvsp[-9].str));free((grib_yyvsp[-7].str));free((grib_yyvsp[-5].str)); } -#line 3434 "y.tab.c" +#line 3447 "y.tab.c" break; case 193: /* concept_list: concept_list concept_value */ -#line 724 "griby.y" +#line 725 "griby.y" { (grib_yyval.concept_value) = (grib_yyvsp[0].concept_value); (grib_yyvsp[0].concept_value)->next = (grib_yyvsp[-1].concept_value); } -#line 3440 "y.tab.c" +#line 3453 "y.tab.c" break; case 195: /* hash_array_list: hash_array_list hash_array_value */ -#line 728 "griby.y" +#line 729 "griby.y" { (grib_yyval.hash_array_value) = (grib_yyvsp[0].hash_array_value); (grib_yyvsp[0].hash_array_value)->next = (grib_yyvsp[-1].hash_array_value); } -#line 3446 "y.tab.c" +#line 3459 "y.tab.c" break; case 196: /* hash_array_block: HASH_ARRAY IDENT '{' hash_array_list '}' flags */ -#line 731 "griby.y" +#line 732 "griby.y" { (grib_yyval.act) = grib_action_create_hash_array(grib_parser_context,(grib_yyvsp[-4].str),(grib_yyvsp[-2].hash_array_value),0,0,0,0,0,0,(grib_yyvsp[0].lval),0); free((grib_yyvsp[-4].str)); } -#line 3452 "y.tab.c" +#line 3465 "y.tab.c" break; case 197: /* hash_array_block: HASH_ARRAY IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ')' flags */ -#line 732 "griby.y" +#line 733 "griby.y" { (grib_yyval.act) = grib_action_create_hash_array(grib_parser_context,(grib_yyvsp[-10].str),0,(grib_yyvsp[-6].str),0,(grib_yyvsp[-8].str),(grib_yyvsp[-4].str),(grib_yyvsp[-2].str),0,(grib_yyvsp[0].lval),0); free((grib_yyvsp[-10].str));free((grib_yyvsp[-6].str));free((grib_yyvsp[-8].str));free((grib_yyvsp[-4].str));free((grib_yyvsp[-2].str)); } -#line 3458 "y.tab.c" +#line 3471 "y.tab.c" break; case 199: /* case_list: case_list case_value */ -#line 736 "griby.y" +#line 737 "griby.y" { (grib_yyval.case_value) = (grib_yyvsp[0].case_value); (grib_yyvsp[0].case_value)->next = (grib_yyvsp[-1].case_value); } -#line 3464 "y.tab.c" +#line 3477 "y.tab.c" break; case 200: /* case_value: CASE arguments ':' instructions */ -#line 739 "griby.y" +#line 740 "griby.y" { (grib_yyval.case_value) = grib_case_new(grib_parser_context,(grib_yyvsp[-2].explist),(grib_yyvsp[0].act)); } -#line 3470 "y.tab.c" +#line 3483 "y.tab.c" break; case 201: /* switch_block: SWITCH '(' argument_list ')' '{' case_list DEFAULT ':' instructions '}' */ -#line 743 "griby.y" +#line 744 "griby.y" { (grib_yyval.act) = grib_action_create_switch(grib_parser_context,(grib_yyvsp[-7].explist),(grib_yyvsp[-4].case_value),(grib_yyvsp[-1].act)); } -#line 3476 "y.tab.c" +#line 3489 "y.tab.c" break; case 202: /* switch_block: SWITCH '(' argument_list ')' '{' case_list DEFAULT ':' '}' */ -#line 744 "griby.y" - { (grib_yyval.act) = grib_action_create_switch(grib_parser_context,(grib_yyvsp[-6].explist),(grib_yyvsp[-3].case_value),grib_action_create_noop(grib_parser_context,"continue")); } -#line 3482 "y.tab.c" - break; - - case 203: /* switch_block: SWITCH '(' argument_list ')' '{' case_list '}' */ #line 745 "griby.y" - { (grib_yyval.act) = grib_action_create_switch(grib_parser_context,(grib_yyvsp[-4].explist),(grib_yyvsp[-1].case_value),0); } -#line 3488 "y.tab.c" - break; - - case 204: /* concept_value: STRING '=' '{' concept_conditions '}' */ -#line 748 "griby.y" - { - (grib_yyval.concept_value) = grib_concept_value_new(grib_parser_context,(grib_yyvsp[-4].str),(grib_yyvsp[-1].concept_condition)); free((grib_yyvsp[-4].str));} + { (grib_yyval.act) = grib_action_create_switch(grib_parser_context,(grib_yyvsp[-6].explist),(grib_yyvsp[-3].case_value),grib_action_create_noop(grib_parser_context,"continue")); } #line 3495 "y.tab.c" break; + case 203: /* switch_block: SWITCH '(' argument_list ')' '{' case_list '}' */ +#line 746 "griby.y" + { (grib_yyval.act) = grib_action_create_switch(grib_parser_context,(grib_yyvsp[-4].explist),(grib_yyvsp[-1].case_value),0); } +#line 3501 "y.tab.c" + break; + + case 204: /* concept_value: STRING '=' '{' concept_conditions '}' */ +#line 749 "griby.y" + { + (grib_yyval.concept_value) = grib_concept_value_new(grib_parser_context,(grib_yyvsp[-4].str),(grib_yyvsp[-1].concept_condition)); free((grib_yyvsp[-4].str));} +#line 3508 "y.tab.c" + break; + case 205: /* concept_value: IDENT '=' '{' concept_conditions '}' */ -#line 750 "griby.y" +#line 751 "griby.y" { (grib_yyval.concept_value) = grib_concept_value_new(grib_parser_context,(grib_yyvsp[-4].str),(grib_yyvsp[-1].concept_condition)); free((grib_yyvsp[-4].str));} -#line 3502 "y.tab.c" +#line 3515 "y.tab.c" break; case 206: /* concept_value: INTEGER '=' '{' concept_conditions '}' */ -#line 752 "griby.y" +#line 753 "griby.y" { char buf[80]; snprintf(buf, sizeof(buf), "%ld",(long)(grib_yyvsp[-4].lval)); (grib_yyval.concept_value) = grib_concept_value_new(grib_parser_context,buf,(grib_yyvsp[-1].concept_condition));} -#line 3509 "y.tab.c" - break; - - case 207: /* concept_value: FLOAT '=' '{' concept_conditions '}' */ -#line 754 "griby.y" - { - char buf[80]; snprintf(buf, sizeof(buf), "%g", (double)(grib_yyvsp[-4].dval)); (grib_yyval.concept_value) = grib_concept_value_new(grib_parser_context,buf,(grib_yyvsp[-1].concept_condition));} -#line 3516 "y.tab.c" - break; - - case 209: /* concept_conditions: concept_condition concept_conditions */ -#line 759 "griby.y" - { (grib_yyvsp[-1].concept_condition)->next = (grib_yyvsp[0].concept_condition); (grib_yyval.concept_condition) = (grib_yyvsp[-1].concept_condition); } #line 3522 "y.tab.c" break; + case 207: /* concept_value: FLOAT '=' '{' concept_conditions '}' */ +#line 755 "griby.y" + { + char buf[80]; snprintf(buf, sizeof(buf), "%g", (double)(grib_yyvsp[-4].dval)); (grib_yyval.concept_value) = grib_concept_value_new(grib_parser_context,buf,(grib_yyvsp[-1].concept_condition));} +#line 3529 "y.tab.c" + break; + + case 209: /* concept_conditions: concept_condition concept_conditions */ +#line 760 "griby.y" + { (grib_yyvsp[-1].concept_condition)->next = (grib_yyvsp[0].concept_condition); (grib_yyval.concept_condition) = (grib_yyvsp[-1].concept_condition); } +#line 3535 "y.tab.c" + break; + case 210: /* concept_condition: IDENT '=' expression ';' */ -#line 762 "griby.y" - { (grib_yyval.concept_condition) = grib_concept_condition_new(grib_parser_context,(grib_yyvsp[-3].str),(grib_yyvsp[-1].exp),0); free((grib_yyvsp[-3].str)); } -#line 3528 "y.tab.c" - break; - - case 211: /* concept_condition: IDENT '=' '[' integer_array ']' ';' */ #line 763 "griby.y" - { (grib_yyval.concept_condition) = grib_concept_condition_new(grib_parser_context,(grib_yyvsp[-5].str),0,(grib_yyvsp[-2].ivalue)); free((grib_yyvsp[-5].str)); } -#line 3534 "y.tab.c" - break; - - case 212: /* hash_array_value: STRING '=' '[' integer_array ']' */ -#line 767 "griby.y" - { - (grib_yyval.hash_array_value) = grib_integer_hash_array_value_new(grib_parser_context,(grib_yyvsp[-4].str),(grib_yyvsp[-1].ivalue)); free((grib_yyvsp[-4].str));} + { (grib_yyval.concept_condition) = grib_concept_condition_new(grib_parser_context,(grib_yyvsp[-3].str),(grib_yyvsp[-1].exp),0); free((grib_yyvsp[-3].str)); } #line 3541 "y.tab.c" break; - case 213: /* hash_array_value: IDENT '=' '[' integer_array ']' */ -#line 769 "griby.y" - { - (grib_yyval.hash_array_value) = grib_integer_hash_array_value_new(grib_parser_context,(grib_yyvsp[-4].str),(grib_yyvsp[-1].ivalue)); free((grib_yyvsp[-4].str));} -#line 3548 "y.tab.c" + case 211: /* concept_condition: IDENT '=' '[' integer_array ']' ';' */ +#line 764 "griby.y" + { (grib_yyval.concept_condition) = grib_concept_condition_new(grib_parser_context,(grib_yyvsp[-5].str),0,(grib_yyvsp[-2].ivalue)); free((grib_yyvsp[-5].str)); } +#line 3547 "y.tab.c" break; - case 214: /* string_or_ident: SUBSTR '(' IDENT ',' INTEGER ',' INTEGER ')' */ -#line 773 "griby.y" - { (grib_yyval.exp) = new_accessor_expression(grib_parser_context,(grib_yyvsp[-5].str),(grib_yyvsp[-3].lval),(grib_yyvsp[-1].lval)); free((grib_yyvsp[-5].str)); } + case 212: /* hash_array_value: STRING '=' '[' integer_array ']' */ +#line 768 "griby.y" + { + (grib_yyval.hash_array_value) = grib_integer_hash_array_value_new(grib_parser_context,(grib_yyvsp[-4].str),(grib_yyvsp[-1].ivalue)); free((grib_yyvsp[-4].str));} #line 3554 "y.tab.c" break; - case 215: /* string_or_ident: IDENT */ + case 213: /* hash_array_value: IDENT '=' '[' integer_array ']' */ +#line 770 "griby.y" + { + (grib_yyval.hash_array_value) = grib_integer_hash_array_value_new(grib_parser_context,(grib_yyvsp[-4].str),(grib_yyvsp[-1].ivalue)); free((grib_yyvsp[-4].str));} +#line 3561 "y.tab.c" + break; + + case 214: /* string_or_ident: SUBSTR '(' IDENT ',' INTEGER ',' INTEGER ')' */ #line 774 "griby.y" + { (grib_yyval.exp) = new_accessor_expression(grib_parser_context,(grib_yyvsp[-5].str),(grib_yyvsp[-3].lval),(grib_yyvsp[-1].lval)); free((grib_yyvsp[-5].str)); } +#line 3567 "y.tab.c" + break; + + case 215: /* string_or_ident: IDENT */ +#line 775 "griby.y" { (grib_yyval.exp) = new_accessor_expression(grib_parser_context,(grib_yyvsp[0].str),0,0); free((grib_yyvsp[0].str)); } -#line 3560 "y.tab.c" +#line 3573 "y.tab.c" break; case 216: /* string_or_ident: SUBSTR '(' STRING ',' INTEGER ',' INTEGER ')' */ -#line 775 "griby.y" +#line 776 "griby.y" { (grib_yyval.exp) = new_sub_string_expression(grib_parser_context,(grib_yyvsp[-5].str),(grib_yyvsp[-3].lval),(grib_yyvsp[-1].lval)); free((grib_yyvsp[-5].str)); } -#line 3566 "y.tab.c" +#line 3579 "y.tab.c" break; case 217: /* string_or_ident: STRING */ -#line 776 "griby.y" +#line 777 "griby.y" { (grib_yyval.exp) = new_string_expression(grib_parser_context,(grib_yyvsp[0].str)); free((grib_yyvsp[0].str)); } -#line 3572 "y.tab.c" +#line 3585 "y.tab.c" break; case 219: /* atom: INTEGER */ -#line 780 "griby.y" +#line 781 "griby.y" { (grib_yyval.exp) = new_long_expression(grib_parser_context,(grib_yyvsp[0].lval)); } -#line 3578 "y.tab.c" +#line 3591 "y.tab.c" break; case 220: /* atom: FLOAT */ -#line 781 "griby.y" +#line 782 "griby.y" { (grib_yyval.exp) = new_double_expression(grib_parser_context,(grib_yyvsp[0].dval)); /* TODO: change to new_float_expression*/} -#line 3584 "y.tab.c" +#line 3597 "y.tab.c" break; case 221: /* atom: NIL */ -#line 783 "griby.y" +#line 784 "griby.y" { (grib_yyval.exp) = NULL; } -#line 3590 "y.tab.c" +#line 3603 "y.tab.c" break; case 222: /* atom: DUMMY */ -#line 784 "griby.y" +#line 785 "griby.y" { (grib_yyval.exp) = new_true_expression(grib_parser_context); } -#line 3596 "y.tab.c" +#line 3609 "y.tab.c" break; case 223: /* atom: '(' expression ')' */ -#line 785 "griby.y" +#line 786 "griby.y" { (grib_yyval.exp) = (grib_yyvsp[-1].exp); } -#line 3602 "y.tab.c" +#line 3615 "y.tab.c" break; case 224: /* atom: '-' atom */ -#line 786 "griby.y" +#line 787 "griby.y" { (grib_yyval.exp) = new_unop_expression(grib_parser_context,&grib_op_neg,&grib_op_neg_d,(grib_yyvsp[0].exp)); } -#line 3608 "y.tab.c" +#line 3621 "y.tab.c" break; case 225: /* atom: IDENT '(' ')' */ -#line 787 "griby.y" +#line 788 "griby.y" { (grib_yyval.exp) = new_func_expression(grib_parser_context,(grib_yyvsp[-2].str),NULL); free((grib_yyvsp[-2].str));} -#line 3614 "y.tab.c" +#line 3627 "y.tab.c" break; case 226: /* atom: IDENT '(' argument_list ')' */ -#line 788 "griby.y" +#line 789 "griby.y" { (grib_yyval.exp) = new_func_expression(grib_parser_context,(grib_yyvsp[-3].str),(grib_yyvsp[-1].explist)); free((grib_yyvsp[-3].str));} -#line 3620 "y.tab.c" +#line 3633 "y.tab.c" break; case 227: /* power: atom '^' power */ -#line 792 "griby.y" +#line 793 "griby.y" { (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_pow,NULL,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); } -#line 3626 "y.tab.c" +#line 3639 "y.tab.c" break; case 229: /* factor: factor '*' power */ -#line 796 "griby.y" +#line 797 "griby.y" { (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_mul,&grib_op_mul_d,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); } -#line 3632 "y.tab.c" +#line 3645 "y.tab.c" break; case 230: /* factor: factor '/' power */ -#line 797 "griby.y" +#line 798 "griby.y" { (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_div,&grib_op_div_d,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); } -#line 3638 "y.tab.c" +#line 3651 "y.tab.c" break; case 231: /* factor: factor '%' power */ -#line 798 "griby.y" +#line 799 "griby.y" { (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_modulo,NULL,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); } -#line 3644 "y.tab.c" +#line 3657 "y.tab.c" break; case 232: /* factor: factor BIT power */ -#line 799 "griby.y" +#line 800 "griby.y" { (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_bit,NULL,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); } -#line 3650 "y.tab.c" +#line 3663 "y.tab.c" break; case 233: /* factor: factor BITOFF power */ -#line 800 "griby.y" +#line 801 "griby.y" { (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_bitoff,NULL,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); } -#line 3656 "y.tab.c" +#line 3669 "y.tab.c" break; case 235: /* factor: LENGTH '(' IDENT ')' */ -#line 802 "griby.y" +#line 803 "griby.y" { (grib_yyval.exp) = new_length_expression(grib_parser_context,(grib_yyvsp[-1].str)); free((grib_yyvsp[-1].str));} -#line 3662 "y.tab.c" +#line 3675 "y.tab.c" break; case 236: /* factor: IS_IN_LIST '(' IDENT ',' STRING ')' */ -#line 803 "griby.y" +#line 804 "griby.y" { (grib_yyval.exp) = new_is_in_list_expression(grib_parser_context,(grib_yyvsp[-3].str),(grib_yyvsp[-1].str)); free((grib_yyvsp[-3].str));free((grib_yyvsp[-1].str));} -#line 3668 "y.tab.c" +#line 3681 "y.tab.c" break; case 237: /* factor: IS_IN_DICT '(' IDENT ',' STRING ')' */ -#line 804 "griby.y" +#line 805 "griby.y" { (grib_yyval.exp) = new_is_in_dict_expression(grib_parser_context,(grib_yyvsp[-3].str),(grib_yyvsp[-1].str)); free((grib_yyvsp[-3].str));free((grib_yyvsp[-1].str));} -#line 3674 "y.tab.c" +#line 3687 "y.tab.c" break; case 238: /* factor: IS_INTEGER '(' IDENT ',' INTEGER ')' */ -#line 805 "griby.y" +#line 806 "griby.y" { (grib_yyval.exp) = new_is_integer_expression(grib_parser_context,(grib_yyvsp[-3].str),(grib_yyvsp[-1].lval),0); free((grib_yyvsp[-3].str));} -#line 3680 "y.tab.c" +#line 3693 "y.tab.c" break; case 239: /* factor: IS_INTEGER '(' IDENT ',' INTEGER ',' INTEGER ')' */ -#line 806 "griby.y" +#line 807 "griby.y" { (grib_yyval.exp) = new_is_integer_expression(grib_parser_context,(grib_yyvsp[-5].str),(grib_yyvsp[-3].lval),(grib_yyvsp[-1].lval)); free((grib_yyvsp[-5].str));} -#line 3686 "y.tab.c" +#line 3699 "y.tab.c" break; case 240: /* factor: IS_INTEGER '(' IDENT ')' */ -#line 807 "griby.y" +#line 808 "griby.y" { (grib_yyval.exp) = new_is_integer_expression(grib_parser_context,(grib_yyvsp[-1].str),0,0); free((grib_yyvsp[-1].str));} -#line 3692 "y.tab.c" +#line 3705 "y.tab.c" break; case 241: /* term: term '+' factor */ -#line 810 "griby.y" +#line 811 "griby.y" { (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_add,&grib_op_add_d,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); } -#line 3698 "y.tab.c" +#line 3711 "y.tab.c" break; case 242: /* term: term '-' factor */ -#line 811 "griby.y" +#line 812 "griby.y" { (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_sub,&grib_op_sub_d,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); } -#line 3704 "y.tab.c" +#line 3717 "y.tab.c" break; case 244: /* condition: condition GT term */ -#line 815 "griby.y" +#line 816 "griby.y" { (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_gt,&grib_op_gt_d,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); } -#line 3710 "y.tab.c" +#line 3723 "y.tab.c" break; case 245: /* condition: condition EQ term */ -#line 817 "griby.y" +#line 818 "griby.y" { (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_eq,&grib_op_eq_d,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); } -#line 3716 "y.tab.c" +#line 3729 "y.tab.c" break; case 246: /* condition: condition LT term */ -#line 818 "griby.y" +#line 819 "griby.y" { (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_lt,&grib_op_lt_d,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); } -#line 3722 "y.tab.c" +#line 3735 "y.tab.c" break; case 247: /* condition: condition GE term */ -#line 819 "griby.y" +#line 820 "griby.y" { (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_ge,&grib_op_ge_d,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); } -#line 3728 "y.tab.c" +#line 3741 "y.tab.c" break; case 248: /* condition: condition LE term */ -#line 820 "griby.y" +#line 821 "griby.y" { (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_le,&grib_op_le_d,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); } -#line 3734 "y.tab.c" +#line 3747 "y.tab.c" break; case 249: /* condition: condition NE term */ -#line 821 "griby.y" +#line 822 "griby.y" { (grib_yyval.exp) = new_binop_expression(grib_parser_context,&grib_op_ne,&grib_op_ne_d,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); } -#line 3740 "y.tab.c" +#line 3753 "y.tab.c" break; case 250: /* condition: string_or_ident IS string_or_ident */ -#line 822 "griby.y" - { (grib_yyval.exp) = new_string_compare_expression(grib_parser_context,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); } -#line 3746 "y.tab.c" +#line 823 "griby.y" + { (grib_yyval.exp) = new_string_compare_expression(grib_parser_context,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp),1); } +#line 3759 "y.tab.c" break; - case 251: /* condition: NOT condition */ -#line 827 "griby.y" + case 251: /* condition: string_or_ident ISNOT string_or_ident */ +#line 824 "griby.y" + { (grib_yyval.exp) = new_string_compare_expression(grib_parser_context,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp),0); } +#line 3765 "y.tab.c" + break; + + case 252: /* condition: NOT condition */ +#line 829 "griby.y" { (grib_yyval.exp) = new_unop_expression(grib_parser_context,&grib_op_not,NULL,(grib_yyvsp[0].exp)); } -#line 3752 "y.tab.c" +#line 3771 "y.tab.c" break; - case 253: /* conjunction: conjunction AND condition */ -#line 831 "griby.y" + case 254: /* conjunction: conjunction AND condition */ +#line 833 "griby.y" { (grib_yyval.exp) = new_logical_and_expression(grib_parser_context,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); } -#line 3758 "y.tab.c" +#line 3777 "y.tab.c" break; - case 255: /* disjunction: disjunction OR conjunction */ -#line 835 "griby.y" + case 256: /* disjunction: disjunction OR conjunction */ +#line 837 "griby.y" { (grib_yyval.exp) = new_logical_or_expression(grib_parser_context,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp));} -#line 3764 "y.tab.c" +#line 3783 "y.tab.c" break; - case 260: /* rule_entry: IDENT '=' expression ';' */ -#line 849 "griby.y" + case 261: /* rule_entry: IDENT '=' expression ';' */ +#line 851 "griby.y" { (grib_yyval.rule_entry) = grib_new_rule_entry(grib_parser_context,(grib_yyvsp[-3].str),(grib_yyvsp[-1].exp)); free((grib_yyvsp[-3].str)); } -#line 3770 "y.tab.c" +#line 3789 "y.tab.c" break; - case 261: /* rule_entry: SKIP ';' */ -#line 850 "griby.y" + case 262: /* rule_entry: SKIP ';' */ +#line 852 "griby.y" { (grib_yyval.rule_entry) = grib_new_rule_entry(grib_parser_context,"skip",0);} -#line 3776 "y.tab.c" +#line 3795 "y.tab.c" break; - case 263: /* rule_entries: rule_entry rule_entries */ -#line 854 "griby.y" + case 264: /* rule_entries: rule_entry rule_entries */ +#line 856 "griby.y" { (grib_yyvsp[-1].rule_entry)->next = (grib_yyvsp[0].rule_entry); (grib_yyval.rule_entry) = (grib_yyvsp[-1].rule_entry); } -#line 3782 "y.tab.c" +#line 3801 "y.tab.c" break; - case 264: /* fact: rule_entry */ -#line 857 "griby.y" + case 265: /* fact: rule_entry */ +#line 859 "griby.y" { (grib_yyval.rules) = grib_new_rule(grib_parser_context,NULL,(grib_yyvsp[0].rule_entry)); } -#line 3788 "y.tab.c" +#line 3807 "y.tab.c" break; - case 265: /* conditional_rule: IF '(' expression ')' '{' rule_entries '}' */ -#line 861 "griby.y" + case 266: /* conditional_rule: IF '(' expression ')' '{' rule_entries '}' */ +#line 863 "griby.y" { (grib_yyval.rules) = grib_new_rule(grib_parser_context,(grib_yyvsp[-4].exp),(grib_yyvsp[-1].rule_entry)); } -#line 3794 "y.tab.c" +#line 3813 "y.tab.c" break; - case 267: /* rules: rule rules */ -#line 865 "griby.y" + case 268: /* rules: rule rules */ +#line 867 "griby.y" { (grib_yyvsp[-1].rules)->next = (grib_yyvsp[0].rules); (grib_yyval.rules) = (grib_yyvsp[-1].rules); } -#line 3800 "y.tab.c" +#line 3819 "y.tab.c" break; -#line 3804 "y.tab.c" +#line 3823 "y.tab.c" default: break; } @@ -3993,7 +4012,7 @@ grib_yyreturnlab: return grib_yyresult; } -#line 869 "griby.y" +#line 871 "griby.y" static grib_concept_value *_reverse_concept(grib_concept_value *r,grib_concept_value *s) diff --git a/src/grib_yacc.h b/src/grib_yacc.h index e99fb7050..d4cadf2f3 100644 --- a/src/grib_yacc.h +++ b/src/grib_yacc.h @@ -174,10 +174,11 @@ extern int grib_yydebug; OR = 375, /* OR */ NOT = 376, /* NOT */ IS = 377, /* IS */ - IDENT = 378, /* IDENT */ - STRING = 379, /* STRING */ - INTEGER = 380, /* INTEGER */ - FLOAT = 381 /* FLOAT */ + ISNOT = 378, /* ISNOT */ + IDENT = 379, /* IDENT */ + STRING = 380, /* STRING */ + INTEGER = 381, /* INTEGER */ + FLOAT = 382 /* FLOAT */ }; typedef enum grib_yytokentype grib_yytoken_kind_t; #endif @@ -306,10 +307,11 @@ extern int grib_yydebug; #define OR 375 #define NOT 376 #define IS 377 -#define IDENT 378 -#define STRING 379 -#define INTEGER 380 -#define FLOAT 381 +#define ISNOT 378 +#define IDENT 379 +#define STRING 380 +#define INTEGER 381 +#define FLOAT 382 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED @@ -333,7 +335,7 @@ union YYSTYPE grib_rule *rules; grib_rule_entry *rule_entry; -#line 337 "y.tab.h" +#line 339 "y.tab.h" }; typedef union YYSTYPE YYSTYPE; diff --git a/src/gribl.l b/src/gribl.l index 7f95db31e..d2cf07fde 100644 --- a/src/gribl.l +++ b/src/gribl.l @@ -71,23 +71,24 @@ IDENT {IDENT1}|{IDENT2}|{IDENT3}|{IDENT4}|{IDENT5} %% -"==" return EQ ; -">=" return GE ; -">" return GT ; -"<=" return LE ; -"<" return LT ; -"!=" return NE ; -"<>" return NE ; -"bit" return BIT ; -"notbit" return BITOFF ; +"==" return EQ ; +">=" return GE ; +">" return GT ; +"<=" return LE ; +"<" return LT ; +"!=" return NE ; +"<>" return NE ; +"bit" return BIT ; +"notbit" return BITOFF ; "is" return IS ; -"not" return NOT ; -"!" return NOT ; -"and" return AND ; -"&&" return AND ; -"or" return OR ; -"||" return OR ; +"isnot" return ISNOT ; +"not" return NOT ; +"!" return NOT ; +"and" return AND ; +"&&" return AND ; +"or" return OR ; +"||" return OR ; "null" return NIL ; "~" return DUMMY ; @@ -97,7 +98,7 @@ IDENT {IDENT1}|{IDENT2}|{IDENT3}|{IDENT4}|{IDENT5} "length" return LENGTH ; "lowercase" return LOWERCASE; "if" return IF ; -"_if" return IF_TRANSIENT ; +"_if" return IF_TRANSIENT ; "else" return ELSE ; "unsigned" return UNSIGNED ; "ascii" return ASCII ; diff --git a/src/griby.y b/src/griby.y index 4d1b13911..213843240 100644 --- a/src/griby.y +++ b/src/griby.y @@ -191,6 +191,7 @@ static grib_hash_array_value *_reverse_hash_array(grib_hash_array_value *r,grib_ %token NOT %token IS +%token ISNOT %token IDENT %token STRING @@ -819,7 +820,8 @@ condition: condition GT term { $$ = new_binop_expression(grib_parser_context, | condition GE term { $$ = new_binop_expression(grib_parser_context,&grib_op_ge,&grib_op_ge_d,$1,$3); } | condition LE term { $$ = new_binop_expression(grib_parser_context,&grib_op_le,&grib_op_le_d,$1,$3); } | condition NE term { $$ = new_binop_expression(grib_parser_context,&grib_op_ne,&grib_op_ne_d,$1,$3); } - | string_or_ident IS string_or_ident { $$ = new_string_compare_expression(grib_parser_context,$1,$3); } + | string_or_ident IS string_or_ident { $$ = new_string_compare_expression(grib_parser_context,$1,$3,1); } + | string_or_ident ISNOT string_or_ident { $$ = new_string_compare_expression(grib_parser_context,$1,$3,0); } /* | condition IN term { $$ = new_binop_expression(grib_parser_context,grib_op_pow,$1,$3); } | condition MATCH term { $$ = new_binop_expression(grib_parser_context,grib_op_pow,$1,$3); } diff --git a/src/makeyacc b/src/makeyacc index b53ebe172..840fa41a8 100755 --- a/src/makeyacc +++ b/src/makeyacc @@ -2,6 +2,8 @@ set -xe export LEX=flex export LEX_OUT=gribl.cc + + $LEX -o gribl.cc gribl.l sed 's/yy/grib_yy/g' < $LEX_OUT | sed 's/static void grib_yyunput/void grib_yyunput/' > grib_lex1.cc sed 's/fgetc/getc/g' < grib_lex1.cc > grib_lex.cc @@ -18,11 +20,16 @@ sed 's/yy/grib_yy/g' < y.tab.h > grib_yacc.h rm -f y.tab.c y.tab.h set +x + +$LEX --version +yacc --version + echo "---------------------------------------------" # We use flex and bison echo "Did you use the latest YACC and FLEX modules?" echo " module avail bison" echo " module avail flex" + echo echo ALL OK diff --git a/tests/grib_filter.sh b/tests/grib_filter.sh index 2799c45de..5ca6cce8f 100755 --- a/tests/grib_filter.sh +++ b/tests/grib_filter.sh @@ -385,7 +385,11 @@ grep "MISSING" $tempOut cat >$tempFilt < $tempOut 2>&1 cat $tempOut grep "rubbish must fail" $tempOut