47 #define YYBISON_VERSION "3.0.4"
50 #define YYSKELETON_NAME "yacc.c"
63 #define yyparse wkt_yyparse
64 #define yylex wkt_yylex
65 #define yyerror wkt_yyerror
66 #define yydebug wkt_yydebug
67 #define yynerrs wkt_yynerrs
69 #define yylval wkt_yylval
70 #define yychar wkt_yychar
71 #define yylloc wkt_yylloc
74 #line 1 "lwin_wkt_parse.y"
143 LWDEBUGF(4,
"wkt_yyparse returned %d", parse_rv);
161 LWDEBUGF(5,
"error returned by wkt_yyparse() @ %d: [%d] '%s'",
178 #define WKT_ERROR() { if ( global_parser_result.errcode != 0 ) { YYERROR; } }
182 #line 183 "lwin_wkt_parse.c"
185 # if defined __cplusplus && 201103L <= __cplusplus
186 # define YY_NULLPTR nullptr
188 # define YY_NULLPTR 0
193 #ifdef YYERROR_VERBOSE
194 # undef YYERROR_VERBOSE
195 # define YYERROR_VERBOSE 1
197 # define YYERROR_VERBOSE 1
202 #ifndef YY_WKT_YY_LWIN_WKT_PARSE_H_INCLUDED
203 # define YY_WKT_YY_LWIN_WKT_PARSE_H_INCLUDED
244 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
248 #line 112 "lwin_wkt_parse.y"
257 #line 258 "lwin_wkt_parse.c"
261 # define YYSTYPE_IS_TRIVIAL 1
262 # define YYSTYPE_IS_DECLARED 1
266 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
275 # define YYLTYPE_IS_DECLARED 1
276 # define YYLTYPE_IS_TRIVIAL 1
288 #line 289 "lwin_wkt_parse.c"
319 # ifdef __SIZE_TYPE__
320 # define YYSIZE_T __SIZE_TYPE__
321 # elif defined size_t
322 # define YYSIZE_T size_t
323 # elif ! defined YYSIZE_T
325 # define YYSIZE_T size_t
327 # define YYSIZE_T unsigned int
331 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
334 # if defined YYENABLE_NLS && YYENABLE_NLS
336 # include <libintl.h>
337 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
341 # define YY_(Msgid) Msgid
346 # if (defined __GNUC__ \
347 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
348 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
349 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
351 # define YY_ATTRIBUTE(Spec)
355 #ifndef YY_ATTRIBUTE_PURE
356 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
359 #ifndef YY_ATTRIBUTE_UNUSED
360 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
363 #if !defined _Noreturn \
364 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
365 # if defined _MSC_VER && 1200 <= _MSC_VER
366 # define _Noreturn __declspec (noreturn)
368 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
373 #if ! defined lint || defined __GNUC__
374 # define YYUSE(E) ((void) (E))
379 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
381 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
382 _Pragma ("GCC diagnostic push") \
383 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
384 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
385 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
386 _Pragma ("GCC diagnostic pop")
388 # define YY_INITIAL_VALUE(Value) Value
390 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
391 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
392 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
394 #ifndef YY_INITIAL_VALUE
395 # define YY_INITIAL_VALUE(Value)
399 #if ! defined yyoverflow || YYERROR_VERBOSE
403 # ifdef YYSTACK_USE_ALLOCA
404 # if YYSTACK_USE_ALLOCA
406 # define YYSTACK_ALLOC __builtin_alloca
407 # elif defined __BUILTIN_VA_ARG_INCR
410 # define YYSTACK_ALLOC __alloca
411 # elif defined _MSC_VER
413 # define alloca _alloca
415 # define YYSTACK_ALLOC alloca
416 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
419 # ifndef EXIT_SUCCESS
420 # define EXIT_SUCCESS 0
427 # ifdef YYSTACK_ALLOC
429 # define YYSTACK_FREE(Ptr) do { ; } while (0)
430 # ifndef YYSTACK_ALLOC_MAXIMUM
435 # define YYSTACK_ALLOC_MAXIMUM 4032
438 # define YYSTACK_ALLOC YYMALLOC
439 # define YYSTACK_FREE YYFREE
440 # ifndef YYSTACK_ALLOC_MAXIMUM
441 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
443 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
444 && ! ((defined YYMALLOC || defined malloc) \
445 && (defined YYFREE || defined free)))
447 # ifndef EXIT_SUCCESS
448 # define EXIT_SUCCESS 0
452 # define YYMALLOC malloc
453 # if ! defined malloc && ! defined EXIT_SUCCESS
459 # if ! defined free && ! defined EXIT_SUCCESS
467 #if (! defined yyoverflow \
468 && (! defined __cplusplus \
469 || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
470 && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
481 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
485 # define YYSTACK_BYTES(N) \
486 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
487 + 2 * YYSTACK_GAP_MAXIMUM)
489 # define YYCOPY_NEEDED 1
496 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
499 YYSIZE_T yynewbytes; \
500 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
501 Stack = &yyptr->Stack_alloc; \
502 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
503 yyptr += yynewbytes / sizeof (*yyptr); \
509 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
513 # if defined __GNUC__ && 1 < __GNUC__
514 # define YYCOPY(Dst, Src, Count) \
515 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
517 # define YYCOPY(Dst, Src, Count) \
521 for (yyi = 0; yyi < (Count); yyi++) \
522 (Dst)[yyi] = (Src)[yyi]; \
541 #define YYNSTATES 264
546 #define YYMAXUTOK 280
548 #define YYTRANSLATE(YYX) \
549 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
555 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
556 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
557 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
558 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
559 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
560 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
561 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
562 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
563 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
564 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
565 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
566 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
567 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
568 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
569 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
570 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
571 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
572 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
573 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
574 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
575 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
576 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
577 2, 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, 1, 2, 3, 4,
581 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
582 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
590 0, 217, 217, 219, 223, 224, 225, 226, 227, 228,
591 229, 230, 231, 232, 233, 234, 235, 236, 237, 240,
592 242, 244, 246, 250, 252, 256, 258, 260, 262, 266,
593 268, 270, 272, 274, 276, 280, 282, 284, 286, 290,
594 292, 294, 296, 300, 302, 304, 306, 310, 312, 316,
595 318, 322, 324, 326, 328, 332, 334, 338, 341, 343,
596 345, 347, 351, 353, 357, 358, 359, 360, 363, 365,
597 369, 371, 375, 378, 381, 383, 385, 387, 391, 393,
598 395, 397, 399, 401, 405, 407, 409, 411, 415, 417,
599 419, 421, 423, 425, 427, 429, 433, 435, 437, 439,
600 443, 445, 449, 451, 453, 455, 459, 461, 463, 465,
601 469, 471, 475, 477, 481, 483, 485, 487, 491, 495,
602 497, 499, 501, 505, 507, 511, 513, 515, 519, 521,
603 523, 525, 529, 531, 535, 537, 539
607 #if YYDEBUG || YYERROR_VERBOSE || 1
612 "$end",
"error",
"$undefined",
"POINT_TOK",
"LINESTRING_TOK",
613 "POLYGON_TOK",
"MPOINT_TOK",
"MLINESTRING_TOK",
"MPOLYGON_TOK",
614 "MSURFACE_TOK",
"MCURVE_TOK",
"CURVEPOLYGON_TOK",
"COMPOUNDCURVE_TOK",
615 "CIRCULARSTRING_TOK",
"COLLECTION_TOK",
"RBRACKET_TOK",
"LBRACKET_TOK",
616 "COMMA_TOK",
"EMPTY_TOK",
"SEMICOLON_TOK",
"TRIANGLE_TOK",
"TIN_TOK",
617 "POLYHEDRALSURFACE_TOK",
"DOUBLE_TOK",
"DIMENSIONALITY_TOK",
"SRID_TOK",
618 "$accept",
"geometry",
"geometry_no_srid",
"geometrycollection",
619 "geometry_list",
"multisurface",
"surface_list",
"tin",
620 "polyhedralsurface",
"multipolygon",
"polygon_list",
"patch_list",
621 "polygon",
"polygon_untagged",
"patch",
"curvepolygon",
"curvering_list",
622 "curvering",
"patchring_list",
"ring_list",
"patchring",
"ring",
623 "compoundcurve",
"compound_list",
"multicurve",
"curve_list",
624 "multilinestring",
"linestring_list",
"circularstring",
"linestring",
625 "linestring_untagged",
"triangle_list",
"triangle",
"triangle_untagged",
626 "multipoint",
"point_list",
"point_untagged",
"point",
"ptarray",
636 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
637 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
638 275, 276, 277, 278, 279, 280
642 #define YYPACT_NINF -90
644 #define yypact_value_is_default(Yystate) \
645 (!!((Yystate) == (-90)))
647 #define YYTABLE_NINF -1
649 #define yytable_value_is_error(Yytable_value) \
656 109, -2, 16, 23, 26, 36, 39, 40, 52, 53,
657 74, 79, 83, 84, 108, 137, 7, 46, -90, -90,
658 -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
659 -90, -90, -90, -90, 43, -90, 27, 43, -90, 88,
660 33, -90, 144, 140, -90, 167, 175, -90, 176, 179,
661 -90, 183, 20, -90, 184, 11, -90, 187, 11, -90,
662 188, 17, -90, 191, 43, -90, 192, 168, -90, 195,
663 51, -90, 196, 56, -90, 199, 70, -90, 200, 168,
664 -90, 68, 110, -90, 43, -90, 169, 43, -90, 43,
665 204, -90, 33, -90, 43, -90, 205, -90, -90, 140,
666 -90, 43, -90, 208, -90, 175, -90, 33, -90, 209,
667 -90, 179, -90, 212, -90, -90, -90, 20, -90, -90,
668 213, -90, -90, -90, 11, -90, 216, -90, -90, -90,
669 -90, -90, 11, -90, 217, -90, -90, -90, 17, -90,
670 220, 43, -90, -90, 221, 168, -90, 43, 80, -90,
671 93, 224, -90, 56, -90, 94, 225, -90, 70, -90,
672 -90, 105, -90, 43, 228, -90, 229, 232, -90, 33,
673 233, 44, -90, 140, 236, 237, -90, 175, 240, 241,
674 -90, 179, 244, -90, 20, 245, -90, 11, 248, -90,
675 11, 249, -90, 17, 252, -90, 253, -90, 168, 256,
676 257, 43, 43, -90, 56, 260, 43, 261, -90, -90,
677 70, 264, 112, -90, -90, -90, -90, -90, -90, -90,
678 -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
679 -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
680 -90, -90, -90, -90, -90, -90, 47, 265, 268, -90,
681 -90, 269, -90, 94, -90, -90, -90, -90, 131, 132,
690 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
691 0, 0, 0, 0, 0, 0, 0, 0, 2, 18,
692 13, 15, 16, 12, 8, 9, 7, 14, 11, 6,
693 5, 17, 10, 4, 0, 131, 0, 0, 109, 0,
694 0, 54, 0, 0, 122, 0, 0, 99, 0, 0,
695 46, 0, 0, 28, 0, 0, 87, 0, 0, 61,
696 0, 0, 77, 0, 0, 105, 0, 0, 22, 0,
697 0, 117, 0, 0, 38, 0, 0, 42, 0, 0,
698 1, 0, 0, 133, 0, 130, 0, 0, 108, 0,
699 0, 71, 0, 53, 0, 127, 0, 124, 125, 0,
700 121, 0, 111, 0, 101, 0, 98, 0, 56, 0,
701 48, 0, 45, 0, 32, 34, 33, 0, 27, 93,
702 0, 92, 94, 95, 0, 86, 0, 63, 66, 67,
703 65, 64, 0, 60, 0, 81, 82, 83, 0, 76,
704 0, 0, 104, 24, 0, 0, 21, 0, 0, 116,
705 0, 0, 113, 0, 37, 0, 0, 50, 0, 41,
706 3, 134, 128, 0, 0, 106, 0, 0, 51, 0,
707 0, 0, 119, 0, 0, 0, 96, 0, 0, 0,
708 43, 0, 0, 25, 0, 0, 84, 0, 0, 58,
709 0, 0, 74, 0, 0, 102, 0, 19, 0, 0,
710 0, 0, 0, 35, 0, 0, 0, 0, 69, 39,
711 0, 0, 135, 132, 129, 107, 73, 70, 52, 126,
712 123, 120, 110, 100, 97, 55, 47, 44, 29, 31,
713 30, 26, 89, 88, 90, 91, 85, 62, 59, 78,
714 79, 80, 75, 103, 23, 20, 0, 0, 0, 112,
715 36, 0, 57, 0, 49, 40, 136, 114, 0, 0,
722 -90, -90, 0, -90, 5, -90, 37, -90, -90, -90,
723 48, 6, -39, -33, -42, -32, 55, -21, -90, -89,
724 -57, 118, -50, 150, -90, 165, -90, 185, -51, -49,
725 -44, 138, -90, 89, -90, 193, 121, -90, -36, -6
731 -1, 17, 143, 19, 144, 20, 113, 21, 22, 23,
732 109, 156, 24, 110, 157, 25, 126, 127, 207, 90,
733 208, 91, 26, 134, 27, 120, 28, 103, 29, 30,
734 131, 151, 31, 152, 32, 96, 97, 33, 82, 83
742 18, 86, 104, 170, 121, 119, 122, 129, 128, 130,
743 135, 123, 136, 114, 34, 2, 35, 137, 179, 115,
744 116, 2, 36, 10, 11, 3, 79, 101, 140, 102,
745 11, 9, 37, 101, 38, 102, 107, 98, 108, 40,
746 39, 41, 43, 84, 44, 85, 80, 42, 164, 89,
747 45, 166, 46, 167, 47, 49, 52, 50, 53, 219,
748 48, 104, 257, 51, 54, 175, 81, 147, 55, 58,
749 56, 59, 150, 121, 119, 122, 57, 60, 114, 160,
750 123, 129, 128, 130, 115, 116, 155, 135, 171, 136,
751 61, 161, 62, 98, 137, 64, 201, 65, 63, 67,
752 70, 68, 71, 66, 87, 196, 88, 69, 72, 202,
753 206, 200, 1, 2, 3, 4, 5, 6, 7, 8,
754 9, 10, 11, 12, 73, 162, 74, 163, 212, 13,
755 14, 15, 75, 223, 16, 256, 233, 232, 234, 129,
756 128, 130, 239, 235, 240, 228, 262, 263, 226, 241,
757 199, 229, 230, 76, 185, 77, 94, 213, 95, 182,
758 92, 78, 93, 81, 211, 247, 248, 98, 254, 237,
759 251, 1, 2, 3, 4, 5, 6, 7, 8, 9,
760 10, 11, 12, 99, 165, 100, 163, 191, 13, 14,
761 15, 101, 105, 102, 106, 107, 261, 108, 244, 111,
762 117, 112, 118, 124, 132, 125, 133, 138, 141, 139,
763 142, 145, 148, 146, 149, 153, 158, 154, 159, 168,
764 172, 169, 173, 176, 180, 177, 181, 183, 186, 184,
765 187, 189, 192, 190, 193, 195, 197, 163, 198, 203,
766 209, 204, 210, 214, 215, 163, 163, 216, 218, 163,
767 169, 221, 222, 173, 163, 224, 225, 177, 169, 227,
768 231, 181, 184, 236, 238, 187, 190, 242, 243, 193,
769 163, 245, 246, 198, 163, 250, 252, 204, 253, 255,
770 258, 210, 163, 259, 260, 163, 163, 217, 194, 188,
771 178, 205, 174, 249, 220
776 0, 37, 46, 92, 55, 55, 55, 58, 58, 58,
777 61, 55, 61, 52, 16, 4, 18, 61, 107, 52,
778 52, 4, 24, 12, 13, 5, 19, 16, 64, 18,
779 13, 11, 16, 16, 18, 18, 16, 43, 18, 16,
780 24, 18, 16, 16, 18, 18, 0, 24, 84, 16,
781 24, 87, 16, 89, 18, 16, 16, 18, 18, 15,
782 24, 105, 15, 24, 24, 101, 23, 16, 16, 16,
783 18, 18, 16, 124, 124, 124, 24, 24, 117, 79,
784 124, 132, 132, 132, 117, 117, 16, 138, 94, 138,
785 16, 23, 18, 99, 138, 16, 16, 18, 24, 16,
786 16, 18, 18, 24, 16, 141, 18, 24, 24, 16,
787 16, 147, 3, 4, 5, 6, 7, 8, 9, 10,
788 11, 12, 13, 14, 16, 15, 18, 17, 23, 20,
789 21, 22, 24, 177, 25, 23, 187, 187, 187, 190,
790 190, 190, 193, 187, 193, 184, 15, 15, 181, 193,
791 145, 184, 184, 16, 117, 18, 16, 163, 18, 111,
792 16, 24, 18, 23, 158, 201, 202, 173, 210, 190,
793 206, 3, 4, 5, 6, 7, 8, 9, 10, 11,
794 12, 13, 14, 16, 15, 18, 17, 132, 20, 21,
795 22, 16, 16, 18, 18, 16, 253, 18, 198, 16,
796 16, 18, 18, 16, 16, 18, 18, 16, 16, 18,
797 18, 16, 16, 18, 18, 16, 16, 18, 18, 15,
798 15, 17, 17, 15, 15, 17, 17, 15, 15, 17,
799 17, 15, 15, 17, 17, 15, 15, 17, 17, 15,
800 15, 17, 17, 15, 15, 17, 17, 15, 15, 17,
801 17, 15, 15, 17, 17, 15, 15, 17, 17, 15,
802 15, 17, 17, 15, 15, 17, 17, 15, 15, 17,
803 17, 15, 15, 17, 17, 15, 15, 17, 17, 15,
804 15, 17, 17, 15, 15, 17, 17, 169, 138, 124,
805 105, 153, 99, 204, 173
812 0, 3, 4, 5, 6, 7, 8, 9, 10, 11,
813 12, 13, 14, 20, 21, 22, 25, 27, 28, 29,
814 31, 33, 34, 35, 38, 41, 48, 50, 52, 54,
815 55, 58, 60, 63, 16, 18, 24, 16, 18, 24,
816 16, 18, 24, 16, 18, 24, 16, 18, 24, 16,
817 18, 24, 16, 18, 24, 16, 18, 24, 16, 18,
818 24, 16, 18, 24, 16, 18, 24, 16, 18, 24,
819 16, 18, 24, 16, 18, 24, 16, 18, 24, 19,
820 0, 23, 64, 65, 16, 18, 64, 16, 18, 16,
821 45, 47, 16, 18, 16, 18, 61, 62, 65, 16,
822 18, 16, 18, 53, 56, 16, 18, 16, 18, 36,
823 39, 16, 18, 32, 38, 39, 41, 16, 18, 48,
824 51, 54, 55, 56, 16, 18, 42, 43, 48, 54,
825 55, 56, 16, 18, 49, 54, 55, 56, 16, 18,
826 64, 16, 18, 28, 30, 16, 18, 16, 16, 18,
827 16, 57, 59, 16, 18, 16, 37, 40, 16, 18,
828 28, 23, 15, 17, 64, 15, 64, 64, 15, 17,
829 45, 65, 15, 17, 61, 64, 15, 17, 53, 45,
830 15, 17, 36, 15, 17, 32, 15, 17, 51, 15,
831 17, 42, 15, 17, 49, 15, 64, 15, 17, 30,
832 64, 16, 16, 15, 17, 57, 16, 44, 46, 15,
833 17, 37, 23, 65, 15, 15, 15, 47, 15, 15,
834 62, 15, 15, 56, 15, 15, 39, 15, 38, 39,
835 41, 15, 48, 54, 55, 56, 15, 43, 15, 54,
836 55, 56, 15, 15, 28, 15, 15, 64, 64, 59,
837 15, 64, 15, 17, 40, 15, 23, 15, 15, 15,
844 0, 26, 27, 27, 28, 28, 28, 28, 28, 28,
845 28, 28, 28, 28, 28, 28, 28, 28, 28, 29,
846 29, 29, 29, 30, 30, 31, 31, 31, 31, 32,
847 32, 32, 32, 32, 32, 33, 33, 33, 33, 34,
848 34, 34, 34, 35, 35, 35, 35, 36, 36, 37,
849 37, 38, 38, 38, 38, 39, 39, 40, 41, 41,
850 41, 41, 42, 42, 43, 43, 43, 43, 44, 44,
851 45, 45, 46, 47, 48, 48, 48, 48, 49, 49,
852 49, 49, 49, 49, 50, 50, 50, 50, 51, 51,
853 51, 51, 51, 51, 51, 51, 52, 52, 52, 52,
854 53, 53, 54, 54, 54, 54, 55, 55, 55, 55,
855 56, 56, 57, 57, 58, 58, 58, 58, 59, 60,
856 60, 60, 60, 61, 61, 62, 62, 62, 63, 63,
857 63, 63, 64, 64, 65, 65, 65
863 0, 2, 1, 3, 1, 1, 1, 1, 1, 1,
864 1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
865 5, 3, 2, 3, 1, 4, 5, 3, 2, 3,
866 3, 3, 1, 1, 1, 4, 5, 3, 2, 4,
867 5, 3, 2, 4, 5, 3, 2, 3, 1, 3,
868 1, 4, 5, 3, 2, 3, 1, 3, 4, 5,
869 3, 2, 3, 1, 1, 1, 1, 1, 3, 1,
870 3, 1, 3, 3, 4, 5, 3, 2, 3, 3,
871 3, 1, 1, 1, 4, 5, 3, 2, 3, 3,
872 3, 3, 1, 1, 1, 1, 4, 5, 3, 2,
873 3, 1, 4, 5, 3, 2, 4, 5, 3, 2,
874 3, 1, 3, 1, 6, 7, 3, 2, 5, 4,
875 5, 3, 2, 3, 1, 1, 3, 1, 4, 5,
880 #define yyerrok (yyerrstatus = 0)
881 #define yyclearin (yychar = YYEMPTY)
885 #define YYACCEPT goto yyacceptlab
886 #define YYABORT goto yyabortlab
887 #define YYERROR goto yyerrorlab
890 #define YYRECOVERING() (!!yyerrstatus)
892 #define YYBACKUP(Token, Value) \
894 if (yychar == YYEMPTY) \
898 YYPOPSTACK (yylen); \
904 yyerror (YY_("syntax error: cannot back up")); \
911 #define YYERRCODE 256
918 #ifndef YYLLOC_DEFAULT
919 # define YYLLOC_DEFAULT(Current, Rhs, N) \
923 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
924 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
925 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
926 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
930 (Current).first_line = (Current).last_line = \
931 YYRHSLOC (Rhs, 0).last_line; \
932 (Current).first_column = (Current).last_column = \
933 YYRHSLOC (Rhs, 0).last_column; \
938 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
946 # define YYFPRINTF fprintf
949 # define YYDPRINTF(Args) \
960 #ifndef YY_LOCATION_PRINT
961 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
967 yy_location_print_ (FILE *yyo,
YYLTYPE const *
const yylocp)
983 res += YYFPRINTF (yyo,
".%d", end_col);
985 else if (0 <= end_col && yylocp->
first_column < end_col)
986 res += YYFPRINTF (yyo,
"-%d", end_col);
991 # define YY_LOCATION_PRINT(File, Loc) \
992 yy_location_print_ (File, &(Loc))
995 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1000 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1004 YYFPRINTF (stderr, "%s ", Title); \
1005 yy_symbol_print (stderr, \
1006 Type, Value, Location); \
1007 YYFPRINTF (stderr, "\n"); \
1017 yy_symbol_value_print (FILE *yyoutput,
int yytype,
YYSTYPE const *
const yyvaluep,
YYLTYPE const *
const yylocationp)
1019 FILE *yyo = yyoutput;
1021 YYUSE (yylocationp);
1026 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1037 yy_symbol_print (FILE *yyoutput,
int yytype,
YYSTYPE const *
const yyvaluep,
YYLTYPE const *
const yylocationp)
1039 YYFPRINTF (yyoutput,
"%s %s (",
1042 YY_LOCATION_PRINT (yyoutput, *yylocationp);
1043 YYFPRINTF (yyoutput,
": ");
1044 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp);
1045 YYFPRINTF (yyoutput,
")");
1056 YYFPRINTF (stderr,
"Stack now");
1057 for (; yybottom <= yytop; yybottom++)
1059 int yybot = *yybottom;
1060 YYFPRINTF (stderr,
" %d", yybot);
1062 YYFPRINTF (stderr,
"\n");
1065 # define YY_STACK_PRINT(Bottom, Top) \
1068 yy_stack_print ((Bottom), (Top)); \
1079 unsigned long int yylno = yyrline[yyrule];
1080 int yynrhs =
yyr2[yyrule];
1082 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %lu):\n",
1085 for (yyi = 0; yyi < yynrhs; yyi++)
1087 YYFPRINTF (stderr,
" $%d = ", yyi + 1);
1088 yy_symbol_print (stderr,
1089 yystos[yyssp[yyi + 1 - yynrhs]],
1090 &(yyvsp[(yyi + 1) - (yynrhs)])
1091 , &(yylsp[(yyi + 1) - (yynrhs)]) );
1092 YYFPRINTF (stderr,
"\n");
1096 # define YY_REDUCE_PRINT(Rule) \
1099 yy_reduce_print (yyssp, yyvsp, yylsp, Rule); \
1106 # define YYDPRINTF(Args)
1107 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1108 # define YY_STACK_PRINT(Bottom, Top)
1109 # define YY_REDUCE_PRINT(Rule)
1115 # define YYINITDEPTH 200
1126 # define YYMAXDEPTH 10000
1133 # if defined __GLIBC__ && defined _STRING_H
1134 # define yystrlen strlen
1141 for (yylen = 0; yystr[yylen]; yylen++)
1149 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1150 # define yystpcpy stpcpy
1158 const char *yys = yysrc;
1160 while ((*yyd++ = *yys++) !=
'\0')
1182 char const *yyp = yystr;
1189 goto do_not_strip_quotes;
1193 goto do_not_strip_quotes;
1206 do_not_strip_quotes: ;
1212 return yystpcpy (yyres, yystr) - yyres;
1230 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1234 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1264 int yyn =
yypact[*yyssp];
1265 yyarg[yycount++] =
yytname[yytoken];
1271 int yyxbegin = yyn < 0 ? -yyn : 0;
1273 int yychecklim =
YYLAST - yyn + 1;
1277 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1281 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1287 yyarg[yycount++] =
yytname[yyx];
1290 if (! (yysize <= yysize1
1301 # define YYCASE_(N, S) \
1306 YYCASE_(1,
YY_(
"syntax error, unexpected %s"));
1307 YYCASE_(2,
YY_(
"syntax error, unexpected %s, expecting %s"));
1308 YYCASE_(3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
1309 YYCASE_(4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
1310 YYCASE_(5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1321 if (*yymsg_alloc < yysize)
1323 *yymsg_alloc = 2 * yysize;
1324 if (! (yysize <= *yymsg_alloc
1336 while ((*yyp = *yyformat) !=
'\0')
1337 if (*yyp ==
'%' && yyformat[1] ==
's' && yyi < yycount)
1360 YYUSE (yylocationp);
1369 #line 194 "lwin_wkt_parse.y"
1371 #line 1372 "lwin_wkt_parse.c"
1375 #line 195 "lwin_wkt_parse.y"
1377 #line 1378 "lwin_wkt_parse.c"
1381 #line 196 "lwin_wkt_parse.y"
1383 #line 1384 "lwin_wkt_parse.c"
1387 #line 203 "lwin_wkt_parse.y"
1389 #line 1390 "lwin_wkt_parse.c"
1393 #line 181 "lwin_wkt_parse.y"
1395 #line 1396 "lwin_wkt_parse.c"
1399 #line 210 "lwin_wkt_parse.y"
1401 #line 1402 "lwin_wkt_parse.c"
1405 #line 209 "lwin_wkt_parse.y"
1407 #line 1408 "lwin_wkt_parse.c"
1411 #line 202 "lwin_wkt_parse.y"
1413 #line 1414 "lwin_wkt_parse.c"
1417 #line 182 "lwin_wkt_parse.y"
1419 #line 1420 "lwin_wkt_parse.c"
1423 #line 183 "lwin_wkt_parse.y"
1425 #line 1426 "lwin_wkt_parse.c"
1429 #line 206 "lwin_wkt_parse.y"
1431 #line 1432 "lwin_wkt_parse.c"
1435 #line 208 "lwin_wkt_parse.y"
1437 #line 1438 "lwin_wkt_parse.c"
1441 #line 207 "lwin_wkt_parse.y"
1443 #line 1444 "lwin_wkt_parse.c"
1447 #line 192 "lwin_wkt_parse.y"
1449 #line 1450 "lwin_wkt_parse.c"
1453 #line 179 "lwin_wkt_parse.y"
1455 #line 1456 "lwin_wkt_parse.c"
1459 #line 193 "lwin_wkt_parse.y"
1461 #line 1462 "lwin_wkt_parse.c"
1465 #line 189 "lwin_wkt_parse.y"
1467 #line 1468 "lwin_wkt_parse.c"
1471 #line 188 "lwin_wkt_parse.y"
1473 #line 1474 "lwin_wkt_parse.c"
1477 #line 178 "lwin_wkt_parse.y"
1479 #line 1480 "lwin_wkt_parse.c"
1483 #line 177 "lwin_wkt_parse.y"
1485 #line 1486 "lwin_wkt_parse.c"
1489 #line 191 "lwin_wkt_parse.y"
1491 #line 1492 "lwin_wkt_parse.c"
1495 #line 187 "lwin_wkt_parse.y"
1497 #line 1498 "lwin_wkt_parse.c"
1501 #line 199 "lwin_wkt_parse.y"
1503 #line 1504 "lwin_wkt_parse.c"
1507 #line 186 "lwin_wkt_parse.y"
1509 #line 1510 "lwin_wkt_parse.c"
1513 #line 200 "lwin_wkt_parse.y"
1515 #line 1516 "lwin_wkt_parse.c"
1519 #line 185 "lwin_wkt_parse.y"
1521 #line 1522 "lwin_wkt_parse.c"
1525 #line 190 "lwin_wkt_parse.y"
1527 #line 1528 "lwin_wkt_parse.c"
1531 #line 197 "lwin_wkt_parse.y"
1533 #line 1534 "lwin_wkt_parse.c"
1537 #line 198 "lwin_wkt_parse.y"
1539 #line 1540 "lwin_wkt_parse.c"
1543 #line 180 "lwin_wkt_parse.y"
1545 #line 1546 "lwin_wkt_parse.c"
1549 #line 211 "lwin_wkt_parse.y"
1551 #line 1552 "lwin_wkt_parse.c"
1555 #line 212 "lwin_wkt_parse.y"
1557 #line 1558 "lwin_wkt_parse.c"
1561 #line 201 "lwin_wkt_parse.y"
1563 #line 1564 "lwin_wkt_parse.c"
1567 #line 184 "lwin_wkt_parse.y"
1569 #line 1570 "lwin_wkt_parse.c"
1573 #line 205 "lwin_wkt_parse.y"
1575 #line 1576 "lwin_wkt_parse.c"
1579 #line 204 "lwin_wkt_parse.y"
1581 #line 1582 "lwin_wkt_parse.c"
1585 #line 176 "lwin_wkt_parse.y"
1587 #line 1588 "lwin_wkt_parse.c"
1607 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
1666 char *yymsg = yymsgbuf;
1667 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
1670 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
1676 yyssp = yyss = yyssa;
1677 yyvsp = yyvs = yyvsa;
1678 yylsp = yyls = yylsa;
1681 YYDPRINTF ((stderr,
"Starting parse\n"));
1701 if (yyss + yystacksize - 1 <= yyssp)
1704 YYSIZE_T yysize = yyssp - yyss + 1;
1719 yyoverflow (
YY_(
"memory exhausted"),
1720 &yyss1, yysize *
sizeof (*yyssp),
1721 &yyvs1, yysize *
sizeof (*yyvsp),
1722 &yyls1, yysize *
sizeof (*yylsp),
1730 # ifndef YYSTACK_RELOCATE
1731 goto yyexhaustedlab;
1735 goto yyexhaustedlab;
1745 goto yyexhaustedlab;
1749 # undef YYSTACK_RELOCATE
1756 yyssp = yyss + yysize - 1;
1757 yyvsp = yyvs + yysize - 1;
1758 yylsp = yyls + yysize - 1;
1760 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
1761 (
unsigned long int) yystacksize));
1763 if (yyss + yystacksize - 1 <= yyssp)
1767 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
1792 YYDPRINTF ((stderr,
"Reading a token: "));
1799 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1865 yyval = yyvsp[1-yylen];
1873 #line 218 "lwin_wkt_parse.y"
1875 #line 1876 "lwin_wkt_parse.c"
1879 #line 220 "lwin_wkt_parse.y"
1881 #line 1882 "lwin_wkt_parse.c"
1885 #line 223 "lwin_wkt_parse.y"
1887 #line 1888 "lwin_wkt_parse.c"
1891 #line 224 "lwin_wkt_parse.y"
1893 #line 1894 "lwin_wkt_parse.c"
1897 #line 225 "lwin_wkt_parse.y"
1899 #line 1900 "lwin_wkt_parse.c"
1903 #line 226 "lwin_wkt_parse.y"
1905 #line 1906 "lwin_wkt_parse.c"
1909 #line 227 "lwin_wkt_parse.y"
1911 #line 1912 "lwin_wkt_parse.c"
1915 #line 228 "lwin_wkt_parse.y"
1917 #line 1918 "lwin_wkt_parse.c"
1921 #line 229 "lwin_wkt_parse.y"
1923 #line 1924 "lwin_wkt_parse.c"
1927 #line 230 "lwin_wkt_parse.y"
1929 #line 1930 "lwin_wkt_parse.c"
1933 #line 231 "lwin_wkt_parse.y"
1935 #line 1936 "lwin_wkt_parse.c"
1939 #line 232 "lwin_wkt_parse.y"
1941 #line 1942 "lwin_wkt_parse.c"
1945 #line 233 "lwin_wkt_parse.y"
1947 #line 1948 "lwin_wkt_parse.c"
1951 #line 234 "lwin_wkt_parse.y"
1953 #line 1954 "lwin_wkt_parse.c"
1957 #line 235 "lwin_wkt_parse.y"
1959 #line 1960 "lwin_wkt_parse.c"
1963 #line 236 "lwin_wkt_parse.y"
1965 #line 1966 "lwin_wkt_parse.c"
1969 #line 237 "lwin_wkt_parse.y"
1971 #line 1972 "lwin_wkt_parse.c"
1975 #line 241 "lwin_wkt_parse.y"
1977 #line 1978 "lwin_wkt_parse.c"
1981 #line 243 "lwin_wkt_parse.y"
1983 #line 1984 "lwin_wkt_parse.c"
1987 #line 245 "lwin_wkt_parse.y"
1989 #line 1990 "lwin_wkt_parse.c"
1993 #line 247 "lwin_wkt_parse.y"
1995 #line 1996 "lwin_wkt_parse.c"
1999 #line 251 "lwin_wkt_parse.y"
2001 #line 2002 "lwin_wkt_parse.c"
2005 #line 253 "lwin_wkt_parse.y"
2007 #line 2008 "lwin_wkt_parse.c"
2011 #line 257 "lwin_wkt_parse.y"
2013 #line 2014 "lwin_wkt_parse.c"
2017 #line 259 "lwin_wkt_parse.y"
2019 #line 2020 "lwin_wkt_parse.c"
2023 #line 261 "lwin_wkt_parse.y"
2025 #line 2026 "lwin_wkt_parse.c"
2029 #line 263 "lwin_wkt_parse.y"
2031 #line 2032 "lwin_wkt_parse.c"
2035 #line 267 "lwin_wkt_parse.y"
2037 #line 2038 "lwin_wkt_parse.c"
2041 #line 269 "lwin_wkt_parse.y"
2043 #line 2044 "lwin_wkt_parse.c"
2047 #line 271 "lwin_wkt_parse.y"
2049 #line 2050 "lwin_wkt_parse.c"
2053 #line 273 "lwin_wkt_parse.y"
2055 #line 2056 "lwin_wkt_parse.c"
2059 #line 275 "lwin_wkt_parse.y"
2061 #line 2062 "lwin_wkt_parse.c"
2065 #line 277 "lwin_wkt_parse.y"
2067 #line 2068 "lwin_wkt_parse.c"
2071 #line 281 "lwin_wkt_parse.y"
2073 #line 2074 "lwin_wkt_parse.c"
2077 #line 283 "lwin_wkt_parse.y"
2079 #line 2080 "lwin_wkt_parse.c"
2083 #line 285 "lwin_wkt_parse.y"
2085 #line 2086 "lwin_wkt_parse.c"
2089 #line 287 "lwin_wkt_parse.y"
2091 #line 2092 "lwin_wkt_parse.c"
2095 #line 291 "lwin_wkt_parse.y"
2097 #line 2098 "lwin_wkt_parse.c"
2101 #line 293 "lwin_wkt_parse.y"
2103 #line 2104 "lwin_wkt_parse.c"
2107 #line 295 "lwin_wkt_parse.y"
2109 #line 2110 "lwin_wkt_parse.c"
2113 #line 297 "lwin_wkt_parse.y"
2115 #line 2116 "lwin_wkt_parse.c"
2119 #line 301 "lwin_wkt_parse.y"
2121 #line 2122 "lwin_wkt_parse.c"
2125 #line 303 "lwin_wkt_parse.y"
2127 #line 2128 "lwin_wkt_parse.c"
2131 #line 305 "lwin_wkt_parse.y"
2133 #line 2134 "lwin_wkt_parse.c"
2137 #line 307 "lwin_wkt_parse.y"
2139 #line 2140 "lwin_wkt_parse.c"
2143 #line 311 "lwin_wkt_parse.y"
2145 #line 2146 "lwin_wkt_parse.c"
2149 #line 313 "lwin_wkt_parse.y"
2151 #line 2152 "lwin_wkt_parse.c"
2155 #line 317 "lwin_wkt_parse.y"
2157 #line 2158 "lwin_wkt_parse.c"
2161 #line 319 "lwin_wkt_parse.y"
2163 #line 2164 "lwin_wkt_parse.c"
2167 #line 323 "lwin_wkt_parse.y"
2169 #line 2170 "lwin_wkt_parse.c"
2173 #line 325 "lwin_wkt_parse.y"
2175 #line 2176 "lwin_wkt_parse.c"
2179 #line 327 "lwin_wkt_parse.y"
2181 #line 2182 "lwin_wkt_parse.c"
2185 #line 329 "lwin_wkt_parse.y"
2187 #line 2188 "lwin_wkt_parse.c"
2191 #line 333 "lwin_wkt_parse.y"
2193 #line 2194 "lwin_wkt_parse.c"
2197 #line 335 "lwin_wkt_parse.y"
2199 #line 2200 "lwin_wkt_parse.c"
2203 #line 338 "lwin_wkt_parse.y"
2205 #line 2206 "lwin_wkt_parse.c"
2209 #line 342 "lwin_wkt_parse.y"
2211 #line 2212 "lwin_wkt_parse.c"
2215 #line 344 "lwin_wkt_parse.y"
2217 #line 2218 "lwin_wkt_parse.c"
2221 #line 346 "lwin_wkt_parse.y"
2223 #line 2224 "lwin_wkt_parse.c"
2227 #line 348 "lwin_wkt_parse.y"
2229 #line 2230 "lwin_wkt_parse.c"
2233 #line 352 "lwin_wkt_parse.y"
2235 #line 2236 "lwin_wkt_parse.c"
2239 #line 354 "lwin_wkt_parse.y"
2241 #line 2242 "lwin_wkt_parse.c"
2245 #line 357 "lwin_wkt_parse.y"
2247 #line 2248 "lwin_wkt_parse.c"
2251 #line 358 "lwin_wkt_parse.y"
2253 #line 2254 "lwin_wkt_parse.c"
2257 #line 359 "lwin_wkt_parse.y"
2259 #line 2260 "lwin_wkt_parse.c"
2263 #line 360 "lwin_wkt_parse.y"
2265 #line 2266 "lwin_wkt_parse.c"
2269 #line 364 "lwin_wkt_parse.y"
2271 #line 2272 "lwin_wkt_parse.c"
2275 #line 366 "lwin_wkt_parse.y"
2277 #line 2278 "lwin_wkt_parse.c"
2281 #line 370 "lwin_wkt_parse.y"
2283 #line 2284 "lwin_wkt_parse.c"
2287 #line 372 "lwin_wkt_parse.y"
2289 #line 2290 "lwin_wkt_parse.c"
2293 #line 375 "lwin_wkt_parse.y"
2295 #line 2296 "lwin_wkt_parse.c"
2299 #line 378 "lwin_wkt_parse.y"
2301 #line 2302 "lwin_wkt_parse.c"
2305 #line 382 "lwin_wkt_parse.y"
2307 #line 2308 "lwin_wkt_parse.c"
2311 #line 384 "lwin_wkt_parse.y"
2313 #line 2314 "lwin_wkt_parse.c"
2317 #line 386 "lwin_wkt_parse.y"
2319 #line 2320 "lwin_wkt_parse.c"
2323 #line 388 "lwin_wkt_parse.y"
2325 #line 2326 "lwin_wkt_parse.c"
2329 #line 392 "lwin_wkt_parse.y"
2331 #line 2332 "lwin_wkt_parse.c"
2335 #line 394 "lwin_wkt_parse.y"
2337 #line 2338 "lwin_wkt_parse.c"
2341 #line 396 "lwin_wkt_parse.y"
2343 #line 2344 "lwin_wkt_parse.c"
2347 #line 398 "lwin_wkt_parse.y"
2349 #line 2350 "lwin_wkt_parse.c"
2353 #line 400 "lwin_wkt_parse.y"
2355 #line 2356 "lwin_wkt_parse.c"
2359 #line 402 "lwin_wkt_parse.y"
2361 #line 2362 "lwin_wkt_parse.c"
2365 #line 406 "lwin_wkt_parse.y"
2367 #line 2368 "lwin_wkt_parse.c"
2371 #line 408 "lwin_wkt_parse.y"
2373 #line 2374 "lwin_wkt_parse.c"
2377 #line 410 "lwin_wkt_parse.y"
2379 #line 2380 "lwin_wkt_parse.c"
2383 #line 412 "lwin_wkt_parse.y"
2385 #line 2386 "lwin_wkt_parse.c"
2389 #line 416 "lwin_wkt_parse.y"
2391 #line 2392 "lwin_wkt_parse.c"
2395 #line 418 "lwin_wkt_parse.y"
2397 #line 2398 "lwin_wkt_parse.c"
2401 #line 420 "lwin_wkt_parse.y"
2403 #line 2404 "lwin_wkt_parse.c"
2407 #line 422 "lwin_wkt_parse.y"
2409 #line 2410 "lwin_wkt_parse.c"
2413 #line 424 "lwin_wkt_parse.y"
2415 #line 2416 "lwin_wkt_parse.c"
2419 #line 426 "lwin_wkt_parse.y"
2421 #line 2422 "lwin_wkt_parse.c"
2425 #line 428 "lwin_wkt_parse.y"
2427 #line 2428 "lwin_wkt_parse.c"
2431 #line 430 "lwin_wkt_parse.y"
2433 #line 2434 "lwin_wkt_parse.c"
2437 #line 434 "lwin_wkt_parse.y"
2439 #line 2440 "lwin_wkt_parse.c"
2443 #line 436 "lwin_wkt_parse.y"
2445 #line 2446 "lwin_wkt_parse.c"
2449 #line 438 "lwin_wkt_parse.y"
2451 #line 2452 "lwin_wkt_parse.c"
2455 #line 440 "lwin_wkt_parse.y"
2457 #line 2458 "lwin_wkt_parse.c"
2461 #line 444 "lwin_wkt_parse.y"
2463 #line 2464 "lwin_wkt_parse.c"
2467 #line 446 "lwin_wkt_parse.y"
2469 #line 2470 "lwin_wkt_parse.c"
2473 #line 450 "lwin_wkt_parse.y"
2475 #line 2476 "lwin_wkt_parse.c"
2479 #line 452 "lwin_wkt_parse.y"
2481 #line 2482 "lwin_wkt_parse.c"
2485 #line 454 "lwin_wkt_parse.y"
2487 #line 2488 "lwin_wkt_parse.c"
2491 #line 456 "lwin_wkt_parse.y"
2493 #line 2494 "lwin_wkt_parse.c"
2497 #line 460 "lwin_wkt_parse.y"
2499 #line 2500 "lwin_wkt_parse.c"
2503 #line 462 "lwin_wkt_parse.y"
2505 #line 2506 "lwin_wkt_parse.c"
2509 #line 464 "lwin_wkt_parse.y"
2511 #line 2512 "lwin_wkt_parse.c"
2515 #line 466 "lwin_wkt_parse.y"
2517 #line 2518 "lwin_wkt_parse.c"
2521 #line 470 "lwin_wkt_parse.y"
2523 #line 2524 "lwin_wkt_parse.c"
2527 #line 472 "lwin_wkt_parse.y"
2529 #line 2530 "lwin_wkt_parse.c"
2533 #line 476 "lwin_wkt_parse.y"
2535 #line 2536 "lwin_wkt_parse.c"
2539 #line 478 "lwin_wkt_parse.y"
2541 #line 2542 "lwin_wkt_parse.c"
2545 #line 482 "lwin_wkt_parse.y"
2547 #line 2548 "lwin_wkt_parse.c"
2551 #line 484 "lwin_wkt_parse.y"
2553 #line 2554 "lwin_wkt_parse.c"
2557 #line 486 "lwin_wkt_parse.y"
2559 #line 2560 "lwin_wkt_parse.c"
2563 #line 488 "lwin_wkt_parse.y"
2565 #line 2566 "lwin_wkt_parse.c"
2569 #line 492 "lwin_wkt_parse.y"
2571 #line 2572 "lwin_wkt_parse.c"
2575 #line 496 "lwin_wkt_parse.y"
2577 #line 2578 "lwin_wkt_parse.c"
2581 #line 498 "lwin_wkt_parse.y"
2583 #line 2584 "lwin_wkt_parse.c"
2587 #line 500 "lwin_wkt_parse.y"
2589 #line 2590 "lwin_wkt_parse.c"
2593 #line 502 "lwin_wkt_parse.y"
2595 #line 2596 "lwin_wkt_parse.c"
2599 #line 506 "lwin_wkt_parse.y"
2601 #line 2602 "lwin_wkt_parse.c"
2605 #line 508 "lwin_wkt_parse.y"
2607 #line 2608 "lwin_wkt_parse.c"
2611 #line 512 "lwin_wkt_parse.y"
2613 #line 2614 "lwin_wkt_parse.c"
2617 #line 514 "lwin_wkt_parse.y"
2619 #line 2620 "lwin_wkt_parse.c"
2623 #line 516 "lwin_wkt_parse.y"
2625 #line 2626 "lwin_wkt_parse.c"
2629 #line 520 "lwin_wkt_parse.y"
2631 #line 2632 "lwin_wkt_parse.c"
2635 #line 522 "lwin_wkt_parse.y"
2637 #line 2638 "lwin_wkt_parse.c"
2641 #line 524 "lwin_wkt_parse.y"
2643 #line 2644 "lwin_wkt_parse.c"
2647 #line 526 "lwin_wkt_parse.y"
2649 #line 2650 "lwin_wkt_parse.c"
2653 #line 530 "lwin_wkt_parse.y"
2655 #line 2656 "lwin_wkt_parse.c"
2659 #line 532 "lwin_wkt_parse.y"
2661 #line 2662 "lwin_wkt_parse.c"
2665 #line 536 "lwin_wkt_parse.y"
2667 #line 2668 "lwin_wkt_parse.c"
2671 #line 538 "lwin_wkt_parse.y"
2673 #line 2674 "lwin_wkt_parse.c"
2677 #line 540 "lwin_wkt_parse.y"
2679 #line 2680 "lwin_wkt_parse.c"
2683 #line 2684 "lwin_wkt_parse.c"
2713 if (0 <= yystate && yystate <=
YYLAST &&
yycheck[yystate] == *yyssp)
2733 #if ! YYERROR_VERBOSE
2736 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
2739 char const *yymsgp =
YY_(
"syntax error");
2740 int yysyntax_error_status;
2742 if (yysyntax_error_status == 0)
2744 else if (yysyntax_error_status == 1)
2746 if (yymsg != yymsgbuf)
2752 yymsg_alloc =
sizeof yymsgbuf;
2753 yysyntax_error_status = 2;
2762 if (yysyntax_error_status == 2)
2763 goto yyexhaustedlab;
2765 # undef YYSYNTAX_ERROR
2769 yyerror_range[1] =
yylloc;
2771 if (yyerrstatus == 3)
2806 yyerror_range[1] = yylsp[1-yylen];
2840 yyerror_range[1] = *yylsp;
2842 yystos[yystate], yyvsp, yylsp);
2852 yyerror_range[2] =
yylloc;
2879 #if !defined yyoverflow || YYERROR_VERBOSE
2902 while (yyssp != yyss)
2905 yystos[*yyssp], yyvsp, yylsp);
2913 if (yymsg != yymsgbuf)
2918 #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)
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)
unsigned short int yytype_uint16
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[]
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)
static const yytype_uint8 yyr2[]
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[]
#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