#include <stdio.h>
#ifndef INTERFACE
#define INTERFACE 1
#endif
#define YYCODETYPE unsigned char
#define YYNOCODE 133
#define YYACTIONTYPE unsigned short int
#define ParseTOKENTYPE void *
typedef union
{
int yyinit;
ParseTOKENTYPE yy0;
} YYMINORTYPE;
#ifndef YYSTACKDEPTH
#define YYSTACKDEPTH 1000000
#endif
#define ParseARG_SDECL struct vanuatu_data *p_data ;
#define ParseARG_PDECL , struct vanuatu_data *p_data
#define ParseARG_FETCH struct vanuatu_data *p_data = yypParser->p_data
#define ParseARG_STORE yypParser->p_data = p_data
#define YYNSTATE 490
#define YYNRULE 201
#define YY_NO_ACTION (YYNSTATE+YYNRULE+2)
#define YY_ACCEPT_ACTION (YYNSTATE+YYNRULE+1)
#define YY_ERROR_ACTION (YYNSTATE+YYNRULE)
static const YYMINORTYPE yyzerominor = { 0 };
#ifndef yytestcase
#define yytestcase(X)
#endif
static const YYACTIONTYPE yy_action[] = {
230, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 490, 238, 231, 51, 93, 233,
235, 237, 94, 46, 54, 57, 60, 63, 66, 72,
78, 84, 90, 97, 105, 113, 122, 127, 132, 137,
142, 147, 152, 157, 162, 179, 196, 213, 231, 231,
101, 351, 350, 233, 47, 102, 54, 54, 234, 57,
66, 66, 47, 72, 90, 90, 241, 97, 122, 122,
47, 127, 142, 142, 233, 147, 177, 170, 58, 194,
57, 235, 47, 235, 72, 692, 1, 60, 97, 60,
59, 78, 127, 78, 47, 105, 147, 105, 253, 132,
187, 132, 47, 152, 237, 152, 48, 211, 91, 204,
63, 237, 254, 351, 84, 98, 47, 63, 113, 106,
351, 84, 137, 114, 351, 113, 157, 232, 351, 137,
228, 109, 46, 157, 49, 236, 110, 221, 49, 163,
172, 173, 174, 175, 176, 164, 165, 166, 167, 168,
169, 180, 189, 190, 191, 192, 193, 181, 182, 183,
184, 185, 186, 353, 50, 197, 206, 207, 208, 209,
210, 355, 198, 199, 200, 201, 202, 203, 18, 52,
358, 20, 214, 223, 224, 225, 226, 227, 21, 53,
215, 216, 217, 218, 219, 220, 239, 118, 55, 51,
56, 46, 119, 46, 243, 46, 61, 49, 62, 49,
245, 49, 51, 64, 65, 51, 51, 248, 249, 250,
70, 357, 46, 46, 46, 46, 255, 76, 240, 258,
47, 47, 49, 259, 260, 82, 49, 49, 49, 361,
263, 264, 51, 51, 265, 88, 51, 51, 359, 23,
242, 24, 26, 362, 27, 29, 67, 30, 69, 364,
244, 73, 365, 34, 367, 246, 368, 79, 251, 370,
75, 38, 81, 85, 256, 374, 68, 42, 247, 71,
87, 261, 10, 373, 92, 74, 378, 252, 77, 267,
377, 266, 95, 80, 382, 257, 83, 269, 381, 268,
86, 91, 96, 262, 89, 386, 385, 11, 389, 99,
391, 100, 270, 272, 271, 103, 98, 12, 104, 394,
396, 107, 106, 108, 111, 274, 273, 13, 401, 277,
120, 114, 123, 112, 275, 115, 125, 279, 399, 406,
278, 116, 117, 276, 128, 404, 408, 130, 121, 133,
280, 135, 138, 409, 140, 143, 145, 148, 153, 150,
124, 126, 155, 158, 129, 131, 160, 2, 3, 4,
134, 5, 136, 693, 693, 693, 693, 139, 693, 141,
693, 693, 693, 144, 693, 146, 693, 6, 412, 7,
411, 693, 149, 151, 693, 281, 415, 154, 414, 156,
693, 693, 282, 693, 417, 159, 418, 161, 693, 693,
693, 8, 283, 421, 420, 693, 284, 693, 423, 424,
693, 693, 9, 693, 285, 693, 693, 427, 693, 426,
693, 693, 286, 693, 429, 693, 693, 693, 693, 693,
430, 693, 693, 693, 693, 287, 432, 693, 433, 693,
434, 435, 693, 436, 437, 171, 315, 14, 438, 15,
288, 289, 290, 291, 292, 293, 460, 178, 294, 445,
349, 352, 16, 19, 354, 17, 693, 447, 360, 356,
448, 693, 22, 363, 693, 449, 693, 450, 366, 25,
451, 693, 452, 188, 453, 28, 295, 369, 296, 297,
298, 299, 300, 195, 371, 31, 32, 33, 372, 375,
35, 36, 37, 376, 379, 39, 301, 40, 462, 463,
464, 465, 205, 466, 467, 41, 380, 468, 302, 303,
304, 383, 212, 305, 43, 306, 384, 307, 44, 475,
45, 387, 388, 390, 392, 308, 477, 393, 478, 395,
479, 480, 397, 398, 481, 222, 482, 400, 402, 403,
405, 483, 407, 410, 309, 413, 310, 416, 419, 422,
425, 428, 311, 431, 439, 440, 229, 312, 313, 441,
442, 443, 314, 444, 446, 454, 455, 456, 457, 458,
459, 461, 469, 470, 471, 472, 473, 474, 476, 484,
485, 486, 487, 488, 489,
};
static const YYCODETYPE yy_lookahead[] = {
37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, 70, 0, 74, 2, 76, 71, 5,
6, 7, 75, 76, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 2, 2,
72, 8, 76, 5, 76, 77, 10, 10, 72, 11,
14, 14, 76, 15, 18, 18, 72, 19, 22, 22,
76, 23, 26, 26, 5, 27, 30, 30, 72, 31,
11, 6, 76, 6, 15, 35, 36, 12, 19, 12,
72, 16, 23, 16, 76, 20, 27, 20, 72, 24,
31, 24, 76, 28, 7, 28, 76, 32, 3, 32,
13, 7, 72, 8, 17, 3, 76, 13, 21, 3,
8, 17, 25, 3, 8, 21, 29, 71, 8, 25,
33, 73, 76, 29, 76, 73, 78, 33, 76, 43,
44, 45, 46, 47, 48, 43, 44, 45, 46, 47,
48, 57, 58, 59, 60, 61, 62, 57, 58, 59,
60, 61, 62, 76, 76, 50, 51, 52, 53, 54,
55, 76, 50, 51, 52, 53, 54, 55, 3, 76,
88, 9, 64, 65, 66, 67, 68, 69, 3, 76,
64, 65, 66, 67, 68, 69, 71, 74, 71, 76,
71, 76, 79, 76, 73, 76, 73, 76, 73, 76,
74, 76, 76, 74, 74, 76, 76, 71, 71, 71,
71, 76, 76, 76, 76, 76, 72, 72, 84, 73,
76, 76, 76, 73, 73, 73, 76, 76, 76, 89,
74, 74, 76, 76, 74, 74, 76, 76, 84, 9,
85, 3, 9, 85, 3, 9, 3, 3, 9, 90,
86, 3, 86, 3, 91, 87, 87, 3, 84, 92,
9, 3, 9, 3, 85, 93, 96, 3, 97, 96,
9, 86, 3, 97, 76, 98, 94, 99, 98, 76,
99, 87, 9, 100, 95, 101, 100, 80, 101, 84,
102, 3, 75, 103, 102, 104, 103, 3, 80, 76,
105, 76, 76, 81, 85, 9, 3, 3, 77, 81,
106, 76, 3, 76, 9, 86, 76, 3, 107, 87,
9, 3, 3, 78, 82, 76, 9, 112, 82, 108,
83, 76, 76, 76, 3, 83, 112, 9, 79, 3,
113, 9, 3, 109, 9, 3, 9, 3, 3, 9,
88, 88, 9, 3, 89, 89, 9, 3, 9, 3,
90, 9, 90, 132, 132, 132, 132, 91, 132, 91,
132, 132, 132, 92, 132, 92, 132, 3, 110, 9,
113, 132, 93, 93, 132, 114, 111, 94, 114, 94,
132, 132, 115, 132, 115, 95, 116, 95, 132, 132,
132, 3, 120, 117, 120, 132, 121, 132, 121, 118,
132, 132, 9, 132, 122, 132, 132, 119, 132, 122,
132, 132, 123, 132, 123, 132, 132, 132, 132, 132,
124, 132, 132, 132, 132, 128, 128, 132, 128, 132,
128, 128, 132, 128, 128, 124, 1, 3, 128, 3,
128, 128, 128, 128, 128, 128, 126, 124, 129, 125,
4, 4, 3, 9, 4, 3, 132, 129, 4, 4,
129, 132, 9, 4, 132, 129, 132, 129, 4, 9,
129, 132, 129, 125, 129, 9, 129, 4, 129, 129,
129, 129, 129, 125, 4, 9, 9, 9, 4, 4,
9, 9, 9, 4, 4, 9, 130, 9, 130, 130,
130, 130, 126, 130, 130, 9, 4, 130, 130, 130,
130, 4, 126, 130, 9, 130, 4, 130, 9, 127,
9, 4, 4, 4, 4, 131, 131, 4, 131, 4,
131, 131, 4, 4, 131, 127, 131, 4, 4, 4,
4, 131, 4, 4, 131, 4, 131, 4, 4, 4,
4, 4, 131, 4, 4, 4, 127, 131, 131, 4,
4, 4, 131, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4,
};
#define YY_SHIFT_USE_DFLT (-1)
#define YY_SHIFT_MAX 314
static const short yy_shift_ofst[] = {
-1, 34, 66, 67, 68, 89, 95, 97, 117, 124,
125, 132, 136, 140, 63, 63, 63, 63, 63, 63,
63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
63, 63, 63, 63, 195, 192, 192, 205, 260, 260,
268, 263, 263, 271, 266, 266, 273, 274, 269, 274,
192, 269, 278, 280, 281, 280, 260, 281, 284, 288,
283, 288, 263, 283, 290, 294, 291, 294, 266, 291,
299, 63, 63, 192, 303, 318, 303, 324, 63, 63,
63, 260, 326, 333, 326, 334, 63, 63, 63, 263,
335, 339, 335, 344, 63, 63, 63, 63, 266, 341,
348, 341, 349, 195, 347, 195, 347, 361, 205, 358,
205, 358, 366, 268, 362, 268, 362, 369, 271, 365,
271, 365, 372, 273, 367, 273, 367, 374, 278, 370,
278, 370, 375, 284, 373, 284, 373, 380, 290, 377,
290, 377, 384, 379, 379, 379, 379, 379, 379, 379,
384, 379, 379, 379, 379, 379, 379, 384, 379, 386,
382, 382, 382, 382, 382, 382, 382, 386, 382, 382,
382, 382, 382, 382, 386, 382, 404, 400, 400, 400,
400, 400, 400, 400, 404, 400, 400, 400, 400, 400,
400, 404, 400, 428, 433, 433, 433, 433, 433, 433,
433, 428, 433, 433, 433, 433, 433, 433, 428, 433,
475, 474, 486, 476, 487, 489, 490, 492, 495, 484,
494, 493, 499, 500, 504, 506, 513, 520, 516, 517,
518, 524, 525, 521, 522, 523, 529, 530, 526, 528,
536, 542, 547, 545, 549, 551, 552, 557, 558, 559,
560, 563, 565, 568, 569, 573, 574, 575, 576, 578,
579, 581, 583, 584, 585, 586, 587, 589, 590, 591,
595, 596, 597, 599, 600, 601, 602, 603, 604, 605,
606, 607, 608, 609, 610, 611, 612, 613, 614, 615,
616, 617, 618, 619, 620,
};
#define YY_REDUCE_USE_DFLT (-40)
#define YY_REDUCE_MAX 229
static const short yy_reduce_ofst[] = {
70, -37, 116, 122, 114, 120, 135, 142, 138, 146,
-33, -2, 78, 143, 76, 6, 82, -39, 145, 147,
149, 14, 26, 38, 151, 153, 155, 156, 159, 160,
166, 167, 168, 169, 46, 60, 174, 175, 176, 180,
181, 182, 186, 187, 190, 191, -4, 50, 107, 108,
115, 123, 133, 165, 112, 164, 184, 170, 185, 188,
189, 194, 196, 193, 198, 199, 197, 200, 201, 203,
204, 206, 202, 207, 208, 210, 209, 211, 212, 213,
214, 216, 215, 217, 219, 218, 220, 222, 224, 223,
221, 228, 233, 235, 237, 247, 248, 225, 253, 255,
256, 249, 252, 261, 258, 234, 265, 267, 270, 259,
272, 275, 276, 241, 279, 285, 286, 287, 262, 277,
289, 282, 251, 292, 245, 293, 254, 264, 295, 257,
296, 297, 298, 300, 301, 302, 304, 305, 306, 307,
308, 309, 310, 311, 312, 313, 314, 316, 319, 315,
320, 317, 321, 323, 322, 325, 327, 328, 330, 329,
332, 331, 336, 337, 338, 340, 342, 343, 345, 346,
351, 350, 352, 353, 354, 355, 356, 363, 357, 364,
359, 368, 371, 376, 378, 381, 383, 388, 385, 387,
389, 390, 391, 392, 398, 393, 360, 406, 408, 409,
410, 411, 413, 414, 416, 417, 418, 419, 420, 423,
425, 426, 427, 432, 434, 435, 437, 439, 440, 443,
445, 448, 450, 453, 455, 461, 466, 467, 469, 471,
};
static const YYACTIONTYPE yy_default[] = {
491, 691, 691, 691, 691, 691, 691, 691, 691, 691,
691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
691, 691, 691, 691, 691, 547, 547, 691, 549, 549,
691, 551, 551, 691, 553, 553, 691, 691, 572, 691,
547, 572, 691, 691, 575, 691, 549, 575, 691, 691,
578, 691, 551, 578, 691, 691, 581, 691, 553, 581,
691, 691, 691, 547, 539, 691, 539, 691, 691, 691,
691, 549, 541, 691, 541, 691, 691, 691, 691, 551,
543, 691, 543, 691, 691, 691, 691, 691, 553, 545,
691, 545, 691, 691, 600, 691, 600, 691, 691, 603,
691, 603, 691, 691, 606, 691, 606, 691, 691, 609,
691, 609, 691, 691, 616, 691, 616, 691, 691, 619,
691, 619, 691, 691, 622, 691, 622, 691, 691, 625,
691, 625, 691, 638, 638, 638, 638, 638, 638, 638,
691, 638, 638, 638, 638, 638, 638, 691, 638, 691,
653, 653, 653, 653, 653, 653, 653, 691, 653, 653,
653, 653, 653, 653, 691, 653, 691, 668, 668, 668,
668, 668, 668, 668, 691, 668, 668, 668, 668, 668,
668, 691, 668, 691, 683, 683, 683, 683, 683, 683,
683, 691, 683, 683, 683, 683, 683, 683, 691, 683,
691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
691, 691, 691, 691, 691, 492, 493, 494, 495, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
534, 538, 527, 535, 528, 536, 529, 537, 555, 548,
559, 556, 550, 560, 557, 552, 561, 558, 554, 562,
563, 567, 571, 573, 564, 568, 574, 576, 565, 569,
577, 579, 566, 570, 580, 582, 583, 530, 587, 540,
591, 584, 531, 588, 542, 592, 585, 532, 589, 544,
593, 586, 533, 590, 546, 594, 595, 599, 601, 596,
602, 604, 597, 605, 607, 598, 608, 610, 611, 615,
617, 612, 618, 620, 613, 621, 623, 614, 624, 626,
627, 631, 639, 640, 641, 642, 643, 644, 645, 632,
633, 634, 635, 636, 637, 628, 646, 654, 655, 656,
657, 658, 659, 660, 647, 648, 649, 650, 651, 652,
629, 661, 669, 670, 671, 672, 673, 674, 675, 662,
663, 664, 665, 666, 667, 630, 676, 684, 685, 686,
687, 688, 689, 690, 677, 678, 679, 680, 681, 682,
};
#define YY_SZ_ACTTAB (int)(sizeof(yy_action)/sizeof(yy_action[0]))
#ifdef YYFALLBACK
static const YYCODETYPE yyFallback[] = {
};
#endif
struct yyStackEntry
{
YYACTIONTYPE stateno;
YYCODETYPE major;
YYMINORTYPE minor;
};
typedef struct yyStackEntry yyStackEntry;
struct yyParser
{
int yyidx;
#ifdef YYTRACKMAXSTACKDEPTH
int yyidxMax;
#endif
int yyerrcnt;
ParseARG_SDECL
#if YYSTACKDEPTH<=0
int yystksz;
yyStackEntry *yystack;
#else
yyStackEntry yystack[YYSTACKDEPTH];
#endif
};
typedef struct yyParser yyParser;
#ifndef NDEBUG
#include <stdio.h>
static FILE *yyTraceFILE = 0;
static char *yyTracePrompt = 0;
#endif
#ifndef NDEBUG
void
ParseTrace (FILE * TraceFILE, char *zTracePrompt)
{
yyTraceFILE = TraceFILE;
yyTracePrompt = zTracePrompt;
if (yyTraceFILE == 0)
yyTracePrompt = 0;
else if (yyTracePrompt == 0)
yyTraceFILE = 0;
}
#endif
#ifndef NDEBUG
static const char *const yyTokenName[] = {
"$", "VANUATU_NEWLINE", "VANUATU_POINT", "VANUATU_OPEN_BRACKET",
"VANUATU_CLOSE_BRACKET", "VANUATU_POINT_M", "VANUATU_POINT_Z",
"VANUATU_POINT_ZM",
"VANUATU_NUM", "VANUATU_COMMA", "VANUATU_LINESTRING",
"VANUATU_LINESTRING_M",
"VANUATU_LINESTRING_Z", "VANUATU_LINESTRING_ZM", "VANUATU_POLYGON",
"VANUATU_POLYGON_M",
"VANUATU_POLYGON_Z", "VANUATU_POLYGON_ZM", "VANUATU_MULTIPOINT",
"VANUATU_MULTIPOINT_M",
"VANUATU_MULTIPOINT_Z", "VANUATU_MULTIPOINT_ZM", "VANUATU_MULTILINESTRING",
"VANUATU_MULTILINESTRING_M",
"VANUATU_MULTILINESTRING_Z", "VANUATU_MULTILINESTRING_ZM",
"VANUATU_MULTIPOLYGON", "VANUATU_MULTIPOLYGON_M",
"VANUATU_MULTIPOLYGON_Z", "VANUATU_MULTIPOLYGON_ZM",
"VANUATU_GEOMETRYCOLLECTION", "VANUATU_GEOMETRYCOLLECTION_M",
"VANUATU_GEOMETRYCOLLECTION_Z", "VANUATU_GEOMETRYCOLLECTION_ZM", "error",
"main",
"in", "state", "program", "geo_text",
"geo_textz", "geo_textm", "geo_textzm", "point",
"linestring", "polygon", "multipoint", "multilinestring",
"multipolygon", "geocoll", "pointz", "linestringz",
"polygonz", "multipointz", "multilinestringz", "multipolygonz",
"geocollz", "pointm", "linestringm", "polygonm",
"multipointm", "multilinestringm", "multipolygonm", "geocollm",
"pointzm", "linestringzm", "polygonzm", "multipointzm",
"multilinestringzm", "multipolygonzm", "geocollzm", "point_coordxy",
"point_coordxym", "point_coordxyz", "point_coordxyzm", "point_brkt_coordxy",
"coord", "point_brkt_coordxym", "point_brkt_coordxyz",
"point_brkt_coordxyzm",
"extra_brkt_pointsxy", "extra_brkt_pointsxym", "extra_brkt_pointsxyz",
"extra_brkt_pointsxyzm",
"extra_pointsxy", "extra_pointsxym", "extra_pointsxyz", "extra_pointsxyzm",
"linestring_text", "linestring_textm", "linestring_textz",
"linestring_textzm",
"polygon_text", "polygon_textm", "polygon_textz", "polygon_textzm",
"ring", "extra_rings", "ringm", "extra_ringsm",
"ringz", "extra_ringsz", "ringzm", "extra_ringszm",
"multipoint_text", "multipoint_textm", "multipoint_textz",
"multipoint_textzm",
"multilinestring_text", "multilinestring_textm", "multilinestring_textz",
"multilinestring_textzm",
"multilinestring_text2", "multilinestring_textm2", "multilinestring_textz2",
"multilinestring_textzm2",
"multipolygon_text", "multipolygon_textm", "multipolygon_textz",
"multipolygon_textzm",
"multipolygon_text2", "multipolygon_textm2", "multipolygon_textz2",
"multipolygon_textzm2",
"geocoll_text", "geocoll_textm", "geocoll_textz", "geocoll_textzm",
"geocoll_text2", "geocoll_textm2", "geocoll_textz2", "geocoll_textzm2",
};
#endif
#ifndef NDEBUG
static const char *const yyRuleName[] = {
"main ::= in",
"in ::=",
"in ::= in state VANUATU_NEWLINE",
"state ::= program",
"program ::= geo_text",
"program ::= geo_textz",
"program ::= geo_textm",
"program ::= geo_textzm",
"geo_text ::= point",
"geo_text ::= linestring",
"geo_text ::= polygon",
"geo_text ::= multipoint",
"geo_text ::= multilinestring",
"geo_text ::= multipolygon",
"geo_text ::= geocoll",
"geo_textz ::= pointz",
"geo_textz ::= linestringz",
"geo_textz ::= polygonz",
"geo_textz ::= multipointz",
"geo_textz ::= multilinestringz",
"geo_textz ::= multipolygonz",
"geo_textz ::= geocollz",
"geo_textm ::= pointm",
"geo_textm ::= linestringm",
"geo_textm ::= polygonm",
"geo_textm ::= multipointm",
"geo_textm ::= multilinestringm",
"geo_textm ::= multipolygonm",
"geo_textm ::= geocollm",
"geo_textzm ::= pointzm",
"geo_textzm ::= linestringzm",
"geo_textzm ::= polygonzm",
"geo_textzm ::= multipointzm",
"geo_textzm ::= multilinestringzm",
"geo_textzm ::= multipolygonzm",
"geo_textzm ::= geocollzm",
"point ::= VANUATU_POINT VANUATU_OPEN_BRACKET point_coordxy VANUATU_CLOSE_BRACKET",
"pointm ::= VANUATU_POINT_M VANUATU_OPEN_BRACKET point_coordxym VANUATU_CLOSE_BRACKET",
"pointz ::= VANUATU_POINT_Z VANUATU_OPEN_BRACKET point_coordxyz VANUATU_CLOSE_BRACKET",
"pointzm ::= VANUATU_POINT_ZM VANUATU_OPEN_BRACKET point_coordxyzm VANUATU_CLOSE_BRACKET",
"point_brkt_coordxy ::= VANUATU_OPEN_BRACKET coord coord VANUATU_CLOSE_BRACKET",
"point_brkt_coordxym ::= VANUATU_OPEN_BRACKET coord coord coord VANUATU_CLOSE_BRACKET",
"point_brkt_coordxyz ::= VANUATU_OPEN_BRACKET coord coord coord VANUATU_CLOSE_BRACKET",
"point_brkt_coordxyzm ::= VANUATU_OPEN_BRACKET coord coord coord coord VANUATU_CLOSE_BRACKET",
"point_coordxy ::= coord coord",
"point_coordxym ::= coord coord coord",
"point_coordxyz ::= coord coord coord",
"point_coordxyzm ::= coord coord coord coord",
"coord ::= VANUATU_NUM",
"extra_brkt_pointsxy ::=",
"extra_brkt_pointsxy ::= VANUATU_COMMA point_brkt_coordxy extra_brkt_pointsxy",
"extra_brkt_pointsxym ::=",
"extra_brkt_pointsxym ::= VANUATU_COMMA point_brkt_coordxym extra_brkt_pointsxym",
"extra_brkt_pointsxyz ::=",
"extra_brkt_pointsxyz ::= VANUATU_COMMA point_brkt_coordxyz extra_brkt_pointsxyz",
"extra_brkt_pointsxyzm ::=",
"extra_brkt_pointsxyzm ::= VANUATU_COMMA point_brkt_coordxyzm extra_brkt_pointsxyzm",
"extra_pointsxy ::=",
"extra_pointsxy ::= VANUATU_COMMA point_coordxy extra_pointsxy",
"extra_pointsxym ::=",
"extra_pointsxym ::= VANUATU_COMMA point_coordxym extra_pointsxym",
"extra_pointsxyz ::=",
"extra_pointsxyz ::= VANUATU_COMMA point_coordxyz extra_pointsxyz",
"extra_pointsxyzm ::=",
"extra_pointsxyzm ::= VANUATU_COMMA point_coordxyzm extra_pointsxyzm",
"linestring ::= VANUATU_LINESTRING linestring_text",
"linestringm ::= VANUATU_LINESTRING_M linestring_textm",
"linestringz ::= VANUATU_LINESTRING_Z linestring_textz",
"linestringzm ::= VANUATU_LINESTRING_ZM linestring_textzm",
"linestring_text ::= VANUATU_OPEN_BRACKET point_coordxy VANUATU_COMMA point_coordxy extra_pointsxy VANUATU_CLOSE_BRACKET",
"linestring_textm ::= VANUATU_OPEN_BRACKET point_coordxym VANUATU_COMMA point_coordxym extra_pointsxym VANUATU_CLOSE_BRACKET",
"linestring_textz ::= VANUATU_OPEN_BRACKET point_coordxyz VANUATU_COMMA point_coordxyz extra_pointsxyz VANUATU_CLOSE_BRACKET",
"linestring_textzm ::= VANUATU_OPEN_BRACKET point_coordxyzm VANUATU_COMMA point_coordxyzm extra_pointsxyzm VANUATU_CLOSE_BRACKET",
"polygon ::= VANUATU_POLYGON polygon_text",
"polygonm ::= VANUATU_POLYGON_M polygon_textm",
"polygonz ::= VANUATU_POLYGON_Z polygon_textz",
"polygonzm ::= VANUATU_POLYGON_ZM polygon_textzm",
"polygon_text ::= VANUATU_OPEN_BRACKET ring extra_rings VANUATU_CLOSE_BRACKET",
"polygon_textm ::= VANUATU_OPEN_BRACKET ringm extra_ringsm VANUATU_CLOSE_BRACKET",
"polygon_textz ::= VANUATU_OPEN_BRACKET ringz extra_ringsz VANUATU_CLOSE_BRACKET",
"polygon_textzm ::= VANUATU_OPEN_BRACKET ringzm extra_ringszm VANUATU_CLOSE_BRACKET",
"ring ::= VANUATU_OPEN_BRACKET point_coordxy VANUATU_COMMA point_coordxy VANUATU_COMMA point_coordxy VANUATU_COMMA point_coordxy extra_pointsxy VANUATU_CLOSE_BRACKET",
"extra_rings ::=",
"extra_rings ::= VANUATU_COMMA ring extra_rings",
"ringm ::= VANUATU_OPEN_BRACKET point_coordxym VANUATU_COMMA point_coordxym VANUATU_COMMA point_coordxym VANUATU_COMMA point_coordxym extra_pointsxym VANUATU_CLOSE_BRACKET",
"extra_ringsm ::=",
"extra_ringsm ::= VANUATU_COMMA ringm extra_ringsm",
"ringz ::= VANUATU_OPEN_BRACKET point_coordxyz VANUATU_COMMA point_coordxyz VANUATU_COMMA point_coordxyz VANUATU_COMMA point_coordxyz extra_pointsxyz VANUATU_CLOSE_BRACKET",
"extra_ringsz ::=",
"extra_ringsz ::= VANUATU_COMMA ringz extra_ringsz",
"ringzm ::= VANUATU_OPEN_BRACKET point_coordxyzm VANUATU_COMMA point_coordxyzm VANUATU_COMMA point_coordxyzm VANUATU_COMMA point_coordxyzm extra_pointsxyzm VANUATU_CLOSE_BRACKET",
"extra_ringszm ::=",
"extra_ringszm ::= VANUATU_COMMA ringzm extra_ringszm",
"multipoint ::= VANUATU_MULTIPOINT multipoint_text",
"multipointm ::= VANUATU_MULTIPOINT_M multipoint_textm",
"multipointz ::= VANUATU_MULTIPOINT_Z multipoint_textz",
"multipointzm ::= VANUATU_MULTIPOINT_ZM multipoint_textzm",
"multipoint_text ::= VANUATU_OPEN_BRACKET point_coordxy extra_pointsxy VANUATU_CLOSE_BRACKET",
"multipoint_textm ::= VANUATU_OPEN_BRACKET point_coordxym extra_pointsxym VANUATU_CLOSE_BRACKET",
"multipoint_textz ::= VANUATU_OPEN_BRACKET point_coordxyz extra_pointsxyz VANUATU_CLOSE_BRACKET",
"multipoint_textzm ::= VANUATU_OPEN_BRACKET point_coordxyzm extra_pointsxyzm VANUATU_CLOSE_BRACKET",
"multipoint_text ::= VANUATU_OPEN_BRACKET point_brkt_coordxy extra_brkt_pointsxy VANUATU_CLOSE_BRACKET",
"multipoint_textm ::= VANUATU_OPEN_BRACKET point_brkt_coordxym extra_brkt_pointsxym VANUATU_CLOSE_BRACKET",
"multipoint_textz ::= VANUATU_OPEN_BRACKET point_brkt_coordxyz extra_brkt_pointsxyz VANUATU_CLOSE_BRACKET",
"multipoint_textzm ::= VANUATU_OPEN_BRACKET point_brkt_coordxyzm extra_brkt_pointsxyzm VANUATU_CLOSE_BRACKET",
"multilinestring ::= VANUATU_MULTILINESTRING multilinestring_text",
"multilinestringm ::= VANUATU_MULTILINESTRING_M multilinestring_textm",
"multilinestringz ::= VANUATU_MULTILINESTRING_Z multilinestring_textz",
"multilinestringzm ::= VANUATU_MULTILINESTRING_ZM multilinestring_textzm",
"multilinestring_text ::= VANUATU_OPEN_BRACKET linestring_text multilinestring_text2 VANUATU_CLOSE_BRACKET",
"multilinestring_text2 ::=",
"multilinestring_text2 ::= VANUATU_COMMA linestring_text multilinestring_text2",
"multilinestring_textm ::= VANUATU_OPEN_BRACKET linestring_textm multilinestring_textm2 VANUATU_CLOSE_BRACKET",
"multilinestring_textm2 ::=",
"multilinestring_textm2 ::= VANUATU_COMMA linestring_textm multilinestring_textm2",
"multilinestring_textz ::= VANUATU_OPEN_BRACKET linestring_textz multilinestring_textz2 VANUATU_CLOSE_BRACKET",
"multilinestring_textz2 ::=",
"multilinestring_textz2 ::= VANUATU_COMMA linestring_textz multilinestring_textz2",
"multilinestring_textzm ::= VANUATU_OPEN_BRACKET linestring_textzm multilinestring_textzm2 VANUATU_CLOSE_BRACKET",
"multilinestring_textzm2 ::=",
"multilinestring_textzm2 ::= VANUATU_COMMA linestring_textzm multilinestring_textzm2",
"multipolygon ::= VANUATU_MULTIPOLYGON multipolygon_text",
"multipolygonm ::= VANUATU_MULTIPOLYGON_M multipolygon_textm",
"multipolygonz ::= VANUATU_MULTIPOLYGON_Z multipolygon_textz",
"multipolygonzm ::= VANUATU_MULTIPOLYGON_ZM multipolygon_textzm",
"multipolygon_text ::= VANUATU_OPEN_BRACKET polygon_text multipolygon_text2 VANUATU_CLOSE_BRACKET",
"multipolygon_text2 ::=",
"multipolygon_text2 ::= VANUATU_COMMA polygon_text multipolygon_text2",
"multipolygon_textm ::= VANUATU_OPEN_BRACKET polygon_textm multipolygon_textm2 VANUATU_CLOSE_BRACKET",
"multipolygon_textm2 ::=",
"multipolygon_textm2 ::= VANUATU_COMMA polygon_textm multipolygon_textm2",
"multipolygon_textz ::= VANUATU_OPEN_BRACKET polygon_textz multipolygon_textz2 VANUATU_CLOSE_BRACKET",
"multipolygon_textz2 ::=",
"multipolygon_textz2 ::= VANUATU_COMMA polygon_textz multipolygon_textz2",
"multipolygon_textzm ::= VANUATU_OPEN_BRACKET polygon_textzm multipolygon_textzm2 VANUATU_CLOSE_BRACKET",
"multipolygon_textzm2 ::=",
"multipolygon_textzm2 ::= VANUATU_COMMA polygon_textzm multipolygon_textzm2",
"geocoll ::= VANUATU_GEOMETRYCOLLECTION geocoll_text",
"geocollm ::= VANUATU_GEOMETRYCOLLECTION_M geocoll_textm",
"geocollz ::= VANUATU_GEOMETRYCOLLECTION_Z geocoll_textz",
"geocollzm ::= VANUATU_GEOMETRYCOLLECTION_ZM geocoll_textzm",
"geocoll_text ::= VANUATU_OPEN_BRACKET point geocoll_text2 VANUATU_CLOSE_BRACKET",
"geocoll_text ::= VANUATU_OPEN_BRACKET linestring geocoll_text2 VANUATU_CLOSE_BRACKET",
"geocoll_text ::= VANUATU_OPEN_BRACKET polygon geocoll_text2 VANUATU_CLOSE_BRACKET",
"geocoll_text ::= VANUATU_OPEN_BRACKET multipoint geocoll_text2 VANUATU_CLOSE_BRACKET",
"geocoll_text ::= VANUATU_OPEN_BRACKET multilinestring geocoll_text2 VANUATU_CLOSE_BRACKET",
"geocoll_text ::= VANUATU_OPEN_BRACKET multipolygon geocoll_text2 VANUATU_CLOSE_BRACKET",
"geocoll_text ::= VANUATU_OPEN_BRACKET VANUATU_GEOMETRYCOLLECTION geocoll_text geocoll_text2 VANUATU_CLOSE_BRACKET",
"geocoll_text2 ::=",
"geocoll_text2 ::= VANUATU_COMMA point geocoll_text2",
"geocoll_text2 ::= VANUATU_COMMA linestring geocoll_text2",
"geocoll_text2 ::= VANUATU_COMMA polygon geocoll_text2",
"geocoll_text2 ::= VANUATU_COMMA multipoint geocoll_text2",
"geocoll_text2 ::= VANUATU_COMMA multilinestring geocoll_text2",
"geocoll_text2 ::= VANUATU_COMMA multipolygon geocoll_text2",
"geocoll_text2 ::= VANUATU_COMMA VANUATU_GEOMETRYCOLLECTION geocoll_text geocoll_text2",
"geocoll_textm ::= VANUATU_OPEN_BRACKET pointm geocoll_textm2 VANUATU_CLOSE_BRACKET",
"geocoll_textm ::= VANUATU_OPEN_BRACKET linestringm geocoll_textm2 VANUATU_CLOSE_BRACKET",
"geocoll_textm ::= VANUATU_OPEN_BRACKET polygonm geocoll_textm2 VANUATU_CLOSE_BRACKET",
"geocoll_textm ::= VANUATU_OPEN_BRACKET multipointm geocoll_textm2 VANUATU_CLOSE_BRACKET",
"geocoll_textm ::= VANUATU_OPEN_BRACKET multilinestringm geocoll_textm2 VANUATU_CLOSE_BRACKET",
"geocoll_textm ::= VANUATU_OPEN_BRACKET multipolygonm geocoll_textm2 VANUATU_CLOSE_BRACKET",
"geocoll_textm ::= VANUATU_OPEN_BRACKET VANUATU_GEOMETRYCOLLECTION_M geocoll_textm geocoll_textm2 VANUATU_CLOSE_BRACKET",
"geocoll_textm2 ::=",
"geocoll_textm2 ::= VANUATU_COMMA pointm geocoll_textm2",
"geocoll_textm2 ::= VANUATU_COMMA linestringm geocoll_textm2",
"geocoll_textm2 ::= VANUATU_COMMA polygonm geocoll_textm2",
"geocoll_textm2 ::= VANUATU_COMMA multipointm geocoll_textm2",
"geocoll_textm2 ::= VANUATU_COMMA multilinestringm geocoll_textm2",
"geocoll_textm2 ::= VANUATU_COMMA multipolygonm geocoll_textm2",
"geocoll_textm2 ::= VANUATU_COMMA VANUATU_GEOMETRYCOLLECTION_M geocoll_textm geocoll_textm2",
"geocoll_textz ::= VANUATU_OPEN_BRACKET pointz geocoll_textz2 VANUATU_CLOSE_BRACKET",
"geocoll_textz ::= VANUATU_OPEN_BRACKET linestringz geocoll_textz2 VANUATU_CLOSE_BRACKET",
"geocoll_textz ::= VANUATU_OPEN_BRACKET polygonz geocoll_textz2 VANUATU_CLOSE_BRACKET",
"geocoll_textz ::= VANUATU_OPEN_BRACKET multipointz geocoll_textz2 VANUATU_CLOSE_BRACKET",
"geocoll_textz ::= VANUATU_OPEN_BRACKET multilinestringz geocoll_textz2 VANUATU_CLOSE_BRACKET",
"geocoll_textz ::= VANUATU_OPEN_BRACKET multipolygonz geocoll_textz2 VANUATU_CLOSE_BRACKET",
"geocoll_textz ::= VANUATU_OPEN_BRACKET VANUATU_GEOMETRYCOLLECTION_Z geocoll_textz geocoll_textz2 VANUATU_CLOSE_BRACKET",
"geocoll_textz2 ::=",
"geocoll_textz2 ::= VANUATU_COMMA pointz geocoll_textz2",
"geocoll_textz2 ::= VANUATU_COMMA linestringz geocoll_textz2",
"geocoll_textz2 ::= VANUATU_COMMA polygonz geocoll_textz2",
"geocoll_textz2 ::= VANUATU_COMMA multipointz geocoll_textz2",
"geocoll_textz2 ::= VANUATU_COMMA multilinestringz geocoll_textz2",
"geocoll_textz2 ::= VANUATU_COMMA multipolygonz geocoll_textz2",
"geocoll_textz2 ::= VANUATU_COMMA VANUATU_GEOMETRYCOLLECTION_Z geocoll_textz geocoll_textz2",
"geocoll_textzm ::= VANUATU_OPEN_BRACKET pointzm geocoll_textzm2 VANUATU_CLOSE_BRACKET",
"geocoll_textzm ::= VANUATU_OPEN_BRACKET linestringzm geocoll_textzm2 VANUATU_CLOSE_BRACKET",
"geocoll_textzm ::= VANUATU_OPEN_BRACKET polygonzm geocoll_textzm2 VANUATU_CLOSE_BRACKET",
"geocoll_textzm ::= VANUATU_OPEN_BRACKET multipointzm geocoll_textzm2 VANUATU_CLOSE_BRACKET",
"geocoll_textzm ::= VANUATU_OPEN_BRACKET multilinestringzm geocoll_textzm2 VANUATU_CLOSE_BRACKET",
"geocoll_textzm ::= VANUATU_OPEN_BRACKET multipolygonzm geocoll_textzm2 VANUATU_CLOSE_BRACKET",
"geocoll_textzm ::= VANUATU_OPEN_BRACKET VANUATU_GEOMETRYCOLLECTION_ZM geocoll_textzm geocoll_textzm2 VANUATU_CLOSE_BRACKET",
"geocoll_textzm2 ::=",
"geocoll_textzm2 ::= VANUATU_COMMA pointzm geocoll_textzm2",
"geocoll_textzm2 ::= VANUATU_COMMA linestringzm geocoll_textzm2",
"geocoll_textzm2 ::= VANUATU_COMMA polygonzm geocoll_textzm2",
"geocoll_textzm2 ::= VANUATU_COMMA multipointzm geocoll_textzm2",
"geocoll_textzm2 ::= VANUATU_COMMA multilinestringzm geocoll_textzm2",
"geocoll_textzm2 ::= VANUATU_COMMA multipolygonzm geocoll_textzm2",
"geocoll_textzm2 ::= VANUATU_COMMA VANUATU_GEOMETRYCOLLECTION_ZM geocoll_textzm geocoll_textzm2",
};
#endif
#if YYSTACKDEPTH<=0
static void
yyGrowStack (yyParser * p)
{
int newSize;
yyStackEntry *pNew;
newSize = p->yystksz * 2 + 100;
pNew = realloc (p->yystack, newSize * sizeof (pNew[0]));
if (pNew)
{
p->yystack = pNew;
p->yystksz = newSize;
#ifndef NDEBUG
if (yyTraceFILE)
{
fprintf (yyTraceFILE, "%sStack grows to %d entries!\n",
yyTracePrompt, p->yystksz);
}
#endif
}
}
#endif
void *
ParseAlloc (void *(*mallocProc) (size_t))
{
yyParser *pParser;
pParser = (yyParser *) (*mallocProc) ((size_t) sizeof (yyParser));
if (pParser)
{
pParser->yyidx = -1;
#ifdef YYTRACKMAXSTACKDEPTH
pParser->yyidxMax = 0;
#endif
#if YYSTACKDEPTH<=0
pParser->yystack = NULL;
pParser->yystksz = 0;
yyGrowStack (pParser);
#endif
}
return pParser;
}
static void
yy_destructor (yyParser * yypParser,
YYCODETYPE yymajor,
YYMINORTYPE * yypminor
)
{
ParseARG_FETCH;
switch (yymajor)
{
default:
break;
}
}
static int
yy_pop_parser_stack (yyParser * pParser)
{
YYCODETYPE yymajor;
yyStackEntry *yytos = &pParser->yystack[pParser->yyidx];
if (pParser->yyidx < 0)
return 0;
#ifndef NDEBUG
if (yyTraceFILE && pParser->yyidx >= 0)
{
fprintf (yyTraceFILE, "%sPopping %s\n",
yyTracePrompt, yyTokenName[yytos->major]);
}
#endif
yymajor = yytos->major;
yy_destructor (pParser, yymajor, &yytos->minor);
pParser->yyidx--;
return yymajor;
}
void
ParseFree (void *p,
void (*freeProc) (void *)
)
{
yyParser *pParser = (yyParser *) p;
if (pParser == 0)
return;
while (pParser->yyidx >= 0)
yy_pop_parser_stack (pParser);
#if YYSTACKDEPTH<=0
free (pParser->yystack);
#endif
(*freeProc) ((void *) pParser);
}
#ifdef YYTRACKMAXSTACKDEPTH
int
ParseStackPeak (void *p)
{
yyParser *pParser = (yyParser *) p;
return pParser->yyidxMax;
}
#endif
static int
yy_find_shift_action (yyParser * pParser,
YYCODETYPE iLookAhead
)
{
int i;
int stateno = pParser->yystack[pParser->yyidx].stateno;
if (stateno > YY_SHIFT_MAX
|| (i = yy_shift_ofst[stateno]) == YY_SHIFT_USE_DFLT)
{
return yy_default[stateno];
}
assert (iLookAhead != YYNOCODE);
i += iLookAhead;
if (i < 0 || i >= YY_SZ_ACTTAB || yy_lookahead[i] != iLookAhead)
{
if (iLookAhead > 0)
{
#ifdef YYFALLBACK
YYCODETYPE iFallback;
if (iLookAhead < sizeof (yyFallback) / sizeof (yyFallback[0])
&& (iFallback = yyFallback[iLookAhead]) != 0)
{
#ifndef NDEBUG
if (yyTraceFILE)
{
fprintf (yyTraceFILE, "%sFALLBACK %s => %s\n",
yyTracePrompt, yyTokenName[iLookAhead],
yyTokenName[iFallback]);
}
#endif
return yy_find_shift_action (pParser, iFallback);
}
#endif
#ifdef YYWILDCARD
{
int j = i - iLookAhead + YYWILDCARD;
if (j >= 0 && j < YY_SZ_ACTTAB
&& yy_lookahead[j] == YYWILDCARD)
{
#ifndef NDEBUG
if (yyTraceFILE)
{
fprintf (yyTraceFILE, "%sWILDCARD %s => %s\n",
yyTracePrompt, yyTokenName[iLookAhead],
yyTokenName[YYWILDCARD]);
}
#endif
return yy_action[j];
}
}
#endif
}
return yy_default[stateno];
}
else
{
return yy_action[i];
}
}
static int
yy_find_reduce_action (int stateno,
YYCODETYPE iLookAhead
)
{
int i;
#ifdef YYERRORSYMBOL
if (stateno > YY_REDUCE_MAX)
{
return yy_default[stateno];
}
#else
assert (stateno <= YY_REDUCE_MAX);
#endif
i = yy_reduce_ofst[stateno];
assert (i != YY_REDUCE_USE_DFLT);
assert (iLookAhead != YYNOCODE);
i += iLookAhead;
#ifdef YYERRORSYMBOL
if (i < 0 || i >= YY_SZ_ACTTAB || yy_lookahead[i] != iLookAhead)
{
return yy_default[stateno];
}
#else
assert (i >= 0 && i < YY_SZ_ACTTAB);
assert (yy_lookahead[i] == iLookAhead);
#endif
return yy_action[i];
}
static void
yyStackOverflow (yyParser * yypParser, YYMINORTYPE * yypMinor)
{
ParseARG_FETCH;
yypParser->yyidx--;
#ifndef NDEBUG
if (yyTraceFILE)
{
fprintf (yyTraceFILE, "%sStack Overflow!\n", yyTracePrompt);
}
#endif
while (yypParser->yyidx >= 0)
yy_pop_parser_stack (yypParser);
spatialite_e ("Giving up. Parser stack overflow\n");
ParseARG_STORE;
}
static void
yy_shift (yyParser * yypParser,
int yyNewState,
int yyMajor,
YYMINORTYPE * yypMinor
)
{
yyStackEntry *yytos;
yypParser->yyidx++;
#ifdef YYTRACKMAXSTACKDEPTH
if (yypParser->yyidx > yypParser->yyidxMax)
{
yypParser->yyidxMax = yypParser->yyidx;
}
#endif
#if YYSTACKDEPTH>0
if (yypParser->yyidx >= YYSTACKDEPTH)
{
yyStackOverflow (yypParser, yypMinor);
return;
}
#else
if (yypParser->yyidx >= yypParser->yystksz)
{
yyGrowStack (yypParser);
if (yypParser->yyidx >= yypParser->yystksz)
{
yyStackOverflow (yypParser, yypMinor);
return;
}
}
#endif
yytos = &yypParser->yystack[yypParser->yyidx];
yytos->stateno = (YYACTIONTYPE) yyNewState;
yytos->major = (YYCODETYPE) yyMajor;
yytos->minor = *yypMinor;
#ifndef NDEBUG
if (yyTraceFILE && yypParser->yyidx > 0)
{
int i;
fprintf (yyTraceFILE, "%sShift %d\n", yyTracePrompt, yyNewState);
fprintf (yyTraceFILE, "%sStack:", yyTracePrompt);
for (i = 1; i <= yypParser->yyidx; i++)
fprintf (yyTraceFILE, " %s",
yyTokenName[yypParser->yystack[i].major]);
fprintf (yyTraceFILE, "\n");
}
#endif
}
static const struct
{
YYCODETYPE lhs;
unsigned char nrhs;
} yyRuleInfo[] =
{
{
35, 1},
{
36, 0},
{
36, 3},
{
37, 1},
{
38, 1},
{
38, 1},
{
38, 1},
{
38, 1},
{
39, 1},
{
39, 1},
{
39, 1},
{
39, 1},
{
39, 1},
{
39, 1},
{
39, 1},
{
40, 1},
{
40, 1},
{
40, 1},
{
40, 1},
{
40, 1},
{
40, 1},
{
40, 1},
{
41, 1},
{
41, 1},
{
41, 1},
{
41, 1},
{
41, 1},
{
41, 1},
{
41, 1},
{
42, 1},
{
42, 1},
{
42, 1},
{
42, 1},
{
42, 1},
{
42, 1},
{
42, 1},
{
43, 4},
{
57, 4},
{
50, 4},
{
64, 4},
{
75, 4},
{
77, 5},
{
78, 5},
{
79, 6},
{
71, 2},
{
72, 3},
{
73, 3},
{
74, 4},
{
76, 1},
{
80, 0},
{
80, 3},
{
81, 0},
{
81, 3},
{
82, 0},
{
82, 3},
{
83, 0},
{
83, 3},
{
84, 0},
{
84, 3},
{
85, 0},
{
85, 3},
{
86, 0},
{
86, 3},
{
87, 0},
{
87, 3},
{
44, 2},
{
58, 2},
{
51, 2},
{
65, 2},
{
88, 6},
{
89, 6},
{
90, 6},
{
91, 6},
{
45, 2},
{
59, 2},
{
52, 2},
{
66, 2},
{
92, 4},
{
93, 4},
{
94, 4},
{
95, 4},
{
96, 10},
{
97, 0},
{
97, 3},
{
98, 10},
{
99, 0},
{
99, 3},
{
100, 10},
{
101, 0},
{
101, 3},
{
102, 10},
{
103, 0},
{
103, 3},
{
46, 2},
{
60, 2},
{
53, 2},
{
67, 2},
{
104, 4},
{
105, 4},
{
106, 4},
{
107, 4},
{
104, 4},
{
105, 4},
{
106, 4},
{
107, 4},
{
47, 2},
{
61, 2},
{
54, 2},
{
68, 2},
{
108, 4},
{
112, 0},
{
112, 3},
{
109, 4},
{
113, 0},
{
113, 3},
{
110, 4},
{
114, 0},
{
114, 3},
{
111, 4},
{
115, 0},
{
115, 3},
{
48, 2},
{
62, 2},
{
55, 2},
{
69, 2},
{
116, 4},
{
120, 0},
{
120, 3},
{
117, 4},
{
121, 0},
{
121, 3},
{
118, 4},
{
122, 0},
{
122, 3},
{
119, 4},
{
123, 0},
{
123, 3},
{
49, 2},
{
63, 2},
{
56, 2},
{
70, 2},
{
124, 4},
{
124, 4},
{
124, 4},
{
124, 4},
{
124, 4},
{
124, 4},
{
124, 5},
{
128, 0},
{
128, 3},
{
128, 3},
{
128, 3},
{
128, 3},
{
128, 3},
{
128, 3},
{
128, 4},
{
125, 4},
{
125, 4},
{
125, 4},
{
125, 4},
{
125, 4},
{
125, 4},
{
125, 5},
{
129, 0},
{
129, 3},
{
129, 3},
{
129, 3},
{
129, 3},
{
129, 3},
{
129, 3},
{
129, 4},
{
126, 4},
{
126, 4},
{
126, 4},
{
126, 4},
{
126, 4},
{
126, 4},
{
126, 5},
{
130, 0},
{
130, 3},
{
130, 3},
{
130, 3},
{
130, 3},
{
130, 3},
{
130, 3},
{
130, 4},
{
127, 4},
{
127, 4},
{
127, 4},
{
127, 4},
{
127, 4},
{
127, 4},
{
127, 5},
{
131, 0},
{
131, 3},
{
131, 3},
{
131, 3},
{
131, 3},
{
131, 3},
{
131, 3},
{
131, 4},};
static void yy_accept (yyParser *);
static void
yy_reduce (yyParser * yypParser,
int yyruleno
)
{
int yygoto;
int yyact;
YYMINORTYPE yygotominor;
yyStackEntry *yymsp;
int yysize;
ParseARG_FETCH;
yymsp = &yypParser->yystack[yypParser->yyidx];
#ifndef NDEBUG
if (yyTraceFILE && yyruleno >= 0
&& yyruleno < (int) (sizeof (yyRuleName) / sizeof (yyRuleName[0])))
{
fprintf (yyTraceFILE, "%sReduce [%s].\n", yyTracePrompt,
yyRuleName[yyruleno]);
}
#endif
yygotominor = yyzerominor;
switch (yyruleno)
{
case 8:
case 9:
yytestcase (yyruleno == 9);
case 10:
yytestcase (yyruleno == 10);
case 11:
yytestcase (yyruleno == 11);
case 12:
yytestcase (yyruleno == 12);
case 13:
yytestcase (yyruleno == 13);
case 14:
yytestcase (yyruleno == 14);
case 15:
yytestcase (yyruleno == 15);
case 16:
yytestcase (yyruleno == 16);
case 17:
yytestcase (yyruleno == 17);
case 18:
yytestcase (yyruleno == 18);
case 19:
yytestcase (yyruleno == 19);
case 20:
yytestcase (yyruleno == 20);
case 21:
yytestcase (yyruleno == 21);
case 22:
yytestcase (yyruleno == 22);
case 23:
yytestcase (yyruleno == 23);
case 24:
yytestcase (yyruleno == 24);
case 25:
yytestcase (yyruleno == 25);
case 26:
yytestcase (yyruleno == 26);
case 27:
yytestcase (yyruleno == 27);
case 28:
yytestcase (yyruleno == 28);
case 29:
yytestcase (yyruleno == 29);
case 30:
yytestcase (yyruleno == 30);
case 31:
yytestcase (yyruleno == 31);
case 32:
yytestcase (yyruleno == 32);
case 33:
yytestcase (yyruleno == 33);
case 34:
yytestcase (yyruleno == 34);
case 35:
yytestcase (yyruleno == 35);
{
p_data->result = yymsp[0].minor.yy0;
}
break;
case 36:
{
yygotominor.yy0 =
vanuatu_buildGeomFromPoint (p_data,
(gaiaPointPtr) yymsp[-1].minor.
yy0);
}
break;
case 37:
case 38:
yytestcase (yyruleno == 38);
case 39:
yytestcase (yyruleno == 39);
{
yygotominor.yy0 =
vanuatu_buildGeomFromPoint (p_data,
(gaiaPointPtr) yymsp[-1].minor.
yy0);
}
break;
case 40:
{
yygotominor.yy0 =
(void *) vanuatu_point_xy (p_data,
(double *) yymsp[-2].minor.yy0,
(double *) yymsp[-1].minor.yy0);
}
break;
case 41:
{
yygotominor.yy0 =
(void *) vanuatu_point_xym (p_data,
(double *) yymsp[-3].minor.yy0,
(double *) yymsp[-2].minor.yy0,
(double *) yymsp[-1].minor.yy0);
}
break;
case 42:
{
yygotominor.yy0 =
(void *) vanuatu_point_xyz (p_data,
(double *) yymsp[-3].minor.yy0,
(double *) yymsp[-2].minor.yy0,
(double *) yymsp[-1].minor.yy0);
}
break;
case 43:
{
yygotominor.yy0 =
(void *) vanuatu_point_xyzm (p_data,
(double *) yymsp[-4].minor.yy0,
(double *) yymsp[-3].minor.yy0,
(double *) yymsp[-2].minor.yy0,
(double *) yymsp[-1].minor.yy0);
}
break;
case 44:
{
yygotominor.yy0 =
(void *) vanuatu_point_xy (p_data,
(double *) yymsp[-1].minor.yy0,
(double *) yymsp[0].minor.yy0);
}
break;
case 45:
{
yygotominor.yy0 =
(void *) vanuatu_point_xym (p_data,
(double *) yymsp[-2].minor.yy0,
(double *) yymsp[-1].minor.yy0,
(double *) yymsp[0].minor.yy0);
}
break;
case 46:
{
yygotominor.yy0 =
(void *) vanuatu_point_xyz (p_data,
(double *) yymsp[-2].minor.yy0,
(double *) yymsp[-1].minor.yy0,
(double *) yymsp[0].minor.yy0);
}
break;
case 47:
{
yygotominor.yy0 =
(void *) vanuatu_point_xyzm (p_data,
(double *) yymsp[-3].minor.yy0,
(double *) yymsp[-2].minor.yy0,
(double *) yymsp[-1].minor.yy0,
(double *) yymsp[0].minor.yy0);
}
break;
case 48:
case 93:
yytestcase (yyruleno == 93);
case 94:
yytestcase (yyruleno == 94);
case 95:
yytestcase (yyruleno == 95);
case 96:
yytestcase (yyruleno == 96);
case 105:
yytestcase (yyruleno == 105);
case 106:
yytestcase (yyruleno == 106);
case 107:
yytestcase (yyruleno == 107);
case 108:
yytestcase (yyruleno == 108);
case 121:
yytestcase (yyruleno == 121);
case 122:
yytestcase (yyruleno == 122);
case 123:
yytestcase (yyruleno == 123);
case 124:
yytestcase (yyruleno == 124);
case 137:
yytestcase (yyruleno == 137);
case 138:
yytestcase (yyruleno == 138);
case 139:
yytestcase (yyruleno == 139);
case 140:
yytestcase (yyruleno == 140);
{
yygotominor.yy0 = yymsp[0].minor.yy0;
}
break;
case 49:
case 51:
yytestcase (yyruleno == 51);
case 53:
yytestcase (yyruleno == 53);
case 55:
yytestcase (yyruleno == 55);
case 57:
yytestcase (yyruleno == 57);
case 59:
yytestcase (yyruleno == 59);
case 61:
yytestcase (yyruleno == 61);
case 63:
yytestcase (yyruleno == 63);
case 82:
yytestcase (yyruleno == 82);
case 85:
yytestcase (yyruleno == 85);
case 88:
yytestcase (yyruleno == 88);
case 91:
yytestcase (yyruleno == 91);
case 110:
yytestcase (yyruleno == 110);
case 113:
yytestcase (yyruleno == 113);
case 116:
yytestcase (yyruleno == 116);
case 119:
yytestcase (yyruleno == 119);
case 126:
yytestcase (yyruleno == 126);
case 129:
yytestcase (yyruleno == 129);
case 132:
yytestcase (yyruleno == 132);
case 135:
yytestcase (yyruleno == 135);
case 148:
yytestcase (yyruleno == 148);
case 163:
yytestcase (yyruleno == 163);
case 178:
yytestcase (yyruleno == 178);
case 193:
yytestcase (yyruleno == 193);
{
yygotominor.yy0 = NULL;
}
break;
case 50:
case 52:
yytestcase (yyruleno == 52);
case 54:
yytestcase (yyruleno == 54);
case 56:
yytestcase (yyruleno == 56);
case 58:
yytestcase (yyruleno == 58);
case 60:
yytestcase (yyruleno == 60);
case 62:
yytestcase (yyruleno == 62);
case 64:
yytestcase (yyruleno == 64);
{
((gaiaPointPtr) yymsp[-1].minor.yy0)->Next =
(gaiaPointPtr) yymsp[0].minor.yy0;
yygotominor.yy0 = yymsp[-1].minor.yy0;
}
break;
case 65:
case 66:
yytestcase (yyruleno == 66);
case 67:
yytestcase (yyruleno == 67);
case 68:
yytestcase (yyruleno == 68);
{
yygotominor.yy0 =
vanuatu_buildGeomFromLinestring (p_data,
(gaiaLinestringPtr)
yymsp[0].minor.yy0);
}
break;
case 69:
{
((gaiaPointPtr) yymsp[-2].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-1].minor.yy0;
((gaiaPointPtr) yymsp[-4].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-2].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_linestring_xy (p_data,
(gaiaPointPtr)
yymsp[-4].minor.yy0);
}
break;
case 70:
{
((gaiaPointPtr) yymsp[-2].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-1].minor.yy0;
((gaiaPointPtr) yymsp[-4].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-2].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_linestring_xym (p_data,
(gaiaPointPtr)
yymsp[-4].minor.yy0);
}
break;
case 71:
{
((gaiaPointPtr) yymsp[-2].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-1].minor.yy0;
((gaiaPointPtr) yymsp[-4].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-2].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_linestring_xyz (p_data,
(gaiaPointPtr)
yymsp[-4].minor.yy0);
}
break;
case 72:
{
((gaiaPointPtr) yymsp[-2].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-1].minor.yy0;
((gaiaPointPtr) yymsp[-4].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-2].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_linestring_xyzm (p_data,
(gaiaPointPtr)
yymsp[-4].minor.yy0);
}
break;
case 73:
case 74:
yytestcase (yyruleno == 74);
case 75:
yytestcase (yyruleno == 75);
case 76:
yytestcase (yyruleno == 76);
{
yygotominor.yy0 =
vanuatu_buildGeomFromPolygon (p_data,
(gaiaPolygonPtr) yymsp[0].minor.
yy0);
}
break;
case 77:
{
((gaiaRingPtr) yymsp[-2].minor.yy0)->Next =
(gaiaRingPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_polygon_xy (p_data,
(gaiaRingPtr) yymsp[-2].minor.
yy0);
}
break;
case 78:
{
((gaiaRingPtr) yymsp[-2].minor.yy0)->Next =
(gaiaRingPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_polygon_xym (p_data,
(gaiaRingPtr) yymsp[-2].minor.
yy0);
}
break;
case 79:
{
((gaiaRingPtr) yymsp[-2].minor.yy0)->Next =
(gaiaRingPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_polygon_xyz (p_data,
(gaiaRingPtr) yymsp[-2].minor.
yy0);
}
break;
case 80:
{
((gaiaRingPtr) yymsp[-2].minor.yy0)->Next =
(gaiaRingPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_polygon_xyzm (p_data,
(gaiaRingPtr) yymsp[-2].minor.
yy0);
}
break;
case 81:
{
((gaiaPointPtr) yymsp[-8].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-6].minor.yy0;
((gaiaPointPtr) yymsp[-6].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-4].minor.yy0;
((gaiaPointPtr) yymsp[-4].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-2].minor.yy0;
((gaiaPointPtr) yymsp[-2].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_ring_xy (p_data,
(gaiaPointPtr) yymsp[-8].minor.yy0);
}
break;
case 83:
case 86:
yytestcase (yyruleno == 86);
case 89:
yytestcase (yyruleno == 89);
case 92:
yytestcase (yyruleno == 92);
{
((gaiaRingPtr) yymsp[-1].minor.yy0)->Next =
(gaiaRingPtr) yymsp[0].minor.yy0;
yygotominor.yy0 = yymsp[-1].minor.yy0;
}
break;
case 84:
{
((gaiaPointPtr) yymsp[-8].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-6].minor.yy0;
((gaiaPointPtr) yymsp[-6].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-4].minor.yy0;
((gaiaPointPtr) yymsp[-4].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-2].minor.yy0;
((gaiaPointPtr) yymsp[-2].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_ring_xym (p_data,
(gaiaPointPtr) yymsp[-8].minor.
yy0);
}
break;
case 87:
{
((gaiaPointPtr) yymsp[-8].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-6].minor.yy0;
((gaiaPointPtr) yymsp[-6].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-4].minor.yy0;
((gaiaPointPtr) yymsp[-4].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-2].minor.yy0;
((gaiaPointPtr) yymsp[-2].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_ring_xyz (p_data,
(gaiaPointPtr) yymsp[-8].minor.
yy0);
}
break;
case 90:
{
((gaiaPointPtr) yymsp[-8].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-6].minor.yy0;
((gaiaPointPtr) yymsp[-6].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-4].minor.yy0;
((gaiaPointPtr) yymsp[-4].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-2].minor.yy0;
((gaiaPointPtr) yymsp[-2].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_ring_xyzm (p_data,
(gaiaPointPtr) yymsp[-8].minor.
yy0);
}
break;
case 97:
case 101:
yytestcase (yyruleno == 101);
{
((gaiaPointPtr) yymsp[-2].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_multipoint_xy (p_data,
(gaiaPointPtr)
yymsp[-2].minor.yy0);
}
break;
case 98:
case 102:
yytestcase (yyruleno == 102);
{
((gaiaPointPtr) yymsp[-2].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_multipoint_xym (p_data,
(gaiaPointPtr)
yymsp[-2].minor.yy0);
}
break;
case 99:
case 103:
yytestcase (yyruleno == 103);
{
((gaiaPointPtr) yymsp[-2].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_multipoint_xyz (p_data,
(gaiaPointPtr)
yymsp[-2].minor.yy0);
}
break;
case 100:
case 104:
yytestcase (yyruleno == 104);
{
((gaiaPointPtr) yymsp[-2].minor.yy0)->Next =
(gaiaPointPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_multipoint_xyzm (p_data,
(gaiaPointPtr)
yymsp[-2].minor.yy0);
}
break;
case 109:
{
((gaiaLinestringPtr) yymsp[-2].minor.yy0)->Next =
(gaiaLinestringPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_multilinestring_xy (p_data,
(gaiaLinestringPtr)
yymsp[-2].minor.yy0);
}
break;
case 111:
case 114:
yytestcase (yyruleno == 114);
case 117:
yytestcase (yyruleno == 117);
case 120:
yytestcase (yyruleno == 120);
{
((gaiaLinestringPtr) yymsp[-1].minor.yy0)->Next =
(gaiaLinestringPtr) yymsp[0].minor.yy0;
yygotominor.yy0 = yymsp[-1].minor.yy0;
}
break;
case 112:
{
((gaiaLinestringPtr) yymsp[-2].minor.yy0)->Next =
(gaiaLinestringPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_multilinestring_xym (p_data,
(gaiaLinestringPtr)
yymsp[-2].minor.yy0);
}
break;
case 115:
{
((gaiaLinestringPtr) yymsp[-2].minor.yy0)->Next =
(gaiaLinestringPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_multilinestring_xyz (p_data,
(gaiaLinestringPtr)
yymsp[-2].minor.yy0);
}
break;
case 118:
{
((gaiaLinestringPtr) yymsp[-2].minor.yy0)->Next =
(gaiaLinestringPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_multilinestring_xyzm (p_data,
(gaiaLinestringPtr)
yymsp[-2].minor.yy0);
}
break;
case 125:
{
((gaiaPolygonPtr) yymsp[-2].minor.yy0)->Next =
(gaiaPolygonPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_multipolygon_xy (p_data,
(gaiaPolygonPtr)
yymsp[-2].minor.yy0);
}
break;
case 127:
case 130:
yytestcase (yyruleno == 130);
case 133:
yytestcase (yyruleno == 133);
case 136:
yytestcase (yyruleno == 136);
{
((gaiaPolygonPtr) yymsp[-1].minor.yy0)->Next =
(gaiaPolygonPtr) yymsp[0].minor.yy0;
yygotominor.yy0 = yymsp[-1].minor.yy0;
}
break;
case 128:
{
((gaiaPolygonPtr) yymsp[-2].minor.yy0)->Next =
(gaiaPolygonPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_multipolygon_xym (p_data,
(gaiaPolygonPtr)
yymsp[-2].minor.yy0);
}
break;
case 131:
{
((gaiaPolygonPtr) yymsp[-2].minor.yy0)->Next =
(gaiaPolygonPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_multipolygon_xyz (p_data,
(gaiaPolygonPtr)
yymsp[-2].minor.yy0);
}
break;
case 134:
{
((gaiaPolygonPtr) yymsp[-2].minor.yy0)->Next =
(gaiaPolygonPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_multipolygon_xyzm (p_data,
(gaiaPolygonPtr)
yymsp[-2].minor.yy0);
}
break;
case 141:
case 142:
yytestcase (yyruleno == 142);
case 143:
yytestcase (yyruleno == 143);
case 144:
yytestcase (yyruleno == 144);
case 145:
yytestcase (yyruleno == 145);
case 146:
yytestcase (yyruleno == 146);
case 147:
yytestcase (yyruleno == 147);
{
((gaiaGeomCollPtr) yymsp[-2].minor.yy0)->Next =
(gaiaGeomCollPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_geomColl_xy (p_data,
(gaiaGeomCollPtr)
yymsp[-2].minor.yy0);
}
break;
case 149:
case 150:
yytestcase (yyruleno == 150);
case 151:
yytestcase (yyruleno == 151);
case 152:
yytestcase (yyruleno == 152);
case 153:
yytestcase (yyruleno == 153);
case 154:
yytestcase (yyruleno == 154);
case 155:
yytestcase (yyruleno == 155);
case 164:
yytestcase (yyruleno == 164);
case 165:
yytestcase (yyruleno == 165);
case 166:
yytestcase (yyruleno == 166);
case 167:
yytestcase (yyruleno == 167);
case 168:
yytestcase (yyruleno == 168);
case 169:
yytestcase (yyruleno == 169);
case 170:
yytestcase (yyruleno == 170);
case 179:
yytestcase (yyruleno == 179);
case 180:
yytestcase (yyruleno == 180);
case 181:
yytestcase (yyruleno == 181);
case 182:
yytestcase (yyruleno == 182);
case 183:
yytestcase (yyruleno == 183);
case 184:
yytestcase (yyruleno == 184);
case 185:
yytestcase (yyruleno == 185);
case 194:
yytestcase (yyruleno == 194);
case 195:
yytestcase (yyruleno == 195);
case 196:
yytestcase (yyruleno == 196);
case 197:
yytestcase (yyruleno == 197);
case 198:
yytestcase (yyruleno == 198);
case 199:
yytestcase (yyruleno == 199);
case 200:
yytestcase (yyruleno == 200);
{
((gaiaGeomCollPtr) yymsp[-1].minor.yy0)->Next =
(gaiaGeomCollPtr) yymsp[0].minor.yy0;
yygotominor.yy0 = yymsp[-1].minor.yy0;
}
break;
case 156:
case 157:
yytestcase (yyruleno == 157);
case 158:
yytestcase (yyruleno == 158);
case 159:
yytestcase (yyruleno == 159);
case 160:
yytestcase (yyruleno == 160);
case 161:
yytestcase (yyruleno == 161);
case 162:
yytestcase (yyruleno == 162);
{
((gaiaGeomCollPtr) yymsp[-2].minor.yy0)->Next =
(gaiaGeomCollPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_geomColl_xym (p_data,
(gaiaGeomCollPtr)
yymsp[-2].minor.yy0);
}
break;
case 171:
case 172:
yytestcase (yyruleno == 172);
case 173:
yytestcase (yyruleno == 173);
case 174:
yytestcase (yyruleno == 174);
case 175:
yytestcase (yyruleno == 175);
case 176:
yytestcase (yyruleno == 176);
case 177:
yytestcase (yyruleno == 177);
{
((gaiaGeomCollPtr) yymsp[-2].minor.yy0)->Next =
(gaiaGeomCollPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_geomColl_xyz (p_data,
(gaiaGeomCollPtr)
yymsp[-2].minor.yy0);
}
break;
case 186:
case 187:
yytestcase (yyruleno == 187);
case 188:
yytestcase (yyruleno == 188);
case 189:
yytestcase (yyruleno == 189);
case 190:
yytestcase (yyruleno == 190);
case 191:
yytestcase (yyruleno == 191);
case 192:
yytestcase (yyruleno == 192);
{
((gaiaGeomCollPtr) yymsp[-2].minor.yy0)->Next =
(gaiaGeomCollPtr) yymsp[-1].minor.yy0;
yygotominor.yy0 =
(void *) vanuatu_geomColl_xyzm (p_data,
(gaiaGeomCollPtr)
yymsp[-2].minor.yy0);
}
break;
default:
yytestcase (yyruleno == 0);
yytestcase (yyruleno == 1);
yytestcase (yyruleno == 2);
yytestcase (yyruleno == 3);
yytestcase (yyruleno == 4);
yytestcase (yyruleno == 5);
yytestcase (yyruleno == 6);
yytestcase (yyruleno == 7);
break;
};
yygoto = yyRuleInfo[yyruleno].lhs;
yysize = yyRuleInfo[yyruleno].nrhs;
yypParser->yyidx -= yysize;
yyact = yy_find_reduce_action (yymsp[-yysize].stateno, (YYCODETYPE) yygoto);
if (yyact < YYNSTATE)
{
#ifdef NDEBUG
if (yysize)
{
yypParser->yyidx++;
yymsp -= yysize - 1;
yymsp->stateno = (YYACTIONTYPE) yyact;
yymsp->major = (YYCODETYPE) yygoto;
yymsp->minor = yygotominor;
}
else
#endif
{
yy_shift (yypParser, yyact, yygoto, &yygotominor);
}
}
else
{
assert (yyact == YYNSTATE + YYNRULE + 1);
yy_accept (yypParser);
}
}
#ifndef YYNOERRORRECOVERY
static void
yy_parse_failed (yyParser * yypParser
)
{
ParseARG_FETCH;
#ifndef NDEBUG
if (yyTraceFILE)
{
fprintf (yyTraceFILE, "%sFail!\n", yyTracePrompt);
}
#endif
while (yypParser->yyidx >= 0)
yy_pop_parser_stack (yypParser);
ParseARG_STORE;
}
#endif
static void
yy_syntax_error (yyParser * yypParser,
int yymajor,
YYMINORTYPE yyminor
)
{
ParseARG_FETCH;
#define TOKEN (yyminor.yy0)
p_data->vanuatu_parse_error = 1;
p_data->result = NULL;
ParseARG_STORE;
}
static void
yy_accept (yyParser * yypParser
)
{
ParseARG_FETCH;
#ifndef NDEBUG
if (yyTraceFILE)
{
fprintf (yyTraceFILE, "%sAccept!\n", yyTracePrompt);
}
#endif
while (yypParser->yyidx >= 0)
yy_pop_parser_stack (yypParser);
ParseARG_STORE;
}
void
Parse (void *yyp,
int yymajor,
ParseTOKENTYPE yyminor
ParseARG_PDECL
)
{
YYMINORTYPE yyminorunion;
int yyact;
int yyendofinput;
#ifdef YYERRORSYMBOL
int yyerrorhit = 0;
#endif
yyParser *yypParser;
yypParser = (yyParser *) yyp;
if (yypParser->yyidx < 0)
{
#if YYSTACKDEPTH<=0
if (yypParser->yystksz <= 0)
{
yyminorunion = yyzerominor;
yyStackOverflow (yypParser, &yyminorunion);
return;
}
#endif
yypParser->yyidx = 0;
yypParser->yyerrcnt = -1;
yypParser->yystack[0].stateno = 0;
yypParser->yystack[0].major = 0;
}
yyminorunion.yy0 = yyminor;
yyendofinput = (yymajor == 0);
ParseARG_STORE;
#ifndef NDEBUG
if (yyTraceFILE)
{
fprintf (yyTraceFILE, "%sInput %s\n", yyTracePrompt,
yyTokenName[yymajor]);
}
#endif
do
{
yyact = yy_find_shift_action (yypParser, (YYCODETYPE) yymajor);
if (yyact < YYNSTATE)
{
assert (!yyendofinput);
yy_shift (yypParser, yyact, yymajor, &yyminorunion);
yypParser->yyerrcnt--;
yymajor = YYNOCODE;
}
else if (yyact < YYNSTATE + YYNRULE)
{
yy_reduce (yypParser, yyact - YYNSTATE);
}
else
{
assert (yyact == YY_ERROR_ACTION);
#ifdef YYERRORSYMBOL
int yymx;
#endif
#ifndef NDEBUG
if (yyTraceFILE)
{
fprintf (yyTraceFILE, "%sSyntax Error!\n", yyTracePrompt);
}
#endif
#ifdef YYERRORSYMBOL
if (yypParser->yyerrcnt < 0)
{
yy_syntax_error (yypParser, yymajor, yyminorunion);
}
yymx = yypParser->yystack[yypParser->yyidx].major;
if (yymx == YYERRORSYMBOL || yyerrorhit)
{
#ifndef NDEBUG
if (yyTraceFILE)
{
fprintf (yyTraceFILE, "%sDiscard input token %s\n",
yyTracePrompt, yyTokenName[yymajor]);
}
#endif
yy_destructor (yypParser, (YYCODETYPE) yymajor,
&yyminorunion);
yymajor = YYNOCODE;
}
else
{
while (yypParser->yyidx >= 0 &&
yymx != YYERRORSYMBOL &&
(yyact =
yy_find_reduce_action (yypParser->yystack
[yypParser->yyidx].stateno,
YYERRORSYMBOL)) >=
YYNSTATE)
{
yy_pop_parser_stack (yypParser);
}
if (yypParser->yyidx < 0 || yymajor == 0)
{
yy_destructor (yypParser, (YYCODETYPE) yymajor,
&yyminorunion);
yy_parse_failed (yypParser);
yymajor = YYNOCODE;
}
else if (yymx != YYERRORSYMBOL)
{
YYMINORTYPE u2;
u2.YYERRSYMDT = 0;
yy_shift (yypParser, yyact, YYERRORSYMBOL, &u2);
}
}
yypParser->yyerrcnt = 3;
yyerrorhit = 1;
#elif defined(YYNOERRORRECOVERY)
yy_syntax_error (yypParser, yymajor, yyminorunion);
yy_destructor (yypParser, (YYCODETYPE) yymajor, &yyminorunion);
yymajor = YYNOCODE;
#else
if (yypParser->yyerrcnt <= 0)
{
yy_syntax_error (yypParser, yymajor, yyminorunion);
}
yypParser->yyerrcnt = 3;
yy_destructor (yypParser, (YYCODETYPE) yymajor, &yyminorunion);
if (yyendofinput)
{
yy_parse_failed (yypParser);
}
yymajor = YYNOCODE;
#endif
}
}
while (yymajor != YYNOCODE && yypParser->yyidx >= 0);
return;
}