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
243 #define POINT_TOK 258
244 #define LINESTRING_TOK 259
245 #define POLYGON_TOK 260
246 #define MPOINT_TOK 261
247 #define MLINESTRING_TOK 262
248 #define MPOLYGON_TOK 263
249 #define MSURFACE_TOK 264
250 #define MCURVE_TOK 265
251 #define CURVEPOLYGON_TOK 266
252 #define COMPOUNDCURVE_TOK 267
253 #define CIRCULARSTRING_TOK 268
254 #define COLLECTION_TOK 269
255 #define RBRACKET_TOK 270
256 #define LBRACKET_TOK 271
257 #define COMMA_TOK 272
258 #define EMPTY_TOK 273
259 #define SEMICOLON_TOK 274
260 #define TRIANGLE_TOK 275
262 #define POLYHEDRALSURFACE_TOK 277
263 #define DOUBLE_TOK 278
264 #define DIMENSIONALITY_TOK 279
268 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
272 #line 112 "lwin_wkt_parse.y"
281 #line 282 "lwin_wkt_parse.c"
285 # define YYSTYPE_IS_TRIVIAL 1
286 # define YYSTYPE_IS_DECLARED 1
290 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
299 # define YYLTYPE_IS_DECLARED 1
300 # define YYLTYPE_IS_TRIVIAL 1
312 #line 313 "lwin_wkt_parse.c"
343 # ifdef __SIZE_TYPE__
344 # define YYSIZE_T __SIZE_TYPE__
345 # elif defined size_t
346 # define YYSIZE_T size_t
347 # elif ! defined YYSIZE_T
349 # define YYSIZE_T size_t
351 # define YYSIZE_T unsigned int
355 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
358 # if defined YYENABLE_NLS && YYENABLE_NLS
360 # include <libintl.h>
361 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
365 # define YY_(Msgid) Msgid
370 # if (defined __GNUC__ \
371 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
372 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
373 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
375 # define YY_ATTRIBUTE(Spec)
379 #ifndef YY_ATTRIBUTE_PURE
380 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
383 #ifndef YY_ATTRIBUTE_UNUSED
384 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
387 #if !defined _Noreturn \
388 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
389 # if defined _MSC_VER && 1200 <= _MSC_VER
390 # define _Noreturn __declspec (noreturn)
392 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
397 #if ! defined lint || defined __GNUC__
398 # define YYUSE(E) ((void) (E))
403 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
405 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
406 _Pragma ("GCC diagnostic push") \
407 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
408 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
409 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
410 _Pragma ("GCC diagnostic pop")
412 # define YY_INITIAL_VALUE(Value) Value
414 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
415 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
416 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
418 #ifndef YY_INITIAL_VALUE
419 # define YY_INITIAL_VALUE(Value)
423 #if ! defined yyoverflow || YYERROR_VERBOSE
427 # ifdef YYSTACK_USE_ALLOCA
428 # if YYSTACK_USE_ALLOCA
430 # define YYSTACK_ALLOC __builtin_alloca
431 # elif defined __BUILTIN_VA_ARG_INCR
434 # define YYSTACK_ALLOC __alloca
435 # elif defined _MSC_VER
437 # define alloca _alloca
439 # define YYSTACK_ALLOC alloca
440 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
443 # ifndef EXIT_SUCCESS
444 # define EXIT_SUCCESS 0
451 # ifdef YYSTACK_ALLOC
453 # define YYSTACK_FREE(Ptr) do { ; } while (0)
454 # ifndef YYSTACK_ALLOC_MAXIMUM
459 # define YYSTACK_ALLOC_MAXIMUM 4032
462 # define YYSTACK_ALLOC YYMALLOC
463 # define YYSTACK_FREE YYFREE
464 # ifndef YYSTACK_ALLOC_MAXIMUM
465 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
467 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
468 && ! ((defined YYMALLOC || defined malloc) \
469 && (defined YYFREE || defined free)))
471 # ifndef EXIT_SUCCESS
472 # define EXIT_SUCCESS 0
476 # define YYMALLOC malloc
477 # if ! defined malloc && ! defined EXIT_SUCCESS
483 # if ! defined free && ! defined EXIT_SUCCESS
491 #if (! defined yyoverflow \
492 && (! defined __cplusplus \
493 || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
494 && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
505 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
509 # define YYSTACK_BYTES(N) \
510 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
511 + 2 * YYSTACK_GAP_MAXIMUM)
513 # define YYCOPY_NEEDED 1
520 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
523 YYSIZE_T yynewbytes; \
524 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
525 Stack = &yyptr->Stack_alloc; \
526 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
527 yyptr += yynewbytes / sizeof (*yyptr); \
533 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
537 # if defined __GNUC__ && 1 < __GNUC__
538 # define YYCOPY(Dst, Src, Count) \
539 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
541 # define YYCOPY(Dst, Src, Count) \
545 for (yyi = 0; yyi < (Count); yyi++) \
546 (Dst)[yyi] = (Src)[yyi]; \
565 #define YYNSTATES 264
570 #define YYMAXUTOK 280
572 #define YYTRANSLATE(YYX) \
573 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
579 0, 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, 2, 2, 2, 2,
603 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
604 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
605 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
606 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
614 0, 216, 216, 218, 222, 223, 224, 225, 226, 227,
615 228, 229, 230, 231, 232, 233, 234, 235, 236, 239,
616 241, 243, 245, 249, 251, 255, 257, 259, 261, 265,
617 267, 269, 271, 273, 275, 279, 281, 283, 285, 289,
618 291, 293, 295, 299, 301, 303, 305, 309, 311, 315,
619 317, 321, 323, 325, 327, 331, 333, 337, 340, 342,
620 344, 346, 350, 352, 356, 357, 358, 359, 362, 364,
621 368, 370, 374, 377, 380, 382, 384, 386, 390, 392,
622 394, 396, 398, 400, 404, 406, 408, 410, 414, 416,
623 418, 420, 422, 424, 426, 428, 432, 434, 436, 438,
624 442, 444, 448, 450, 452, 454, 458, 460, 462, 464,
625 468, 470, 474, 476, 480, 482, 484, 486, 490, 494,
626 496, 498, 500, 504, 506, 510, 512, 514, 518, 520,
627 522, 524, 528, 530, 534, 536, 538
631 #if YYDEBUG || YYERROR_VERBOSE || 1
636 "$end",
"error",
"$undefined",
"POINT_TOK",
"LINESTRING_TOK",
637 "POLYGON_TOK",
"MPOINT_TOK",
"MLINESTRING_TOK",
"MPOLYGON_TOK",
638 "MSURFACE_TOK",
"MCURVE_TOK",
"CURVEPOLYGON_TOK",
"COMPOUNDCURVE_TOK",
639 "CIRCULARSTRING_TOK",
"COLLECTION_TOK",
"RBRACKET_TOK",
"LBRACKET_TOK",
640 "COMMA_TOK",
"EMPTY_TOK",
"SEMICOLON_TOK",
"TRIANGLE_TOK",
"TIN_TOK",
641 "POLYHEDRALSURFACE_TOK",
"DOUBLE_TOK",
"DIMENSIONALITY_TOK",
"SRID_TOK",
642 "$accept",
"geometry",
"geometry_no_srid",
"geometrycollection",
643 "geometry_list",
"multisurface",
"surface_list",
"tin",
644 "polyhedralsurface",
"multipolygon",
"polygon_list",
"patch_list",
645 "polygon",
"polygon_untagged",
"patch",
"curvepolygon",
"curvering_list",
646 "curvering",
"patchring_list",
"ring_list",
"patchring",
"ring",
647 "compoundcurve",
"compound_list",
"multicurve",
"curve_list",
648 "multilinestring",
"linestring_list",
"circularstring",
"linestring",
649 "linestring_untagged",
"triangle_list",
"triangle",
"triangle_untagged",
650 "multipoint",
"point_list",
"point_untagged",
"point",
"ptarray",
660 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
661 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
662 275, 276, 277, 278, 279, 280
666 #define YYPACT_NINF -90
668 #define yypact_value_is_default(Yystate) \
669 (!!((Yystate) == (-90)))
671 #define YYTABLE_NINF -1
673 #define yytable_value_is_error(Yytable_value) \
680 109, -2, 16, 23, 26, 36, 39, 40, 52, 53,
681 74, 79, 83, 84, 108, 137, 7, 46, -90, -90,
682 -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
683 -90, -90, -90, -90, 43, -90, 27, 43, -90, 88,
684 33, -90, 144, 140, -90, 167, 175, -90, 176, 179,
685 -90, 183, 20, -90, 184, 11, -90, 187, 11, -90,
686 188, 17, -90, 191, 43, -90, 192, 168, -90, 195,
687 51, -90, 196, 56, -90, 199, 70, -90, 200, 168,
688 -90, 68, 110, -90, 43, -90, 169, 43, -90, 43,
689 204, -90, 33, -90, 43, -90, 205, -90, -90, 140,
690 -90, 43, -90, 208, -90, 175, -90, 33, -90, 209,
691 -90, 179, -90, 212, -90, -90, -90, 20, -90, -90,
692 213, -90, -90, -90, 11, -90, 216, -90, -90, -90,
693 -90, -90, 11, -90, 217, -90, -90, -90, 17, -90,
694 220, 43, -90, -90, 221, 168, -90, 43, 80, -90,
695 93, 224, -90, 56, -90, 94, 225, -90, 70, -90,
696 -90, 105, -90, 43, 228, -90, 229, 232, -90, 33,
697 233, 44, -90, 140, 236, 237, -90, 175, 240, 241,
698 -90, 179, 244, -90, 20, 245, -90, 11, 248, -90,
699 11, 249, -90, 17, 252, -90, 253, -90, 168, 256,
700 257, 43, 43, -90, 56, 260, 43, 261, -90, -90,
701 70, 264, 112, -90, -90, -90, -90, -90, -90, -90,
702 -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
703 -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
704 -90, -90, -90, -90, -90, -90, 47, 265, 268, -90,
705 -90, 269, -90, 94, -90, -90, -90, -90, 131, 132,
714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
715 0, 0, 0, 0, 0, 0, 0, 0, 2, 18,
716 13, 15, 16, 12, 8, 9, 7, 14, 11, 6,
717 5, 17, 10, 4, 0, 131, 0, 0, 109, 0,
718 0, 54, 0, 0, 122, 0, 0, 99, 0, 0,
719 46, 0, 0, 28, 0, 0, 87, 0, 0, 61,
720 0, 0, 77, 0, 0, 105, 0, 0, 22, 0,
721 0, 117, 0, 0, 38, 0, 0, 42, 0, 0,
722 1, 0, 0, 133, 0, 130, 0, 0, 108, 0,
723 0, 71, 0, 53, 0, 127, 0, 124, 125, 0,
724 121, 0, 111, 0, 101, 0, 98, 0, 56, 0,
725 48, 0, 45, 0, 32, 34, 33, 0, 27, 93,
726 0, 92, 94, 95, 0, 86, 0, 63, 66, 67,
727 65, 64, 0, 60, 0, 81, 82, 83, 0, 76,
728 0, 0, 104, 24, 0, 0, 21, 0, 0, 116,
729 0, 0, 113, 0, 37, 0, 0, 50, 0, 41,
730 3, 134, 128, 0, 0, 106, 0, 0, 51, 0,
731 0, 0, 119, 0, 0, 0, 96, 0, 0, 0,
732 43, 0, 0, 25, 0, 0, 84, 0, 0, 58,
733 0, 0, 74, 0, 0, 102, 0, 19, 0, 0,
734 0, 0, 0, 35, 0, 0, 0, 0, 69, 39,
735 0, 0, 135, 132, 129, 107, 73, 70, 52, 126,
736 123, 120, 110, 100, 97, 55, 47, 44, 29, 31,
737 30, 26, 89, 88, 90, 91, 85, 62, 59, 78,
738 79, 80, 75, 103, 23, 20, 0, 0, 0, 112,
739 36, 0, 57, 0, 49, 40, 136, 114, 0, 0,
746 -90, -90, 0, -90, 5, -90, 37, -90, -90, -90,
747 48, 6, -39, -33, -42, -32, 55, -21, -90, -89,
748 -57, 118, -50, 150, -90, 165, -90, 185, -51, -49,
749 -44, 138, -90, 89, -90, 193, 121, -90, -36, -6
755 -1, 17, 143, 19, 144, 20, 113, 21, 22, 23,
756 109, 156, 24, 110, 157, 25, 126, 127, 207, 90,
757 208, 91, 26, 134, 27, 120, 28, 103, 29, 30,
758 131, 151, 31, 152, 32, 96, 97, 33, 82, 83
766 18, 86, 104, 170, 121, 119, 122, 129, 128, 130,
767 135, 123, 136, 114, 34, 2, 35, 137, 179, 115,
768 116, 2, 36, 10, 11, 3, 79, 101, 140, 102,
769 11, 9, 37, 101, 38, 102, 107, 98, 108, 40,
770 39, 41, 43, 84, 44, 85, 80, 42, 164, 89,
771 45, 166, 46, 167, 47, 49, 52, 50, 53, 219,
772 48, 104, 257, 51, 54, 175, 81, 147, 55, 58,
773 56, 59, 150, 121, 119, 122, 57, 60, 114, 160,
774 123, 129, 128, 130, 115, 116, 155, 135, 171, 136,
775 61, 161, 62, 98, 137, 64, 201, 65, 63, 67,
776 70, 68, 71, 66, 87, 196, 88, 69, 72, 202,
777 206, 200, 1, 2, 3, 4, 5, 6, 7, 8,
778 9, 10, 11, 12, 73, 162, 74, 163, 212, 13,
779 14, 15, 75, 223, 16, 256, 233, 232, 234, 129,
780 128, 130, 239, 235, 240, 228, 262, 263, 226, 241,
781 199, 229, 230, 76, 185, 77, 94, 213, 95, 182,
782 92, 78, 93, 81, 211, 247, 248, 98, 254, 237,
783 251, 1, 2, 3, 4, 5, 6, 7, 8, 9,
784 10, 11, 12, 99, 165, 100, 163, 191, 13, 14,
785 15, 101, 105, 102, 106, 107, 261, 108, 244, 111,
786 117, 112, 118, 124, 132, 125, 133, 138, 141, 139,
787 142, 145, 148, 146, 149, 153, 158, 154, 159, 168,
788 172, 169, 173, 176, 180, 177, 181, 183, 186, 184,
789 187, 189, 192, 190, 193, 195, 197, 163, 198, 203,
790 209, 204, 210, 214, 215, 163, 163, 216, 218, 163,
791 169, 221, 222, 173, 163, 224, 225, 177, 169, 227,
792 231, 181, 184, 236, 238, 187, 190, 242, 243, 193,
793 163, 245, 246, 198, 163, 250, 252, 204, 253, 255,
794 258, 210, 163, 259, 260, 163, 163, 217, 194, 188,
795 178, 205, 174, 249, 220
800 0, 37, 46, 92, 55, 55, 55, 58, 58, 58,
801 61, 55, 61, 52, 16, 4, 18, 61, 107, 52,
802 52, 4, 24, 12, 13, 5, 19, 16, 64, 18,
803 13, 11, 16, 16, 18, 18, 16, 43, 18, 16,
804 24, 18, 16, 16, 18, 18, 0, 24, 84, 16,
805 24, 87, 16, 89, 18, 16, 16, 18, 18, 15,
806 24, 105, 15, 24, 24, 101, 23, 16, 16, 16,
807 18, 18, 16, 124, 124, 124, 24, 24, 117, 79,
808 124, 132, 132, 132, 117, 117, 16, 138, 94, 138,
809 16, 23, 18, 99, 138, 16, 16, 18, 24, 16,
810 16, 18, 18, 24, 16, 141, 18, 24, 24, 16,
811 16, 147, 3, 4, 5, 6, 7, 8, 9, 10,
812 11, 12, 13, 14, 16, 15, 18, 17, 23, 20,
813 21, 22, 24, 177, 25, 23, 187, 187, 187, 190,
814 190, 190, 193, 187, 193, 184, 15, 15, 181, 193,
815 145, 184, 184, 16, 117, 18, 16, 163, 18, 111,
816 16, 24, 18, 23, 158, 201, 202, 173, 210, 190,
817 206, 3, 4, 5, 6, 7, 8, 9, 10, 11,
818 12, 13, 14, 16, 15, 18, 17, 132, 20, 21,
819 22, 16, 16, 18, 18, 16, 253, 18, 198, 16,
820 16, 18, 18, 16, 16, 18, 18, 16, 16, 18,
821 18, 16, 16, 18, 18, 16, 16, 18, 18, 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, 15, 15, 17,
827 17, 15, 15, 17, 17, 15, 15, 17, 17, 15,
828 15, 17, 17, 15, 15, 17, 17, 169, 138, 124,
829 105, 153, 99, 204, 173
836 0, 3, 4, 5, 6, 7, 8, 9, 10, 11,
837 12, 13, 14, 20, 21, 22, 25, 27, 28, 29,
838 31, 33, 34, 35, 38, 41, 48, 50, 52, 54,
839 55, 58, 60, 63, 16, 18, 24, 16, 18, 24,
840 16, 18, 24, 16, 18, 24, 16, 18, 24, 16,
841 18, 24, 16, 18, 24, 16, 18, 24, 16, 18,
842 24, 16, 18, 24, 16, 18, 24, 16, 18, 24,
843 16, 18, 24, 16, 18, 24, 16, 18, 24, 19,
844 0, 23, 64, 65, 16, 18, 64, 16, 18, 16,
845 45, 47, 16, 18, 16, 18, 61, 62, 65, 16,
846 18, 16, 18, 53, 56, 16, 18, 16, 18, 36,
847 39, 16, 18, 32, 38, 39, 41, 16, 18, 48,
848 51, 54, 55, 56, 16, 18, 42, 43, 48, 54,
849 55, 56, 16, 18, 49, 54, 55, 56, 16, 18,
850 64, 16, 18, 28, 30, 16, 18, 16, 16, 18,
851 16, 57, 59, 16, 18, 16, 37, 40, 16, 18,
852 28, 23, 15, 17, 64, 15, 64, 64, 15, 17,
853 45, 65, 15, 17, 61, 64, 15, 17, 53, 45,
854 15, 17, 36, 15, 17, 32, 15, 17, 51, 15,
855 17, 42, 15, 17, 49, 15, 64, 15, 17, 30,
856 64, 16, 16, 15, 17, 57, 16, 44, 46, 15,
857 17, 37, 23, 65, 15, 15, 15, 47, 15, 15,
858 62, 15, 15, 56, 15, 15, 39, 15, 38, 39,
859 41, 15, 48, 54, 55, 56, 15, 43, 15, 54,
860 55, 56, 15, 15, 28, 15, 15, 64, 64, 59,
861 15, 64, 15, 17, 40, 15, 23, 15, 15, 15,
868 0, 26, 27, 27, 28, 28, 28, 28, 28, 28,
869 28, 28, 28, 28, 28, 28, 28, 28, 28, 29,
870 29, 29, 29, 30, 30, 31, 31, 31, 31, 32,
871 32, 32, 32, 32, 32, 33, 33, 33, 33, 34,
872 34, 34, 34, 35, 35, 35, 35, 36, 36, 37,
873 37, 38, 38, 38, 38, 39, 39, 40, 41, 41,
874 41, 41, 42, 42, 43, 43, 43, 43, 44, 44,
875 45, 45, 46, 47, 48, 48, 48, 48, 49, 49,
876 49, 49, 49, 49, 50, 50, 50, 50, 51, 51,
877 51, 51, 51, 51, 51, 51, 52, 52, 52, 52,
878 53, 53, 54, 54, 54, 54, 55, 55, 55, 55,
879 56, 56, 57, 57, 58, 58, 58, 58, 59, 60,
880 60, 60, 60, 61, 61, 62, 62, 62, 63, 63,
881 63, 63, 64, 64, 65, 65, 65
887 0, 2, 1, 3, 1, 1, 1, 1, 1, 1,
888 1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
889 5, 3, 2, 3, 1, 4, 5, 3, 2, 3,
890 3, 3, 1, 1, 1, 4, 5, 3, 2, 4,
891 5, 3, 2, 4, 5, 3, 2, 3, 1, 3,
892 1, 4, 5, 3, 2, 3, 1, 3, 4, 5,
893 3, 2, 3, 1, 1, 1, 1, 1, 3, 1,
894 3, 1, 3, 3, 4, 5, 3, 2, 3, 3,
895 3, 1, 1, 1, 4, 5, 3, 2, 3, 3,
896 3, 3, 1, 1, 1, 1, 4, 5, 3, 2,
897 3, 1, 4, 5, 3, 2, 4, 5, 3, 2,
898 3, 1, 3, 1, 6, 7, 3, 2, 5, 4,
899 5, 3, 2, 3, 1, 1, 3, 1, 4, 5,
904 #define yyerrok (yyerrstatus = 0)
905 #define yyclearin (yychar = YYEMPTY)
909 #define YYACCEPT goto yyacceptlab
910 #define YYABORT goto yyabortlab
911 #define YYERROR goto yyerrorlab
914 #define YYRECOVERING() (!!yyerrstatus)
916 #define YYBACKUP(Token, Value) \
918 if (yychar == YYEMPTY) \
922 YYPOPSTACK (yylen); \
928 yyerror (YY_("syntax error: cannot back up")); \
935 #define YYERRCODE 256
942 #ifndef YYLLOC_DEFAULT
943 # define YYLLOC_DEFAULT(Current, Rhs, N) \
947 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
948 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
949 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
950 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
954 (Current).first_line = (Current).last_line = \
955 YYRHSLOC (Rhs, 0).last_line; \
956 (Current).first_column = (Current).last_column = \
957 YYRHSLOC (Rhs, 0).last_column; \
962 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
970 # define YYFPRINTF fprintf
973 # define YYDPRINTF(Args) \
984 #ifndef YY_LOCATION_PRINT
985 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
991 yy_location_print_ (FILE *yyo,
YYLTYPE const *
const yylocp)
1007 res += YYFPRINTF (yyo,
".%d", end_col);
1009 else if (0 <= end_col && yylocp->
first_column < end_col)
1010 res += YYFPRINTF (yyo,
"-%d", end_col);
1015 # define YY_LOCATION_PRINT(File, Loc) \
1016 yy_location_print_ (File, &(Loc))
1019 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1024 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1028 YYFPRINTF (stderr, "%s ", Title); \
1029 yy_symbol_print (stderr, \
1030 Type, Value, Location); \
1031 YYFPRINTF (stderr, "\n"); \
1041 yy_symbol_value_print (FILE *yyoutput,
int yytype,
YYSTYPE const *
const yyvaluep,
YYLTYPE const *
const yylocationp)
1043 FILE *yyo = yyoutput;
1045 YYUSE (yylocationp);
1050 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1061 yy_symbol_print (FILE *yyoutput,
int yytype,
YYSTYPE const *
const yyvaluep,
YYLTYPE const *
const yylocationp)
1063 YYFPRINTF (yyoutput,
"%s %s (",
1066 YY_LOCATION_PRINT (yyoutput, *yylocationp);
1067 YYFPRINTF (yyoutput,
": ");
1068 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp);
1069 YYFPRINTF (yyoutput,
")");
1080 YYFPRINTF (stderr,
"Stack now");
1081 for (; yybottom <= yytop; yybottom++)
1083 int yybot = *yybottom;
1084 YYFPRINTF (stderr,
" %d", yybot);
1086 YYFPRINTF (stderr,
"\n");
1089 # define YY_STACK_PRINT(Bottom, Top) \
1092 yy_stack_print ((Bottom), (Top)); \
1103 unsigned long int yylno = yyrline[yyrule];
1104 int yynrhs =
yyr2[yyrule];
1106 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %lu):\n",
1109 for (yyi = 0; yyi < yynrhs; yyi++)
1111 YYFPRINTF (stderr,
" $%d = ", yyi + 1);
1112 yy_symbol_print (stderr,
1113 yystos[yyssp[yyi + 1 - yynrhs]],
1114 &(yyvsp[(yyi + 1) - (yynrhs)])
1115 , &(yylsp[(yyi + 1) - (yynrhs)]) );
1116 YYFPRINTF (stderr,
"\n");
1120 # define YY_REDUCE_PRINT(Rule) \
1123 yy_reduce_print (yyssp, yyvsp, yylsp, Rule); \
1130 # define YYDPRINTF(Args)
1131 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1132 # define YY_STACK_PRINT(Bottom, Top)
1133 # define YY_REDUCE_PRINT(Rule)
1139 # define YYINITDEPTH 200
1150 # define YYMAXDEPTH 10000
1157 # if defined __GLIBC__ && defined _STRING_H
1158 # define yystrlen strlen
1165 for (yylen = 0; yystr[yylen]; yylen++)
1173 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1174 # define yystpcpy stpcpy
1182 const char *yys = yysrc;
1184 while ((*yyd++ = *yys++) !=
'\0')
1206 char const *yyp = yystr;
1213 goto do_not_strip_quotes;
1217 goto do_not_strip_quotes;
1230 do_not_strip_quotes: ;
1236 return yystpcpy (yyres, yystr) - yyres;
1254 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1258 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1288 int yyn =
yypact[*yyssp];
1289 yyarg[yycount++] =
yytname[yytoken];
1295 int yyxbegin = yyn < 0 ? -yyn : 0;
1297 int yychecklim =
YYLAST - yyn + 1;
1301 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1305 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1311 yyarg[yycount++] =
yytname[yyx];
1314 if (! (yysize <= yysize1
1325 # define YYCASE_(N, S) \
1330 YYCASE_(1,
YY_(
"syntax error, unexpected %s"));
1331 YYCASE_(2,
YY_(
"syntax error, unexpected %s, expecting %s"));
1332 YYCASE_(3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
1333 YYCASE_(4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
1334 YYCASE_(5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1345 if (*yymsg_alloc < yysize)
1347 *yymsg_alloc = 2 * yysize;
1348 if (! (yysize <= *yymsg_alloc
1360 while ((*yyp = *yyformat) !=
'\0')
1361 if (*yyp ==
'%' && yyformat[1] ==
's' && yyi < yycount)
1384 YYUSE (yylocationp);
1393 #line 194 "lwin_wkt_parse.y"
1395 #line 1396 "lwin_wkt_parse.c"
1399 #line 195 "lwin_wkt_parse.y"
1401 #line 1402 "lwin_wkt_parse.c"
1405 #line 202 "lwin_wkt_parse.y"
1407 #line 1408 "lwin_wkt_parse.c"
1411 #line 181 "lwin_wkt_parse.y"
1413 #line 1414 "lwin_wkt_parse.c"
1417 #line 209 "lwin_wkt_parse.y"
1419 #line 1420 "lwin_wkt_parse.c"
1423 #line 208 "lwin_wkt_parse.y"
1425 #line 1426 "lwin_wkt_parse.c"
1429 #line 201 "lwin_wkt_parse.y"
1431 #line 1432 "lwin_wkt_parse.c"
1435 #line 182 "lwin_wkt_parse.y"
1437 #line 1438 "lwin_wkt_parse.c"
1441 #line 183 "lwin_wkt_parse.y"
1443 #line 1444 "lwin_wkt_parse.c"
1447 #line 205 "lwin_wkt_parse.y"
1449 #line 1450 "lwin_wkt_parse.c"
1453 #line 207 "lwin_wkt_parse.y"
1455 #line 1456 "lwin_wkt_parse.c"
1459 #line 206 "lwin_wkt_parse.y"
1461 #line 1462 "lwin_wkt_parse.c"
1465 #line 192 "lwin_wkt_parse.y"
1467 #line 1468 "lwin_wkt_parse.c"
1471 #line 179 "lwin_wkt_parse.y"
1473 #line 1474 "lwin_wkt_parse.c"
1477 #line 193 "lwin_wkt_parse.y"
1479 #line 1480 "lwin_wkt_parse.c"
1483 #line 189 "lwin_wkt_parse.y"
1485 #line 1486 "lwin_wkt_parse.c"
1489 #line 188 "lwin_wkt_parse.y"
1491 #line 1492 "lwin_wkt_parse.c"
1495 #line 178 "lwin_wkt_parse.y"
1497 #line 1498 "lwin_wkt_parse.c"
1501 #line 177 "lwin_wkt_parse.y"
1503 #line 1504 "lwin_wkt_parse.c"
1507 #line 191 "lwin_wkt_parse.y"
1509 #line 1510 "lwin_wkt_parse.c"
1513 #line 187 "lwin_wkt_parse.y"
1515 #line 1516 "lwin_wkt_parse.c"
1519 #line 198 "lwin_wkt_parse.y"
1521 #line 1522 "lwin_wkt_parse.c"
1525 #line 186 "lwin_wkt_parse.y"
1527 #line 1528 "lwin_wkt_parse.c"
1531 #line 199 "lwin_wkt_parse.y"
1533 #line 1534 "lwin_wkt_parse.c"
1537 #line 185 "lwin_wkt_parse.y"
1539 #line 1540 "lwin_wkt_parse.c"
1543 #line 190 "lwin_wkt_parse.y"
1545 #line 1546 "lwin_wkt_parse.c"
1549 #line 196 "lwin_wkt_parse.y"
1551 #line 1552 "lwin_wkt_parse.c"
1555 #line 197 "lwin_wkt_parse.y"
1557 #line 1558 "lwin_wkt_parse.c"
1561 #line 180 "lwin_wkt_parse.y"
1563 #line 1564 "lwin_wkt_parse.c"
1567 #line 210 "lwin_wkt_parse.y"
1569 #line 1570 "lwin_wkt_parse.c"
1573 #line 211 "lwin_wkt_parse.y"
1575 #line 1576 "lwin_wkt_parse.c"
1579 #line 200 "lwin_wkt_parse.y"
1581 #line 1582 "lwin_wkt_parse.c"
1585 #line 184 "lwin_wkt_parse.y"
1587 #line 1588 "lwin_wkt_parse.c"
1591 #line 204 "lwin_wkt_parse.y"
1593 #line 1594 "lwin_wkt_parse.c"
1597 #line 203 "lwin_wkt_parse.y"
1599 #line 1600 "lwin_wkt_parse.c"
1603 #line 176 "lwin_wkt_parse.y"
1605 #line 1606 "lwin_wkt_parse.c"
1625 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
1684 char *yymsg = yymsgbuf;
1685 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
1688 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
1694 yyssp = yyss = yyssa;
1695 yyvsp = yyvs = yyvsa;
1696 yylsp = yyls = yylsa;
1699 YYDPRINTF ((stderr,
"Starting parse\n"));
1719 if (yyss + yystacksize - 1 <= yyssp)
1722 YYSIZE_T yysize = yyssp - yyss + 1;
1737 yyoverflow (
YY_(
"memory exhausted"),
1738 &yyss1, yysize *
sizeof (*yyssp),
1739 &yyvs1, yysize *
sizeof (*yyvsp),
1740 &yyls1, yysize *
sizeof (*yylsp),
1748 # ifndef YYSTACK_RELOCATE
1749 goto yyexhaustedlab;
1753 goto yyexhaustedlab;
1763 goto yyexhaustedlab;
1767 # undef YYSTACK_RELOCATE
1774 yyssp = yyss + yysize - 1;
1775 yyvsp = yyvs + yysize - 1;
1776 yylsp = yyls + yysize - 1;
1778 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
1779 (
unsigned long int) yystacksize));
1781 if (yyss + yystacksize - 1 <= yyssp)
1785 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
1810 YYDPRINTF ((stderr,
"Reading a token: "));
1817 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1883 yyval = yyvsp[1-yylen];
1891 #line 217 "lwin_wkt_parse.y"
1893 #line 1894 "lwin_wkt_parse.c"
1897 #line 219 "lwin_wkt_parse.y"
1899 #line 1900 "lwin_wkt_parse.c"
1903 #line 222 "lwin_wkt_parse.y"
1905 #line 1906 "lwin_wkt_parse.c"
1909 #line 223 "lwin_wkt_parse.y"
1911 #line 1912 "lwin_wkt_parse.c"
1915 #line 224 "lwin_wkt_parse.y"
1917 #line 1918 "lwin_wkt_parse.c"
1921 #line 225 "lwin_wkt_parse.y"
1923 #line 1924 "lwin_wkt_parse.c"
1927 #line 226 "lwin_wkt_parse.y"
1929 #line 1930 "lwin_wkt_parse.c"
1933 #line 227 "lwin_wkt_parse.y"
1935 #line 1936 "lwin_wkt_parse.c"
1939 #line 228 "lwin_wkt_parse.y"
1941 #line 1942 "lwin_wkt_parse.c"
1945 #line 229 "lwin_wkt_parse.y"
1947 #line 1948 "lwin_wkt_parse.c"
1951 #line 230 "lwin_wkt_parse.y"
1953 #line 1954 "lwin_wkt_parse.c"
1957 #line 231 "lwin_wkt_parse.y"
1959 #line 1960 "lwin_wkt_parse.c"
1963 #line 232 "lwin_wkt_parse.y"
1965 #line 1966 "lwin_wkt_parse.c"
1969 #line 233 "lwin_wkt_parse.y"
1971 #line 1972 "lwin_wkt_parse.c"
1975 #line 234 "lwin_wkt_parse.y"
1977 #line 1978 "lwin_wkt_parse.c"
1981 #line 235 "lwin_wkt_parse.y"
1983 #line 1984 "lwin_wkt_parse.c"
1987 #line 236 "lwin_wkt_parse.y"
1989 #line 1990 "lwin_wkt_parse.c"
1993 #line 240 "lwin_wkt_parse.y"
1995 #line 1996 "lwin_wkt_parse.c"
1999 #line 242 "lwin_wkt_parse.y"
2001 #line 2002 "lwin_wkt_parse.c"
2005 #line 244 "lwin_wkt_parse.y"
2007 #line 2008 "lwin_wkt_parse.c"
2011 #line 246 "lwin_wkt_parse.y"
2013 #line 2014 "lwin_wkt_parse.c"
2017 #line 250 "lwin_wkt_parse.y"
2019 #line 2020 "lwin_wkt_parse.c"
2023 #line 252 "lwin_wkt_parse.y"
2025 #line 2026 "lwin_wkt_parse.c"
2029 #line 256 "lwin_wkt_parse.y"
2031 #line 2032 "lwin_wkt_parse.c"
2035 #line 258 "lwin_wkt_parse.y"
2037 #line 2038 "lwin_wkt_parse.c"
2041 #line 260 "lwin_wkt_parse.y"
2043 #line 2044 "lwin_wkt_parse.c"
2047 #line 262 "lwin_wkt_parse.y"
2049 #line 2050 "lwin_wkt_parse.c"
2053 #line 266 "lwin_wkt_parse.y"
2055 #line 2056 "lwin_wkt_parse.c"
2059 #line 268 "lwin_wkt_parse.y"
2061 #line 2062 "lwin_wkt_parse.c"
2065 #line 270 "lwin_wkt_parse.y"
2067 #line 2068 "lwin_wkt_parse.c"
2071 #line 272 "lwin_wkt_parse.y"
2073 #line 2074 "lwin_wkt_parse.c"
2077 #line 274 "lwin_wkt_parse.y"
2079 #line 2080 "lwin_wkt_parse.c"
2083 #line 276 "lwin_wkt_parse.y"
2085 #line 2086 "lwin_wkt_parse.c"
2089 #line 280 "lwin_wkt_parse.y"
2091 #line 2092 "lwin_wkt_parse.c"
2095 #line 282 "lwin_wkt_parse.y"
2097 #line 2098 "lwin_wkt_parse.c"
2101 #line 284 "lwin_wkt_parse.y"
2103 #line 2104 "lwin_wkt_parse.c"
2107 #line 286 "lwin_wkt_parse.y"
2109 #line 2110 "lwin_wkt_parse.c"
2113 #line 290 "lwin_wkt_parse.y"
2115 #line 2116 "lwin_wkt_parse.c"
2119 #line 292 "lwin_wkt_parse.y"
2121 #line 2122 "lwin_wkt_parse.c"
2125 #line 294 "lwin_wkt_parse.y"
2127 #line 2128 "lwin_wkt_parse.c"
2131 #line 296 "lwin_wkt_parse.y"
2133 #line 2134 "lwin_wkt_parse.c"
2137 #line 300 "lwin_wkt_parse.y"
2139 #line 2140 "lwin_wkt_parse.c"
2143 #line 302 "lwin_wkt_parse.y"
2145 #line 2146 "lwin_wkt_parse.c"
2149 #line 304 "lwin_wkt_parse.y"
2151 #line 2152 "lwin_wkt_parse.c"
2155 #line 306 "lwin_wkt_parse.y"
2157 #line 2158 "lwin_wkt_parse.c"
2161 #line 310 "lwin_wkt_parse.y"
2163 #line 2164 "lwin_wkt_parse.c"
2167 #line 312 "lwin_wkt_parse.y"
2169 #line 2170 "lwin_wkt_parse.c"
2173 #line 316 "lwin_wkt_parse.y"
2175 #line 2176 "lwin_wkt_parse.c"
2179 #line 318 "lwin_wkt_parse.y"
2181 #line 2182 "lwin_wkt_parse.c"
2185 #line 322 "lwin_wkt_parse.y"
2187 #line 2188 "lwin_wkt_parse.c"
2191 #line 324 "lwin_wkt_parse.y"
2193 #line 2194 "lwin_wkt_parse.c"
2197 #line 326 "lwin_wkt_parse.y"
2199 #line 2200 "lwin_wkt_parse.c"
2203 #line 328 "lwin_wkt_parse.y"
2205 #line 2206 "lwin_wkt_parse.c"
2209 #line 332 "lwin_wkt_parse.y"
2211 #line 2212 "lwin_wkt_parse.c"
2215 #line 334 "lwin_wkt_parse.y"
2217 #line 2218 "lwin_wkt_parse.c"
2221 #line 337 "lwin_wkt_parse.y"
2223 #line 2224 "lwin_wkt_parse.c"
2227 #line 341 "lwin_wkt_parse.y"
2229 #line 2230 "lwin_wkt_parse.c"
2233 #line 343 "lwin_wkt_parse.y"
2235 #line 2236 "lwin_wkt_parse.c"
2239 #line 345 "lwin_wkt_parse.y"
2241 #line 2242 "lwin_wkt_parse.c"
2245 #line 347 "lwin_wkt_parse.y"
2247 #line 2248 "lwin_wkt_parse.c"
2251 #line 351 "lwin_wkt_parse.y"
2253 #line 2254 "lwin_wkt_parse.c"
2257 #line 353 "lwin_wkt_parse.y"
2259 #line 2260 "lwin_wkt_parse.c"
2263 #line 356 "lwin_wkt_parse.y"
2265 #line 2266 "lwin_wkt_parse.c"
2269 #line 357 "lwin_wkt_parse.y"
2271 #line 2272 "lwin_wkt_parse.c"
2275 #line 358 "lwin_wkt_parse.y"
2277 #line 2278 "lwin_wkt_parse.c"
2281 #line 359 "lwin_wkt_parse.y"
2283 #line 2284 "lwin_wkt_parse.c"
2287 #line 363 "lwin_wkt_parse.y"
2289 #line 2290 "lwin_wkt_parse.c"
2293 #line 365 "lwin_wkt_parse.y"
2295 #line 2296 "lwin_wkt_parse.c"
2299 #line 369 "lwin_wkt_parse.y"
2301 #line 2302 "lwin_wkt_parse.c"
2305 #line 371 "lwin_wkt_parse.y"
2307 #line 2308 "lwin_wkt_parse.c"
2311 #line 374 "lwin_wkt_parse.y"
2313 #line 2314 "lwin_wkt_parse.c"
2317 #line 377 "lwin_wkt_parse.y"
2319 #line 2320 "lwin_wkt_parse.c"
2323 #line 381 "lwin_wkt_parse.y"
2325 #line 2326 "lwin_wkt_parse.c"
2329 #line 383 "lwin_wkt_parse.y"
2331 #line 2332 "lwin_wkt_parse.c"
2335 #line 385 "lwin_wkt_parse.y"
2337 #line 2338 "lwin_wkt_parse.c"
2341 #line 387 "lwin_wkt_parse.y"
2343 #line 2344 "lwin_wkt_parse.c"
2347 #line 391 "lwin_wkt_parse.y"
2349 #line 2350 "lwin_wkt_parse.c"
2353 #line 393 "lwin_wkt_parse.y"
2355 #line 2356 "lwin_wkt_parse.c"
2359 #line 395 "lwin_wkt_parse.y"
2361 #line 2362 "lwin_wkt_parse.c"
2365 #line 397 "lwin_wkt_parse.y"
2367 #line 2368 "lwin_wkt_parse.c"
2371 #line 399 "lwin_wkt_parse.y"
2373 #line 2374 "lwin_wkt_parse.c"
2377 #line 401 "lwin_wkt_parse.y"
2379 #line 2380 "lwin_wkt_parse.c"
2383 #line 405 "lwin_wkt_parse.y"
2385 #line 2386 "lwin_wkt_parse.c"
2389 #line 407 "lwin_wkt_parse.y"
2391 #line 2392 "lwin_wkt_parse.c"
2395 #line 409 "lwin_wkt_parse.y"
2397 #line 2398 "lwin_wkt_parse.c"
2401 #line 411 "lwin_wkt_parse.y"
2403 #line 2404 "lwin_wkt_parse.c"
2407 #line 415 "lwin_wkt_parse.y"
2409 #line 2410 "lwin_wkt_parse.c"
2413 #line 417 "lwin_wkt_parse.y"
2415 #line 2416 "lwin_wkt_parse.c"
2419 #line 419 "lwin_wkt_parse.y"
2421 #line 2422 "lwin_wkt_parse.c"
2425 #line 421 "lwin_wkt_parse.y"
2427 #line 2428 "lwin_wkt_parse.c"
2431 #line 423 "lwin_wkt_parse.y"
2433 #line 2434 "lwin_wkt_parse.c"
2437 #line 425 "lwin_wkt_parse.y"
2439 #line 2440 "lwin_wkt_parse.c"
2443 #line 427 "lwin_wkt_parse.y"
2445 #line 2446 "lwin_wkt_parse.c"
2449 #line 429 "lwin_wkt_parse.y"
2451 #line 2452 "lwin_wkt_parse.c"
2455 #line 433 "lwin_wkt_parse.y"
2457 #line 2458 "lwin_wkt_parse.c"
2461 #line 435 "lwin_wkt_parse.y"
2463 #line 2464 "lwin_wkt_parse.c"
2467 #line 437 "lwin_wkt_parse.y"
2469 #line 2470 "lwin_wkt_parse.c"
2473 #line 439 "lwin_wkt_parse.y"
2475 #line 2476 "lwin_wkt_parse.c"
2479 #line 443 "lwin_wkt_parse.y"
2481 #line 2482 "lwin_wkt_parse.c"
2485 #line 445 "lwin_wkt_parse.y"
2487 #line 2488 "lwin_wkt_parse.c"
2491 #line 449 "lwin_wkt_parse.y"
2493 #line 2494 "lwin_wkt_parse.c"
2497 #line 451 "lwin_wkt_parse.y"
2499 #line 2500 "lwin_wkt_parse.c"
2503 #line 453 "lwin_wkt_parse.y"
2505 #line 2506 "lwin_wkt_parse.c"
2509 #line 455 "lwin_wkt_parse.y"
2511 #line 2512 "lwin_wkt_parse.c"
2515 #line 459 "lwin_wkt_parse.y"
2517 #line 2518 "lwin_wkt_parse.c"
2521 #line 461 "lwin_wkt_parse.y"
2523 #line 2524 "lwin_wkt_parse.c"
2527 #line 463 "lwin_wkt_parse.y"
2529 #line 2530 "lwin_wkt_parse.c"
2533 #line 465 "lwin_wkt_parse.y"
2535 #line 2536 "lwin_wkt_parse.c"
2539 #line 469 "lwin_wkt_parse.y"
2541 #line 2542 "lwin_wkt_parse.c"
2545 #line 471 "lwin_wkt_parse.y"
2547 #line 2548 "lwin_wkt_parse.c"
2551 #line 475 "lwin_wkt_parse.y"
2553 #line 2554 "lwin_wkt_parse.c"
2557 #line 477 "lwin_wkt_parse.y"
2559 #line 2560 "lwin_wkt_parse.c"
2563 #line 481 "lwin_wkt_parse.y"
2565 #line 2566 "lwin_wkt_parse.c"
2569 #line 483 "lwin_wkt_parse.y"
2571 #line 2572 "lwin_wkt_parse.c"
2575 #line 485 "lwin_wkt_parse.y"
2577 #line 2578 "lwin_wkt_parse.c"
2581 #line 487 "lwin_wkt_parse.y"
2583 #line 2584 "lwin_wkt_parse.c"
2587 #line 491 "lwin_wkt_parse.y"
2589 #line 2590 "lwin_wkt_parse.c"
2593 #line 495 "lwin_wkt_parse.y"
2595 #line 2596 "lwin_wkt_parse.c"
2599 #line 497 "lwin_wkt_parse.y"
2601 #line 2602 "lwin_wkt_parse.c"
2605 #line 499 "lwin_wkt_parse.y"
2607 #line 2608 "lwin_wkt_parse.c"
2611 #line 501 "lwin_wkt_parse.y"
2613 #line 2614 "lwin_wkt_parse.c"
2617 #line 505 "lwin_wkt_parse.y"
2619 #line 2620 "lwin_wkt_parse.c"
2623 #line 507 "lwin_wkt_parse.y"
2625 #line 2626 "lwin_wkt_parse.c"
2629 #line 511 "lwin_wkt_parse.y"
2631 #line 2632 "lwin_wkt_parse.c"
2635 #line 513 "lwin_wkt_parse.y"
2637 #line 2638 "lwin_wkt_parse.c"
2641 #line 515 "lwin_wkt_parse.y"
2643 #line 2644 "lwin_wkt_parse.c"
2647 #line 519 "lwin_wkt_parse.y"
2649 #line 2650 "lwin_wkt_parse.c"
2653 #line 521 "lwin_wkt_parse.y"
2655 #line 2656 "lwin_wkt_parse.c"
2659 #line 523 "lwin_wkt_parse.y"
2661 #line 2662 "lwin_wkt_parse.c"
2665 #line 525 "lwin_wkt_parse.y"
2667 #line 2668 "lwin_wkt_parse.c"
2671 #line 529 "lwin_wkt_parse.y"
2673 #line 2674 "lwin_wkt_parse.c"
2677 #line 531 "lwin_wkt_parse.y"
2679 #line 2680 "lwin_wkt_parse.c"
2683 #line 535 "lwin_wkt_parse.y"
2685 #line 2686 "lwin_wkt_parse.c"
2689 #line 537 "lwin_wkt_parse.y"
2691 #line 2692 "lwin_wkt_parse.c"
2695 #line 539 "lwin_wkt_parse.y"
2697 #line 2698 "lwin_wkt_parse.c"
2701 #line 2702 "lwin_wkt_parse.c"
2731 if (0 <= yystate && yystate <=
YYLAST &&
yycheck[yystate] == *yyssp)
2751 #if ! YYERROR_VERBOSE
2754 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
2757 char const *yymsgp =
YY_(
"syntax error");
2758 int yysyntax_error_status;
2760 if (yysyntax_error_status == 0)
2762 else if (yysyntax_error_status == 1)
2764 if (yymsg != yymsgbuf)
2770 yymsg_alloc =
sizeof yymsgbuf;
2771 yysyntax_error_status = 2;
2780 if (yysyntax_error_status == 2)
2781 goto yyexhaustedlab;
2783 # undef YYSYNTAX_ERROR
2787 yyerror_range[1] =
yylloc;
2789 if (yyerrstatus == 3)
2824 yyerror_range[1] = yylsp[1-yylen];
2858 yyerror_range[1] = *yylsp;
2860 yystos[yystate], yyvsp, yylsp);
2870 yyerror_range[2] =
yylloc;
2897 #if !defined yyoverflow || YYERROR_VERBOSE
2920 while (yyssp != yyss)
2923 yystos[*yyssp], yyvsp, yylsp);
2931 if (yymsg != yymsgbuf)
2936 #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.
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[]
#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[]
#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