51 #define YYBISON_VERSION "3.4"
54 #define YYSKELETON_NAME "yacc.c"
67 #define yyparse wkt_yyparse
68 #define yylex wkt_yylex
69 #define yyerror wkt_yyerror
70 #define yydebug wkt_yydebug
71 #define yynerrs wkt_yynerrs
73 #define yylval wkt_yylval
74 #define yychar wkt_yychar
75 #define yylloc wkt_yylloc
78 #line 1 "lwin_wkt_parse.y"
147 LWDEBUGF(4,
"wkt_yyparse returned %d", parse_rv);
165 LWDEBUGF(5,
"error returned by wkt_yyparse() @ %d: [%d] '%s'",
182 #define WKT_ERROR() { if ( global_parser_result.errcode != 0 ) { YYERROR; } }
186 #line 187 "lwin_wkt_parse.c"
189 # if defined __cplusplus
190 # if 201103L <= __cplusplus
191 # define YY_NULLPTR nullptr
193 # define YY_NULLPTR 0
196 # define YY_NULLPTR ((void*)0)
201 #ifdef YYERROR_VERBOSE
202 # undef YYERROR_VERBOSE
203 # define YYERROR_VERBOSE 1
205 # define YYERROR_VERBOSE 1
210 #ifndef YY_WKT_YY_LWIN_WKT_PARSE_H_INCLUDED
211 # define YY_WKT_YY_LWIN_WKT_PARSE_H_INCLUDED
251 #define POINT_TOK 258
252 #define LINESTRING_TOK 259
253 #define POLYGON_TOK 260
254 #define MPOINT_TOK 261
255 #define MLINESTRING_TOK 262
256 #define MPOLYGON_TOK 263
257 #define MSURFACE_TOK 264
258 #define MCURVE_TOK 265
259 #define CURVEPOLYGON_TOK 266
260 #define COMPOUNDCURVE_TOK 267
261 #define CIRCULARSTRING_TOK 268
262 #define COLLECTION_TOK 269
263 #define RBRACKET_TOK 270
264 #define LBRACKET_TOK 271
265 #define COMMA_TOK 272
266 #define EMPTY_TOK 273
267 #define SEMICOLON_TOK 274
268 #define TRIANGLE_TOK 275
270 #define POLYHEDRALSURFACE_TOK 277
271 #define DOUBLE_TOK 278
272 #define DIMENSIONALITY_TOK 279
276 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
279 #line 112 "lwin_wkt_parse.y"
288 #line 289 "lwin_wkt_parse.c"
292 # define YYSTYPE_IS_TRIVIAL 1
293 # define YYSTYPE_IS_DECLARED 1
297 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
306 # define YYLTYPE_IS_DECLARED 1
307 # define YYLTYPE_IS_TRIVIAL 1
348 # ifdef __SIZE_TYPE__
349 # define YYSIZE_T __SIZE_TYPE__
350 # elif defined size_t
351 # define YYSIZE_T size_t
352 # elif ! defined YYSIZE_T
354 # define YYSIZE_T size_t
356 # define YYSIZE_T unsigned
360 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
363 # if defined YYENABLE_NLS && YYENABLE_NLS
365 # include <libintl.h>
366 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
370 # define YY_(Msgid) Msgid
375 # if (defined __GNUC__ \
376 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
377 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
378 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
380 # define YY_ATTRIBUTE(Spec)
384 #ifndef YY_ATTRIBUTE_PURE
385 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
388 #ifndef YY_ATTRIBUTE_UNUSED
389 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
393 #if ! defined lint || defined __GNUC__
394 # define YYUSE(E) ((void) (E))
399 #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
401 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
402 _Pragma ("GCC diagnostic push") \
403 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
404 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
405 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
406 _Pragma ("GCC diagnostic pop")
408 # define YY_INITIAL_VALUE(Value) Value
410 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
411 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
412 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
414 #ifndef YY_INITIAL_VALUE
415 # define YY_INITIAL_VALUE(Value)
419 #define YY_ASSERT(E) ((void) (0 && (E)))
421 #if ! defined yyoverflow || YYERROR_VERBOSE
425 # ifdef YYSTACK_USE_ALLOCA
426 # if YYSTACK_USE_ALLOCA
428 # define YYSTACK_ALLOC __builtin_alloca
429 # elif defined __BUILTIN_VA_ARG_INCR
432 # define YYSTACK_ALLOC __alloca
433 # elif defined _MSC_VER
435 # define alloca _alloca
437 # define YYSTACK_ALLOC alloca
438 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
441 # ifndef EXIT_SUCCESS
442 # define EXIT_SUCCESS 0
449 # ifdef YYSTACK_ALLOC
451 # define YYSTACK_FREE(Ptr) do { ; } while (0)
452 # ifndef YYSTACK_ALLOC_MAXIMUM
457 # define YYSTACK_ALLOC_MAXIMUM 4032
460 # define YYSTACK_ALLOC YYMALLOC
461 # define YYSTACK_FREE YYFREE
462 # ifndef YYSTACK_ALLOC_MAXIMUM
463 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
465 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
466 && ! ((defined YYMALLOC || defined malloc) \
467 && (defined YYFREE || defined free)))
469 # ifndef EXIT_SUCCESS
470 # define EXIT_SUCCESS 0
474 # define YYMALLOC malloc
475 # if ! defined malloc && ! defined EXIT_SUCCESS
481 # if ! defined free && ! defined EXIT_SUCCESS
489 #if (! defined yyoverflow \
490 && (! defined __cplusplus \
491 || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
492 && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
503 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
507 # define YYSTACK_BYTES(N) \
508 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
509 + 2 * YYSTACK_GAP_MAXIMUM)
511 # define YYCOPY_NEEDED 1
518 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
521 YYSIZE_T yynewbytes; \
522 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
523 Stack = &yyptr->Stack_alloc; \
524 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
525 yyptr += yynewbytes / sizeof (*yyptr); \
531 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
535 # if defined __GNUC__ && 1 < __GNUC__
536 # define YYCOPY(Dst, Src, Count) \
537 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
539 # define YYCOPY(Dst, Src, Count) \
543 for (yyi = 0; yyi < (Count); yyi++) \
544 (Dst)[yyi] = (Src)[yyi]; \
563 #define YYNSTATES 264
566 #define YYMAXUTOK 280
570 #define YYTRANSLATE(YYX) \
571 ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
577 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
578 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
579 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
580 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
581 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
582 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
583 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
584 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
585 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
586 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
587 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
588 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
589 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
590 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
591 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
592 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
593 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
594 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
595 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
596 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
597 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
598 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
599 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
600 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
601 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
602 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
603 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
604 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
612 0, 216, 216, 218, 222, 223, 224, 225, 226, 227,
613 228, 229, 230, 231, 232, 233, 234, 235, 236, 239,
614 241, 243, 245, 249, 251, 255, 257, 259, 261, 265,
615 267, 269, 271, 273, 275, 279, 281, 283, 285, 289,
616 291, 293, 295, 299, 301, 303, 305, 309, 311, 315,
617 317, 321, 323, 325, 327, 331, 333, 337, 340, 342,
618 344, 346, 350, 352, 356, 357, 358, 359, 362, 364,
619 368, 370, 374, 377, 380, 382, 384, 386, 390, 392,
620 394, 396, 398, 400, 404, 406, 408, 410, 414, 416,
621 418, 420, 422, 424, 426, 428, 432, 434, 436, 438,
622 442, 444, 448, 450, 452, 454, 458, 460, 462, 464,
623 468, 470, 474, 476, 480, 482, 484, 486, 490, 494,
624 496, 498, 500, 504, 506, 510, 512, 514, 518, 520,
625 522, 524, 528, 530, 534, 536, 538
629 #if YYDEBUG || YYERROR_VERBOSE || 1
634 "$end",
"error",
"$undefined",
"POINT_TOK",
"LINESTRING_TOK",
635 "POLYGON_TOK",
"MPOINT_TOK",
"MLINESTRING_TOK",
"MPOLYGON_TOK",
636 "MSURFACE_TOK",
"MCURVE_TOK",
"CURVEPOLYGON_TOK",
"COMPOUNDCURVE_TOK",
637 "CIRCULARSTRING_TOK",
"COLLECTION_TOK",
"RBRACKET_TOK",
"LBRACKET_TOK",
638 "COMMA_TOK",
"EMPTY_TOK",
"SEMICOLON_TOK",
"TRIANGLE_TOK",
"TIN_TOK",
639 "POLYHEDRALSURFACE_TOK",
"DOUBLE_TOK",
"DIMENSIONALITY_TOK",
"SRID_TOK",
640 "$accept",
"geometry",
"geometry_no_srid",
"geometrycollection",
641 "geometry_list",
"multisurface",
"surface_list",
"tin",
642 "polyhedralsurface",
"multipolygon",
"polygon_list",
"patch_list",
643 "polygon",
"polygon_untagged",
"patch",
"curvepolygon",
"curvering_list",
644 "curvering",
"patchring_list",
"ring_list",
"patchring",
"ring",
645 "compoundcurve",
"compound_list",
"multicurve",
"curve_list",
646 "multilinestring",
"linestring_list",
"circularstring",
"linestring",
647 "linestring_untagged",
"triangle_list",
"triangle",
"triangle_untagged",
648 "multipoint",
"point_list",
"point_untagged",
"point",
"ptarray",
658 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
659 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
660 275, 276, 277, 278, 279, 280
664 #define YYPACT_NINF -90
666 #define yypact_value_is_default(Yystate) \
667 (!!((Yystate) == (-90)))
669 #define YYTABLE_NINF -1
671 #define yytable_value_is_error(Yytable_value) \
678 109, -2, 16, 23, 26, 36, 39, 40, 52, 53,
679 74, 79, 83, 84, 108, 137, 7, 46, -90, -90,
680 -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
681 -90, -90, -90, -90, 43, -90, 27, 43, -90, 88,
682 33, -90, 144, 140, -90, 167, 175, -90, 176, 179,
683 -90, 183, 20, -90, 184, 11, -90, 187, 11, -90,
684 188, 17, -90, 191, 43, -90, 192, 168, -90, 195,
685 51, -90, 196, 56, -90, 199, 70, -90, 200, 168,
686 -90, 68, 110, -90, 43, -90, 169, 43, -90, 43,
687 204, -90, 33, -90, 43, -90, 205, -90, -90, 140,
688 -90, 43, -90, 208, -90, 175, -90, 33, -90, 209,
689 -90, 179, -90, 212, -90, -90, -90, 20, -90, -90,
690 213, -90, -90, -90, 11, -90, 216, -90, -90, -90,
691 -90, -90, 11, -90, 217, -90, -90, -90, 17, -90,
692 220, 43, -90, -90, 221, 168, -90, 43, 80, -90,
693 93, 224, -90, 56, -90, 94, 225, -90, 70, -90,
694 -90, 105, -90, 43, 228, -90, 229, 232, -90, 33,
695 233, 44, -90, 140, 236, 237, -90, 175, 240, 241,
696 -90, 179, 244, -90, 20, 245, -90, 11, 248, -90,
697 11, 249, -90, 17, 252, -90, 253, -90, 168, 256,
698 257, 43, 43, -90, 56, 260, 43, 261, -90, -90,
699 70, 264, 112, -90, -90, -90, -90, -90, -90, -90,
700 -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
701 -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
702 -90, -90, -90, -90, -90, -90, 47, 265, 268, -90,
703 -90, 269, -90, 94, -90, -90, -90, -90, 131, 132,
712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
713 0, 0, 0, 0, 0, 0, 0, 0, 2, 18,
714 13, 15, 16, 12, 8, 9, 7, 14, 11, 6,
715 5, 17, 10, 4, 0, 131, 0, 0, 109, 0,
716 0, 54, 0, 0, 122, 0, 0, 99, 0, 0,
717 46, 0, 0, 28, 0, 0, 87, 0, 0, 61,
718 0, 0, 77, 0, 0, 105, 0, 0, 22, 0,
719 0, 117, 0, 0, 38, 0, 0, 42, 0, 0,
720 1, 0, 0, 133, 0, 130, 0, 0, 108, 0,
721 0, 71, 0, 53, 0, 127, 0, 124, 125, 0,
722 121, 0, 111, 0, 101, 0, 98, 0, 56, 0,
723 48, 0, 45, 0, 32, 34, 33, 0, 27, 93,
724 0, 92, 94, 95, 0, 86, 0, 63, 66, 67,
725 65, 64, 0, 60, 0, 81, 82, 83, 0, 76,
726 0, 0, 104, 24, 0, 0, 21, 0, 0, 116,
727 0, 0, 113, 0, 37, 0, 0, 50, 0, 41,
728 3, 134, 128, 0, 0, 106, 0, 0, 51, 0,
729 0, 0, 119, 0, 0, 0, 96, 0, 0, 0,
730 43, 0, 0, 25, 0, 0, 84, 0, 0, 58,
731 0, 0, 74, 0, 0, 102, 0, 19, 0, 0,
732 0, 0, 0, 35, 0, 0, 0, 0, 69, 39,
733 0, 0, 135, 132, 129, 107, 73, 70, 52, 126,
734 123, 120, 110, 100, 97, 55, 47, 44, 29, 31,
735 30, 26, 89, 88, 90, 91, 85, 62, 59, 78,
736 79, 80, 75, 103, 23, 20, 0, 0, 0, 112,
737 36, 0, 57, 0, 49, 40, 136, 114, 0, 0,
744 -90, -90, 0, -90, 5, -90, 37, -90, -90, -90,
745 48, 6, -39, -33, -42, -32, 55, -21, -90, -89,
746 -57, 118, -50, 150, -90, 165, -90, 185, -51, -49,
747 -44, 138, -90, 89, -90, 193, 121, -90, -36, -6
753 -1, 17, 143, 19, 144, 20, 113, 21, 22, 23,
754 109, 156, 24, 110, 157, 25, 126, 127, 207, 90,
755 208, 91, 26, 134, 27, 120, 28, 103, 29, 30,
756 131, 151, 31, 152, 32, 96, 97, 33, 82, 83
764 18, 86, 104, 170, 121, 119, 122, 129, 128, 130,
765 135, 123, 136, 114, 34, 2, 35, 137, 179, 115,
766 116, 2, 36, 10, 11, 3, 79, 101, 140, 102,
767 11, 9, 37, 101, 38, 102, 107, 98, 108, 40,
768 39, 41, 43, 84, 44, 85, 80, 42, 164, 89,
769 45, 166, 46, 167, 47, 49, 52, 50, 53, 219,
770 48, 104, 257, 51, 54, 175, 81, 147, 55, 58,
771 56, 59, 150, 121, 119, 122, 57, 60, 114, 160,
772 123, 129, 128, 130, 115, 116, 155, 135, 171, 136,
773 61, 161, 62, 98, 137, 64, 201, 65, 63, 67,
774 70, 68, 71, 66, 87, 196, 88, 69, 72, 202,
775 206, 200, 1, 2, 3, 4, 5, 6, 7, 8,
776 9, 10, 11, 12, 73, 162, 74, 163, 212, 13,
777 14, 15, 75, 223, 16, 256, 233, 232, 234, 129,
778 128, 130, 239, 235, 240, 228, 262, 263, 226, 241,
779 199, 229, 230, 76, 185, 77, 94, 213, 95, 182,
780 92, 78, 93, 81, 211, 247, 248, 98, 254, 237,
781 251, 1, 2, 3, 4, 5, 6, 7, 8, 9,
782 10, 11, 12, 99, 165, 100, 163, 191, 13, 14,
783 15, 101, 105, 102, 106, 107, 261, 108, 244, 111,
784 117, 112, 118, 124, 132, 125, 133, 138, 141, 139,
785 142, 145, 148, 146, 149, 153, 158, 154, 159, 168,
786 172, 169, 173, 176, 180, 177, 181, 183, 186, 184,
787 187, 189, 192, 190, 193, 195, 197, 163, 198, 203,
788 209, 204, 210, 214, 215, 163, 163, 216, 218, 163,
789 169, 221, 222, 173, 163, 224, 225, 177, 169, 227,
790 231, 181, 184, 236, 238, 187, 190, 242, 243, 193,
791 163, 245, 246, 198, 163, 250, 252, 204, 253, 255,
792 258, 210, 163, 259, 260, 163, 163, 217, 194, 188,
793 178, 205, 174, 249, 220
798 0, 37, 46, 92, 55, 55, 55, 58, 58, 58,
799 61, 55, 61, 52, 16, 4, 18, 61, 107, 52,
800 52, 4, 24, 12, 13, 5, 19, 16, 64, 18,
801 13, 11, 16, 16, 18, 18, 16, 43, 18, 16,
802 24, 18, 16, 16, 18, 18, 0, 24, 84, 16,
803 24, 87, 16, 89, 18, 16, 16, 18, 18, 15,
804 24, 105, 15, 24, 24, 101, 23, 16, 16, 16,
805 18, 18, 16, 124, 124, 124, 24, 24, 117, 79,
806 124, 132, 132, 132, 117, 117, 16, 138, 94, 138,
807 16, 23, 18, 99, 138, 16, 16, 18, 24, 16,
808 16, 18, 18, 24, 16, 141, 18, 24, 24, 16,
809 16, 147, 3, 4, 5, 6, 7, 8, 9, 10,
810 11, 12, 13, 14, 16, 15, 18, 17, 23, 20,
811 21, 22, 24, 177, 25, 23, 187, 187, 187, 190,
812 190, 190, 193, 187, 193, 184, 15, 15, 181, 193,
813 145, 184, 184, 16, 117, 18, 16, 163, 18, 111,
814 16, 24, 18, 23, 158, 201, 202, 173, 210, 190,
815 206, 3, 4, 5, 6, 7, 8, 9, 10, 11,
816 12, 13, 14, 16, 15, 18, 17, 132, 20, 21,
817 22, 16, 16, 18, 18, 16, 253, 18, 198, 16,
818 16, 18, 18, 16, 16, 18, 18, 16, 16, 18,
819 18, 16, 16, 18, 18, 16, 16, 18, 18, 15,
820 15, 17, 17, 15, 15, 17, 17, 15, 15, 17,
821 17, 15, 15, 17, 17, 15, 15, 17, 17, 15,
822 15, 17, 17, 15, 15, 17, 17, 15, 15, 17,
823 17, 15, 15, 17, 17, 15, 15, 17, 17, 15,
824 15, 17, 17, 15, 15, 17, 17, 15, 15, 17,
825 17, 15, 15, 17, 17, 15, 15, 17, 17, 15,
826 15, 17, 17, 15, 15, 17, 17, 169, 138, 124,
827 105, 153, 99, 204, 173
834 0, 3, 4, 5, 6, 7, 8, 9, 10, 11,
835 12, 13, 14, 20, 21, 22, 25, 27, 28, 29,
836 31, 33, 34, 35, 38, 41, 48, 50, 52, 54,
837 55, 58, 60, 63, 16, 18, 24, 16, 18, 24,
838 16, 18, 24, 16, 18, 24, 16, 18, 24, 16,
839 18, 24, 16, 18, 24, 16, 18, 24, 16, 18,
840 24, 16, 18, 24, 16, 18, 24, 16, 18, 24,
841 16, 18, 24, 16, 18, 24, 16, 18, 24, 19,
842 0, 23, 64, 65, 16, 18, 64, 16, 18, 16,
843 45, 47, 16, 18, 16, 18, 61, 62, 65, 16,
844 18, 16, 18, 53, 56, 16, 18, 16, 18, 36,
845 39, 16, 18, 32, 38, 39, 41, 16, 18, 48,
846 51, 54, 55, 56, 16, 18, 42, 43, 48, 54,
847 55, 56, 16, 18, 49, 54, 55, 56, 16, 18,
848 64, 16, 18, 28, 30, 16, 18, 16, 16, 18,
849 16, 57, 59, 16, 18, 16, 37, 40, 16, 18,
850 28, 23, 15, 17, 64, 15, 64, 64, 15, 17,
851 45, 65, 15, 17, 61, 64, 15, 17, 53, 45,
852 15, 17, 36, 15, 17, 32, 15, 17, 51, 15,
853 17, 42, 15, 17, 49, 15, 64, 15, 17, 30,
854 64, 16, 16, 15, 17, 57, 16, 44, 46, 15,
855 17, 37, 23, 65, 15, 15, 15, 47, 15, 15,
856 62, 15, 15, 56, 15, 15, 39, 15, 38, 39,
857 41, 15, 48, 54, 55, 56, 15, 43, 15, 54,
858 55, 56, 15, 15, 28, 15, 15, 64, 64, 59,
859 15, 64, 15, 17, 40, 15, 23, 15, 15, 15,
866 0, 26, 27, 27, 28, 28, 28, 28, 28, 28,
867 28, 28, 28, 28, 28, 28, 28, 28, 28, 29,
868 29, 29, 29, 30, 30, 31, 31, 31, 31, 32,
869 32, 32, 32, 32, 32, 33, 33, 33, 33, 34,
870 34, 34, 34, 35, 35, 35, 35, 36, 36, 37,
871 37, 38, 38, 38, 38, 39, 39, 40, 41, 41,
872 41, 41, 42, 42, 43, 43, 43, 43, 44, 44,
873 45, 45, 46, 47, 48, 48, 48, 48, 49, 49,
874 49, 49, 49, 49, 50, 50, 50, 50, 51, 51,
875 51, 51, 51, 51, 51, 51, 52, 52, 52, 52,
876 53, 53, 54, 54, 54, 54, 55, 55, 55, 55,
877 56, 56, 57, 57, 58, 58, 58, 58, 59, 60,
878 60, 60, 60, 61, 61, 62, 62, 62, 63, 63,
879 63, 63, 64, 64, 65, 65, 65
885 0, 2, 1, 3, 1, 1, 1, 1, 1, 1,
886 1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
887 5, 3, 2, 3, 1, 4, 5, 3, 2, 3,
888 3, 3, 1, 1, 1, 4, 5, 3, 2, 4,
889 5, 3, 2, 4, 5, 3, 2, 3, 1, 3,
890 1, 4, 5, 3, 2, 3, 1, 3, 4, 5,
891 3, 2, 3, 1, 1, 1, 1, 1, 3, 1,
892 3, 1, 3, 3, 4, 5, 3, 2, 3, 3,
893 3, 1, 1, 1, 4, 5, 3, 2, 3, 3,
894 3, 3, 1, 1, 1, 1, 4, 5, 3, 2,
895 3, 1, 4, 5, 3, 2, 4, 5, 3, 2,
896 3, 1, 3, 1, 6, 7, 3, 2, 5, 4,
897 5, 3, 2, 3, 1, 1, 3, 1, 4, 5,
902 #define yyerrok (yyerrstatus = 0)
903 #define yyclearin (yychar = YYEMPTY)
907 #define YYACCEPT goto yyacceptlab
908 #define YYABORT goto yyabortlab
909 #define YYERROR goto yyerrorlab
912 #define YYRECOVERING() (!!yyerrstatus)
914 #define YYBACKUP(Token, Value) \
916 if (yychar == YYEMPTY) \
920 YYPOPSTACK (yylen); \
926 yyerror (YY_("syntax error: cannot back up")); \
933 #define YYERRCODE 256
940 #ifndef YYLLOC_DEFAULT
941 # define YYLLOC_DEFAULT(Current, Rhs, N) \
945 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
946 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
947 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
948 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
952 (Current).first_line = (Current).last_line = \
953 YYRHSLOC (Rhs, 0).last_line; \
954 (Current).first_column = (Current).last_column = \
955 YYRHSLOC (Rhs, 0).last_column; \
960 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
968 # define YYFPRINTF fprintf
971 # define YYDPRINTF(Args) \
982 #ifndef YY_LOCATION_PRINT
983 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
989 yy_location_print_ (FILE *yyo,
YYLTYPE const *
const yylocp)
1005 res += YYFPRINTF (yyo,
".%d", end_col);
1007 else if (0 <= end_col && yylocp->
first_column < end_col)
1008 res += YYFPRINTF (yyo,
"-%d", end_col);
1013 # define YY_LOCATION_PRINT(File, Loc) \
1014 yy_location_print_ (File, &(Loc))
1017 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1022 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1026 YYFPRINTF (stderr, "%s ", Title); \
1027 yy_symbol_print (stderr, \
1028 Type, Value, Location); \
1029 YYFPRINTF (stderr, "\n"); \
1039 yy_symbol_value_print (FILE *yyo,
int yytype,
YYSTYPE const *
const yyvaluep,
YYLTYPE const *
const yylocationp)
1041 FILE *yyoutput = yyo;
1043 YYUSE (yylocationp);
1048 YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
1059 yy_symbol_print (FILE *yyo,
int yytype,
YYSTYPE const *
const yyvaluep,
YYLTYPE const *
const yylocationp)
1061 YYFPRINTF (yyo,
"%s %s (",
1064 YY_LOCATION_PRINT (yyo, *yylocationp);
1065 YYFPRINTF (yyo,
": ");
1066 yy_symbol_value_print (yyo, yytype, yyvaluep, yylocationp);
1067 YYFPRINTF (yyo,
")");
1078 YYFPRINTF (stderr,
"Stack now");
1079 for (; yybottom <= yytop; yybottom++)
1081 int yybot = *yybottom;
1082 YYFPRINTF (stderr,
" %d", yybot);
1084 YYFPRINTF (stderr,
"\n");
1087 # define YY_STACK_PRINT(Bottom, Top) \
1090 yy_stack_print ((Bottom), (Top)); \
1101 unsigned long yylno = yyrline[yyrule];
1102 int yynrhs =
yyr2[yyrule];
1104 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %lu):\n",
1107 for (yyi = 0; yyi < yynrhs; yyi++)
1109 YYFPRINTF (stderr,
" $%d = ", yyi + 1);
1110 yy_symbol_print (stderr,
1111 yystos[yyssp[yyi + 1 - yynrhs]],
1112 &yyvsp[(yyi + 1) - (yynrhs)]
1113 , &(yylsp[(yyi + 1) - (yynrhs)]) );
1114 YYFPRINTF (stderr,
"\n");
1118 # define YY_REDUCE_PRINT(Rule) \
1121 yy_reduce_print (yyssp, yyvsp, yylsp, Rule); \
1128 # define YYDPRINTF(Args)
1129 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1130 # define YY_STACK_PRINT(Bottom, Top)
1131 # define YY_REDUCE_PRINT(Rule)
1137 # define YYINITDEPTH 200
1148 # define YYMAXDEPTH 10000
1155 # if defined __GLIBC__ && defined _STRING_H
1156 # define yystrlen strlen
1163 for (yylen = 0; yystr[yylen]; yylen++)
1171 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1172 # define yystpcpy stpcpy
1180 const char *yys = yysrc;
1182 while ((*yyd++ = *yys++) !=
'\0')
1204 char const *yyp = yystr;
1211 goto do_not_strip_quotes;
1215 goto do_not_strip_quotes;
1231 do_not_strip_quotes: ;
1255 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1259 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1289 int yyn =
yypact[*yyssp];
1290 yyarg[yycount++] =
yytname[yytoken];
1296 int yyxbegin = yyn < 0 ? -yyn : 0;
1298 int yychecklim =
YYLAST - yyn + 1;
1302 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1306 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1312 yyarg[yycount++] =
yytname[yyx];
1326 # define YYCASE_(N, S) \
1332 YYCASE_(1,
YY_(
"syntax error, unexpected %s"));
1333 YYCASE_(2,
YY_(
"syntax error, unexpected %s, expecting %s"));
1334 YYCASE_(3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
1335 YYCASE_(4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
1336 YYCASE_(5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1348 if (*yymsg_alloc < yysize)
1350 *yymsg_alloc = 2 * yysize;
1351 if (! (yysize <= *yymsg_alloc
1363 while ((*yyp = *yyformat) !=
'\0')
1364 if (*yyp ==
'%' && yyformat[1] ==
's' && yyi < yycount)
1387 YYUSE (yylocationp);
1396 #line 194 "lwin_wkt_parse.y"
1398 #line 1399 "lwin_wkt_parse.c"
1402 #line 195 "lwin_wkt_parse.y"
1404 #line 1405 "lwin_wkt_parse.c"
1408 #line 202 "lwin_wkt_parse.y"
1410 #line 1411 "lwin_wkt_parse.c"
1414 #line 181 "lwin_wkt_parse.y"
1416 #line 1417 "lwin_wkt_parse.c"
1420 #line 209 "lwin_wkt_parse.y"
1422 #line 1423 "lwin_wkt_parse.c"
1426 #line 208 "lwin_wkt_parse.y"
1428 #line 1429 "lwin_wkt_parse.c"
1432 #line 201 "lwin_wkt_parse.y"
1434 #line 1435 "lwin_wkt_parse.c"
1438 #line 182 "lwin_wkt_parse.y"
1440 #line 1441 "lwin_wkt_parse.c"
1444 #line 183 "lwin_wkt_parse.y"
1446 #line 1447 "lwin_wkt_parse.c"
1450 #line 205 "lwin_wkt_parse.y"
1452 #line 1453 "lwin_wkt_parse.c"
1456 #line 207 "lwin_wkt_parse.y"
1458 #line 1459 "lwin_wkt_parse.c"
1462 #line 206 "lwin_wkt_parse.y"
1464 #line 1465 "lwin_wkt_parse.c"
1468 #line 192 "lwin_wkt_parse.y"
1470 #line 1471 "lwin_wkt_parse.c"
1474 #line 179 "lwin_wkt_parse.y"
1476 #line 1477 "lwin_wkt_parse.c"
1480 #line 193 "lwin_wkt_parse.y"
1482 #line 1483 "lwin_wkt_parse.c"
1486 #line 189 "lwin_wkt_parse.y"
1488 #line 1489 "lwin_wkt_parse.c"
1492 #line 188 "lwin_wkt_parse.y"
1494 #line 1495 "lwin_wkt_parse.c"
1498 #line 178 "lwin_wkt_parse.y"
1500 #line 1501 "lwin_wkt_parse.c"
1504 #line 177 "lwin_wkt_parse.y"
1506 #line 1507 "lwin_wkt_parse.c"
1510 #line 191 "lwin_wkt_parse.y"
1512 #line 1513 "lwin_wkt_parse.c"
1516 #line 187 "lwin_wkt_parse.y"
1518 #line 1519 "lwin_wkt_parse.c"
1522 #line 198 "lwin_wkt_parse.y"
1524 #line 1525 "lwin_wkt_parse.c"
1528 #line 186 "lwin_wkt_parse.y"
1530 #line 1531 "lwin_wkt_parse.c"
1534 #line 199 "lwin_wkt_parse.y"
1536 #line 1537 "lwin_wkt_parse.c"
1540 #line 185 "lwin_wkt_parse.y"
1542 #line 1543 "lwin_wkt_parse.c"
1546 #line 190 "lwin_wkt_parse.y"
1548 #line 1549 "lwin_wkt_parse.c"
1552 #line 196 "lwin_wkt_parse.y"
1554 #line 1555 "lwin_wkt_parse.c"
1558 #line 197 "lwin_wkt_parse.y"
1560 #line 1561 "lwin_wkt_parse.c"
1564 #line 180 "lwin_wkt_parse.y"
1566 #line 1567 "lwin_wkt_parse.c"
1570 #line 210 "lwin_wkt_parse.y"
1572 #line 1573 "lwin_wkt_parse.c"
1576 #line 211 "lwin_wkt_parse.y"
1578 #line 1579 "lwin_wkt_parse.c"
1582 #line 200 "lwin_wkt_parse.y"
1584 #line 1585 "lwin_wkt_parse.c"
1588 #line 184 "lwin_wkt_parse.y"
1590 #line 1591 "lwin_wkt_parse.c"
1594 #line 204 "lwin_wkt_parse.y"
1596 #line 1597 "lwin_wkt_parse.c"
1600 #line 203 "lwin_wkt_parse.y"
1602 #line 1603 "lwin_wkt_parse.c"
1606 #line 176 "lwin_wkt_parse.y"
1608 #line 1609 "lwin_wkt_parse.c"
1627 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
1686 char *yymsg = yymsgbuf;
1687 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
1690 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
1696 yyssp = yyss = yyssa;
1697 yyvsp = yyvs = yyvsa;
1698 yylsp = yyls = yylsa;
1701 YYDPRINTF ((stderr,
"Starting parse\n"));
1724 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
1728 if (yyss + yystacksize - 1 <= yyssp)
1729 #if !defined yyoverflow && !defined YYSTACK_RELOCATE
1730 goto yyexhaustedlab;
1736 # if defined yyoverflow
1749 yyoverflow (
YY_(
"memory exhausted"),
1750 &yyss1, yysize *
sizeof (*yyssp),
1751 &yyvs1, yysize *
sizeof (*yyvsp),
1752 &yyls1, yysize *
sizeof (*yylsp),
1761 goto yyexhaustedlab;
1771 goto yyexhaustedlab;
1775 # undef YYSTACK_RELOCATE
1781 yyssp = yyss + yysize - 1;
1782 yyvsp = yyvs + yysize - 1;
1783 yylsp = yyls + yysize - 1;
1785 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
1786 (
unsigned long) yystacksize));
1788 if (yyss + yystacksize - 1 <= yyssp)
1816 YYDPRINTF ((stderr,
"Reading a token: "));
1823 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1889 yyval = yyvsp[1-yylen];
1893 yyerror_range[1] = yyloc;
1898 #line 217 "lwin_wkt_parse.y"
1900 #line 1901 "lwin_wkt_parse.c"
1904 #line 219 "lwin_wkt_parse.y"
1906 #line 1907 "lwin_wkt_parse.c"
1910 #line 222 "lwin_wkt_parse.y"
1912 #line 1913 "lwin_wkt_parse.c"
1916 #line 223 "lwin_wkt_parse.y"
1918 #line 1919 "lwin_wkt_parse.c"
1922 #line 224 "lwin_wkt_parse.y"
1924 #line 1925 "lwin_wkt_parse.c"
1928 #line 225 "lwin_wkt_parse.y"
1930 #line 1931 "lwin_wkt_parse.c"
1934 #line 226 "lwin_wkt_parse.y"
1936 #line 1937 "lwin_wkt_parse.c"
1940 #line 227 "lwin_wkt_parse.y"
1942 #line 1943 "lwin_wkt_parse.c"
1946 #line 228 "lwin_wkt_parse.y"
1948 #line 1949 "lwin_wkt_parse.c"
1952 #line 229 "lwin_wkt_parse.y"
1954 #line 1955 "lwin_wkt_parse.c"
1958 #line 230 "lwin_wkt_parse.y"
1960 #line 1961 "lwin_wkt_parse.c"
1964 #line 231 "lwin_wkt_parse.y"
1966 #line 1967 "lwin_wkt_parse.c"
1970 #line 232 "lwin_wkt_parse.y"
1972 #line 1973 "lwin_wkt_parse.c"
1976 #line 233 "lwin_wkt_parse.y"
1978 #line 1979 "lwin_wkt_parse.c"
1982 #line 234 "lwin_wkt_parse.y"
1984 #line 1985 "lwin_wkt_parse.c"
1988 #line 235 "lwin_wkt_parse.y"
1990 #line 1991 "lwin_wkt_parse.c"
1994 #line 236 "lwin_wkt_parse.y"
1996 #line 1997 "lwin_wkt_parse.c"
2000 #line 240 "lwin_wkt_parse.y"
2002 #line 2003 "lwin_wkt_parse.c"
2006 #line 242 "lwin_wkt_parse.y"
2008 #line 2009 "lwin_wkt_parse.c"
2012 #line 244 "lwin_wkt_parse.y"
2014 #line 2015 "lwin_wkt_parse.c"
2018 #line 246 "lwin_wkt_parse.y"
2020 #line 2021 "lwin_wkt_parse.c"
2024 #line 250 "lwin_wkt_parse.y"
2026 #line 2027 "lwin_wkt_parse.c"
2030 #line 252 "lwin_wkt_parse.y"
2032 #line 2033 "lwin_wkt_parse.c"
2036 #line 256 "lwin_wkt_parse.y"
2038 #line 2039 "lwin_wkt_parse.c"
2042 #line 258 "lwin_wkt_parse.y"
2044 #line 2045 "lwin_wkt_parse.c"
2048 #line 260 "lwin_wkt_parse.y"
2050 #line 2051 "lwin_wkt_parse.c"
2054 #line 262 "lwin_wkt_parse.y"
2056 #line 2057 "lwin_wkt_parse.c"
2060 #line 266 "lwin_wkt_parse.y"
2062 #line 2063 "lwin_wkt_parse.c"
2066 #line 268 "lwin_wkt_parse.y"
2068 #line 2069 "lwin_wkt_parse.c"
2072 #line 270 "lwin_wkt_parse.y"
2074 #line 2075 "lwin_wkt_parse.c"
2078 #line 272 "lwin_wkt_parse.y"
2080 #line 2081 "lwin_wkt_parse.c"
2084 #line 274 "lwin_wkt_parse.y"
2086 #line 2087 "lwin_wkt_parse.c"
2090 #line 276 "lwin_wkt_parse.y"
2092 #line 2093 "lwin_wkt_parse.c"
2096 #line 280 "lwin_wkt_parse.y"
2098 #line 2099 "lwin_wkt_parse.c"
2102 #line 282 "lwin_wkt_parse.y"
2104 #line 2105 "lwin_wkt_parse.c"
2108 #line 284 "lwin_wkt_parse.y"
2110 #line 2111 "lwin_wkt_parse.c"
2114 #line 286 "lwin_wkt_parse.y"
2116 #line 2117 "lwin_wkt_parse.c"
2120 #line 290 "lwin_wkt_parse.y"
2122 #line 2123 "lwin_wkt_parse.c"
2126 #line 292 "lwin_wkt_parse.y"
2128 #line 2129 "lwin_wkt_parse.c"
2132 #line 294 "lwin_wkt_parse.y"
2134 #line 2135 "lwin_wkt_parse.c"
2138 #line 296 "lwin_wkt_parse.y"
2140 #line 2141 "lwin_wkt_parse.c"
2144 #line 300 "lwin_wkt_parse.y"
2146 #line 2147 "lwin_wkt_parse.c"
2150 #line 302 "lwin_wkt_parse.y"
2152 #line 2153 "lwin_wkt_parse.c"
2156 #line 304 "lwin_wkt_parse.y"
2158 #line 2159 "lwin_wkt_parse.c"
2162 #line 306 "lwin_wkt_parse.y"
2164 #line 2165 "lwin_wkt_parse.c"
2168 #line 310 "lwin_wkt_parse.y"
2170 #line 2171 "lwin_wkt_parse.c"
2174 #line 312 "lwin_wkt_parse.y"
2176 #line 2177 "lwin_wkt_parse.c"
2180 #line 316 "lwin_wkt_parse.y"
2182 #line 2183 "lwin_wkt_parse.c"
2186 #line 318 "lwin_wkt_parse.y"
2188 #line 2189 "lwin_wkt_parse.c"
2192 #line 322 "lwin_wkt_parse.y"
2194 #line 2195 "lwin_wkt_parse.c"
2198 #line 324 "lwin_wkt_parse.y"
2200 #line 2201 "lwin_wkt_parse.c"
2204 #line 326 "lwin_wkt_parse.y"
2206 #line 2207 "lwin_wkt_parse.c"
2210 #line 328 "lwin_wkt_parse.y"
2212 #line 2213 "lwin_wkt_parse.c"
2216 #line 332 "lwin_wkt_parse.y"
2218 #line 2219 "lwin_wkt_parse.c"
2222 #line 334 "lwin_wkt_parse.y"
2224 #line 2225 "lwin_wkt_parse.c"
2228 #line 337 "lwin_wkt_parse.y"
2230 #line 2231 "lwin_wkt_parse.c"
2234 #line 341 "lwin_wkt_parse.y"
2236 #line 2237 "lwin_wkt_parse.c"
2240 #line 343 "lwin_wkt_parse.y"
2242 #line 2243 "lwin_wkt_parse.c"
2246 #line 345 "lwin_wkt_parse.y"
2248 #line 2249 "lwin_wkt_parse.c"
2252 #line 347 "lwin_wkt_parse.y"
2254 #line 2255 "lwin_wkt_parse.c"
2258 #line 351 "lwin_wkt_parse.y"
2260 #line 2261 "lwin_wkt_parse.c"
2264 #line 353 "lwin_wkt_parse.y"
2266 #line 2267 "lwin_wkt_parse.c"
2270 #line 356 "lwin_wkt_parse.y"
2272 #line 2273 "lwin_wkt_parse.c"
2276 #line 357 "lwin_wkt_parse.y"
2278 #line 2279 "lwin_wkt_parse.c"
2282 #line 358 "lwin_wkt_parse.y"
2284 #line 2285 "lwin_wkt_parse.c"
2288 #line 359 "lwin_wkt_parse.y"
2290 #line 2291 "lwin_wkt_parse.c"
2294 #line 363 "lwin_wkt_parse.y"
2296 #line 2297 "lwin_wkt_parse.c"
2300 #line 365 "lwin_wkt_parse.y"
2302 #line 2303 "lwin_wkt_parse.c"
2306 #line 369 "lwin_wkt_parse.y"
2308 #line 2309 "lwin_wkt_parse.c"
2312 #line 371 "lwin_wkt_parse.y"
2314 #line 2315 "lwin_wkt_parse.c"
2318 #line 374 "lwin_wkt_parse.y"
2320 #line 2321 "lwin_wkt_parse.c"
2324 #line 377 "lwin_wkt_parse.y"
2326 #line 2327 "lwin_wkt_parse.c"
2330 #line 381 "lwin_wkt_parse.y"
2332 #line 2333 "lwin_wkt_parse.c"
2336 #line 383 "lwin_wkt_parse.y"
2338 #line 2339 "lwin_wkt_parse.c"
2342 #line 385 "lwin_wkt_parse.y"
2344 #line 2345 "lwin_wkt_parse.c"
2348 #line 387 "lwin_wkt_parse.y"
2350 #line 2351 "lwin_wkt_parse.c"
2354 #line 391 "lwin_wkt_parse.y"
2356 #line 2357 "lwin_wkt_parse.c"
2360 #line 393 "lwin_wkt_parse.y"
2362 #line 2363 "lwin_wkt_parse.c"
2366 #line 395 "lwin_wkt_parse.y"
2368 #line 2369 "lwin_wkt_parse.c"
2372 #line 397 "lwin_wkt_parse.y"
2374 #line 2375 "lwin_wkt_parse.c"
2378 #line 399 "lwin_wkt_parse.y"
2380 #line 2381 "lwin_wkt_parse.c"
2384 #line 401 "lwin_wkt_parse.y"
2386 #line 2387 "lwin_wkt_parse.c"
2390 #line 405 "lwin_wkt_parse.y"
2392 #line 2393 "lwin_wkt_parse.c"
2396 #line 407 "lwin_wkt_parse.y"
2398 #line 2399 "lwin_wkt_parse.c"
2402 #line 409 "lwin_wkt_parse.y"
2404 #line 2405 "lwin_wkt_parse.c"
2408 #line 411 "lwin_wkt_parse.y"
2410 #line 2411 "lwin_wkt_parse.c"
2414 #line 415 "lwin_wkt_parse.y"
2416 #line 2417 "lwin_wkt_parse.c"
2420 #line 417 "lwin_wkt_parse.y"
2422 #line 2423 "lwin_wkt_parse.c"
2426 #line 419 "lwin_wkt_parse.y"
2428 #line 2429 "lwin_wkt_parse.c"
2432 #line 421 "lwin_wkt_parse.y"
2434 #line 2435 "lwin_wkt_parse.c"
2438 #line 423 "lwin_wkt_parse.y"
2440 #line 2441 "lwin_wkt_parse.c"
2444 #line 425 "lwin_wkt_parse.y"
2446 #line 2447 "lwin_wkt_parse.c"
2450 #line 427 "lwin_wkt_parse.y"
2452 #line 2453 "lwin_wkt_parse.c"
2456 #line 429 "lwin_wkt_parse.y"
2458 #line 2459 "lwin_wkt_parse.c"
2462 #line 433 "lwin_wkt_parse.y"
2464 #line 2465 "lwin_wkt_parse.c"
2468 #line 435 "lwin_wkt_parse.y"
2470 #line 2471 "lwin_wkt_parse.c"
2474 #line 437 "lwin_wkt_parse.y"
2476 #line 2477 "lwin_wkt_parse.c"
2480 #line 439 "lwin_wkt_parse.y"
2482 #line 2483 "lwin_wkt_parse.c"
2486 #line 443 "lwin_wkt_parse.y"
2488 #line 2489 "lwin_wkt_parse.c"
2492 #line 445 "lwin_wkt_parse.y"
2494 #line 2495 "lwin_wkt_parse.c"
2498 #line 449 "lwin_wkt_parse.y"
2500 #line 2501 "lwin_wkt_parse.c"
2504 #line 451 "lwin_wkt_parse.y"
2506 #line 2507 "lwin_wkt_parse.c"
2510 #line 453 "lwin_wkt_parse.y"
2512 #line 2513 "lwin_wkt_parse.c"
2516 #line 455 "lwin_wkt_parse.y"
2518 #line 2519 "lwin_wkt_parse.c"
2522 #line 459 "lwin_wkt_parse.y"
2524 #line 2525 "lwin_wkt_parse.c"
2528 #line 461 "lwin_wkt_parse.y"
2530 #line 2531 "lwin_wkt_parse.c"
2534 #line 463 "lwin_wkt_parse.y"
2536 #line 2537 "lwin_wkt_parse.c"
2540 #line 465 "lwin_wkt_parse.y"
2542 #line 2543 "lwin_wkt_parse.c"
2546 #line 469 "lwin_wkt_parse.y"
2548 #line 2549 "lwin_wkt_parse.c"
2552 #line 471 "lwin_wkt_parse.y"
2554 #line 2555 "lwin_wkt_parse.c"
2558 #line 475 "lwin_wkt_parse.y"
2560 #line 2561 "lwin_wkt_parse.c"
2564 #line 477 "lwin_wkt_parse.y"
2566 #line 2567 "lwin_wkt_parse.c"
2570 #line 481 "lwin_wkt_parse.y"
2572 #line 2573 "lwin_wkt_parse.c"
2576 #line 483 "lwin_wkt_parse.y"
2578 #line 2579 "lwin_wkt_parse.c"
2582 #line 485 "lwin_wkt_parse.y"
2584 #line 2585 "lwin_wkt_parse.c"
2588 #line 487 "lwin_wkt_parse.y"
2590 #line 2591 "lwin_wkt_parse.c"
2594 #line 491 "lwin_wkt_parse.y"
2596 #line 2597 "lwin_wkt_parse.c"
2600 #line 495 "lwin_wkt_parse.y"
2602 #line 2603 "lwin_wkt_parse.c"
2606 #line 497 "lwin_wkt_parse.y"
2608 #line 2609 "lwin_wkt_parse.c"
2612 #line 499 "lwin_wkt_parse.y"
2614 #line 2615 "lwin_wkt_parse.c"
2618 #line 501 "lwin_wkt_parse.y"
2620 #line 2621 "lwin_wkt_parse.c"
2624 #line 505 "lwin_wkt_parse.y"
2626 #line 2627 "lwin_wkt_parse.c"
2630 #line 507 "lwin_wkt_parse.y"
2632 #line 2633 "lwin_wkt_parse.c"
2636 #line 511 "lwin_wkt_parse.y"
2638 #line 2639 "lwin_wkt_parse.c"
2642 #line 513 "lwin_wkt_parse.y"
2644 #line 2645 "lwin_wkt_parse.c"
2648 #line 515 "lwin_wkt_parse.y"
2650 #line 2651 "lwin_wkt_parse.c"
2654 #line 519 "lwin_wkt_parse.y"
2656 #line 2657 "lwin_wkt_parse.c"
2660 #line 521 "lwin_wkt_parse.y"
2662 #line 2663 "lwin_wkt_parse.c"
2666 #line 523 "lwin_wkt_parse.y"
2668 #line 2669 "lwin_wkt_parse.c"
2672 #line 525 "lwin_wkt_parse.y"
2674 #line 2675 "lwin_wkt_parse.c"
2678 #line 529 "lwin_wkt_parse.y"
2680 #line 2681 "lwin_wkt_parse.c"
2684 #line 531 "lwin_wkt_parse.y"
2686 #line 2687 "lwin_wkt_parse.c"
2690 #line 535 "lwin_wkt_parse.y"
2692 #line 2693 "lwin_wkt_parse.c"
2696 #line 537 "lwin_wkt_parse.y"
2698 #line 2699 "lwin_wkt_parse.c"
2702 #line 539 "lwin_wkt_parse.y"
2704 #line 2705 "lwin_wkt_parse.c"
2708 #line 2709 "lwin_wkt_parse.c"
2737 const int yyi =
yypgoto[yylhs] + *yyssp;
2738 yystate = (0 <= yyi && yyi <=
YYLAST &&
yycheck[yyi] == *yyssp
2758 #if ! YYERROR_VERBOSE
2761 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
2764 char const *yymsgp =
YY_(
"syntax error");
2765 int yysyntax_error_status;
2767 if (yysyntax_error_status == 0)
2769 else if (yysyntax_error_status == 1)
2771 if (yymsg != yymsgbuf)
2777 yymsg_alloc =
sizeof yymsgbuf;
2778 yysyntax_error_status = 2;
2787 if (yysyntax_error_status == 2)
2788 goto yyexhaustedlab;
2790 # undef YYSYNTAX_ERROR
2794 yyerror_range[1] =
yylloc;
2796 if (yyerrstatus == 3)
2862 yyerror_range[1] = *yylsp;
2864 yystos[yystate], yyvsp, yylsp);
2874 yyerror_range[2] =
yylloc;
2903 #if !defined yyoverflow || YYERROR_VERBOSE
2930 while (yyssp != yyss)
2933 yystos[*yyssp], yyvsp, yylsp);
2941 if (yymsg != yymsgbuf)
2946 #line 541 "lwin_wkt_parse.y"
void lwgeom_free(LWGEOM *geom)
void lwgeom_parser_result_init(LWGEOM_PARSER_RESULT *parser_result)
#define PARSER_ERROR_OTHER
#define POLYHEDRALSURFACETYPE
void ptarray_free(POINTARRAY *pa)
#define SRID_UNKNOWN
Unknown SRID value.
#define LWDEBUGF(level, msg,...)
LWGEOM * wkt_parser_circularstring_new(POINTARRAY *pa, char *dimensionality)
Create a new circularstring.
LWGEOM * wkt_parser_collection_finalize(int lwtype, LWGEOM *geom, char *dimensionality)
LWGEOM * wkt_parser_triangle_new(POINTARRAY *pa, char *dimensionality)
LWGEOM * wkt_parser_polygon_finalize(LWGEOM *poly, char *dimensionality)
LWGEOM * wkt_parser_collection_add_geom(LWGEOM *col, LWGEOM *geom)
POINT wkt_parser_coord_2(double c1, double c2)
Build a 2d coordinate.
LWGEOM * wkt_parser_polygon_add_ring(LWGEOM *poly, POINTARRAY *pa, char dimcheck)
POINT wkt_parser_coord_4(double c1, double c2, double c3, double c4)
const char * parser_error_messages[]
LWGEOM * wkt_parser_compound_add_geom(LWGEOM *col, LWGEOM *geom)
LWGEOM * wkt_parser_curvepolygon_new(LWGEOM *ring)
POINTARRAY * wkt_parser_ptarray_new(POINT p)
Start a point array from the first coordinate.
LWGEOM * wkt_parser_curvepolygon_add_ring(LWGEOM *poly, LWGEOM *ring)
LWGEOM * wkt_parser_compound_new(LWGEOM *geom)
POINT wkt_parser_coord_3(double c1, double c2, double c3)
Note, if this is an XYM coordinate we'll have to fix it later when we build the object itself and hav...
LWGEOM * wkt_parser_point_new(POINTARRAY *pa, char *dimensionality)
Create a new point.
void wkt_parser_geometry_new(LWGEOM *geom, int srid)
LWGEOM * wkt_parser_curvepolygon_finalize(LWGEOM *poly, char *dimensionality)
LWGEOM * wkt_parser_collection_new(LWGEOM *geom)
LWGEOM * wkt_parser_linestring_new(POINTARRAY *pa, char *dimensionality)
Create a new linestring.
POINTARRAY * wkt_parser_ptarray_add_coord(POINTARRAY *pa, POINT p)
LWGEOM * wkt_parser_polygon_new(POINTARRAY *pa, char dimcheck)
void wkt_lexer_close(void)
int wkt_yylex_destroy(void)
void wkt_lexer_init(char *str)
static const yytype_uint8 yyr1[]
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
static const yytype_uint8 yytranslate[]
#define yypact_value_is_default(Yystate)
#define YYLLOC_DEFAULT(Current, Rhs, N)
int lwgeom_parse_wkt(LWGEOM_PARSER_RESULT *parser_result, char *wktstr, int parser_check_flags)
Parse a WKT geometry string into an LWGEOM structure.
static const yytype_int16 yydefgoto[]
#define YY_REDUCE_PRINT(Rule)
static const yytype_int16 yypact[]
#define DIMENSIONALITY_TOK
#define COMPOUNDCURVE_TOK
static const yytype_int16 yypgoto[]
unsigned char yytype_uint8
static char * yystpcpy(char *yydest, const char *yysrc)
#define YY_STACK_PRINT(Bottom, Top)
#define YYSTACK_ALLOC_MAXIMUM
void wkt_yyerror(const char *str)
static void yydestruct(const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp)
#define CIRCULARSTRING_TOK
static const yytype_uint8 yyr2[]
#define POLYHEDRALSURFACE_TOK
static YYSIZE_T yystrlen(const char *yystr)
#define YY_ATTRIBUTE_UNUSED
static const char *const yytname[]
static const yytype_uint8 yystos[]
static YYSIZE_T yytnamerr(char *yyres, const char *yystr)
static const yytype_uint16 yytable[]
unsigned short yytype_uint16
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
static int yysyntax_error(YYSIZE_T *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken)
LWGEOM_PARSER_RESULT global_parser_result
#define yytable_value_is_error(Yytable_value)
static const yytype_uint8 yydefact[]
static const yytype_uint8 yycheck[]
Parser result structure: returns the result of attempting to convert (E)WKT/(E)WKB to LWGEOM.
POINTARRAY * ptarrayvalue