52 #define YYBISON_VERSION "3.8.2"
55 #define YYSKELETON_NAME "yacc.c"
68 #define yyparse wkt_yyparse
69 #define yylex wkt_yylex
70 #define yyerror wkt_yyerror
71 #define yydebug wkt_yydebug
72 #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"
190 # define YY_CAST(Type, Val) static_cast<Type> (Val)
191 # define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
193 # define YY_CAST(Type, Val) ((Type) (Val))
194 # define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
198 # if defined __cplusplus
199 # if 201103L <= __cplusplus
200 # define YY_NULLPTR nullptr
202 # define YY_NULLPTR 0
205 # define YY_NULLPTR ((void*)0)
294 #ifndef __PTRDIFF_MAX__
296 # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
307 #ifdef __INT_LEAST8_MAX__
309 #elif defined YY_STDINT_H
315 #ifdef __INT_LEAST16_MAX__
317 #elif defined YY_STDINT_H
329 # undef UINT_LEAST8_MAX
330 # undef UINT_LEAST16_MAX
331 # define UINT_LEAST8_MAX 255
332 # define UINT_LEAST16_MAX 65535
335 #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
337 #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
338 && UINT_LEAST8_MAX <= INT_MAX)
340 #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
346 #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
348 #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
349 && UINT_LEAST16_MAX <= INT_MAX)
351 #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
358 # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
359 # define YYPTRDIFF_T __PTRDIFF_TYPE__
360 # define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
361 # elif defined PTRDIFF_MAX
365 # define YYPTRDIFF_T ptrdiff_t
366 # define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
368 # define YYPTRDIFF_T long
369 # define YYPTRDIFF_MAXIMUM LONG_MAX
374 # ifdef __SIZE_TYPE__
375 # define YYSIZE_T __SIZE_TYPE__
376 # elif defined size_t
377 # define YYSIZE_T size_t
378 # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
380 # define YYSIZE_T size_t
382 # define YYSIZE_T unsigned
386 #define YYSIZE_MAXIMUM \
387 YY_CAST (YYPTRDIFF_T, \
388 (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
389 ? YYPTRDIFF_MAXIMUM \
390 : YY_CAST (YYSIZE_T, -1)))
392 #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
402 # if defined YYENABLE_NLS && YYENABLE_NLS
404 # include <libintl.h>
405 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
409 # define YY_(Msgid) Msgid
414 #ifndef YY_ATTRIBUTE_PURE
415 # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
416 # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
418 # define YY_ATTRIBUTE_PURE
422 #ifndef YY_ATTRIBUTE_UNUSED
423 # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
424 # define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
426 # define YY_ATTRIBUTE_UNUSED
431 #if ! defined lint || defined __GNUC__
432 # define YY_USE(E) ((void) (E))
438 #if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
439 # if __GNUC__ * 100 + __GNUC_MINOR__ < 407
440 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
441 _Pragma ("GCC diagnostic push") \
442 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
444 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
445 _Pragma ("GCC diagnostic push") \
446 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
447 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
449 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
450 _Pragma ("GCC diagnostic pop")
452 # define YY_INITIAL_VALUE(Value) Value
454 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
455 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
456 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
458 #ifndef YY_INITIAL_VALUE
459 # define YY_INITIAL_VALUE(Value)
462 #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
463 # define YY_IGNORE_USELESS_CAST_BEGIN \
464 _Pragma ("GCC diagnostic push") \
465 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
466 # define YY_IGNORE_USELESS_CAST_END \
467 _Pragma ("GCC diagnostic pop")
469 #ifndef YY_IGNORE_USELESS_CAST_BEGIN
470 # define YY_IGNORE_USELESS_CAST_BEGIN
471 # define YY_IGNORE_USELESS_CAST_END
475 #define YY_ASSERT(E) ((void) (0 && (E)))
481 # ifdef YYSTACK_USE_ALLOCA
482 # if YYSTACK_USE_ALLOCA
484 # define YYSTACK_ALLOC __builtin_alloca
485 # elif defined __BUILTIN_VA_ARG_INCR
488 # define YYSTACK_ALLOC __alloca
489 # elif defined _MSC_VER
491 # define alloca _alloca
493 # define YYSTACK_ALLOC alloca
494 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
497 # ifndef EXIT_SUCCESS
498 # define EXIT_SUCCESS 0
505 # ifdef YYSTACK_ALLOC
507 # define YYSTACK_FREE(Ptr) do { ; } while (0)
508 # ifndef YYSTACK_ALLOC_MAXIMUM
513 # define YYSTACK_ALLOC_MAXIMUM 4032
516 # define YYSTACK_ALLOC YYMALLOC
517 # define YYSTACK_FREE YYFREE
518 # ifndef YYSTACK_ALLOC_MAXIMUM
519 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
521 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
522 && ! ((defined YYMALLOC || defined malloc) \
523 && (defined YYFREE || defined free)))
525 # ifndef EXIT_SUCCESS
526 # define EXIT_SUCCESS 0
530 # define YYMALLOC malloc
531 # if ! defined malloc && ! defined EXIT_SUCCESS
537 # if ! defined free && ! defined EXIT_SUCCESS
544 #if (! defined yyoverflow \
545 && (! defined __cplusplus \
546 || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
547 && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
558 # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
562 # define YYSTACK_BYTES(N) \
563 ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE) \
564 + YYSIZEOF (YYLTYPE)) \
565 + 2 * YYSTACK_GAP_MAXIMUM)
567 # define YYCOPY_NEEDED 1
574 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
577 YYPTRDIFF_T yynewbytes; \
578 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
579 Stack = &yyptr->Stack_alloc; \
580 yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
581 yyptr += yynewbytes / YYSIZEOF (*yyptr); \
587 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
591 # if defined __GNUC__ && 1 < __GNUC__
592 # define YYCOPY(Dst, Src, Count) \
593 __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
595 # define YYCOPY(Dst, Src, Count) \
599 for (yyi = 0; yyi < (Count); yyi++) \
600 (Dst)[yyi] = (Src)[yyi]; \
619 #define YYNSTATES 264
622 #define YYMAXUTOK 280
627 #define YYTRANSLATE(YYX) \
628 (0 <= (YYX) && (YYX) <= YYMAXUTOK \
629 ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
636 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
637 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
638 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
639 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
640 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
641 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
642 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
643 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
644 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
645 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
646 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
647 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
648 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
649 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
650 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
651 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
652 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
653 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
654 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
655 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
656 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
657 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
658 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
659 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
660 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
661 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
662 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
663 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
671 0, 217, 217, 219, 223, 224, 225, 226, 227, 228,
672 229, 230, 231, 232, 233, 234, 235, 236, 237, 240,
673 242, 244, 246, 250, 252, 256, 258, 260, 262, 266,
674 268, 270, 272, 274, 276, 280, 282, 284, 286, 290,
675 292, 294, 296, 300, 302, 304, 306, 310, 312, 316,
676 318, 322, 324, 326, 328, 332, 334, 338, 341, 343,
677 345, 347, 351, 353, 357, 358, 359, 360, 363, 365,
678 369, 371, 375, 378, 381, 383, 385, 387, 391, 393,
679 395, 397, 399, 401, 405, 407, 409, 411, 415, 417,
680 419, 421, 423, 425, 427, 429, 433, 435, 437, 439,
681 443, 445, 449, 451, 453, 455, 459, 461, 463, 465,
682 469, 471, 475, 477, 481, 483, 485, 487, 491, 495,
683 497, 499, 501, 505, 507, 511, 513, 515, 519, 521,
684 523, 525, 529, 531, 535, 537, 539
689 #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
700 "\"end of file\"",
"error",
"\"invalid token\"",
"POINT_TOK",
701 "LINESTRING_TOK",
"POLYGON_TOK",
"MPOINT_TOK",
"MLINESTRING_TOK",
702 "MPOLYGON_TOK",
"MSURFACE_TOK",
"MCURVE_TOK",
"CURVEPOLYGON_TOK",
703 "COMPOUNDCURVE_TOK",
"CIRCULARSTRING_TOK",
"COLLECTION_TOK",
704 "RBRACKET_TOK",
"LBRACKET_TOK",
"COMMA_TOK",
"EMPTY_TOK",
705 "SEMICOLON_TOK",
"TRIANGLE_TOK",
"TIN_TOK",
"POLYHEDRALSURFACE_TOK",
706 "DOUBLE_TOK",
"DIMENSIONALITY_TOK",
"SRID_TOK",
"$accept",
"geometry",
707 "geometry_no_srid",
"geometrycollection",
"geometry_list",
708 "multisurface",
"surface_list",
"tin",
"polyhedralsurface",
709 "multipolygon",
"polygon_list",
"patch_list",
"polygon",
710 "polygon_untagged",
"patch",
"curvepolygon",
"curvering_list",
711 "curvering",
"patchring_list",
"ring_list",
"patchring",
"ring",
712 "compoundcurve",
"compound_list",
"multicurve",
"curve_list",
713 "multilinestring",
"linestring_list",
"circularstring",
"linestring",
714 "linestring_untagged",
"triangle_list",
"triangle",
"triangle_untagged",
715 "multipoint",
"point_list",
"point_untagged",
"point",
"ptarray",
726 #define YYPACT_NINF (-90)
728 #define yypact_value_is_default(Yyn) \
729 ((Yyn) == YYPACT_NINF)
731 #define YYTABLE_NINF (-1)
733 #define yytable_value_is_error(Yyn) \
740 109, -2, 16, 23, 26, 36, 39, 40, 52, 53,
741 74, 79, 83, 84, 108, 137, 7, 46, -90, -90,
742 -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
743 -90, -90, -90, -90, 43, -90, 27, 43, -90, 88,
744 33, -90, 144, 140, -90, 167, 175, -90, 176, 179,
745 -90, 183, 20, -90, 184, 11, -90, 187, 11, -90,
746 188, 17, -90, 191, 43, -90, 192, 168, -90, 195,
747 51, -90, 196, 56, -90, 199, 70, -90, 200, 168,
748 -90, 68, 110, -90, 43, -90, 169, 43, -90, 43,
749 204, -90, 33, -90, 43, -90, 205, -90, -90, 140,
750 -90, 43, -90, 208, -90, 175, -90, 33, -90, 209,
751 -90, 179, -90, 212, -90, -90, -90, 20, -90, -90,
752 213, -90, -90, -90, 11, -90, 216, -90, -90, -90,
753 -90, -90, 11, -90, 217, -90, -90, -90, 17, -90,
754 220, 43, -90, -90, 221, 168, -90, 43, 80, -90,
755 93, 224, -90, 56, -90, 94, 225, -90, 70, -90,
756 -90, 105, -90, 43, 228, -90, 229, 232, -90, 33,
757 233, 44, -90, 140, 236, 237, -90, 175, 240, 241,
758 -90, 179, 244, -90, 20, 245, -90, 11, 248, -90,
759 11, 249, -90, 17, 252, -90, 253, -90, 168, 256,
760 257, 43, 43, -90, 56, 260, 43, 261, -90, -90,
761 70, 264, 112, -90, -90, -90, -90, -90, -90, -90,
762 -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
763 -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
764 -90, -90, -90, -90, -90, -90, 47, 265, 268, -90,
765 -90, 269, -90, 94, -90, -90, -90, -90, 131, 132,
774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
775 0, 0, 0, 0, 0, 0, 0, 0, 2, 18,
776 13, 15, 16, 12, 8, 9, 7, 14, 11, 6,
777 5, 17, 10, 4, 0, 131, 0, 0, 109, 0,
778 0, 54, 0, 0, 122, 0, 0, 99, 0, 0,
779 46, 0, 0, 28, 0, 0, 87, 0, 0, 61,
780 0, 0, 77, 0, 0, 105, 0, 0, 22, 0,
781 0, 117, 0, 0, 38, 0, 0, 42, 0, 0,
782 1, 0, 0, 133, 0, 130, 0, 0, 108, 0,
783 0, 71, 0, 53, 0, 127, 0, 124, 125, 0,
784 121, 0, 111, 0, 101, 0, 98, 0, 56, 0,
785 48, 0, 45, 0, 32, 34, 33, 0, 27, 93,
786 0, 92, 94, 95, 0, 86, 0, 63, 66, 67,
787 65, 64, 0, 60, 0, 81, 82, 83, 0, 76,
788 0, 0, 104, 24, 0, 0, 21, 0, 0, 116,
789 0, 0, 113, 0, 37, 0, 0, 50, 0, 41,
790 3, 134, 128, 0, 0, 106, 0, 0, 51, 0,
791 0, 0, 119, 0, 0, 0, 96, 0, 0, 0,
792 43, 0, 0, 25, 0, 0, 84, 0, 0, 58,
793 0, 0, 74, 0, 0, 102, 0, 19, 0, 0,
794 0, 0, 0, 35, 0, 0, 0, 0, 69, 39,
795 0, 0, 135, 132, 129, 107, 73, 70, 52, 126,
796 123, 120, 110, 100, 97, 55, 47, 44, 29, 31,
797 30, 26, 89, 88, 90, 91, 85, 62, 59, 78,
798 79, 80, 75, 103, 23, 20, 0, 0, 0, 112,
799 36, 0, 57, 0, 49, 40, 136, 114, 0, 0,
806 -90, -90, 0, -90, 5, -90, 37, -90, -90, -90,
807 48, 6, -39, -33, -42, -32, 55, -21, -90, -89,
808 -57, 118, -50, 150, -90, 165, -90, 185, -51, -49,
809 -44, 138, -90, 89, -90, 193, 121, -90, -36, -6
815 0, 17, 143, 19, 144, 20, 113, 21, 22, 23,
816 109, 156, 24, 110, 157, 25, 126, 127, 207, 90,
817 208, 91, 26, 134, 27, 120, 28, 103, 29, 30,
818 131, 151, 31, 152, 32, 96, 97, 33, 82, 83
826 18, 86, 104, 170, 121, 119, 122, 129, 128, 130,
827 135, 123, 136, 114, 34, 2, 35, 137, 179, 115,
828 116, 2, 36, 10, 11, 3, 79, 101, 140, 102,
829 11, 9, 37, 101, 38, 102, 107, 98, 108, 40,
830 39, 41, 43, 84, 44, 85, 80, 42, 164, 89,
831 45, 166, 46, 167, 47, 49, 52, 50, 53, 219,
832 48, 104, 257, 51, 54, 175, 81, 147, 55, 58,
833 56, 59, 150, 121, 119, 122, 57, 60, 114, 160,
834 123, 129, 128, 130, 115, 116, 155, 135, 171, 136,
835 61, 161, 62, 98, 137, 64, 201, 65, 63, 67,
836 70, 68, 71, 66, 87, 196, 88, 69, 72, 202,
837 206, 200, 1, 2, 3, 4, 5, 6, 7, 8,
838 9, 10, 11, 12, 73, 162, 74, 163, 212, 13,
839 14, 15, 75, 223, 16, 256, 233, 232, 234, 129,
840 128, 130, 239, 235, 240, 228, 262, 263, 226, 241,
841 199, 229, 230, 76, 185, 77, 94, 213, 95, 182,
842 92, 78, 93, 81, 211, 247, 248, 98, 254, 237,
843 251, 1, 2, 3, 4, 5, 6, 7, 8, 9,
844 10, 11, 12, 99, 165, 100, 163, 191, 13, 14,
845 15, 101, 105, 102, 106, 107, 261, 108, 244, 111,
846 117, 112, 118, 124, 132, 125, 133, 138, 141, 139,
847 142, 145, 148, 146, 149, 153, 158, 154, 159, 168,
848 172, 169, 173, 176, 180, 177, 181, 183, 186, 184,
849 187, 189, 192, 190, 193, 195, 197, 163, 198, 203,
850 209, 204, 210, 214, 215, 163, 163, 216, 218, 163,
851 169, 221, 222, 173, 163, 224, 225, 177, 169, 227,
852 231, 181, 184, 236, 238, 187, 190, 242, 243, 193,
853 163, 245, 246, 198, 163, 250, 252, 204, 253, 255,
854 258, 210, 163, 259, 260, 163, 163, 217, 194, 188,
855 178, 205, 174, 249, 220
860 0, 37, 46, 92, 55, 55, 55, 58, 58, 58,
861 61, 55, 61, 52, 16, 4, 18, 61, 107, 52,
862 52, 4, 24, 12, 13, 5, 19, 16, 64, 18,
863 13, 11, 16, 16, 18, 18, 16, 43, 18, 16,
864 24, 18, 16, 16, 18, 18, 0, 24, 84, 16,
865 24, 87, 16, 89, 18, 16, 16, 18, 18, 15,
866 24, 105, 15, 24, 24, 101, 23, 16, 16, 16,
867 18, 18, 16, 124, 124, 124, 24, 24, 117, 79,
868 124, 132, 132, 132, 117, 117, 16, 138, 94, 138,
869 16, 23, 18, 99, 138, 16, 16, 18, 24, 16,
870 16, 18, 18, 24, 16, 141, 18, 24, 24, 16,
871 16, 147, 3, 4, 5, 6, 7, 8, 9, 10,
872 11, 12, 13, 14, 16, 15, 18, 17, 23, 20,
873 21, 22, 24, 177, 25, 23, 187, 187, 187, 190,
874 190, 190, 193, 187, 193, 184, 15, 15, 181, 193,
875 145, 184, 184, 16, 117, 18, 16, 163, 18, 111,
876 16, 24, 18, 23, 158, 201, 202, 173, 210, 190,
877 206, 3, 4, 5, 6, 7, 8, 9, 10, 11,
878 12, 13, 14, 16, 15, 18, 17, 132, 20, 21,
879 22, 16, 16, 18, 18, 16, 253, 18, 198, 16,
880 16, 18, 18, 16, 16, 18, 18, 16, 16, 18,
881 18, 16, 16, 18, 18, 16, 16, 18, 18, 15,
882 15, 17, 17, 15, 15, 17, 17, 15, 15, 17,
883 17, 15, 15, 17, 17, 15, 15, 17, 17, 15,
884 15, 17, 17, 15, 15, 17, 17, 15, 15, 17,
885 17, 15, 15, 17, 17, 15, 15, 17, 17, 15,
886 15, 17, 17, 15, 15, 17, 17, 15, 15, 17,
887 17, 15, 15, 17, 17, 15, 15, 17, 17, 15,
888 15, 17, 17, 15, 15, 17, 17, 169, 138, 124,
889 105, 153, 99, 204, 173
896 0, 3, 4, 5, 6, 7, 8, 9, 10, 11,
897 12, 13, 14, 20, 21, 22, 25, 27, 28, 29,
898 31, 33, 34, 35, 38, 41, 48, 50, 52, 54,
899 55, 58, 60, 63, 16, 18, 24, 16, 18, 24,
900 16, 18, 24, 16, 18, 24, 16, 18, 24, 16,
901 18, 24, 16, 18, 24, 16, 18, 24, 16, 18,
902 24, 16, 18, 24, 16, 18, 24, 16, 18, 24,
903 16, 18, 24, 16, 18, 24, 16, 18, 24, 19,
904 0, 23, 64, 65, 16, 18, 64, 16, 18, 16,
905 45, 47, 16, 18, 16, 18, 61, 62, 65, 16,
906 18, 16, 18, 53, 56, 16, 18, 16, 18, 36,
907 39, 16, 18, 32, 38, 39, 41, 16, 18, 48,
908 51, 54, 55, 56, 16, 18, 42, 43, 48, 54,
909 55, 56, 16, 18, 49, 54, 55, 56, 16, 18,
910 64, 16, 18, 28, 30, 16, 18, 16, 16, 18,
911 16, 57, 59, 16, 18, 16, 37, 40, 16, 18,
912 28, 23, 15, 17, 64, 15, 64, 64, 15, 17,
913 45, 65, 15, 17, 61, 64, 15, 17, 53, 45,
914 15, 17, 36, 15, 17, 32, 15, 17, 51, 15,
915 17, 42, 15, 17, 49, 15, 64, 15, 17, 30,
916 64, 16, 16, 15, 17, 57, 16, 44, 46, 15,
917 17, 37, 23, 65, 15, 15, 15, 47, 15, 15,
918 62, 15, 15, 56, 15, 15, 39, 15, 38, 39,
919 41, 15, 48, 54, 55, 56, 15, 43, 15, 54,
920 55, 56, 15, 15, 28, 15, 15, 64, 64, 59,
921 15, 64, 15, 17, 40, 15, 23, 15, 15, 15,
928 0, 26, 27, 27, 28, 28, 28, 28, 28, 28,
929 28, 28, 28, 28, 28, 28, 28, 28, 28, 29,
930 29, 29, 29, 30, 30, 31, 31, 31, 31, 32,
931 32, 32, 32, 32, 32, 33, 33, 33, 33, 34,
932 34, 34, 34, 35, 35, 35, 35, 36, 36, 37,
933 37, 38, 38, 38, 38, 39, 39, 40, 41, 41,
934 41, 41, 42, 42, 43, 43, 43, 43, 44, 44,
935 45, 45, 46, 47, 48, 48, 48, 48, 49, 49,
936 49, 49, 49, 49, 50, 50, 50, 50, 51, 51,
937 51, 51, 51, 51, 51, 51, 52, 52, 52, 52,
938 53, 53, 54, 54, 54, 54, 55, 55, 55, 55,
939 56, 56, 57, 57, 58, 58, 58, 58, 59, 60,
940 60, 60, 60, 61, 61, 62, 62, 62, 63, 63,
941 63, 63, 64, 64, 65, 65, 65
947 0, 2, 1, 3, 1, 1, 1, 1, 1, 1,
948 1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
949 5, 3, 2, 3, 1, 4, 5, 3, 2, 3,
950 3, 3, 1, 1, 1, 4, 5, 3, 2, 4,
951 5, 3, 2, 4, 5, 3, 2, 3, 1, 3,
952 1, 4, 5, 3, 2, 3, 1, 3, 4, 5,
953 3, 2, 3, 1, 1, 1, 1, 1, 3, 1,
954 3, 1, 3, 3, 4, 5, 3, 2, 3, 3,
955 3, 1, 1, 1, 4, 5, 3, 2, 3, 3,
956 3, 3, 1, 1, 1, 1, 4, 5, 3, 2,
957 3, 1, 4, 5, 3, 2, 4, 5, 3, 2,
958 3, 1, 3, 1, 6, 7, 3, 2, 5, 4,
959 5, 3, 2, 3, 1, 1, 3, 1, 4, 5,
966 #define yyerrok (yyerrstatus = 0)
967 #define yyclearin (yychar = YYEMPTY)
969 #define YYACCEPT goto yyacceptlab
970 #define YYABORT goto yyabortlab
971 #define YYERROR goto yyerrorlab
972 #define YYNOMEM goto yyexhaustedlab
975 #define YYRECOVERING() (!!yyerrstatus)
977 #define YYBACKUP(Token, Value) \
979 if (yychar == YYEMPTY) \
983 YYPOPSTACK (yylen); \
989 yyerror (YY_("syntax error: cannot back up")); \
996 #define YYERRCODE YYUNDEF
1002 #ifndef YYLLOC_DEFAULT
1003 # define YYLLOC_DEFAULT(Current, Rhs, N) \
1007 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
1008 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
1009 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
1010 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
1014 (Current).first_line = (Current).last_line = \
1015 YYRHSLOC (Rhs, 0).last_line; \
1016 (Current).first_column = (Current).last_column = \
1017 YYRHSLOC (Rhs, 0).last_column; \
1022 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
1030 # define YYFPRINTF fprintf
1033 # define YYDPRINTF(Args) \
1044 # ifndef YYLOCATION_PRINT
1046 # if defined YY_LOCATION_PRINT
1050 # define YYLOCATION_PRINT(File, Loc) YY_LOCATION_PRINT(File, *(Loc))
1052 # elif defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
1058 yy_location_print_ (FILE *yyo,
YYLTYPE const *
const yylocp)
1074 res += YYFPRINTF (yyo,
".%d", end_col);
1076 else if (0 <= end_col && yylocp->
first_column < end_col)
1077 res += YYFPRINTF (yyo,
"-%d", end_col);
1082 # define YYLOCATION_PRINT yy_location_print_
1086 # define YY_LOCATION_PRINT(File, Loc) YYLOCATION_PRINT(File, &(Loc))
1090 # define YYLOCATION_PRINT(File, Loc) ((void) 0)
1093 # define YY_LOCATION_PRINT YYLOCATION_PRINT
1099 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
1103 YYFPRINTF (stderr, "%s ", Title); \
1104 yy_symbol_print (stderr, \
1105 Kind, Value, Location); \
1106 YYFPRINTF (stderr, "\n"); \
1116 yy_symbol_value_print (FILE *yyo,
1119 FILE *yyoutput = yyo;
1135 yy_symbol_print (FILE *yyo,
1138 YYFPRINTF (yyo,
"%s %s (",
1141 YYLOCATION_PRINT (yyo, yylocationp);
1142 YYFPRINTF (yyo,
": ");
1143 yy_symbol_value_print (yyo, yykind, yyvaluep, yylocationp);
1144 YYFPRINTF (yyo,
")");
1155 YYFPRINTF (stderr,
"Stack now");
1156 for (; yybottom <= yytop; yybottom++)
1158 int yybot = *yybottom;
1159 YYFPRINTF (stderr,
" %d", yybot);
1161 YYFPRINTF (stderr,
"\n");
1164 # define YY_STACK_PRINT(Bottom, Top) \
1167 yy_stack_print ((Bottom), (Top)); \
1179 int yylno = yyrline[yyrule];
1180 int yynrhs =
yyr2[yyrule];
1182 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %d):\n",
1185 for (yyi = 0; yyi < yynrhs; yyi++)
1187 YYFPRINTF (stderr,
" $%d = ", yyi + 1);
1188 yy_symbol_print (stderr,
1190 &yyvsp[(yyi + 1) - (yynrhs)],
1191 &(yylsp[(yyi + 1) - (yynrhs)]));
1192 YYFPRINTF (stderr,
"\n");
1196 # define YY_REDUCE_PRINT(Rule) \
1199 yy_reduce_print (yyssp, yyvsp, yylsp, Rule); \
1206 # define YYDPRINTF(Args) ((void) 0)
1207 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
1208 # define YY_STACK_PRINT(Bottom, Top)
1209 # define YY_REDUCE_PRINT(Rule)
1215 # define YYINITDEPTH 200
1226 # define YYMAXDEPTH 10000
1256 int yyxbegin = yyn < 0 ? -yyn : 0;
1258 int yychecklim =
YYLAST - yyn + 1;
1261 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1267 else if (yycount == yyargn)
1273 if (yyarg && yycount == 0 && 0 < yyargn)
1282 # if defined __GLIBC__ && defined _STRING_H
1283 # define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S)))
1290 for (yylen = 0; yystr[yylen]; yylen++)
1298 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1299 # define yystpcpy stpcpy
1307 const char *yys = yysrc;
1309 while ((*yyd++ = *yys++) !=
'\0')
1331 char const *yyp = yystr;
1337 goto do_not_strip_quotes;
1341 goto do_not_strip_quotes;
1357 do_not_strip_quotes: ;
1361 return yystpcpy (yyres, yystr) - yyres;
1401 yyarg[yycount] = yyctx->
yytoken;
1404 yyarg ? yyarg + 1 : yyarg, yyargn - 1);
1425 enum { YYARGS_MAX = 5 };
1441 #define YYCASE_(N, S) \
1447 YYCASE_(1,
YY_(
"syntax error, unexpected %s"));
1448 YYCASE_(2,
YY_(
"syntax error, unexpected %s, expecting %s"));
1449 YYCASE_(3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
1450 YYCASE_(4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
1451 YYCASE_(5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1457 yysize =
yystrlen (yyformat) - 2 * yycount + 1;
1460 for (yyi = 0; yyi < yycount; ++yyi)
1471 if (*yymsg_alloc < yysize)
1473 *yymsg_alloc = 2 * yysize;
1474 if (! (yysize <= *yymsg_alloc
1486 while ((*yyp = *yyformat) !=
'\0')
1487 if (*yyp ==
'%' && yyformat[1] ==
's' && yyi < yycount)
1520 #line 194 "lwin_wkt_parse.y"
1522 #line 1523 "lwin_wkt_parse.c"
1526 #line 195 "lwin_wkt_parse.y"
1528 #line 1529 "lwin_wkt_parse.c"
1532 #line 196 "lwin_wkt_parse.y"
1534 #line 1535 "lwin_wkt_parse.c"
1538 #line 203 "lwin_wkt_parse.y"
1540 #line 1541 "lwin_wkt_parse.c"
1544 #line 181 "lwin_wkt_parse.y"
1546 #line 1547 "lwin_wkt_parse.c"
1550 #line 210 "lwin_wkt_parse.y"
1552 #line 1553 "lwin_wkt_parse.c"
1556 #line 209 "lwin_wkt_parse.y"
1558 #line 1559 "lwin_wkt_parse.c"
1562 #line 202 "lwin_wkt_parse.y"
1564 #line 1565 "lwin_wkt_parse.c"
1568 #line 182 "lwin_wkt_parse.y"
1570 #line 1571 "lwin_wkt_parse.c"
1574 #line 183 "lwin_wkt_parse.y"
1576 #line 1577 "lwin_wkt_parse.c"
1580 #line 206 "lwin_wkt_parse.y"
1582 #line 1583 "lwin_wkt_parse.c"
1586 #line 208 "lwin_wkt_parse.y"
1588 #line 1589 "lwin_wkt_parse.c"
1592 #line 207 "lwin_wkt_parse.y"
1594 #line 1595 "lwin_wkt_parse.c"
1598 #line 192 "lwin_wkt_parse.y"
1600 #line 1601 "lwin_wkt_parse.c"
1604 #line 179 "lwin_wkt_parse.y"
1606 #line 1607 "lwin_wkt_parse.c"
1610 #line 193 "lwin_wkt_parse.y"
1612 #line 1613 "lwin_wkt_parse.c"
1616 #line 189 "lwin_wkt_parse.y"
1618 #line 1619 "lwin_wkt_parse.c"
1622 #line 188 "lwin_wkt_parse.y"
1624 #line 1625 "lwin_wkt_parse.c"
1628 #line 178 "lwin_wkt_parse.y"
1630 #line 1631 "lwin_wkt_parse.c"
1634 #line 177 "lwin_wkt_parse.y"
1636 #line 1637 "lwin_wkt_parse.c"
1640 #line 191 "lwin_wkt_parse.y"
1642 #line 1643 "lwin_wkt_parse.c"
1646 #line 187 "lwin_wkt_parse.y"
1648 #line 1649 "lwin_wkt_parse.c"
1652 #line 199 "lwin_wkt_parse.y"
1654 #line 1655 "lwin_wkt_parse.c"
1658 #line 186 "lwin_wkt_parse.y"
1660 #line 1661 "lwin_wkt_parse.c"
1664 #line 200 "lwin_wkt_parse.y"
1666 #line 1667 "lwin_wkt_parse.c"
1670 #line 185 "lwin_wkt_parse.y"
1672 #line 1673 "lwin_wkt_parse.c"
1676 #line 190 "lwin_wkt_parse.y"
1678 #line 1679 "lwin_wkt_parse.c"
1682 #line 197 "lwin_wkt_parse.y"
1684 #line 1685 "lwin_wkt_parse.c"
1688 #line 198 "lwin_wkt_parse.y"
1690 #line 1691 "lwin_wkt_parse.c"
1694 #line 180 "lwin_wkt_parse.y"
1696 #line 1697 "lwin_wkt_parse.c"
1700 #line 211 "lwin_wkt_parse.y"
1702 #line 1703 "lwin_wkt_parse.c"
1706 #line 212 "lwin_wkt_parse.y"
1708 #line 1709 "lwin_wkt_parse.c"
1712 #line 201 "lwin_wkt_parse.y"
1714 #line 1715 "lwin_wkt_parse.c"
1718 #line 184 "lwin_wkt_parse.y"
1720 #line 1721 "lwin_wkt_parse.c"
1724 #line 205 "lwin_wkt_parse.y"
1726 #line 1727 "lwin_wkt_parse.c"
1730 #line 204 "lwin_wkt_parse.y"
1732 #line 1733 "lwin_wkt_parse.c"
1736 #line 176 "lwin_wkt_parse.y"
1738 #line 1739 "lwin_wkt_parse.c"
1755 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
1774 int yyerrstatus = 0;
1812 char *yymsg = yymsgbuf;
1815 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
1821 YYDPRINTF ((stderr,
"Starting parse\n"));
1842 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
1849 if (yyss + yystacksize - 1 <= yyssp)
1850 #if !defined yyoverflow && !defined YYSTACK_RELOCATE
1857 # if defined yyoverflow
1870 yyoverflow (
YY_(
"memory exhausted"),
1871 &yyss1, yysize *
YYSIZEOF (*yyssp),
1872 &yyvs1, yysize *
YYSIZEOF (*yyvsp),
1873 &yyls1, yysize *
YYSIZEOF (*yylsp),
1897 # undef YYSTACK_RELOCATE
1903 yyssp = yyss + yysize - 1;
1904 yyvsp = yyvs + yysize - 1;
1905 yylsp = yyls + yysize - 1;
1908 YYDPRINTF ((stderr,
"Stack size increased to %ld\n",
1909 YY_CAST (
long, yystacksize)));
1912 if (yyss + yystacksize - 1 <= yyssp)
1941 YYDPRINTF ((stderr,
"Reading a token\n"));
1949 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1959 yyerror_range[1] =
yylloc;
2025 yyval = yyvsp[1-yylen];
2029 yyerror_range[1] = yyloc;
2034 #line 218 "lwin_wkt_parse.y"
2036 #line 2037 "lwin_wkt_parse.c"
2040 #line 220 "lwin_wkt_parse.y"
2042 #line 2043 "lwin_wkt_parse.c"
2046 #line 223 "lwin_wkt_parse.y"
2048 #line 2049 "lwin_wkt_parse.c"
2052 #line 224 "lwin_wkt_parse.y"
2054 #line 2055 "lwin_wkt_parse.c"
2058 #line 225 "lwin_wkt_parse.y"
2060 #line 2061 "lwin_wkt_parse.c"
2064 #line 226 "lwin_wkt_parse.y"
2066 #line 2067 "lwin_wkt_parse.c"
2070 #line 227 "lwin_wkt_parse.y"
2072 #line 2073 "lwin_wkt_parse.c"
2076 #line 228 "lwin_wkt_parse.y"
2078 #line 2079 "lwin_wkt_parse.c"
2082 #line 229 "lwin_wkt_parse.y"
2084 #line 2085 "lwin_wkt_parse.c"
2088 #line 230 "lwin_wkt_parse.y"
2090 #line 2091 "lwin_wkt_parse.c"
2094 #line 231 "lwin_wkt_parse.y"
2096 #line 2097 "lwin_wkt_parse.c"
2100 #line 232 "lwin_wkt_parse.y"
2102 #line 2103 "lwin_wkt_parse.c"
2106 #line 233 "lwin_wkt_parse.y"
2108 #line 2109 "lwin_wkt_parse.c"
2112 #line 234 "lwin_wkt_parse.y"
2114 #line 2115 "lwin_wkt_parse.c"
2118 #line 235 "lwin_wkt_parse.y"
2120 #line 2121 "lwin_wkt_parse.c"
2124 #line 236 "lwin_wkt_parse.y"
2126 #line 2127 "lwin_wkt_parse.c"
2130 #line 237 "lwin_wkt_parse.y"
2132 #line 2133 "lwin_wkt_parse.c"
2136 #line 241 "lwin_wkt_parse.y"
2138 #line 2139 "lwin_wkt_parse.c"
2142 #line 243 "lwin_wkt_parse.y"
2144 #line 2145 "lwin_wkt_parse.c"
2148 #line 245 "lwin_wkt_parse.y"
2150 #line 2151 "lwin_wkt_parse.c"
2154 #line 247 "lwin_wkt_parse.y"
2156 #line 2157 "lwin_wkt_parse.c"
2160 #line 251 "lwin_wkt_parse.y"
2162 #line 2163 "lwin_wkt_parse.c"
2166 #line 253 "lwin_wkt_parse.y"
2168 #line 2169 "lwin_wkt_parse.c"
2172 #line 257 "lwin_wkt_parse.y"
2174 #line 2175 "lwin_wkt_parse.c"
2178 #line 259 "lwin_wkt_parse.y"
2180 #line 2181 "lwin_wkt_parse.c"
2184 #line 261 "lwin_wkt_parse.y"
2186 #line 2187 "lwin_wkt_parse.c"
2190 #line 263 "lwin_wkt_parse.y"
2192 #line 2193 "lwin_wkt_parse.c"
2196 #line 267 "lwin_wkt_parse.y"
2198 #line 2199 "lwin_wkt_parse.c"
2202 #line 269 "lwin_wkt_parse.y"
2204 #line 2205 "lwin_wkt_parse.c"
2208 #line 271 "lwin_wkt_parse.y"
2210 #line 2211 "lwin_wkt_parse.c"
2214 #line 273 "lwin_wkt_parse.y"
2216 #line 2217 "lwin_wkt_parse.c"
2220 #line 275 "lwin_wkt_parse.y"
2222 #line 2223 "lwin_wkt_parse.c"
2226 #line 277 "lwin_wkt_parse.y"
2228 #line 2229 "lwin_wkt_parse.c"
2232 #line 281 "lwin_wkt_parse.y"
2234 #line 2235 "lwin_wkt_parse.c"
2238 #line 283 "lwin_wkt_parse.y"
2240 #line 2241 "lwin_wkt_parse.c"
2244 #line 285 "lwin_wkt_parse.y"
2246 #line 2247 "lwin_wkt_parse.c"
2250 #line 287 "lwin_wkt_parse.y"
2252 #line 2253 "lwin_wkt_parse.c"
2256 #line 291 "lwin_wkt_parse.y"
2258 #line 2259 "lwin_wkt_parse.c"
2262 #line 293 "lwin_wkt_parse.y"
2264 #line 2265 "lwin_wkt_parse.c"
2268 #line 295 "lwin_wkt_parse.y"
2270 #line 2271 "lwin_wkt_parse.c"
2274 #line 297 "lwin_wkt_parse.y"
2276 #line 2277 "lwin_wkt_parse.c"
2280 #line 301 "lwin_wkt_parse.y"
2282 #line 2283 "lwin_wkt_parse.c"
2286 #line 303 "lwin_wkt_parse.y"
2288 #line 2289 "lwin_wkt_parse.c"
2292 #line 305 "lwin_wkt_parse.y"
2294 #line 2295 "lwin_wkt_parse.c"
2298 #line 307 "lwin_wkt_parse.y"
2300 #line 2301 "lwin_wkt_parse.c"
2304 #line 311 "lwin_wkt_parse.y"
2306 #line 2307 "lwin_wkt_parse.c"
2310 #line 313 "lwin_wkt_parse.y"
2312 #line 2313 "lwin_wkt_parse.c"
2316 #line 317 "lwin_wkt_parse.y"
2318 #line 2319 "lwin_wkt_parse.c"
2322 #line 319 "lwin_wkt_parse.y"
2324 #line 2325 "lwin_wkt_parse.c"
2328 #line 323 "lwin_wkt_parse.y"
2330 #line 2331 "lwin_wkt_parse.c"
2334 #line 325 "lwin_wkt_parse.y"
2336 #line 2337 "lwin_wkt_parse.c"
2340 #line 327 "lwin_wkt_parse.y"
2342 #line 2343 "lwin_wkt_parse.c"
2346 #line 329 "lwin_wkt_parse.y"
2348 #line 2349 "lwin_wkt_parse.c"
2352 #line 333 "lwin_wkt_parse.y"
2354 #line 2355 "lwin_wkt_parse.c"
2358 #line 335 "lwin_wkt_parse.y"
2360 #line 2361 "lwin_wkt_parse.c"
2364 #line 338 "lwin_wkt_parse.y"
2366 #line 2367 "lwin_wkt_parse.c"
2370 #line 342 "lwin_wkt_parse.y"
2372 #line 2373 "lwin_wkt_parse.c"
2376 #line 344 "lwin_wkt_parse.y"
2378 #line 2379 "lwin_wkt_parse.c"
2382 #line 346 "lwin_wkt_parse.y"
2384 #line 2385 "lwin_wkt_parse.c"
2388 #line 348 "lwin_wkt_parse.y"
2390 #line 2391 "lwin_wkt_parse.c"
2394 #line 352 "lwin_wkt_parse.y"
2396 #line 2397 "lwin_wkt_parse.c"
2400 #line 354 "lwin_wkt_parse.y"
2402 #line 2403 "lwin_wkt_parse.c"
2406 #line 357 "lwin_wkt_parse.y"
2408 #line 2409 "lwin_wkt_parse.c"
2412 #line 358 "lwin_wkt_parse.y"
2414 #line 2415 "lwin_wkt_parse.c"
2418 #line 359 "lwin_wkt_parse.y"
2420 #line 2421 "lwin_wkt_parse.c"
2424 #line 360 "lwin_wkt_parse.y"
2426 #line 2427 "lwin_wkt_parse.c"
2430 #line 364 "lwin_wkt_parse.y"
2432 #line 2433 "lwin_wkt_parse.c"
2436 #line 366 "lwin_wkt_parse.y"
2438 #line 2439 "lwin_wkt_parse.c"
2442 #line 370 "lwin_wkt_parse.y"
2444 #line 2445 "lwin_wkt_parse.c"
2448 #line 372 "lwin_wkt_parse.y"
2450 #line 2451 "lwin_wkt_parse.c"
2454 #line 375 "lwin_wkt_parse.y"
2456 #line 2457 "lwin_wkt_parse.c"
2460 #line 378 "lwin_wkt_parse.y"
2462 #line 2463 "lwin_wkt_parse.c"
2466 #line 382 "lwin_wkt_parse.y"
2468 #line 2469 "lwin_wkt_parse.c"
2472 #line 384 "lwin_wkt_parse.y"
2474 #line 2475 "lwin_wkt_parse.c"
2478 #line 386 "lwin_wkt_parse.y"
2480 #line 2481 "lwin_wkt_parse.c"
2484 #line 388 "lwin_wkt_parse.y"
2486 #line 2487 "lwin_wkt_parse.c"
2490 #line 392 "lwin_wkt_parse.y"
2492 #line 2493 "lwin_wkt_parse.c"
2496 #line 394 "lwin_wkt_parse.y"
2498 #line 2499 "lwin_wkt_parse.c"
2502 #line 396 "lwin_wkt_parse.y"
2504 #line 2505 "lwin_wkt_parse.c"
2508 #line 398 "lwin_wkt_parse.y"
2510 #line 2511 "lwin_wkt_parse.c"
2514 #line 400 "lwin_wkt_parse.y"
2516 #line 2517 "lwin_wkt_parse.c"
2520 #line 402 "lwin_wkt_parse.y"
2522 #line 2523 "lwin_wkt_parse.c"
2526 #line 406 "lwin_wkt_parse.y"
2528 #line 2529 "lwin_wkt_parse.c"
2532 #line 408 "lwin_wkt_parse.y"
2534 #line 2535 "lwin_wkt_parse.c"
2538 #line 410 "lwin_wkt_parse.y"
2540 #line 2541 "lwin_wkt_parse.c"
2544 #line 412 "lwin_wkt_parse.y"
2546 #line 2547 "lwin_wkt_parse.c"
2550 #line 416 "lwin_wkt_parse.y"
2552 #line 2553 "lwin_wkt_parse.c"
2556 #line 418 "lwin_wkt_parse.y"
2558 #line 2559 "lwin_wkt_parse.c"
2562 #line 420 "lwin_wkt_parse.y"
2564 #line 2565 "lwin_wkt_parse.c"
2568 #line 422 "lwin_wkt_parse.y"
2570 #line 2571 "lwin_wkt_parse.c"
2574 #line 424 "lwin_wkt_parse.y"
2576 #line 2577 "lwin_wkt_parse.c"
2580 #line 426 "lwin_wkt_parse.y"
2582 #line 2583 "lwin_wkt_parse.c"
2586 #line 428 "lwin_wkt_parse.y"
2588 #line 2589 "lwin_wkt_parse.c"
2592 #line 430 "lwin_wkt_parse.y"
2594 #line 2595 "lwin_wkt_parse.c"
2598 #line 434 "lwin_wkt_parse.y"
2600 #line 2601 "lwin_wkt_parse.c"
2604 #line 436 "lwin_wkt_parse.y"
2606 #line 2607 "lwin_wkt_parse.c"
2610 #line 438 "lwin_wkt_parse.y"
2612 #line 2613 "lwin_wkt_parse.c"
2616 #line 440 "lwin_wkt_parse.y"
2618 #line 2619 "lwin_wkt_parse.c"
2622 #line 444 "lwin_wkt_parse.y"
2624 #line 2625 "lwin_wkt_parse.c"
2628 #line 446 "lwin_wkt_parse.y"
2630 #line 2631 "lwin_wkt_parse.c"
2634 #line 450 "lwin_wkt_parse.y"
2636 #line 2637 "lwin_wkt_parse.c"
2640 #line 452 "lwin_wkt_parse.y"
2642 #line 2643 "lwin_wkt_parse.c"
2646 #line 454 "lwin_wkt_parse.y"
2648 #line 2649 "lwin_wkt_parse.c"
2652 #line 456 "lwin_wkt_parse.y"
2654 #line 2655 "lwin_wkt_parse.c"
2658 #line 460 "lwin_wkt_parse.y"
2660 #line 2661 "lwin_wkt_parse.c"
2664 #line 462 "lwin_wkt_parse.y"
2666 #line 2667 "lwin_wkt_parse.c"
2670 #line 464 "lwin_wkt_parse.y"
2672 #line 2673 "lwin_wkt_parse.c"
2676 #line 466 "lwin_wkt_parse.y"
2678 #line 2679 "lwin_wkt_parse.c"
2682 #line 470 "lwin_wkt_parse.y"
2684 #line 2685 "lwin_wkt_parse.c"
2688 #line 472 "lwin_wkt_parse.y"
2690 #line 2691 "lwin_wkt_parse.c"
2694 #line 476 "lwin_wkt_parse.y"
2696 #line 2697 "lwin_wkt_parse.c"
2700 #line 478 "lwin_wkt_parse.y"
2702 #line 2703 "lwin_wkt_parse.c"
2706 #line 482 "lwin_wkt_parse.y"
2708 #line 2709 "lwin_wkt_parse.c"
2712 #line 484 "lwin_wkt_parse.y"
2714 #line 2715 "lwin_wkt_parse.c"
2718 #line 486 "lwin_wkt_parse.y"
2720 #line 2721 "lwin_wkt_parse.c"
2724 #line 488 "lwin_wkt_parse.y"
2726 #line 2727 "lwin_wkt_parse.c"
2730 #line 492 "lwin_wkt_parse.y"
2732 #line 2733 "lwin_wkt_parse.c"
2736 #line 496 "lwin_wkt_parse.y"
2738 #line 2739 "lwin_wkt_parse.c"
2742 #line 498 "lwin_wkt_parse.y"
2744 #line 2745 "lwin_wkt_parse.c"
2748 #line 500 "lwin_wkt_parse.y"
2750 #line 2751 "lwin_wkt_parse.c"
2754 #line 502 "lwin_wkt_parse.y"
2756 #line 2757 "lwin_wkt_parse.c"
2760 #line 506 "lwin_wkt_parse.y"
2762 #line 2763 "lwin_wkt_parse.c"
2766 #line 508 "lwin_wkt_parse.y"
2768 #line 2769 "lwin_wkt_parse.c"
2772 #line 512 "lwin_wkt_parse.y"
2774 #line 2775 "lwin_wkt_parse.c"
2778 #line 514 "lwin_wkt_parse.y"
2780 #line 2781 "lwin_wkt_parse.c"
2784 #line 516 "lwin_wkt_parse.y"
2786 #line 2787 "lwin_wkt_parse.c"
2790 #line 520 "lwin_wkt_parse.y"
2792 #line 2793 "lwin_wkt_parse.c"
2796 #line 522 "lwin_wkt_parse.y"
2798 #line 2799 "lwin_wkt_parse.c"
2802 #line 524 "lwin_wkt_parse.y"
2804 #line 2805 "lwin_wkt_parse.c"
2808 #line 526 "lwin_wkt_parse.y"
2810 #line 2811 "lwin_wkt_parse.c"
2814 #line 530 "lwin_wkt_parse.y"
2816 #line 2817 "lwin_wkt_parse.c"
2820 #line 532 "lwin_wkt_parse.y"
2822 #line 2823 "lwin_wkt_parse.c"
2826 #line 536 "lwin_wkt_parse.y"
2828 #line 2829 "lwin_wkt_parse.c"
2832 #line 538 "lwin_wkt_parse.y"
2834 #line 2835 "lwin_wkt_parse.c"
2838 #line 540 "lwin_wkt_parse.y"
2840 #line 2841 "lwin_wkt_parse.c"
2844 #line 2845 "lwin_wkt_parse.c"
2872 const int yyi =
yypgoto[yylhs] + *yyssp;
2873 yystate = (0 <= yyi && yyi <=
YYLAST &&
yycheck[yyi] == *yyssp
2894 = {yyssp, yytoken, &
yylloc};
2895 char const *yymsgp =
YY_(
"syntax error");
2896 int yysyntax_error_status;
2897 yysyntax_error_status =
yysyntax_error (&yymsg_alloc, &yymsg, &yyctx);
2898 if (yysyntax_error_status == 0)
2900 else if (yysyntax_error_status == -1)
2902 if (yymsg != yymsgbuf)
2908 yysyntax_error_status
2915 yymsg_alloc =
sizeof yymsgbuf;
2920 if (yysyntax_error_status ==
YYENOMEM)
2925 yyerror_range[1] =
yylloc;
2926 if (yyerrstatus == 3)
2994 yyerror_range[1] = *yylsp;
3006 yyerror_range[2] =
yylloc;
3058 while (yyssp != yyss)
3068 if (yymsg != yymsgbuf)
3073 #line 542 "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)
LWGEOM * wkt_parser_compound_finalize(LWGEOM *compound, char *dimensionality)
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.
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)
void wkt_parser_geometry_new(LWGEOM *geom, int32_t srid)
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 char * yysymbol_name(yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED
static YYPTRDIFF_T yystrlen(const char *yystr)
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
static const yytype_int8 yytranslate[]
@ YYSYMBOL_polyhedralsurface
@ YYSYMBOL_curvering_list
@ YYSYMBOL_linestring_untagged
@ YYSYMBOL_COMPOUNDCURVE_TOK
@ YYSYMBOL_circularstring
@ YYSYMBOL_MLINESTRING_TOK
@ YYSYMBOL_patchring_list
@ YYSYMBOL_multilinestring
@ YYSYMBOL_polygon_untagged
@ YYSYMBOL_CIRCULARSTRING_TOK
@ YYSYMBOL_COLLECTION_TOK
@ YYSYMBOL_point_untagged
@ YYSYMBOL_triangle_untagged
@ YYSYMBOL_POLYHEDRALSURFACE_TOK
@ YYSYMBOL_DIMENSIONALITY_TOK
@ YYSYMBOL_LINESTRING_TOK
@ YYSYMBOL_linestring_list
@ YYSYMBOL_geometrycollection
@ YYSYMBOL_geometry_no_srid
@ YYSYMBOL_CURVEPOLYGON_TOK
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
#define YY_IGNORE_USELESS_CAST_END
#define YYLLOC_DEFAULT(Current, Rhs, N)
static void yydestruct(const char *yymsg, yysymbol_kind_t yykind, YYSTYPE *yyvaluep, YYLTYPE *yylocationp)
int lwgeom_parse_wkt(LWGEOM_PARSER_RESULT *parser_result, char *wktstr, int parser_check_flags)
Parse a WKT geometry string into an LWGEOM structure.
#define YY_REDUCE_PRINT(Rule)
#define YY_CAST(Type, Val)
static const yytype_int16 yypact[]
static const yytype_uint8 yydefgoto[]
#define YY_ACCESSING_SYMBOL(State)
Accessing symbol of state STATE.
#define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
static const yytype_int16 yypgoto[]
static YYPTRDIFF_T yytnamerr(char *yyres, const char *yystr)
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)
#define YY_IGNORE_USELESS_CAST_BEGIN
static const yytype_int8 yyr2[]
static const yytype_int16 yytable[]
#define yytable_value_is_error(Yyn)
static const yytype_int8 yystos[]
#define YY_ATTRIBUTE_UNUSED
static const char *const yytname[]
static int yypcontext_expected_tokens(const yypcontext_t *yyctx, yysymbol_kind_t yyarg[], int yyargn)
static const yytype_int8 yyr1[]
unsigned short yytype_uint16
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
#define yypact_value_is_default(Yyn)
static int yy_syntax_error_arguments(const yypcontext_t *yyctx, yysymbol_kind_t yyarg[], int yyargn)
LWGEOM_PARSER_RESULT global_parser_result
static const yytype_uint8 yydefact[]
static const yytype_uint8 yycheck[]
static int yysyntax_error(YYPTRDIFF_T *yymsg_alloc, char **yymsg, const yypcontext_t *yyctx)
Parser result structure: returns the result of attempting to convert (E)WKT/(E)WKB to LWGEOM.
POINTARRAY * ptarrayvalue