From a0023ff079eea6a76477bc1d122c8269766753ae Mon Sep 17 00:00:00 2001 From: shahramn Date: Mon, 23 Sep 2024 16:58:53 +0100 Subject: [PATCH] ECC-1920: Concepts: Also allow namespaces --- src/grib_yacc.cc | 1789 +++++++++++++++++++++++----------------------- src/griby.y | 3 + 2 files changed, 902 insertions(+), 890 deletions(-) diff --git a/src/grib_yacc.cc b/src/grib_yacc.cc index 072b29ae4..500ae175a 100644 --- a/src/grib_yacc.cc +++ b/src/grib_yacc.cc @@ -961,16 +961,16 @@ union grib_yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 214 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1837 +#define YYLAST 1833 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 145 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 50 /* YYNRULES -- Number of rules. */ -#define YYNRULES 269 +#define YYNRULES 270 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 912 +#define YYNSTATES 919 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 382 @@ -1050,15 +1050,16 @@ static const grib_yytype_int16 grib_yyrline[] = 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, 721, 725, 726, 729, 730, 733, 734, 737, - 738, 741, 745, 746, 747, 750, 752, 754, 756, 760, - 761, 764, 765, 769, 771, 775, 776, 777, 778, 781, - 782, 783, 785, 786, 787, 788, 789, 790, 794, 795, - 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, - 808, 809, 812, 813, 814, 817, 819, 820, 821, 822, - 823, 824, 825, 830, 831, 834, 835, 838, 839, 842, - 848, 849, 852, 853, 856, 857, 860, 864, 867, 868 + 709, 711, 712, 713, 714, 715, 717, 718, 719, 720, + 721, 722, 723, 724, 728, 729, 732, 733, 736, 737, + 740, 741, 744, 748, 749, 750, 753, 755, 757, 759, + 763, 764, 767, 768, 772, 774, 778, 779, 780, 781, + 784, 785, 786, 788, 789, 790, 791, 792, 793, 797, + 798, 801, 802, 803, 804, 805, 806, 807, 808, 809, + 810, 811, 812, 815, 816, 817, 820, 822, 823, 824, + 825, 826, 827, 828, 833, 834, 837, 838, 841, 842, + 845, 851, 852, 855, 856, 859, 860, 863, 867, 870, + 871 }; #endif @@ -1130,98 +1131,98 @@ grib_yysymbol_name (grib_yysymbol_kind_t grib_yysymbol) STATE-NUM. */ static const grib_yytype_int16 grib_yypact[] = { - 1398, -656, -112, -96, -27, 108, -13, 38, 100, 109, - 140, 160, 172, -4, 177, 207, 171, 214, 220, 242, - 253, 261, 263, 268, 270, 282, 284, 289, 290, 291, - 292, 293, 190, 288, 296, 295, 301, 297, 298, 299, - 302, 308, 310, 313, 314, 316, 317, 319, 312, 322, - 323, -69, -66, -43, 324, 1005, 318, -71, 325, 327, - 315, 333, 334, 337, 338, 339, 336, 352, 353, 354, - 340, 343, 361, 362, 355, 356, 6, 357, 358, -101, - 489, -656, -656, 1501, 364, -656, -656, -656, -656, -656, - -656, 257, 73, -656, -656, -656, -656, 15, -656, -656, - -656, -656, 1005, 1005, 366, 368, 370, 372, 373, 1005, - 374, 88, 365, 375, -656, -656, 1005, -34, 376, 377, - 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, - 365, 365, 365, 365, 379, 384, 195, 380, 387, 388, - 74, 381, -87, -656, 383, 390, 386, 23, 75, 94, - 395, 1005, 391, 406, -656, 389, -656, 396, -656, 148, - 411, 412, 413, 416, -656, -656, 417, 419, 1005, 420, - -656, -656, -656, 1005, -33, -656, -656, -656, 393, 168, - 421, -656, -74, -89, 90, 434, 442, -656, 441, -656, - 436, 395, 445, 395, 443, 446, 448, -656, 447, 455, - 456, 457, 452, 453, 458, 1005, 1005, 1005, 460, 303, - -32, 451, -11, 459, -656, 461, 7, 465, 1710, -656, - -656, 464, 466, 467, -656, 469, 470, -656, 473, 472, - -656, 474, 475, 477, 480, 479, -656, -656, 481, 482, - 1005, 1005, -656, 395, 395, 484, 485, 1005, 493, 395, - 488, 487, 395, 395, 395, 395, 395, 395, 395, 395, - 395, 395, 395, 395, 395, 395, 1005, 494, 498, 499, - 1005, 500, 502, 511, 515, 517, 510, 520, 1005, 602, - 1005, 524, 528, 257, 531, 73, 532, 533, 257, 492, - -656, -656, 491, 89, 1005, 534, 535, 550, 551, 1005, - 541, 561, 562, 563, 205, 90, 797, 559, -656, -656, - 1005, -78, -78, -33, -33, -33, -33, -33, -33, 124, - 124, 124, 124, 124, 124, 124, 124, 1005, 1005, 565, - 1005, -656, 564, -656, 1005, 1005, 1005, 566, 567, 570, - 572, 1005, 1005, 1005, -656, 571, 573, 1005, 575, 576, - 578, 579, 580, 568, 581, 584, 568, 581, 581, 1005, - 590, 395, 581, 1005, 18, -656, 560, 582, 585, 586, - 1005, 1005, 583, 588, -656, 593, 596, 589, 234, 597, - -656, -656, -656, 598, 595, 601, 365, -656, 609, 611, + 1394, -656, -114, -44, -11, 190, -24, 24, 100, 32, + 160, 182, 134, 84, 189, 239, 236, 271, 274, 286, + 294, 300, 302, 303, 308, 309, 311, 313, 314, 317, + 318, 320, 208, 315, 322, 319, 321, 323, 324, 326, + 335, 340, 341, 356, 357, 358, 359, 360, 353, 362, + 363, -67, -62, -21, 364, 903, 361, 277, 365, 366, + 367, 368, 370, 371, 372, 374, 369, 373, 379, 380, + 376, 388, 389, 390, 383, 384, 6, 387, 391, -73, + 491, -656, -656, 1497, 393, -656, -656, -656, -656, -656, + -656, 205, 148, -656, -656, -656, -656, 15, -656, -656, + -656, -656, 903, 903, 394, 398, 407, 392, 410, 903, + 417, 88, 411, 418, -656, -656, 903, 53, 423, 425, + 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, + 411, 411, 411, 411, 422, 427, 270, 424, 429, 431, + 224, 426, -76, -656, 430, 435, 428, 23, -54, 94, + 420, 903, 436, 437, -656, 433, -656, 452, -656, 251, + 449, 450, 451, 453, -656, -656, 455, 457, 903, 458, + -656, -656, -656, 903, -33, -656, -656, -656, 456, 265, + 460, -656, -74, 2, 90, 444, 472, -656, 469, -656, + 463, 420, 475, 420, 466, 471, 473, -656, 478, 480, + 481, 482, 479, 483, 485, 903, 903, 903, 486, 304, + -17, 474, 56, 476, -656, 487, 8, 489, 1706, -656, + -656, 488, 490, 493, -656, 495, 497, -656, 501, 500, + -656, 502, 506, 508, 492, 509, -656, -656, 511, 517, + 903, 903, -656, 420, 420, 521, 522, 903, 496, 420, + 525, 528, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420, 903, 532, 548, 549, + 903, 550, 551, 559, 560, 561, 554, 563, 903, 441, + 903, 568, 569, 205, 570, 148, 571, 572, 205, 306, + -656, -656, 564, 89, 903, 565, 573, 574, 575, 903, + 577, 578, 579, 580, 276, 90, 794, 576, -656, -656, + 903, -78, -78, -33, -33, -33, -33, -33, -33, 124, + 124, 124, 124, 124, 124, 124, 124, 903, 903, 582, + 903, -656, 581, -656, 903, 903, 903, 583, 584, 585, + 586, 903, 903, 903, -656, 587, 588, 903, 590, 591, + 592, 593, 594, 601, 589, 599, 601, 589, 589, 903, + 595, 420, 589, 903, 18, -656, 596, 597, 484, 600, + 903, 903, 598, 602, -656, 605, 607, 603, 278, 604, + -656, -656, -656, 611, 606, 609, 411, -656, 612, 617, -656, -656, -656, -656, -656, -656, -656, -656, -656, -656, - -656, -656, -656, -656, 605, 613, 615, 616, 610, 618, - 620, 395, 587, -656, 1005, 621, 395, 271, 395, 614, - -15, 138, -40, 622, -72, 28, 196, 27, -656, -656, + -656, -656, -656, -656, 614, 619, 622, 623, 615, 625, + 626, 420, 618, -656, 903, 627, 420, 282, 420, 620, + -10, -12, -71, 628, -88, 28, 75, -40, -656, -656, -656, -656, -656, -656, -656, -656, -656, -656, -656, -656, - -656, -656, 623, -656, -46, -656, 21, -656, -656, 624, - 627, 628, 629, 626, 632, 634, 55, 630, 637, 638, - -656, 635, -656, -656, -656, -656, -656, -656, -656, -656, - -656, -656, -656, -74, -74, -89, -89, -89, -89, -89, - -89, 90, 434, 631, 636, 633, 640, 641, 642, 643, - 647, 652, 654, 646, 655, 661, -656, 612, 663, 1005, - 1005, 1005, 1005, 1005, -656, 130, 653, 619, 581, -656, - 258, 660, 662, 649, 365, -656, 666, 667, 671, 1607, - 1710, 238, 239, 1710, 365, 365, 365, 365, 1710, 365, - 395, 241, 244, 365, 246, 1005, 1095, 365, 1126, 673, - -656, 682, 674, 677, -656, -656, -656, -67, -656, 365, - 275, 675, 686, 257, 395, 687, 395, 688, 678, 691, - 257, 395, 492, 700, 701, 321, 702, -656, -57, -56, - -656, -656, -656, -656, -656, 704, 705, 706, -656, -656, - 707, 708, -656, 703, -656, 395, -656, -656, -656, 709, - 714, 365, 1005, -656, -656, -656, 727, 712, 716, 718, - 721, 723, 728, 711, -656, 853, -656, -656, -656, -656, - -656, 365, 395, -656, 724, 729, 8, 733, -70, 734, - 738, 1005, 395, 1005, 395, 739, 395, 395, 395, 395, - 740, 395, -656, 1005, 395, 1005, 395, 395, 1005, 395, - 365, 1005, 365, 395, 1005, 365, 1005, 395, 365, 1005, - 278, 395, 395, 736, 750, 257, 58, 110, -656, 751, - -656, 752, 257, 59, 117, -656, -656, 732, 747, 702, - -49, -656, 710, -656, 757, -656, 758, 759, 62, 756, - 765, -656, -656, 1005, 1005, -656, 365, 1005, -59, -656, - 1710, 395, 395, 395, 365, 365, -656, 568, 761, 395, - -656, 1710, -70, 762, 879, -656, -656, 889, 767, -656, - 768, -656, -656, -656, -656, -656, -656, -656, -656, 769, - -656, 771, -656, -656, 772, -656, 395, 763, 559, -65, - -656, 773, 395, 777, -656, 395, 778, -656, -656, -656, - -656, 781, 788, 141, 791, 783, 395, 793, 796, 155, - 800, 790, 395, 1005, 1005, 710, 921, 702, -656, -656, - -656, -656, 802, -656, 805, 806, 801, 804, 395, 795, - 803, -656, -656, 807, -656, -656, -656, 395, 395, 265, - -656, -656, 810, 811, 365, 365, 365, 365, 365, -656, - 365, 808, -656, 365, -656, 395, -656, 365, 815, 127, - 395, 821, 257, -656, 822, 129, 395, 824, 257, -656, - -656, -656, 818, 710, 823, 825, 826, -656, -656, -656, - 1710, 1268, -656, -656, -656, 809, 1710, 1710, 395, 395, - 395, 395, 395, 395, 831, 395, -656, 395, 833, 837, - 395, -656, 839, 173, 840, 841, 395, -656, 842, 181, - 321, -656, -656, -656, -656, -656, 830, -656, 832, 834, - -656, -656, -656, -656, -656, -656, 843, -656, -656, 848, - 228, -656, 229, 395, 849, 854, -656, 237, 395, -42, - -656, -656, -656, 395, 395, 846, 395, 851, 395, -656, - 395, 395, 862, 395, -656, -656, -656, -656, 855, -656, - 856, -656, -656, -656, 857, -656, 395, 395, 395, -656, - -656, -656 + -656, -656, 630, -656, -46, -656, 113, -656, -656, 629, + 634, 636, 637, 631, 635, 639, 64, 632, 641, 643, + -656, 640, -656, -656, -656, -656, -656, -656, -656, -656, + -656, -656, -656, -74, -74, 2, 2, 2, 2, 2, + 2, 90, 444, 648, 644, 650, 645, 646, 647, 652, + 657, 664, 670, 663, 667, 668, -656, 661, 671, 903, + 903, 903, 903, 903, -656, -30, 621, 666, 589, -656, + 67, 669, 673, 674, 411, -656, 675, 678, 683, 1603, + 1706, 140, 173, 1706, 411, 411, 411, 411, 1706, 411, + 420, 252, 255, 411, 263, 903, 1037, 411, 1094, 676, + -656, 693, 685, 687, -656, -656, -656, -57, -656, 411, + 288, 689, 705, 205, 420, 682, 420, 706, 694, 708, + 205, 420, 306, 709, 710, 334, 715, -656, -56, -32, + -656, -656, -656, -656, -656, 712, 714, 720, -656, -656, + 721, 723, -656, 702, -656, 420, -656, -656, -656, 724, + 726, 411, 903, -656, -656, -656, 513, 716, 727, 729, + 731, 738, 739, 733, -656, 848, -656, -656, -656, -656, + -656, 411, 420, -656, 737, 740, 13, 741, -72, 742, + 743, 903, 420, 903, 420, 744, 420, 420, 420, 420, + 745, 420, -656, 903, 420, 903, 420, 420, 903, 420, + 411, 903, 411, 420, 903, 411, 903, 420, 411, 903, + 290, 420, 420, 746, 747, 205, 127, 27, -656, 749, + -656, 755, 205, 129, 110, -656, -656, 751, 752, 715, + -48, -656, 762, -656, 767, -656, 760, 764, 158, 768, + 770, -656, -656, 903, 903, -656, 411, 903, -87, -656, + 1706, 420, 420, 420, 411, 411, -656, 601, 771, 420, + -656, 1706, -72, 763, 699, -656, -656, 893, 772, -656, + 773, -656, -656, -656, -656, -656, -656, -656, -656, 779, + -656, 780, -656, -656, 781, -656, 420, 783, 576, -65, + -656, 784, 420, 792, -656, 420, 795, -656, -656, -656, + -656, 790, 805, 117, 296, 796, 420, 806, 810, 141, + 811, 799, 420, 903, 903, 762, 931, 715, -656, -656, + -656, -656, 812, -656, 813, 815, 809, 814, 420, 807, + 816, -656, -656, 819, -656, -656, -656, 420, 420, 130, + -656, -656, 808, 817, 411, 411, 411, 411, 411, -656, + 411, 818, -656, 411, -656, 420, -656, 411, 823, 165, + 420, 824, 829, 205, -656, 830, 177, 420, 831, 205, + -656, -656, -656, 825, 762, 832, 834, 835, -656, -656, + -656, 1706, 1264, -656, -656, -656, 833, 1706, 1706, 420, + 420, 420, 420, 420, 420, 846, 420, -656, 420, 847, + 852, 420, -656, 853, 855, 155, 857, 859, 420, -656, + 860, 175, 334, -656, -656, -656, -656, -656, 849, -656, + 851, 856, -656, -656, -656, -656, -656, -656, 861, -656, + -656, 862, 180, -656, 868, 216, 420, 864, 865, -656, + 229, 420, -42, -656, -656, -656, 420, 420, 866, 420, + 875, 876, 420, -656, 420, 420, 877, 420, -656, -656, + -656, -656, 869, -656, 871, 872, -656, -656, -656, 873, + -656, 420, 420, 420, 420, -656, -656, -656, -656 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1238,28 +1239,28 @@ 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, 193, 195, 268, 266, 260, - 261, 6, 0, 0, 0, 0, 0, 0, 0, 8, + 26, 3, 4, 27, 29, 194, 196, 269, 267, 261, + 262, 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, 0, 110, 0, 88, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 128, 0, 132, 0, 137, 0, - 0, 0, 0, 0, 222, 223, 0, 0, 0, 216, - 218, 220, 221, 0, 0, 32, 119, 33, 34, 219, - 229, 235, 244, 254, 256, 258, 259, 36, 0, 263, + 0, 0, 0, 0, 223, 224, 0, 0, 0, 217, + 219, 221, 222, 0, 0, 32, 119, 33, 34, 220, + 230, 236, 245, 255, 257, 259, 260, 36, 0, 264, 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, 194, 0, 0, 196, 0, 0, - 269, 0, 0, 0, 0, 0, 107, 108, 0, 0, + 21, 0, 0, 0, 195, 0, 0, 197, 0, 0, + 270, 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, 253, 0, 0, 219, 225, + 0, 0, 0, 0, 0, 254, 0, 0, 220, 226, 0, 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, @@ -1275,62 +1276,62 @@ static const grib_yytype_int16 grib_yydefact[] = 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, - 226, 0, 224, 35, 216, 251, 252, 228, 233, 234, - 230, 231, 232, 243, 242, 246, 250, 248, 249, 247, - 245, 255, 257, 0, 0, 0, 0, 0, 0, 0, + 227, 0, 225, 35, 217, 252, 253, 229, 234, 235, + 231, 232, 233, 244, 243, 247, 251, 249, 250, 248, + 246, 256, 258, 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, 209, 262, + 8, 8, 8, 8, 15, 0, 0, 0, 210, 263, 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, 241, 236, - 0, 0, 227, 0, 100, 8, 101, 102, 103, 0, + 130, 134, 139, 138, 118, 0, 0, 0, 242, 237, + 0, 0, 228, 0, 100, 8, 101, 102, 103, 0, 0, 8, 0, 115, 116, 117, 0, 0, 0, 0, - 0, 0, 0, 0, 214, 0, 206, 210, 213, 205, - 207, 8, 8, 208, 0, 0, 0, 0, 264, 0, + 0, 0, 0, 0, 215, 0, 207, 211, 214, 206, + 208, 8, 8, 209, 0, 0, 0, 0, 265, 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, 0, 175, 0, - 197, 0, 0, 0, 0, 185, 157, 0, 0, 0, + 198, 0, 0, 0, 0, 186, 157, 0, 0, 0, 0, 30, 145, 125, 0, 126, 0, 0, 0, 0, - 0, 120, 104, 8, 8, 96, 8, 0, 0, 199, + 0, 120, 104, 8, 8, 96, 8, 0, 0, 200, 0, 8, 8, 8, 8, 8, 16, 0, 0, 8, - 93, 0, 0, 0, 141, 265, 267, 143, 0, 37, + 93, 0, 0, 0, 141, 266, 268, 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, 0, 8, 0, 0, 0, 0, 0, 8, 0, 0, 150, 146, 0, 31, 14, - 237, 238, 0, 239, 0, 0, 0, 0, 8, 0, - 0, 204, 200, 0, 44, 46, 45, 8, 8, 0, - 211, 94, 0, 0, 8, 8, 8, 8, 8, 57, + 238, 239, 0, 240, 0, 0, 0, 0, 8, 0, + 0, 205, 201, 0, 44, 46, 45, 8, 8, 0, + 212, 94, 0, 0, 8, 8, 8, 8, 8, 57, 8, 0, 56, 8, 63, 8, 113, 8, 0, 0, - 8, 0, 0, 183, 0, 0, 8, 0, 0, 191, - 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, 0, - 8, 176, 0, 0, 0, 0, 8, 186, 0, 0, - 0, 240, 215, 217, 201, 203, 0, 212, 0, 0, - 38, 40, 53, 55, 50, 59, 0, 64, 114, 0, - 0, 180, 0, 8, 0, 0, 188, 0, 8, 0, - 202, 142, 144, 8, 8, 0, 8, 0, 8, 184, - 8, 8, 0, 8, 192, 147, 58, 178, 0, 177, - 0, 182, 198, 187, 0, 190, 8, 8, 8, 179, - 181, 189 + 8, 0, 0, 0, 184, 0, 0, 8, 0, 0, + 192, 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, + 0, 8, 176, 0, 0, 0, 0, 0, 8, 187, + 0, 0, 0, 241, 216, 218, 202, 204, 0, 213, + 0, 0, 38, 40, 53, 55, 50, 59, 0, 64, + 114, 0, 0, 180, 0, 0, 8, 0, 0, 189, + 0, 8, 0, 203, 142, 144, 8, 8, 0, 8, + 0, 0, 8, 185, 8, 8, 0, 8, 193, 147, + 58, 178, 0, 177, 0, 0, 183, 199, 188, 0, + 191, 8, 8, 8, 8, 179, 182, 181, 190 }; /* YYPGOTO[NTERM-NUM]. */ static const grib_yytype_int16 grib_yypgoto[] = { - -656, -656, 5, 526, -656, -352, 0, -656, -655, -47, - -308, -202, -656, -656, -656, -443, 123, 549, 216, -656, - 429, -656, -656, -656, -656, -267, 713, -656, -656, 251, - -656, -85, -345, -656, -81, -144, 827, -1, 92, 29, - -161, 668, -656, -94, -656, 10, 382, -656, -656, 898 + -656, -656, 5, 272, -656, -352, 0, -656, -655, -47, + -308, -202, -656, -656, -656, -443, -141, 545, 214, -656, + 445, -656, -656, -656, -656, -263, 700, -656, -656, 301, + -656, -85, -345, -656, -81, -144, 837, 1, 103, 30, + -161, 680, -656, -94, -656, 10, 395, -656, -656, 915 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -1349,377 +1350,377 @@ static const grib_yytype_int16 grib_yydefgoto[] = static const grib_yytype_int16 grib_yytable[] = { 82, 566, 463, 344, 510, 81, 224, 305, 231, 232, - 98, 227, 511, 512, 755, 791, 422, 516, 57, 228, - 102, 427, 246, 212, 208, 208, 208, 164, 165, 167, - 308, 563, 564, 213, 563, 564, 103, 276, 563, 564, - 348, 349, 350, 314, 315, 385, 464, 170, 277, 687, - 319, 770, 225, 226, 229, 320, 154, 292, 189, 156, - 175, 650, 238, 155, 351, 556, 157, 316, 317, 318, - 651, 650, 674, 289, 167, 352, 416, 418, 771, 307, - 673, 675, 158, 219, 221, 222, 78, 223, 756, 159, - 565, 169, 170, 171, 172, 895, 247, 554, 356, 173, - 241, 248, 813, 57, 357, 104, 174, 98, 161, 162, - 163, 107, 345, 550, 175, 355, 242, 242, 551, 359, - 114, 115, 242, 241, 360, 242, 242, 242, 242, 242, + 98, 227, 511, 512, 755, 791, 57, 516, 102, 228, + 422, 687, 246, 770, 208, 427, 208, 164, 165, 167, + 308, 208, 563, 564, 563, 564, 225, 226, 563, 564, + 348, 349, 350, 314, 315, 385, 464, 170, 276, 556, + 771, 212, 229, 221, 222, 78, 223, 292, 154, 277, + 175, 213, 238, 156, 351, 155, 554, 316, 317, 318, + 157, 650, 650, 289, 167, 352, 416, 418, 284, 307, + 651, 673, 285, 219, 221, 222, 78, 223, 103, 756, + 565, 169, 170, 171, 172, 899, 674, 561, 603, 173, + 107, 604, 814, 57, 158, 675, 174, 98, 161, 162, + 163, 159, 345, 356, 175, 355, 242, 242, 550, 357, + 552, 104, 242, 551, 553, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 229, - 209, 364, 703, 161, 162, 163, 567, 545, 546, 164, + 209, 319, 364, 161, 162, 163, 320, 703, 108, 164, 165, 221, 222, 78, 223, 281, 557, 513, 282, 283, - 346, 558, 108, 607, 561, 445, 481, 465, 466, 308, + 346, 558, 110, 607, 746, 445, 481, 465, 466, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, - 308, 308, 308, 577, 164, 165, 744, 750, 578, 166, - 762, 745, 751, 379, 380, 763, 167, 225, 226, 447, - 448, 321, 322, 323, 324, 325, 326, 284, 273, 274, - 168, 285, 175, 169, 170, 171, 172, 242, 365, 404, + 308, 308, 308, 247, 164, 165, 359, 241, 248, 166, + 241, 360, 577, 379, 380, 603, 167, 578, 608, 447, + 448, 321, 322, 323, 324, 325, 326, 559, 114, 115, + 168, 560, 175, 169, 170, 171, 172, 242, 365, 404, 240, 173, 241, 408, 166, 446, 286, 757, 174, 287, - 288, 167, 109, 419, 221, 222, 78, 223, 105, 110, - 106, 221, 222, 78, 223, 175, 175, 746, 169, 170, - 171, 172, 453, 498, 752, 839, 173, 845, 603, 461, - 840, 604, 846, 174, 111, 221, 222, 78, 223, 517, - 552, 175, 297, 298, 553, 175, 518, 355, 800, 221, - 222, 78, 223, 484, 112, 175, 657, 486, 487, 488, - 311, 312, 806, 664, 493, 494, 495, 221, 222, 78, - 223, 118, 113, 119, 175, 221, 222, 78, 223, 116, - 873, 175, 467, 468, 469, 470, 471, 472, 878, 268, - 135, 269, 161, 162, 163, 348, 349, 350, 559, 458, - 459, 117, 560, 640, 642, 175, 645, 224, 120, 175, - 175, 175, 224, 227, 121, 779, 175, 175, 175, 351, - 475, 476, 477, 478, 479, 480, 885, 887, 524, 525, - 352, 886, 888, 164, 165, 892, 122, 542, 621, 623, - 893, 633, 241, 241, 635, 241, 638, 123, 241, 769, - 241, 221, 222, 78, 223, 124, 603, 125, 743, 608, - 686, 242, 126, 603, 127, 749, 825, 545, 546, 653, - 654, 563, 564, 166, 737, 738, 128, 331, 129, 333, - 167, 473, 474, 130, 131, 132, 133, 134, 136, 175, - 137, 140, 141, 142, 168, 138, 143, 169, 170, 171, - 172, 139, 144, 353, 145, 173, 757, 146, 147, 354, - 148, 149, 174, 150, 151, 192, 152, 153, 160, 190, - 188, 191, 598, 599, 600, 601, 602, 193, 194, 381, - 382, 195, 196, 197, 202, 387, 198, 203, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 199, 200, 201, 204, 205, 206, 207, 214, - 233, 210, 211, 220, 234, 428, 235, 236, 237, 241, - 239, 245, 250, 251, 175, 175, 175, 175, 175, 266, - 267, 698, 270, 271, 272, 295, 275, 278, 280, 242, - 620, 310, 296, 625, 279, 293, 242, 242, 630, 242, - 242, 242, 242, 289, 242, 843, 242, 242, 242, 242, - 294, 849, 242, 299, 300, 301, 429, 728, 302, 303, - 728, 304, 306, 327, 242, 430, 431, 432, 433, 434, - 435, 313, 328, 436, 437, 329, 438, 439, 330, 440, - 441, 332, 224, 337, 708, 334, 710, 515, 335, 224, - 336, 338, 339, 340, 341, 342, 719, 358, 721, 212, - 343, 724, 347, 363, 727, 362, 242, 731, 366, 733, - 367, 213, 736, 368, 369, 370, 371, 372, 373, 355, - 374, 375, 376, 378, 377, 383, 242, 386, 384, 388, - 389, 161, 162, 163, 444, 405, 175, 540, 175, 406, - 407, 409, 544, 410, 548, 411, 766, 767, 175, 412, - 175, 413, 414, 175, 415, 242, 175, 242, 420, 175, - 242, 175, 421, 242, 175, 423, 425, 426, 224, 810, - 811, 244, 164, 165, 224, 454, 249, 449, 450, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 451, 452, 455, 456, 457, 175, 175, - 773, 242, 462, 483, 504, 485, 354, 489, 490, 242, - 242, 491, 166, 492, 496, 506, 497, 499, 500, 167, - 501, 502, 503, 509, 514, 353, 356, 521, 357, 519, - 522, 541, 527, 168, 520, 523, 169, 170, 171, 172, - 526, 528, 529, 531, 173, 532, 533, 534, 417, 535, - 536, 174, 538, 537, 539, 543, 632, 549, 596, 570, - 555, 562, 571, 572, 573, 583, 606, 585, 224, 574, - 575, 361, 576, 579, 224, 580, 581, 589, 582, 584, - 658, 590, 660, 586, 587, 588, 591, 665, 592, 593, - 611, 161, 162, 163, 348, 349, 350, 605, 594, 242, - 242, 242, 242, 242, 595, 242, 597, 609, 242, 610, - 614, 682, 242, 613, 615, 646, 647, 648, 351, 649, - 656, 655, 659, 661, 662, 663, 161, 162, 163, 352, - 854, 856, 164, 165, 667, 668, 858, 859, 700, 676, - 677, 671, 678, 679, 680, 687, 681, 696, 709, 758, - 711, 683, 713, 714, 715, 716, 684, 718, 690, 691, - 720, 692, 722, 723, 693, 725, 694, 164, 165, 730, - 701, 695, 166, 734, 741, 702, 753, 739, 740, 167, - 704, 706, 161, 162, 163, 707, 712, 717, 742, 747, - 748, 754, 759, 168, 764, 782, 169, 170, 171, 172, - 780, 760, 761, 765, 173, 783, 790, 166, 784, 785, - 786, 174, 787, 788, 167, 798, 793, 774, 775, 776, - 795, 797, 799, 164, 165, 781, 801, 804, 168, 802, - 805, 169, 170, 171, 172, 807, 808, 812, 814, 173, - 460, 815, 816, 820, 817, 530, 174, 818, 857, 772, - 834, 821, 789, 838, 822, 792, 826, 827, 794, 842, - 844, 796, 848, 166, 850, 866, 851, 869, 852, 853, - 167, 870, 803, 872, 874, 875, 877, 880, 809, 881, - 898, 882, 568, 879, 168, 900, 883, 169, 170, 171, - 172, 884, 890, 697, 819, 173, 904, 891, 906, 907, - 908, 666, 174, 823, 824, 230, 482, 0, 424, 0, - 705, 309, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 836, 0, 0, 0, 0, 841, 0, 0, 0, - 0, 0, 847, 0, 161, 162, 163, 0, 0, 0, + 288, 167, 109, 419, 221, 222, 78, 223, 567, 545, + 546, 221, 222, 78, 223, 175, 175, 752, 169, 170, + 171, 172, 453, 498, 800, 744, 173, 750, 603, 461, + 745, 826, 751, 174, 113, 221, 222, 78, 223, 517, + 621, 175, 225, 226, 241, 175, 518, 355, 807, 221, + 222, 78, 223, 484, 111, 175, 762, 486, 487, 488, + 657, 763, 876, 840, 493, 494, 495, 664, 841, 221, + 222, 78, 223, 623, 175, 847, 112, 241, 888, 428, + 848, 175, 881, 889, 467, 468, 469, 470, 471, 472, + 105, 116, 106, 161, 162, 163, 348, 349, 350, 221, + 222, 78, 223, 640, 642, 175, 645, 224, 135, 175, + 175, 175, 224, 227, 891, 779, 175, 175, 175, 892, + 351, 475, 476, 477, 478, 479, 480, 896, 273, 274, + 429, 352, 897, 117, 164, 165, 118, 542, 119, 430, + 431, 432, 433, 434, 435, 297, 298, 436, 437, 769, + 438, 439, 633, 440, 441, 635, 241, 311, 312, 241, + 686, 242, 743, 638, 268, 120, 269, 241, 121, 749, + 458, 459, 524, 525, 166, 331, 189, 333, 545, 546, + 122, 167, 653, 654, 563, 564, 737, 738, 123, 175, + 801, 802, 473, 474, 124, 168, 125, 126, 169, 170, + 171, 172, 127, 128, 353, 129, 173, 130, 131, 757, + 354, 132, 133, 174, 134, 136, 137, 140, 141, 138, + 142, 139, 598, 599, 600, 601, 602, 381, 382, 143, + 161, 162, 163, 387, 144, 145, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 146, 147, 148, 149, 150, 151, 152, 153, 160, 190, + 191, 214, 193, 188, 194, 195, 196, 192, 197, 198, + 202, 164, 165, 199, 175, 175, 175, 175, 175, 200, + 201, 698, 203, 204, 205, 206, 207, 236, 233, 242, + 620, 210, 220, 625, 234, 211, 242, 242, 630, 242, + 242, 242, 242, 235, 242, 237, 242, 242, 242, 242, + 845, 166, 242, 239, 245, 241, 851, 728, 167, 250, + 728, 251, 266, 267, 242, 271, 270, 272, 289, 295, + 280, 275, 168, 327, 278, 169, 170, 171, 172, 279, + 293, 294, 224, 173, 708, 515, 710, 417, 296, 224, + 174, 299, 300, 301, 310, 302, 719, 303, 721, 304, + 306, 724, 328, 329, 727, 330, 242, 731, 334, 733, + 313, 332, 736, 335, 337, 336, 338, 339, 340, 355, + 358, 341, 362, 212, 353, 342, 242, 343, 347, 363, + 386, 687, 366, 375, 367, 540, 175, 213, 175, 368, + 544, 369, 548, 370, 371, 372, 766, 767, 175, 373, + 175, 374, 376, 175, 377, 242, 175, 242, 378, 175, + 242, 175, 383, 242, 175, 384, 388, 244, 224, 811, + 812, 389, 249, 405, 224, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 406, + 407, 409, 410, 411, 412, 413, 414, 415, 175, 175, + 773, 242, 420, 421, 423, 425, 426, 444, 449, 242, + 242, 454, 455, 456, 457, 782, 450, 451, 452, 462, + 483, 882, 485, 506, 489, 490, 491, 492, 568, 514, + 496, 497, 499, 500, 501, 502, 503, 504, 509, 521, + 356, 522, 354, 357, 519, 527, 531, 526, 520, 523, + 529, 532, 528, 534, 632, 533, 535, 536, 537, 538, + 539, 543, 541, 549, 570, 605, 555, 361, 562, 571, + 224, 572, 573, 575, 574, 579, 224, 576, 658, 580, + 660, 581, 583, 582, 585, 665, 589, 584, 586, 587, + 588, 590, 161, 162, 163, 348, 349, 350, 591, 242, + 242, 242, 242, 242, 592, 242, 593, 596, 242, 682, + 594, 595, 242, 606, 597, 611, 609, 659, 646, 351, + 610, 614, 613, 161, 162, 163, 615, 647, 648, 649, + 352, 856, 858, 164, 165, 655, 700, 860, 861, 656, + 662, 661, 663, 667, 668, 681, 709, 676, 711, 677, + 713, 714, 715, 716, 671, 718, 678, 679, 720, 680, + 722, 723, 690, 725, 164, 165, 683, 730, 684, 696, + 691, 734, 692, 166, 693, 739, 740, 161, 162, 163, + 167, 694, 695, 701, 741, 742, 702, 747, 704, 706, + 707, 712, 717, 748, 168, 753, 754, 169, 170, 171, + 172, 758, 759, 760, 166, 173, 764, 761, 765, 783, + 780, 167, 174, 784, 785, 774, 775, 776, 164, 165, + 786, 787, 788, 781, 798, 168, 790, 793, 169, 170, + 171, 172, 161, 162, 163, 795, 173, 460, 797, 799, + 805, 530, 803, 174, 806, 809, 808, 813, 815, 816, + 789, 817, 818, 792, 827, 821, 794, 819, 166, 796, + 835, 839, 843, 828, 822, 167, 823, 844, 846, 850, + 804, 852, 859, 164, 165, 853, 810, 854, 855, 168, + 868, 871, 169, 170, 171, 172, 872, 874, 697, 875, + 173, 877, 820, 878, 880, 424, 883, 174, 884, 772, + 902, 824, 825, 885, 886, 887, 890, 894, 895, 904, + 905, 909, 911, 166, 912, 913, 914, 666, 482, 837, + 167, 309, 230, 705, 842, 0, 0, 0, 0, 0, + 0, 849, 0, 0, 168, 0, 0, 169, 170, 171, + 172, 0, 0, 0, 0, 173, 0, 0, 0, 0, + 0, 0, 174, 862, 863, 864, 865, 866, 867, 0, + 869, 0, 870, 0, 0, 873, 161, 162, 163, 612, + 0, 0, 879, 0, 0, 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, + 893, 0, 0, 0, 652, 898, 0, 164, 165, 0, + 900, 901, 0, 903, 0, 0, 906, 0, 907, 908, + 0, 910, 0, 161, 162, 163, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 915, 916, 917, 918, 0, + 0, 0, 0, 0, 0, 0, 685, 166, 0, 0, + 0, 0, 0, 0, 167, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 164, 165, 699, 0, 168, 0, + 0, 169, 170, 171, 172, 0, 0, 0, 0, 641, + 0, 0, 0, 0, 0, 0, 174, 0, 0, 0, + 0, 0, 0, 0, 0, 726, 0, 729, 0, 0, + 732, 0, 0, 735, 166, 0, 0, 0, 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, 768, 0, 174, 0, 0, 0, 0, 0, 777, + 778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 860, 861, 862, 863, 864, 865, - 0, 867, 0, 868, 0, 0, 871, 0, 0, 0, - 0, 0, 876, 612, 0, 164, 165, 0, 0, 0, - 622, 624, 0, 626, 627, 628, 629, 0, 631, 0, - 634, 636, 637, 639, 0, 0, 643, 0, 0, 889, - 0, 0, 0, 0, 894, 0, 0, 0, 652, 896, - 897, 0, 899, 0, 901, 166, 902, 903, 0, 905, - 0, 0, 167, 0, 161, 162, 163, 0, 0, 0, - 0, 0, 909, 910, 911, 0, 168, 0, 0, 169, - 170, 171, 172, 0, 0, 0, 0, 173, 0, 0, - 685, 0, 0, 0, 174, 161, 162, 163, 0, 0, - 0, 0, 0, 0, 0, 164, 165, 0, 0, 0, - 699, 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, 164, 165, 0, 726, - 0, 729, 0, 0, 732, 166, 0, 735, 0, 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, 166, 641, 0, 0, - 0, 0, 0, 167, 174, 768, 0, 0, 0, 0, - 0, 0, 0, 777, 778, 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, 0, 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, 828, 829, 830, 831, 832, 0, 833, - 0, 0, 835, 0, 0, 0, 837, 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, 855, 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, 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, 829, + 830, 831, 832, 833, 0, 834, 0, 0, 836, 0, + 0, 0, 838, 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, 857, 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, - 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, 216, 0, 0, 217, 0, - 218, 0, 14, 15, 16, 17, 18, 19, 20, 21, + 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, 57, 58, 59, 60, 61, + 52, 53, 54, 55, 56, 0, 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, 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, + 71, 72, 73, 74, 0, 0, 75, 215, 3, 0, + 0, 4, 5, 6, 7, 8, 9, 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, 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, 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, 216, 0, 0, 217 + 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, 444, 310, 205, 356, 0, 91, 168, 102, 103, - 0, 92, 357, 358, 669, 80, 283, 362, 88, 4, - 132, 288, 116, 124, 18, 18, 18, 60, 61, 107, - 174, 80, 81, 134, 80, 81, 132, 124, 80, 81, - 22, 23, 24, 117, 118, 247, 124, 125, 135, 108, - 139, 110, 124, 125, 124, 144, 125, 151, 129, 125, - 55, 128, 109, 132, 46, 137, 132, 141, 142, 143, - 137, 128, 128, 138, 107, 57, 278, 279, 137, 173, - 137, 137, 125, 83, 124, 125, 126, 127, 137, 132, - 136, 124, 125, 126, 127, 137, 130, 137, 130, 132, - 134, 135, 757, 88, 136, 132, 139, 97, 19, 20, - 21, 124, 206, 128, 109, 209, 111, 112, 133, 130, - 124, 125, 117, 134, 135, 120, 121, 122, 123, 124, + 0, 92, 357, 358, 669, 80, 88, 362, 132, 4, + 283, 108, 116, 110, 18, 288, 18, 60, 61, 107, + 174, 18, 80, 81, 80, 81, 124, 125, 80, 81, + 22, 23, 24, 117, 118, 247, 124, 125, 124, 137, + 137, 124, 124, 124, 125, 126, 127, 151, 125, 135, + 55, 134, 109, 125, 46, 132, 137, 141, 142, 143, + 132, 128, 128, 138, 107, 57, 278, 279, 132, 173, + 137, 137, 136, 83, 124, 125, 126, 127, 132, 137, + 136, 124, 125, 126, 127, 137, 128, 137, 128, 132, + 124, 131, 757, 88, 125, 137, 139, 97, 19, 20, + 21, 132, 206, 130, 109, 209, 111, 112, 128, 136, + 132, 132, 117, 133, 136, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 124, - 134, 134, 134, 19, 20, 21, 125, 126, 127, 60, + 134, 139, 134, 19, 20, 21, 144, 134, 124, 60, 61, 124, 125, 126, 127, 132, 128, 359, 135, 136, - 207, 133, 124, 508, 137, 76, 327, 311, 312, 313, + 207, 133, 130, 508, 137, 76, 327, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 326, 128, 60, 61, 128, 128, 133, 100, - 128, 133, 133, 240, 241, 133, 107, 124, 125, 293, - 294, 111, 112, 113, 114, 115, 116, 132, 134, 135, + 324, 325, 326, 130, 60, 61, 130, 134, 135, 100, + 134, 135, 128, 240, 241, 128, 107, 133, 131, 293, + 294, 111, 112, 113, 114, 115, 116, 132, 124, 125, 121, 136, 207, 124, 125, 126, 127, 212, 218, 266, 132, 132, 134, 270, 100, 136, 132, 670, 139, 135, - 136, 107, 132, 280, 124, 125, 126, 127, 130, 130, - 132, 124, 125, 126, 127, 240, 241, 137, 124, 125, + 136, 107, 132, 280, 124, 125, 126, 127, 125, 126, + 127, 124, 125, 126, 127, 240, 241, 137, 124, 125, 126, 127, 299, 347, 137, 128, 132, 128, 128, 306, - 133, 131, 133, 139, 124, 124, 125, 126, 127, 363, - 132, 266, 124, 125, 136, 270, 370, 371, 137, 124, - 125, 126, 127, 330, 124, 280, 553, 334, 335, 336, - 122, 123, 137, 560, 341, 342, 343, 124, 125, 126, - 127, 130, 130, 132, 299, 124, 125, 126, 127, 132, - 137, 306, 313, 314, 315, 316, 317, 318, 137, 124, - 130, 126, 19, 20, 21, 22, 23, 24, 132, 124, - 125, 124, 136, 535, 536, 330, 538, 422, 124, 334, - 335, 336, 427, 424, 124, 697, 341, 342, 343, 46, - 321, 322, 323, 324, 325, 326, 128, 128, 124, 125, - 57, 133, 133, 60, 61, 128, 124, 414, 130, 130, - 133, 130, 134, 134, 130, 134, 130, 124, 134, 687, - 134, 124, 125, 126, 127, 124, 128, 124, 655, 131, - 592, 386, 124, 128, 124, 662, 131, 126, 127, 124, - 125, 80, 81, 100, 126, 127, 124, 191, 124, 193, - 107, 319, 320, 124, 124, 124, 124, 124, 130, 414, - 124, 124, 124, 124, 121, 130, 124, 124, 125, 126, - 127, 130, 124, 130, 124, 132, 879, 124, 124, 136, - 124, 124, 139, 124, 132, 130, 124, 124, 124, 124, - 132, 124, 499, 500, 501, 502, 503, 124, 124, 243, - 244, 124, 124, 124, 124, 249, 130, 124, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 130, 130, 130, 124, 124, 132, 132, 0, - 124, 134, 134, 129, 126, 3, 126, 125, 125, 134, - 126, 126, 126, 126, 499, 500, 501, 502, 503, 130, - 126, 605, 132, 126, 126, 126, 135, 134, 132, 514, - 520, 128, 126, 523, 134, 134, 521, 522, 528, 524, - 525, 526, 527, 138, 529, 802, 531, 532, 533, 534, - 134, 808, 537, 132, 132, 132, 54, 641, 132, 132, - 644, 132, 132, 119, 549, 63, 64, 65, 66, 67, - 68, 140, 120, 71, 72, 124, 74, 75, 132, 77, - 78, 126, 657, 126, 621, 132, 623, 361, 132, 664, - 132, 126, 126, 126, 132, 132, 633, 136, 635, 124, - 132, 638, 132, 132, 641, 136, 591, 644, 134, 646, - 134, 134, 649, 134, 134, 132, 134, 133, 133, 703, - 133, 131, 133, 131, 133, 131, 611, 124, 133, 131, - 133, 19, 20, 21, 133, 131, 621, 411, 623, 131, - 131, 131, 416, 131, 418, 124, 683, 684, 633, 124, - 635, 124, 132, 638, 124, 640, 641, 642, 124, 644, - 645, 646, 124, 648, 649, 124, 124, 124, 743, 753, - 754, 112, 60, 61, 749, 124, 117, 133, 133, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, 133, 133, 124, 124, 124, 683, 684, - 690, 686, 133, 128, 126, 131, 136, 131, 131, 694, - 695, 131, 100, 131, 133, 124, 133, 132, 132, 107, - 132, 132, 132, 129, 124, 130, 130, 124, 136, 136, - 124, 134, 124, 121, 136, 136, 124, 125, 126, 127, - 133, 136, 131, 124, 132, 124, 131, 124, 136, 124, - 124, 139, 124, 133, 124, 124, 530, 133, 136, 125, - 128, 128, 125, 125, 125, 124, 137, 124, 843, 133, - 128, 212, 128, 133, 849, 128, 128, 124, 133, 133, - 554, 124, 556, 133, 133, 133, 124, 561, 124, 133, - 131, 19, 20, 21, 22, 23, 24, 134, 133, 784, - 785, 786, 787, 788, 133, 790, 133, 137, 793, 137, - 133, 585, 797, 137, 133, 132, 124, 133, 46, 132, - 124, 136, 125, 125, 136, 124, 19, 20, 21, 57, - 820, 821, 60, 61, 124, 124, 826, 827, 612, 125, - 125, 129, 126, 126, 126, 108, 133, 126, 622, 129, - 624, 132, 626, 627, 628, 629, 132, 631, 136, 133, - 634, 133, 636, 637, 133, 639, 133, 60, 61, 643, - 136, 133, 100, 647, 128, 136, 134, 651, 652, 107, - 137, 137, 19, 20, 21, 137, 137, 137, 128, 128, - 128, 134, 125, 121, 128, 6, 124, 125, 126, 127, - 129, 133, 133, 128, 132, 6, 133, 100, 131, 131, - 131, 139, 131, 131, 107, 124, 133, 691, 692, 693, - 133, 133, 124, 60, 61, 699, 125, 124, 121, 136, - 124, 124, 125, 126, 127, 125, 136, 6, 126, 132, - 133, 126, 126, 138, 133, 386, 139, 133, 129, 688, - 132, 138, 726, 128, 137, 729, 136, 136, 732, 128, - 128, 735, 128, 100, 136, 124, 133, 124, 133, 133, - 107, 124, 746, 124, 124, 124, 124, 137, 752, 137, - 124, 137, 446, 850, 121, 124, 133, 124, 125, 126, - 127, 133, 133, 130, 768, 132, 124, 133, 133, 133, - 133, 562, 139, 777, 778, 97, 328, -1, 285, -1, - 618, 174, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 795, -1, -1, -1, -1, 800, -1, -1, -1, - -1, -1, 806, -1, 19, 20, 21, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 828, 829, 830, 831, 832, 833, - -1, 835, -1, 837, -1, -1, 840, -1, -1, -1, - -1, -1, 846, 514, -1, 60, 61, -1, -1, -1, - 521, 522, -1, 524, 525, 526, 527, -1, 529, -1, - 531, 532, 533, 534, -1, -1, 537, -1, -1, 873, - -1, -1, -1, -1, 878, -1, -1, -1, 549, 883, - 884, -1, 886, -1, 888, 100, 890, 891, -1, 893, - -1, -1, 107, -1, 19, 20, 21, -1, -1, -1, - -1, -1, 906, 907, 908, -1, 121, -1, -1, 124, - 125, 126, 127, -1, -1, -1, -1, 132, -1, -1, - 591, -1, -1, -1, 139, 19, 20, 21, -1, -1, - -1, -1, -1, -1, -1, 60, 61, -1, -1, -1, - 611, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 133, 131, 133, 139, 130, 124, 125, 126, 127, 363, + 130, 266, 124, 125, 134, 270, 370, 371, 137, 124, + 125, 126, 127, 330, 124, 280, 128, 334, 335, 336, + 553, 133, 137, 128, 341, 342, 343, 560, 133, 124, + 125, 126, 127, 130, 299, 128, 124, 134, 128, 3, + 133, 306, 137, 133, 313, 314, 315, 316, 317, 318, + 130, 132, 132, 19, 20, 21, 22, 23, 24, 124, + 125, 126, 127, 535, 536, 330, 538, 422, 130, 334, + 335, 336, 427, 424, 128, 697, 341, 342, 343, 133, + 46, 321, 322, 323, 324, 325, 326, 128, 134, 135, + 54, 57, 133, 124, 60, 61, 130, 414, 132, 63, + 64, 65, 66, 67, 68, 124, 125, 71, 72, 687, + 74, 75, 130, 77, 78, 130, 134, 122, 123, 134, + 592, 386, 655, 130, 124, 124, 126, 134, 124, 662, + 124, 125, 124, 125, 100, 191, 129, 193, 126, 127, + 124, 107, 124, 125, 80, 81, 126, 127, 124, 414, + 124, 125, 319, 320, 124, 121, 124, 124, 124, 125, + 126, 127, 124, 124, 130, 124, 132, 124, 124, 882, + 136, 124, 124, 139, 124, 130, 124, 124, 124, 130, + 124, 130, 499, 500, 501, 502, 503, 243, 244, 124, + 19, 20, 21, 249, 124, 124, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 124, 124, 124, 124, 124, 132, 124, 124, 124, 124, + 124, 0, 124, 132, 124, 124, 124, 130, 124, 130, + 124, 60, 61, 130, 499, 500, 501, 502, 503, 130, + 130, 605, 124, 124, 124, 132, 132, 125, 124, 514, + 520, 134, 129, 523, 126, 134, 521, 522, 528, 524, + 525, 526, 527, 126, 529, 125, 531, 532, 533, 534, + 803, 100, 537, 126, 126, 134, 809, 641, 107, 126, + 644, 126, 130, 126, 549, 126, 132, 126, 138, 126, + 132, 135, 121, 119, 134, 124, 125, 126, 127, 134, + 134, 134, 657, 132, 621, 361, 623, 136, 126, 664, + 139, 132, 132, 132, 128, 132, 633, 132, 635, 132, + 132, 638, 120, 124, 641, 132, 591, 644, 132, 646, + 140, 126, 649, 132, 126, 132, 126, 126, 126, 703, + 136, 132, 136, 124, 130, 132, 611, 132, 132, 132, + 124, 108, 134, 131, 134, 411, 621, 134, 623, 134, + 416, 134, 418, 132, 134, 133, 683, 684, 633, 133, + 635, 133, 133, 638, 133, 640, 641, 642, 131, 644, + 645, 646, 131, 648, 649, 133, 131, 112, 743, 753, + 754, 133, 117, 131, 749, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 131, + 131, 131, 131, 124, 124, 124, 132, 124, 683, 684, + 690, 686, 124, 124, 124, 124, 124, 133, 133, 694, + 695, 124, 124, 124, 124, 6, 133, 133, 133, 133, + 128, 852, 131, 124, 131, 131, 131, 131, 446, 124, + 133, 133, 132, 132, 132, 132, 132, 126, 129, 124, + 130, 124, 136, 136, 136, 124, 124, 133, 136, 136, + 131, 124, 136, 124, 530, 131, 124, 124, 133, 124, + 124, 124, 134, 133, 125, 134, 128, 212, 128, 125, + 845, 125, 125, 128, 133, 133, 851, 128, 554, 128, + 556, 128, 124, 133, 124, 561, 124, 133, 133, 133, + 133, 124, 19, 20, 21, 22, 23, 24, 124, 784, + 785, 786, 787, 788, 124, 790, 133, 136, 793, 585, + 133, 133, 797, 137, 133, 131, 137, 125, 132, 46, + 137, 133, 137, 19, 20, 21, 133, 124, 133, 132, + 57, 821, 822, 60, 61, 136, 612, 827, 828, 124, + 136, 125, 124, 124, 124, 133, 622, 125, 624, 125, + 626, 627, 628, 629, 129, 631, 126, 126, 634, 126, + 636, 637, 136, 639, 60, 61, 132, 643, 132, 126, + 133, 647, 133, 100, 133, 651, 652, 19, 20, 21, + 107, 133, 133, 136, 128, 128, 136, 128, 137, 137, + 137, 137, 137, 128, 121, 134, 134, 124, 125, 126, + 127, 129, 125, 133, 100, 132, 128, 133, 128, 6, + 129, 107, 139, 131, 131, 691, 692, 693, 60, 61, + 131, 131, 131, 699, 124, 121, 133, 133, 124, 125, + 126, 127, 19, 20, 21, 133, 132, 133, 133, 124, + 124, 386, 136, 139, 124, 136, 125, 6, 126, 126, + 726, 126, 133, 729, 136, 138, 732, 133, 100, 735, + 132, 128, 128, 136, 138, 107, 137, 128, 128, 128, + 746, 136, 129, 60, 61, 133, 752, 133, 133, 121, + 124, 124, 124, 125, 126, 127, 124, 124, 130, 124, + 132, 124, 768, 124, 124, 285, 137, 139, 137, 688, + 124, 777, 778, 137, 133, 133, 128, 133, 133, 124, + 124, 124, 133, 100, 133, 133, 133, 562, 328, 795, + 107, 174, 97, 618, 800, -1, -1, -1, -1, -1, + -1, 807, -1, -1, 121, -1, -1, 124, 125, 126, + 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, + -1, -1, 139, 829, 830, 831, 832, 833, 834, -1, + 836, -1, 838, -1, -1, 841, 19, 20, 21, 514, + -1, -1, 848, -1, -1, -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, + 876, -1, -1, -1, 549, 881, -1, 60, 61, -1, + 886, 887, -1, 889, -1, -1, 892, -1, 894, 895, + -1, 897, -1, 19, 20, 21, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 911, 912, 913, 914, -1, + -1, -1, -1, -1, -1, -1, 591, 100, -1, -1, + -1, -1, -1, -1, 107, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 60, 61, 611, -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, -1, -1, -1, 640, -1, 642, -1, -1, + 645, -1, -1, 648, 100, -1, -1, -1, -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, 686, -1, 139, -1, -1, -1, -1, -1, 694, + 695, -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, 60, 61, -1, 640, - -1, 642, -1, -1, 645, 100, -1, 648, -1, -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, 100, 132, -1, -1, - -1, -1, -1, 107, 139, 686, -1, -1, -1, -1, - -1, -1, -1, 694, 695, -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, -1, 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, 784, 785, 786, 787, 788, -1, 790, - -1, -1, 793, -1, -1, -1, 797, 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, 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, 784, + 785, 786, 787, 788, -1, 790, -1, -1, 793, -1, + -1, -1, 797, 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, 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, 124, -1, -1, 127, -1, - 129, -1, 25, 26, 27, 28, 29, 30, 31, 32, + -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, 88, 89, 90, 91, 92, + 83, 84, 85, 86, 87, -1, 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, -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, + 103, 104, 105, 106, -1, -1, 109, 4, 5, -1, + -1, 8, 9, 10, 11, 12, 13, 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, 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, -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, - -1, -1, -1, -1, 124, -1, -1, 127 + 124, -1, -1, 127 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -1806,18 +1807,18 @@ static const grib_yytype_uint8 grib_yystos[] = 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, 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, 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, - 124, 163, 124, 137, 124, 124, 163, 124, 137, 161, - 137, 137, 137, 133, 133, 128, 133, 128, 133, 163, - 133, 133, 128, 133, 163, 137, 163, 163, 124, 163, - 124, 163, 163, 163, 124, 163, 133, 133, 133, 163, - 163, 163 + 137, 124, 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, + 128, 133, 163, 128, 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, 124, 163, 124, 124, 137, 124, 124, 163, + 124, 137, 161, 137, 137, 137, 133, 133, 128, 133, + 128, 128, 133, 163, 133, 133, 128, 133, 163, 137, + 163, 163, 124, 163, 124, 124, 163, 163, 163, 124, + 163, 133, 133, 133, 133, 163, 163, 163, 163 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -1842,14 +1843,15 @@ static const grib_yytype_uint8 grib_yyr1[] = 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, 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 + 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. */ @@ -1873,15 +1875,16 @@ static const grib_yytype_int8 grib_yyr2[] = 2, 3, 1, 2, 1, 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 7, 7, 6, 9, 12, 12, 14, - 10, 14, 12, 8, 11, 6, 9, 12, 10, 14, - 12, 8, 11, 1, 2, 1, 2, 6, 12, 1, - 2, 4, 10, 9, 7, 5, 5, 5, 5, 1, - 2, 4, 6, 5, 5, 8, 1, 8, 1, 1, - 1, 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, 3, 2, 1, 3, 1, 3, 1, 1, - 1, 1, 4, 2, 1, 2, 1, 7, 1, 2 + 10, 14, 14, 12, 8, 11, 6, 9, 12, 10, + 14, 12, 8, 11, 1, 2, 1, 2, 6, 12, + 1, 2, 4, 10, 9, 7, 5, 5, 5, 5, + 1, 2, 4, 6, 5, 5, 8, 1, 8, 1, + 1, 1, 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, 3, 2, 1, 3, 1, 3, 1, + 1, 1, 1, 4, 2, 1, 2, 1, 7, 1, + 2 }; @@ -2348,242 +2351,242 @@ grib_yyparse (void) #line 263 "griby.y" { grib_parser_all_actions = 0;grib_parser_concept=0; grib_parser_hash_array=0;grib_parser_rules=0; } -#line 2352 "y.tab.c" +#line 2355 "y.tab.c" break; case 3: /* all: concept_list */ #line 265 "griby.y" { grib_parser_concept = reverse_concept((grib_yyvsp[0].concept_value)); } -#line 2358 "y.tab.c" +#line 2361 "y.tab.c" break; case 4: /* all: hash_array_list */ #line 266 "griby.y" { grib_parser_hash_array = reverse_hash_array((grib_yyvsp[0].hash_array_value)); } -#line 2364 "y.tab.c" +#line 2367 "y.tab.c" break; case 5: /* all: instructions */ #line 267 "griby.y" { grib_parser_all_actions = (grib_yyvsp[0].act); } -#line 2370 "y.tab.c" +#line 2373 "y.tab.c" break; case 6: /* all: rules */ #line 268 "griby.y" { grib_parser_rules = (grib_yyvsp[0].rules); } -#line 2376 "y.tab.c" +#line 2379 "y.tab.c" break; 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 2383 "y.tab.c" +#line 2386 "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 2389 "y.tab.c" +#line 2392 "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 2395 "y.tab.c" +#line 2398 "y.tab.c" break; case 11: /* dvalues: INTEGER */ #line 279 "griby.y" { (grib_yyval.dvalue)=grib_darray_push(grib_parser_context,0,(grib_yyvsp[0].lval));} -#line 2401 "y.tab.c" +#line 2404 "y.tab.c" break; case 12: /* dvalues: dvalues ',' INTEGER */ #line 280 "griby.y" { (grib_yyval.dvalue)=grib_darray_push(grib_parser_context,(grib_yyvsp[-2].dvalue),(grib_yyvsp[0].lval));} -#line 2407 "y.tab.c" +#line 2410 "y.tab.c" break; case 13: /* svalues: STRING */ #line 283 "griby.y" { (grib_yyval.svalue)=grib_sarray_push(grib_parser_context,0,(grib_yyvsp[0].str));} -#line 2413 "y.tab.c" +#line 2416 "y.tab.c" break; case 14: /* svalues: svalues ',' STRING */ #line 284 "griby.y" { (grib_yyval.svalue)=grib_sarray_push(grib_parser_context,(grib_yyvsp[-2].svalue),(grib_yyvsp[0].str));} -#line 2419 "y.tab.c" +#line 2422 "y.tab.c" break; case 15: /* integer_array: INTEGER */ #line 288 "griby.y" { (grib_yyval.ivalue)=grib_iarray_push(0,(grib_yyvsp[0].lval));} -#line 2425 "y.tab.c" +#line 2428 "y.tab.c" break; case 16: /* integer_array: integer_array ',' INTEGER */ #line 289 "griby.y" { (grib_yyval.ivalue)=grib_iarray_push((grib_yyvsp[-2].ivalue),(grib_yyvsp[0].lval));} -#line 2431 "y.tab.c" +#line 2434 "y.tab.c" break; case 18: /* instructions: instruction instructions */ #line 293 "griby.y" { (grib_yyvsp[-1].act)->next = (grib_yyvsp[0].act); (grib_yyval.act) = (grib_yyvsp[-1].act); } -#line 2437 "y.tab.c" +#line 2440 "y.tab.c" break; case 19: /* instructions: instruction ';' instructions */ #line 294 "griby.y" { (grib_yyvsp[-2].act)->next = (grib_yyvsp[0].act); (grib_yyval.act) = (grib_yyvsp[-2].act); } -#line 2443 "y.tab.c" +#line 2446 "y.tab.c" break; case 20: /* instructions: instruction ';' */ #line 295 "griby.y" { (grib_yyval.act) = (grib_yyvsp[-1].act);} -#line 2449 "y.tab.c" +#line 2452 "y.tab.c" break; case 32: /* argument_list: empty */ #line 314 "griby.y" { (grib_yyval.explist) = 0; } -#line 2455 "y.tab.c" +#line 2458 "y.tab.c" break; case 35: /* arguments: argument ',' arguments */ #line 319 "griby.y" { (grib_yyvsp[-2].explist)->next = (grib_yyvsp[0].explist); (grib_yyval.explist) = (grib_yyvsp[-2].explist); } -#line 2461 "y.tab.c" +#line 2464 "y.tab.c" break; case 36: /* argument: expression */ #line 322 "griby.y" { (grib_yyval.explist) = grib_arguments_new(grib_parser_context,(grib_yyvsp[0].exp),NULL); } -#line 2467 "y.tab.c" +#line 2470 "y.tab.c" break; case 37: /* simple: UNSIGNED '[' INTEGER ']' IDENT default flags */ #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 2473 "y.tab.c" +#line 2476 "y.tab.c" break; case 38: /* simple: UNSIGNED '[' INTEGER ']' IDENT '[' argument_list ']' default flags */ #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 2479 "y.tab.c" +#line 2482 "y.tab.c" break; case 39: /* simple: UNSIGNED '(' INTEGER ')' IDENT default flags */ #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 2485 "y.tab.c" +#line 2488 "y.tab.c" break; case 40: /* simple: UNSIGNED '(' INTEGER ')' IDENT '[' argument_list ']' default flags */ #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 2491 "y.tab.c" +#line 2494 "y.tab.c" break; case 41: /* simple: ASCII '[' INTEGER ']' IDENT default flags */ #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 2497 "y.tab.c" +#line 2500 "y.tab.c" break; case 42: /* simple: GROUP IDENT default flags */ #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 2503 "y.tab.c" +#line 2506 "y.tab.c" break; case 43: /* simple: GROUP IDENT '(' argument_list ')' default flags */ #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 2509 "y.tab.c" +#line 2512 "y.tab.c" break; case 44: /* simple: IDENT '=' TO_INTEGER '(' argument_list ')' flags */ #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 2515 "y.tab.c" +#line 2518 "y.tab.c" break; case 45: /* simple: IDENT '=' SEX2DEC '(' argument_list ')' flags */ #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 2521 "y.tab.c" +#line 2524 "y.tab.c" break; case 46: /* simple: IDENT '=' TO_STRING '(' argument_list ')' flags */ #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 2527 "y.tab.c" +#line 2530 "y.tab.c" break; case 47: /* simple: NON_ALPHA IDENT default flags */ #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 2533 "y.tab.c" +#line 2536 "y.tab.c" break; case 48: /* simple: ASCII '[' INTEGER ']' STRING default flags */ #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 2539 "y.tab.c" +#line 2542 "y.tab.c" break; case 49: /* simple: BYTE '[' INTEGER ']' IDENT default flags */ #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 2545 "y.tab.c" +#line 2548 "y.tab.c" break; case 50: /* simple: BYTE '[' INTEGER ']' IDENT '[' argument_list ']' default flags */ #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 2551 "y.tab.c" +#line 2554 "y.tab.c" break; case 51: /* simple: KSEC1EXPVER '[' INTEGER ']' IDENT default flags */ #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 2557 "y.tab.c" +#line 2560 "y.tab.c" break; case 52: /* simple: SIGNED '[' INTEGER ']' IDENT default flags */ #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 2563 "y.tab.c" +#line 2566 "y.tab.c" break; case 53: /* simple: SIGNED '[' INTEGER ']' IDENT '[' argument_list ']' default flags */ #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 2569 "y.tab.c" +#line 2572 "y.tab.c" break; case 54: /* simple: SIGNED '(' INTEGER ')' IDENT default flags */ #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 2575 "y.tab.c" +#line 2578 "y.tab.c" break; case 55: /* simple: SIGNED '(' INTEGER ')' IDENT '[' argument_list ']' default flags */ #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 2581 "y.tab.c" +#line 2584 "y.tab.c" break; case 56: /* simple: CODETABLE '[' INTEGER ']' IDENT argument default flags */ #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 2587 "y.tab.c" +#line 2590 "y.tab.c" break; case 57: /* simple: CODETABLE '[' IDENT ']' IDENT argument default flags */ @@ -2597,326 +2600,326 @@ grib_yyparse (void) (grib_yyvsp[-1].explist), (grib_yyvsp[0].lval), NULL, NULL); free((grib_yyvsp[-3].str)); } -#line 2601 "y.tab.c" +#line 2604 "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 2608 "y.tab.c" +#line 2611 "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 2614 "y.tab.c" +#line 2617 "y.tab.c" break; case 60: /* simple: SMART_TABLE IDENT '(' argument_list ')' default flags */ #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 2620 "y.tab.c" +#line 2623 "y.tab.c" break; case 61: /* simple: IDENT '=' DICTIONARY '(' argument_list ')' default flags */ #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 2626 "y.tab.c" +#line 2629 "y.tab.c" break; case 62: /* simple: IDENT '=' GETENV '(' argument_list ')' default flags */ #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 2632 "y.tab.c" +#line 2635 "y.tab.c" break; case 63: /* simple: COMPLEX_CODETABLE '[' INTEGER ']' IDENT argument default flags */ #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 2638 "y.tab.c" +#line 2641 "y.tab.c" break; case 64: /* simple: COMPLEX_CODETABLE '[' INTEGER ']' IDENT '(' argument_list ')' default flags */ #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 2644 "y.tab.c" +#line 2647 "y.tab.c" break; case 65: /* simple: FLAG '[' INTEGER ']' IDENT argument default flags */ #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 2650 "y.tab.c" +#line 2653 "y.tab.c" break; case 66: /* simple: LOOKUP '[' INTEGER ']' IDENT '(' argument_list ')' flags */ #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 2656 "y.tab.c" +#line 2659 "y.tab.c" break; case 67: /* simple: FLAGBIT IDENT '(' argument_list ')' default flags */ #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 2662 "y.tab.c" +#line 2665 "y.tab.c" break; case 68: /* simple: LABEL IDENT */ #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 2668 "y.tab.c" +#line 2671 "y.tab.c" break; case 69: /* simple: LABEL STRING */ #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 2674 "y.tab.c" +#line 2677 "y.tab.c" break; case 70: /* simple: IBMFLOAT IDENT default flags */ #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 2680 "y.tab.c" +#line 2683 "y.tab.c" break; case 71: /* simple: INT8 IDENT default flags */ #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 2686 "y.tab.c" +#line 2689 "y.tab.c" break; case 72: /* simple: UINT8 IDENT default flags */ #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 2692 "y.tab.c" +#line 2695 "y.tab.c" break; case 73: /* simple: INT16 IDENT default flags */ #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 2698 "y.tab.c" +#line 2701 "y.tab.c" break; case 74: /* simple: UINT16 IDENT default flags */ #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 2704 "y.tab.c" +#line 2707 "y.tab.c" break; case 75: /* simple: INT16_LITTLE_ENDIAN IDENT default flags */ #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 2710 "y.tab.c" +#line 2713 "y.tab.c" break; case 76: /* simple: UINT16_LITTLE_ENDIAN IDENT default flags */ #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 2716 "y.tab.c" +#line 2719 "y.tab.c" break; case 77: /* simple: INT32 IDENT default flags */ #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 2722 "y.tab.c" +#line 2725 "y.tab.c" break; case 78: /* simple: UINT32 IDENT default flags */ #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 2728 "y.tab.c" +#line 2731 "y.tab.c" break; case 79: /* simple: INT32_LITTLE_ENDIAN IDENT default flags */ #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 2734 "y.tab.c" +#line 2737 "y.tab.c" break; case 80: /* simple: UINT32_LITTLE_ENDIAN IDENT default flags */ #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 2740 "y.tab.c" +#line 2743 "y.tab.c" break; case 81: /* simple: INT64 IDENT default flags */ #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 2746 "y.tab.c" +#line 2749 "y.tab.c" break; case 82: /* simple: UINT64 IDENT default flags */ #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 2752 "y.tab.c" +#line 2755 "y.tab.c" break; case 83: /* simple: INT64_LITTLE_ENDIAN IDENT default flags */ #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 2758 "y.tab.c" +#line 2761 "y.tab.c" break; case 84: /* simple: UINT64_LITTLE_ENDIAN IDENT default flags */ #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 2764 "y.tab.c" +#line 2767 "y.tab.c" break; case 85: /* simple: BLOB IDENT '[' argument_list ']' default flags */ #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 2770 "y.tab.c" +#line 2773 "y.tab.c" break; case 86: /* simple: IBMFLOAT IDENT '.' IDENT default flags */ #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 2776 "y.tab.c" +#line 2779 "y.tab.c" break; case 87: /* simple: IBMFLOAT IDENT '[' argument ']' default flags */ #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 2782 "y.tab.c" +#line 2785 "y.tab.c" break; case 88: /* simple: POS IDENT */ #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 2788 "y.tab.c" +#line 2791 "y.tab.c" break; case 89: /* simple: INTCONST IDENT '=' argument flags */ #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 2794 "y.tab.c" +#line 2797 "y.tab.c" break; case 90: /* simple: TRANS IDENT '=' argument flags */ #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 2800 "y.tab.c" +#line 2803 "y.tab.c" break; case 91: /* simple: TRANS IDENT '=' '{' dvalues '}' flags */ #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 2806 "y.tab.c" +#line 2809 "y.tab.c" break; case 92: /* simple: FLOAT IDENT default flags */ #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 2812 "y.tab.c" +#line 2815 "y.tab.c" break; case 93: /* simple: FLOAT IDENT '.' IDENT default flags */ #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 2818 "y.tab.c" +#line 2821 "y.tab.c" break; case 94: /* simple: FLOAT IDENT '[' argument ']' default flags */ #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 2824 "y.tab.c" +#line 2827 "y.tab.c" break; case 95: /* simple: G1_HALF_BYTE IDENT */ #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 2830 "y.tab.c" +#line 2833 "y.tab.c" break; case 96: /* simple: SECTION_LENGTH '[' INTEGER ']' IDENT default */ #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 2836 "y.tab.c" +#line 2839 "y.tab.c" break; case 97: /* simple: G1_MESSAGE_LENGTH '[' INTEGER ']' IDENT '(' argument_list ')' */ #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 2842 "y.tab.c" +#line 2845 "y.tab.c" break; case 98: /* simple: G1_SECTION4_LENGTH '[' INTEGER ']' IDENT '(' argument_list ')' */ #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 2848 "y.tab.c" +#line 2851 "y.tab.c" break; case 99: /* simple: KSEC IDENT argument */ #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 2854 "y.tab.c" +#line 2857 "y.tab.c" break; case 100: /* simple: PAD IDENT '(' argument_list ')' */ #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 2860 "y.tab.c" +#line 2863 "y.tab.c" break; case 101: /* simple: PADTO IDENT '(' argument_list ')' */ #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 2866 "y.tab.c" +#line 2869 "y.tab.c" break; case 102: /* simple: PADTOEVEN IDENT '(' argument_list ')' */ #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 2872 "y.tab.c" +#line 2875 "y.tab.c" break; case 103: /* simple: PADTOMULTIPLE IDENT '(' argument_list ')' */ #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 2878 "y.tab.c" +#line 2881 "y.tab.c" break; case 104: /* simple: MESSAGE '[' INTEGER ']' IDENT flags */ #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 2884 "y.tab.c" +#line 2887 "y.tab.c" break; case 105: /* simple: MESSAGE_COPY IDENT flags */ #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 2890 "y.tab.c" +#line 2893 "y.tab.c" break; case 106: /* simple: SECTION_PADDING IDENT flags */ #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 2896 "y.tab.c" +#line 2899 "y.tab.c" break; case 107: /* simple: TEMPLATE IDENT STRING */ #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 2902 "y.tab.c" +#line 2905 "y.tab.c" break; case 108: /* simple: TEMPLATE_NOFAIL IDENT STRING */ #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 2908 "y.tab.c" +#line 2911 "y.tab.c" break; case 109: /* simple: ALIAS IDENT '=' IDENT flags */ #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 2914 "y.tab.c" +#line 2917 "y.tab.c" break; case 110: /* simple: UNALIAS IDENT */ #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 2920 "y.tab.c" +#line 2923 "y.tab.c" break; case 111: /* simple: ALIAS IDENT '.' IDENT '=' IDENT flags */ @@ -2924,7 +2927,7 @@ grib_yyparse (void) { (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 2928 "y.tab.c" +#line 2931 "y.tab.c" break; case 112: /* simple: UNALIAS IDENT '.' IDENT */ @@ -2932,19 +2935,19 @@ grib_yyparse (void) { (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 2936 "y.tab.c" +#line 2939 "y.tab.c" break; case 113: /* simple: META IDENT IDENT '(' argument_list ')' default flags */ #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 2942 "y.tab.c" +#line 2945 "y.tab.c" break; case 114: /* simple: META IDENT '.' IDENT IDENT '(' argument_list ')' default flags */ #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 2948 "y.tab.c" +#line 2951 "y.tab.c" break; case 115: /* simple: ITERATOR IDENT '(' argument_list ')' */ @@ -2960,7 +2963,7 @@ grib_yyparse (void) "ITERATOR","iterator",a,NULL, GRIB_ACCESSOR_FLAG_HIDDEN|GRIB_ACCESSOR_FLAG_READ_ONLY,NULL); free((grib_yyvsp[-3].str)); } -#line 2964 "y.tab.c" +#line 2967 "y.tab.c" break; case 116: /* simple: NEAREST IDENT '(' argument_list ')' */ @@ -2976,7 +2979,7 @@ grib_yyparse (void) "NEAREST","nearest",a,NULL, GRIB_ACCESSOR_FLAG_HIDDEN|GRIB_ACCESSOR_FLAG_READ_ONLY,NULL); free((grib_yyvsp[-3].str)); } -#line 2980 "y.tab.c" +#line 2983 "y.tab.c" break; case 117: /* simple: BOX IDENT '(' argument_list ')' */ @@ -2992,821 +2995,827 @@ grib_yyparse (void) "BOX","box",a,NULL, GRIB_ACCESSOR_FLAG_HIDDEN|GRIB_ACCESSOR_FLAG_READ_ONLY,NULL); free((grib_yyvsp[-3].str)); } -#line 2996 "y.tab.c" +#line 2999 "y.tab.c" break; case 118: /* simple: EXPORT IDENT '(' argument_list ')' */ #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 3002 "y.tab.c" +#line 3005 "y.tab.c" break; case 119: /* simple: REMOVE argument_list */ #line 611 "griby.y" { (grib_yyval.act) = grib_action_create_remove(grib_parser_context,(grib_yyvsp[0].explist));} -#line 3008 "y.tab.c" +#line 3011 "y.tab.c" break; case 120: /* simple: RENAME '(' IDENT ',' IDENT ')' */ #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 3014 "y.tab.c" +#line 3017 "y.tab.c" break; case 121: /* simple: ASSERT '(' expression ')' */ #line 616 "griby.y" { (grib_yyval.act) = grib_action_create_assert(grib_parser_context,(grib_yyvsp[-1].exp));} -#line 3020 "y.tab.c" +#line 3023 "y.tab.c" break; case 122: /* simple: MODIFY IDENT flags */ #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 3026 "y.tab.c" +#line 3029 "y.tab.c" break; case 123: /* simple: SET IDENT '=' MISSING */ #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 3032 "y.tab.c" +#line 3035 "y.tab.c" break; case 124: /* simple: SET IDENT '=' expression */ #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 3038 "y.tab.c" +#line 3041 "y.tab.c" break; case 125: /* simple: SET IDENT '=' '{' dvalues '}' */ #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 3044 "y.tab.c" +#line 3047 "y.tab.c" break; case 126: /* simple: SET IDENT '=' '{' svalues '}' */ #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 3050 "y.tab.c" +#line 3053 "y.tab.c" break; case 127: /* simple: SET_NOFAIL IDENT '=' expression */ #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 3056 "y.tab.c" +#line 3059 "y.tab.c" break; case 128: /* simple: WRITE STRING */ #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 3062 "y.tab.c" +#line 3065 "y.tab.c" break; case 129: /* simple: WRITE */ #line 630 "griby.y" { (grib_yyval.act) = grib_action_create_write(grib_parser_context,"",0,0); } -#line 3068 "y.tab.c" +#line 3071 "y.tab.c" break; case 130: /* simple: WRITE '(' INTEGER ')' STRING */ #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 3074 "y.tab.c" +#line 3077 "y.tab.c" break; case 131: /* simple: WRITE '(' INTEGER ')' */ #line 632 "griby.y" { (grib_yyval.act) = grib_action_create_write(grib_parser_context,"",0,(grib_yyvsp[-1].lval)); } -#line 3080 "y.tab.c" +#line 3083 "y.tab.c" break; case 132: /* simple: APPEND STRING */ #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 3086 "y.tab.c" +#line 3089 "y.tab.c" break; case 133: /* simple: APPEND */ #line 634 "griby.y" { (grib_yyval.act) = grib_action_create_write(grib_parser_context,"",1,0); } -#line 3092 "y.tab.c" +#line 3095 "y.tab.c" break; case 134: /* simple: APPEND '(' INTEGER ')' STRING */ #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 3098 "y.tab.c" +#line 3101 "y.tab.c" break; case 135: /* simple: APPEND '(' INTEGER ')' */ #line 636 "griby.y" { (grib_yyval.act) = grib_action_create_write(grib_parser_context,"",1,(grib_yyvsp[-1].lval)); } -#line 3104 "y.tab.c" +#line 3107 "y.tab.c" break; case 136: /* simple: CLOSE '(' IDENT ')' */ #line 638 "griby.y" { (grib_yyval.act) = grib_action_create_close(grib_parser_context,(grib_yyvsp[-1].str)); free((grib_yyvsp[-1].str));} -#line 3110 "y.tab.c" +#line 3113 "y.tab.c" break; case 137: /* simple: PRINT STRING */ #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 3116 "y.tab.c" +#line 3119 "y.tab.c" break; case 138: /* simple: PRINT '(' STRING ')' STRING */ #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 3122 "y.tab.c" +#line 3125 "y.tab.c" break; case 139: /* simple: PRINT '(' IDENT ')' STRING */ #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 3128 "y.tab.c" +#line 3131 "y.tab.c" break; case 140: /* simple: PRINT */ #line 642 "griby.y" { (grib_yyval.act) = grib_action_create_print(grib_parser_context,"",0); } -#line 3134 "y.tab.c" +#line 3137 "y.tab.c" break; case 141: /* if_block: IF '(' expression ')' '{' instructions '}' */ #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 3140 "y.tab.c" +#line 3143 "y.tab.c" break; case 142: /* if_block: IF '(' expression ')' '{' instructions '}' ELSE '{' instructions '}' */ #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 3146 "y.tab.c" +#line 3149 "y.tab.c" break; case 143: /* if_block: IF_TRANSIENT '(' expression ')' '{' instructions '}' */ #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 3152 "y.tab.c" +#line 3155 "y.tab.c" break; case 144: /* if_block: IF_TRANSIENT '(' expression ')' '{' instructions '}' ELSE '{' instructions '}' */ #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 3158 "y.tab.c" +#line 3161 "y.tab.c" break; case 145: /* when_block: WHEN '(' expression ')' set semi */ #line 653 "griby.y" { (grib_yyval.act) = grib_action_create_when(grib_parser_context,(grib_yyvsp[-3].exp),(grib_yyvsp[-1].act),NULL); } -#line 3164 "y.tab.c" +#line 3167 "y.tab.c" break; case 146: /* when_block: WHEN '(' expression ')' '{' set_list '}' */ #line 654 "griby.y" { (grib_yyval.act) = grib_action_create_when(grib_parser_context,(grib_yyvsp[-4].exp),(grib_yyvsp[-1].act),NULL); } -#line 3170 "y.tab.c" +#line 3173 "y.tab.c" break; case 147: /* when_block: WHEN '(' expression ')' '{' set_list '}' ELSE '{' set_list '}' */ #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 3176 "y.tab.c" +#line 3179 "y.tab.c" break; case 148: /* set: SET IDENT '=' expression */ #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 3182 "y.tab.c" +#line 3185 "y.tab.c" break; case 149: /* set: SET_NOFAIL IDENT '=' expression */ #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 3188 "y.tab.c" +#line 3191 "y.tab.c" break; case 151: /* set_list: set_list set semi */ #line 663 "griby.y" { (grib_yyvsp[-2].act)->next = (grib_yyvsp[-1].act); (grib_yyval.act) = (grib_yyvsp[-2].act); } -#line 3194 "y.tab.c" +#line 3197 "y.tab.c" break; case 152: /* default: empty */ #line 667 "griby.y" { (grib_yyval.explist) = NULL ;} -#line 3200 "y.tab.c" +#line 3203 "y.tab.c" break; case 153: /* default: '=' argument_list */ #line 668 "griby.y" { (grib_yyval.explist) = (grib_yyvsp[0].explist) ;} -#line 3206 "y.tab.c" +#line 3209 "y.tab.c" break; case 154: /* flags: empty */ #line 671 "griby.y" { (grib_yyval.lval) = 0 ; } -#line 3212 "y.tab.c" +#line 3215 "y.tab.c" break; case 155: /* flags: ':' flag_list */ #line 672 "griby.y" { (grib_yyval.lval) = (grib_yyvsp[0].lval); } -#line 3218 "y.tab.c" +#line 3221 "y.tab.c" break; case 157: /* flag_list: flag_list ',' flag */ #line 676 "griby.y" { (grib_yyval.lval) = (grib_yyvsp[-2].lval) | (grib_yyvsp[0].lval); } -#line 3224 "y.tab.c" +#line 3227 "y.tab.c" break; case 158: /* flag: READ_ONLY */ #line 679 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_READ_ONLY; } -#line 3230 "y.tab.c" +#line 3233 "y.tab.c" break; case 159: /* flag: LOWERCASE */ #line 680 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_LOWERCASE; } -#line 3236 "y.tab.c" +#line 3239 "y.tab.c" break; case 160: /* flag: DUMP */ #line 681 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_DUMP; } -#line 3242 "y.tab.c" +#line 3245 "y.tab.c" break; case 161: /* flag: NO_COPY */ #line 682 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_NO_COPY; } -#line 3248 "y.tab.c" +#line 3251 "y.tab.c" break; case 162: /* flag: NO_FAIL */ #line 683 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_NO_FAIL; } -#line 3254 "y.tab.c" +#line 3257 "y.tab.c" break; case 163: /* flag: HIDDEN */ #line 684 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_HIDDEN; } -#line 3260 "y.tab.c" +#line 3263 "y.tab.c" break; case 164: /* flag: EDITION_SPECIFIC */ #line 685 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_EDITION_SPECIFIC; } -#line 3266 "y.tab.c" +#line 3269 "y.tab.c" break; case 165: /* flag: CAN_BE_MISSING */ #line 686 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_CAN_BE_MISSING; } -#line 3272 "y.tab.c" +#line 3275 "y.tab.c" break; case 166: /* flag: CONSTRAINT */ #line 687 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_CONSTRAINT; } -#line 3278 "y.tab.c" +#line 3281 "y.tab.c" break; case 167: /* flag: COPY_OK */ #line 688 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_COPY_OK; } -#line 3284 "y.tab.c" +#line 3287 "y.tab.c" break; case 168: /* flag: TRANS */ #line 689 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_TRANSIENT; } -#line 3290 "y.tab.c" +#line 3293 "y.tab.c" break; case 169: /* flag: STRING_TYPE */ #line 690 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_STRING_TYPE; } -#line 3296 "y.tab.c" +#line 3299 "y.tab.c" break; case 170: /* flag: LONG_TYPE */ #line 691 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_LONG_TYPE; } -#line 3302 "y.tab.c" +#line 3305 "y.tab.c" break; case 171: /* flag: DOUBLE_TYPE */ #line 692 "griby.y" { (grib_yyval.lval) = GRIB_ACCESSOR_FLAG_DOUBLE_TYPE; } -#line 3308 "y.tab.c" +#line 3311 "y.tab.c" break; case 172: /* list_block: IDENT LIST '(' expression ')' '{' instructions '}' */ #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 3314 "y.tab.c" +#line 3317 "y.tab.c" break; case 173: /* while_block: WHILE '(' expression ')' '{' instructions '}' */ #line 698 "griby.y" { (grib_yyval.act) = grib_action_create_while(grib_parser_context,(grib_yyvsp[-4].exp),(grib_yyvsp[-1].act)); } -#line 3320 "y.tab.c" +#line 3323 "y.tab.c" break; case 174: /* trigger_block: TRIGGER '(' argument_list ')' '{' instructions '}' */ #line 701 "griby.y" { (grib_yyval.act) = grib_action_create_trigger(grib_parser_context,(grib_yyvsp[-4].explist),(grib_yyvsp[-1].act)); } -#line 3326 "y.tab.c" +#line 3329 "y.tab.c" break; case 175: /* concept_block: CONCEPT IDENT '{' concept_list '}' flags */ #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 3332 "y.tab.c" +#line 3335 "y.tab.c" break; case 176: /* concept_block: CONCEPT IDENT '(' IDENT ')' '{' concept_list '}' flags */ #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 3338 "y.tab.c" +#line 3341 "y.tab.c" break; case 177: /* concept_block: CONCEPT IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ')' flags */ #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 3344 "y.tab.c" +#line 3347 "y.tab.c" break; case 178: /* concept_block: CONCEPT IDENT '(' IDENT ',' IDENT ',' IDENT ',' IDENT ')' flags */ #line 707 "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 3353 "y.tab.c" break; case 179: /* concept_block: CONCEPT IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ',' IDENT ')' flags */ #line 708 "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 3359 "y.tab.c" break; case 180: /* concept_block: CONCEPT IDENT '(' IDENT ',' STRING ',' IDENT ')' flags */ #line 709 "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 3365 "y.tab.c" break; case 181: /* concept_block: CONCEPT IDENT '.' IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ')' flags */ -#line 710 "griby.y" +#line 711 "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 3371 "y.tab.c" break; - case 182: /* concept_block: CONCEPT IDENT '.' IDENT '(' IDENT ',' STRING ',' IDENT ')' flags */ -#line 711 "griby.y" + case 182: /* concept_block: CONCEPT IDENT '.' IDENT '(' IDENT ',' IDENT ',' IDENT ',' IDENT ')' flags */ +#line 712 "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 3377 "y.tab.c" + break; + + case 183: /* concept_block: CONCEPT IDENT '.' IDENT '(' IDENT ',' STRING ',' IDENT ')' flags */ +#line 713 "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 3383 "y.tab.c" break; - case 183: /* concept_block: CONCEPT IDENT '.' IDENT '{' concept_list '}' flags */ -#line 712 "griby.y" + case 184: /* concept_block: CONCEPT IDENT '.' IDENT '{' concept_list '}' flags */ +#line 714 "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 3389 "y.tab.c" break; - case 184: /* concept_block: CONCEPT IDENT '.' IDENT '(' IDENT ')' '{' concept_list '}' flags */ -#line 713 "griby.y" + case 185: /* concept_block: CONCEPT IDENT '.' IDENT '(' IDENT ')' '{' concept_list '}' flags */ +#line 715 "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 3395 "y.tab.c" break; - case 185: /* concept_block: CONCEPT_NOFAIL IDENT '{' concept_list '}' flags */ -#line 714 "griby.y" + case 186: /* concept_block: CONCEPT_NOFAIL IDENT '{' concept_list '}' flags */ +#line 717 "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 3401 "y.tab.c" break; - case 186: /* concept_block: CONCEPT_NOFAIL IDENT '(' IDENT ')' '{' concept_list '}' flags */ -#line 715 "griby.y" + case 187: /* concept_block: CONCEPT_NOFAIL IDENT '(' IDENT ')' '{' concept_list '}' flags */ +#line 718 "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 3407 "y.tab.c" break; - case 187: /* concept_block: CONCEPT_NOFAIL IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ')' flags */ -#line 716 "griby.y" + case 188: /* concept_block: CONCEPT_NOFAIL IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ')' flags */ +#line 719 "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 3413 "y.tab.c" break; - case 188: /* concept_block: CONCEPT_NOFAIL IDENT '(' IDENT ',' STRING ',' IDENT ')' flags */ -#line 717 "griby.y" + case 189: /* concept_block: CONCEPT_NOFAIL IDENT '(' IDENT ',' STRING ',' IDENT ')' flags */ +#line 720 "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 3419 "y.tab.c" break; - case 189: /* concept_block: CONCEPT_NOFAIL IDENT '.' IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ')' flags */ -#line 718 "griby.y" + case 190: /* concept_block: CONCEPT_NOFAIL IDENT '.' IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ')' flags */ +#line 721 "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 3425 "y.tab.c" break; - case 190: /* concept_block: CONCEPT_NOFAIL IDENT '.' IDENT '(' IDENT ',' STRING ',' IDENT ')' flags */ -#line 719 "griby.y" + case 191: /* concept_block: CONCEPT_NOFAIL IDENT '.' IDENT '(' IDENT ',' STRING ',' IDENT ')' flags */ +#line 722 "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 3431 "y.tab.c" break; - case 191: /* concept_block: CONCEPT_NOFAIL IDENT '.' IDENT '{' concept_list '}' flags */ -#line 720 "griby.y" + case 192: /* concept_block: CONCEPT_NOFAIL IDENT '.' IDENT '{' concept_list '}' flags */ +#line 723 "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 3437 "y.tab.c" break; - case 192: /* concept_block: CONCEPT_NOFAIL IDENT '.' IDENT '(' IDENT ')' '{' concept_list '}' flags */ -#line 721 "griby.y" + case 193: /* concept_block: CONCEPT_NOFAIL IDENT '.' IDENT '(' IDENT ')' '{' concept_list '}' flags */ +#line 724 "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 3443 "y.tab.c" break; - case 194: /* concept_list: concept_list concept_value */ -#line 726 "griby.y" + case 195: /* concept_list: concept_list concept_value */ +#line 729 "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 3449 "y.tab.c" break; - case 196: /* hash_array_list: hash_array_list hash_array_value */ -#line 730 "griby.y" + case 197: /* hash_array_list: hash_array_list hash_array_value */ +#line 733 "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 3455 "y.tab.c" break; - case 197: /* hash_array_block: HASH_ARRAY IDENT '{' hash_array_list '}' flags */ -#line 733 "griby.y" + case 198: /* hash_array_block: HASH_ARRAY IDENT '{' hash_array_list '}' flags */ +#line 736 "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 3461 "y.tab.c" break; - case 198: /* hash_array_block: HASH_ARRAY IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ')' flags */ -#line 734 "griby.y" + case 199: /* hash_array_block: HASH_ARRAY IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ')' flags */ +#line 737 "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 3467 "y.tab.c" break; - case 200: /* case_list: case_list case_value */ -#line 738 "griby.y" + case 201: /* case_list: case_list case_value */ +#line 741 "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 3473 "y.tab.c" break; - case 201: /* case_value: CASE arguments ':' instructions */ -#line 741 "griby.y" + case 202: /* case_value: CASE arguments ':' instructions */ +#line 744 "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 3479 "y.tab.c" break; - case 202: /* switch_block: SWITCH '(' argument_list ')' '{' case_list DEFAULT ':' instructions '}' */ -#line 745 "griby.y" + case 203: /* switch_block: SWITCH '(' argument_list ')' '{' case_list DEFAULT ':' instructions '}' */ +#line 748 "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 3485 "y.tab.c" break; - case 203: /* switch_block: SWITCH '(' argument_list ')' '{' case_list DEFAULT ':' '}' */ -#line 746 "griby.y" + case 204: /* switch_block: SWITCH '(' argument_list ')' '{' case_list DEFAULT ':' '}' */ +#line 749 "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" +#line 3491 "y.tab.c" break; - case 204: /* switch_block: SWITCH '(' argument_list ')' '{' case_list '}' */ -#line 747 "griby.y" + case 205: /* switch_block: SWITCH '(' argument_list ')' '{' case_list '}' */ +#line 750 "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" +#line 3497 "y.tab.c" break; - case 205: /* concept_value: STRING '=' '{' concept_conditions '}' */ -#line 750 "griby.y" + case 206: /* concept_value: STRING '=' '{' concept_conditions '}' */ +#line 753 "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 3495 "y.tab.c" +#line 3504 "y.tab.c" break; - case 206: /* concept_value: IDENT '=' '{' concept_conditions '}' */ -#line 752 "griby.y" + case 207: /* concept_value: IDENT '=' '{' concept_conditions '}' */ +#line 755 "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 3511 "y.tab.c" break; - case 207: /* concept_value: INTEGER '=' '{' concept_conditions '}' */ -#line 754 "griby.y" + case 208: /* concept_value: INTEGER '=' '{' concept_conditions '}' */ +#line 757 "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" +#line 3518 "y.tab.c" break; - case 208: /* concept_value: FLOAT '=' '{' concept_conditions '}' */ -#line 756 "griby.y" + case 209: /* concept_value: FLOAT '=' '{' concept_conditions '}' */ +#line 759 "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" +#line 3525 "y.tab.c" break; - case 210: /* concept_conditions: concept_condition concept_conditions */ -#line 761 "griby.y" + case 211: /* concept_conditions: concept_condition concept_conditions */ +#line 764 "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" +#line 3531 "y.tab.c" break; - case 211: /* concept_condition: IDENT '=' expression ';' */ -#line 764 "griby.y" + case 212: /* concept_condition: IDENT '=' expression ';' */ +#line 767 "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" +#line 3537 "y.tab.c" break; - case 212: /* concept_condition: IDENT '=' '[' integer_array ']' ';' */ -#line 765 "griby.y" + case 213: /* concept_condition: IDENT '=' '[' integer_array ']' ';' */ +#line 768 "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" +#line 3543 "y.tab.c" break; - case 213: /* hash_array_value: STRING '=' '[' integer_array ']' */ -#line 769 "griby.y" + case 214: /* hash_array_value: STRING '=' '[' integer_array ']' */ +#line 772 "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 3541 "y.tab.c" +#line 3550 "y.tab.c" break; - case 214: /* hash_array_value: IDENT '=' '[' integer_array ']' */ -#line 771 "griby.y" + case 215: /* hash_array_value: IDENT '=' '[' integer_array ']' */ +#line 774 "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" +#line 3557 "y.tab.c" break; - case 215: /* string_or_ident: SUBSTR '(' IDENT ',' INTEGER ',' INTEGER ')' */ -#line 775 "griby.y" + case 216: /* string_or_ident: SUBSTR '(' IDENT ',' INTEGER ',' INTEGER ')' */ +#line 778 "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 3554 "y.tab.c" +#line 3563 "y.tab.c" break; - case 216: /* string_or_ident: IDENT */ -#line 776 "griby.y" + case 217: /* string_or_ident: IDENT */ +#line 779 "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 3569 "y.tab.c" break; - case 217: /* string_or_ident: SUBSTR '(' STRING ',' INTEGER ',' INTEGER ')' */ -#line 777 "griby.y" + case 218: /* string_or_ident: SUBSTR '(' STRING ',' INTEGER ',' INTEGER ')' */ +#line 780 "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 3575 "y.tab.c" break; - case 218: /* string_or_ident: STRING */ -#line 778 "griby.y" + case 219: /* string_or_ident: STRING */ +#line 781 "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 3581 "y.tab.c" break; - case 220: /* atom: INTEGER */ -#line 782 "griby.y" + case 221: /* atom: INTEGER */ +#line 785 "griby.y" { (grib_yyval.exp) = new_long_expression(grib_parser_context,(grib_yyvsp[0].lval)); } -#line 3578 "y.tab.c" +#line 3587 "y.tab.c" break; - case 221: /* atom: FLOAT */ -#line 783 "griby.y" + case 222: /* atom: FLOAT */ +#line 786 "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 3593 "y.tab.c" break; - case 222: /* atom: NIL */ -#line 785 "griby.y" + case 223: /* atom: NIL */ +#line 788 "griby.y" { (grib_yyval.exp) = NULL; } -#line 3590 "y.tab.c" +#line 3599 "y.tab.c" break; - case 223: /* atom: DUMMY */ -#line 786 "griby.y" + case 224: /* atom: DUMMY */ +#line 789 "griby.y" { (grib_yyval.exp) = new_true_expression(grib_parser_context); } -#line 3596 "y.tab.c" +#line 3605 "y.tab.c" break; - case 224: /* atom: '(' expression ')' */ -#line 787 "griby.y" + case 225: /* atom: '(' expression ')' */ +#line 790 "griby.y" { (grib_yyval.exp) = (grib_yyvsp[-1].exp); } -#line 3602 "y.tab.c" +#line 3611 "y.tab.c" break; - case 225: /* atom: '-' atom */ -#line 788 "griby.y" + case 226: /* atom: '-' atom */ +#line 791 "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 3617 "y.tab.c" break; - case 226: /* atom: IDENT '(' ')' */ -#line 789 "griby.y" + case 227: /* atom: IDENT '(' ')' */ +#line 792 "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 3623 "y.tab.c" break; - case 227: /* atom: IDENT '(' argument_list ')' */ -#line 790 "griby.y" + case 228: /* atom: IDENT '(' argument_list ')' */ +#line 793 "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 3629 "y.tab.c" break; - case 228: /* power: atom '^' power */ -#line 794 "griby.y" + case 229: /* power: atom '^' power */ +#line 797 "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 3635 "y.tab.c" break; - case 230: /* factor: factor '*' power */ -#line 798 "griby.y" + case 231: /* factor: factor '*' power */ +#line 801 "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 3641 "y.tab.c" break; - case 231: /* factor: factor '/' power */ -#line 799 "griby.y" + case 232: /* factor: factor '/' power */ +#line 802 "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 3647 "y.tab.c" break; - case 232: /* factor: factor '%' power */ -#line 800 "griby.y" + case 233: /* factor: factor '%' power */ +#line 803 "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 3653 "y.tab.c" break; - case 233: /* factor: factor BIT power */ -#line 801 "griby.y" + case 234: /* factor: factor BIT power */ +#line 804 "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 3659 "y.tab.c" break; - case 234: /* factor: factor BITOFF power */ -#line 802 "griby.y" + case 235: /* factor: factor BITOFF power */ +#line 805 "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 3665 "y.tab.c" break; - case 236: /* factor: LENGTH '(' IDENT ')' */ -#line 804 "griby.y" + case 237: /* factor: LENGTH '(' IDENT ')' */ +#line 807 "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 3671 "y.tab.c" break; - case 237: /* factor: IS_IN_LIST '(' IDENT ',' STRING ')' */ -#line 805 "griby.y" + case 238: /* factor: IS_IN_LIST '(' IDENT ',' STRING ')' */ +#line 808 "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 3677 "y.tab.c" break; - case 238: /* factor: IS_IN_DICT '(' IDENT ',' STRING ')' */ -#line 806 "griby.y" + case 239: /* factor: IS_IN_DICT '(' IDENT ',' STRING ')' */ +#line 809 "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 3683 "y.tab.c" break; - case 239: /* factor: IS_INTEGER '(' IDENT ',' INTEGER ')' */ -#line 807 "griby.y" + case 240: /* factor: IS_INTEGER '(' IDENT ',' INTEGER ')' */ +#line 810 "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 3689 "y.tab.c" break; - case 240: /* factor: IS_INTEGER '(' IDENT ',' INTEGER ',' INTEGER ')' */ -#line 808 "griby.y" + case 241: /* factor: IS_INTEGER '(' IDENT ',' INTEGER ',' INTEGER ')' */ +#line 811 "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 3695 "y.tab.c" break; - case 241: /* factor: IS_INTEGER '(' IDENT ')' */ -#line 809 "griby.y" + case 242: /* factor: IS_INTEGER '(' IDENT ')' */ +#line 812 "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 3701 "y.tab.c" break; - case 242: /* term: term '+' factor */ -#line 812 "griby.y" + case 243: /* term: term '+' factor */ +#line 815 "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 3707 "y.tab.c" break; - case 243: /* term: term '-' factor */ -#line 813 "griby.y" + case 244: /* term: term '-' factor */ +#line 816 "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 3713 "y.tab.c" break; - case 245: /* condition: condition GT term */ -#line 817 "griby.y" + case 246: /* condition: condition GT term */ +#line 820 "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 3719 "y.tab.c" break; - case 246: /* condition: condition EQ term */ -#line 819 "griby.y" + case 247: /* condition: condition EQ term */ +#line 822 "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 3725 "y.tab.c" break; - case 247: /* condition: condition LT term */ -#line 820 "griby.y" + case 248: /* condition: condition LT term */ +#line 823 "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 3731 "y.tab.c" break; - case 248: /* condition: condition GE term */ -#line 821 "griby.y" + case 249: /* condition: condition GE term */ +#line 824 "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 3737 "y.tab.c" break; - case 249: /* condition: condition LE term */ -#line 822 "griby.y" + case 250: /* condition: condition LE term */ +#line 825 "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 3743 "y.tab.c" break; - case 250: /* condition: condition NE term */ -#line 823 "griby.y" + case 251: /* condition: condition NE term */ +#line 826 "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 3749 "y.tab.c" break; - case 251: /* condition: string_or_ident IS string_or_ident */ -#line 824 "griby.y" + case 252: /* condition: string_or_ident IS string_or_ident */ +#line 827 "griby.y" { (grib_yyval.exp) = new_string_compare_expression(grib_parser_context,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp),1); } -#line 3746 "y.tab.c" +#line 3755 "y.tab.c" break; - case 252: /* condition: string_or_ident ISNOT string_or_ident */ -#line 825 "griby.y" + case 253: /* condition: string_or_ident ISNOT string_or_ident */ +#line 828 "griby.y" { (grib_yyval.exp) = new_string_compare_expression(grib_parser_context,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp),0); } -#line 3752 "y.tab.c" +#line 3761 "y.tab.c" break; - case 253: /* condition: NOT condition */ -#line 830 "griby.y" + case 254: /* condition: NOT condition */ +#line 833 "griby.y" { (grib_yyval.exp) = new_unop_expression(grib_parser_context,&grib_op_not,NULL,(grib_yyvsp[0].exp)); } -#line 3758 "y.tab.c" +#line 3767 "y.tab.c" break; - case 255: /* conjunction: conjunction AND condition */ -#line 834 "griby.y" + case 256: /* conjunction: conjunction AND condition */ +#line 837 "griby.y" { (grib_yyval.exp) = new_logical_and_expression(grib_parser_context,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp)); } -#line 3764 "y.tab.c" +#line 3773 "y.tab.c" break; - case 257: /* disjunction: disjunction OR conjunction */ -#line 838 "griby.y" + case 258: /* disjunction: disjunction OR conjunction */ +#line 841 "griby.y" { (grib_yyval.exp) = new_logical_or_expression(grib_parser_context,(grib_yyvsp[-2].exp),(grib_yyvsp[0].exp));} -#line 3770 "y.tab.c" +#line 3779 "y.tab.c" break; - case 262: /* rule_entry: IDENT '=' expression ';' */ -#line 852 "griby.y" + case 263: /* rule_entry: IDENT '=' expression ';' */ +#line 855 "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 3776 "y.tab.c" +#line 3785 "y.tab.c" break; - case 263: /* rule_entry: SKIP ';' */ -#line 853 "griby.y" + case 264: /* rule_entry: SKIP ';' */ +#line 856 "griby.y" { (grib_yyval.rule_entry) = grib_new_rule_entry(grib_parser_context,"skip",0);} -#line 3782 "y.tab.c" +#line 3791 "y.tab.c" break; - case 265: /* rule_entries: rule_entry rule_entries */ -#line 857 "griby.y" + case 266: /* rule_entries: rule_entry rule_entries */ +#line 860 "griby.y" { (grib_yyvsp[-1].rule_entry)->next = (grib_yyvsp[0].rule_entry); (grib_yyval.rule_entry) = (grib_yyvsp[-1].rule_entry); } -#line 3788 "y.tab.c" +#line 3797 "y.tab.c" break; - case 266: /* fact: rule_entry */ -#line 860 "griby.y" + case 267: /* fact: rule_entry */ +#line 863 "griby.y" { (grib_yyval.rules) = grib_new_rule(grib_parser_context,NULL,(grib_yyvsp[0].rule_entry)); } -#line 3794 "y.tab.c" +#line 3803 "y.tab.c" break; - case 267: /* conditional_rule: IF '(' expression ')' '{' rule_entries '}' */ -#line 864 "griby.y" + case 268: /* conditional_rule: IF '(' expression ')' '{' rule_entries '}' */ +#line 867 "griby.y" { (grib_yyval.rules) = grib_new_rule(grib_parser_context,(grib_yyvsp[-4].exp),(grib_yyvsp[-1].rule_entry)); } -#line 3800 "y.tab.c" +#line 3809 "y.tab.c" break; - case 269: /* rules: rule rules */ -#line 868 "griby.y" + case 270: /* rules: rule rules */ +#line 871 "griby.y" { (grib_yyvsp[-1].rules)->next = (grib_yyvsp[0].rules); (grib_yyval.rules) = (grib_yyvsp[-1].rules); } -#line 3806 "y.tab.c" +#line 3815 "y.tab.c" break; -#line 3810 "y.tab.c" +#line 3819 "y.tab.c" default: break; } @@ -3999,7 +4008,7 @@ grib_yyparse (void) return grib_yyresult; } -#line 872 "griby.y" +#line 875 "griby.y" static grib_concept_value *_reverse_concept(grib_concept_value *r,grib_concept_value *s) diff --git a/src/griby.y b/src/griby.y index c11df7cfd..c1bcff69d 100644 --- a/src/griby.y +++ b/src/griby.y @@ -707,10 +707,13 @@ concept_block: CONCEPT IDENT '{' concept_list '}' flags { $$ = grib_action_creat | CONCEPT IDENT '(' IDENT ',' IDENT ',' IDENT ',' IDENT ')' flags { $$ = grib_action_create_concept(grib_parser_context,$2,0,$6,0,$4,$8,$10,0,$12,0); free($2);free($6);free($4);free($8);free($10); } | CONCEPT IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ',' IDENT ')' flags { $$ = grib_action_create_concept(grib_parser_context,$2,0,$6,0,$4,$8,$10,$12,$14,0); free($2);free($6);free($4);free($8);free($10);free($12); } | CONCEPT IDENT '(' IDENT ',' STRING ',' IDENT ')' flags { $$ = grib_action_create_concept(grib_parser_context,$2,0,$6,0,$4,$8,0,0,$10,0); free($2);free($6);free($4);free($8); } + | CONCEPT IDENT '.' IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ')' flags { $$ = grib_action_create_concept(grib_parser_context,$4,0,$8,$2,$6,$10,$12,0,$14,0); free($4);free($8);free($6);free($10); free($12); free($2);} + | CONCEPT IDENT '.' IDENT '(' IDENT ',' IDENT ',' IDENT ',' IDENT ')' flags { $$ = grib_action_create_concept(grib_parser_context,$4,0,$8,$2,$6,$10,$12,0,$14,0); free($4);free($8);free($6);free($10); free($12); free($2);} | CONCEPT IDENT '.' IDENT '(' IDENT ',' STRING ',' IDENT ')' flags { $$ = grib_action_create_concept(grib_parser_context,$4,0,$8,$2,$6,$10,0,0,$12,0); free($4);free($8);free($6);free($10); free($2);} | CONCEPT IDENT '.' IDENT '{' concept_list '}' flags { $$ = grib_action_create_concept(grib_parser_context,$4,$6,0,$2,0,0,0,0,$8,0); free($2);free($4); } | CONCEPT IDENT '.' IDENT '(' IDENT ')' '{' concept_list '}' flags { $$ = grib_action_create_concept(grib_parser_context,$4,$9,0,$2,$6,0,0,0,$11,0); free($2);free($4);free($6); } + | CONCEPT_NOFAIL IDENT '{' concept_list '}' flags { $$ = grib_action_create_concept(grib_parser_context,$2,$4,0,0,0,0,0,0,$6,1); free($2); } | CONCEPT_NOFAIL IDENT '(' IDENT ')' '{' concept_list '}' flags { $$ = grib_action_create_concept(grib_parser_context,$2,$7,0,0,$4,0,0,0,$9,1); free($2);free($4); } | CONCEPT_NOFAIL IDENT '(' IDENT ',' STRING ',' IDENT ',' IDENT ')' flags { $$ = grib_action_create_concept(grib_parser_context,$2,0,$6,0,$4,$8,$10,0,$12,1); free($2);free($6);free($4);free($8);free($10); }