PostGIS 3.0.6dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ yyparse

int yyparse (   void)    wkt_yyparse

Definition at line 1638 of file lwin_wkt_parse.c.

1639{
1640 int yystate;
1641 /* Number of tokens to shift before error messages enabled. */
1642 int yyerrstatus;
1643
1644 /* The stacks and their tools:
1645 'yyss': related to states.
1646 'yyvs': related to semantic values.
1647 'yyls': related to locations.
1648
1649 Refer to the stacks through separate pointers, to allow yyoverflow
1650 to reallocate them elsewhere. */
1651
1652 /* The state stack. */
1654 yytype_int16 *yyss;
1655 yytype_int16 *yyssp;
1656
1657 /* The semantic value stack. */
1658 YYSTYPE yyvsa[YYINITDEPTH];
1659 YYSTYPE *yyvs;
1660 YYSTYPE *yyvsp;
1661
1662 /* The location stack. */
1663 YYLTYPE yylsa[YYINITDEPTH];
1664 YYLTYPE *yyls;
1665 YYLTYPE *yylsp;
1666
1667 /* The locations where the error started and ended. */
1668 YYLTYPE yyerror_range[3];
1669
1670 YYSIZE_T yystacksize;
1671
1672 int yyn;
1673 int yyresult;
1674 /* Lookahead token as an internal (translated) token number. */
1675 int yytoken = 0;
1676 /* The variables used to return semantic value and location from the
1677 action routines. */
1678 YYSTYPE yyval;
1679 YYLTYPE yyloc;
1680
1681#if YYERROR_VERBOSE
1682 /* Buffer for error messages, and its allocated size. */
1683 char yymsgbuf[128];
1684 char *yymsg = yymsgbuf;
1685 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1686#endif
1687
1688#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
1689
1690 /* The number of symbols on the RHS of the reduced rule.
1691 Keep to zero when no symbol should be popped. */
1692 int yylen = 0;
1693
1694 yyssp = yyss = yyssa;
1695 yyvsp = yyvs = yyvsa;
1696 yylsp = yyls = yylsa;
1697 yystacksize = YYINITDEPTH;
1698
1699 YYDPRINTF ((stderr, "Starting parse\n"));
1700
1701 yystate = 0;
1702 yyerrstatus = 0;
1703 yynerrs = 0;
1704 yychar = YYEMPTY; /* Cause a token to be read. */
1705 yylsp[0] = yylloc;
1706 goto yysetstate;
1707
1708/*------------------------------------------------------------.
1709| yynewstate -- Push a new state, which is found in yystate. |
1710`------------------------------------------------------------*/
1711 yynewstate:
1712 /* In all cases, when you get here, the value and location stacks
1713 have just been pushed. So pushing a state here evens the stacks. */
1714 yyssp++;
1715
1716 yysetstate:
1717 *yyssp = yystate;
1718
1719 if (yyss + yystacksize - 1 <= yyssp)
1720 {
1721 /* Get the current used size of the three stacks, in elements. */
1722 YYSIZE_T yysize = yyssp - yyss + 1;
1723
1724#ifdef yyoverflow
1725 {
1726 /* Give user a chance to reallocate the stack. Use copies of
1727 these so that the &'s don't force the real ones into
1728 memory. */
1729 YYSTYPE *yyvs1 = yyvs;
1730 yytype_int16 *yyss1 = yyss;
1731 YYLTYPE *yyls1 = yyls;
1732
1733 /* Each stack pointer address is followed by the size of the
1734 data in use in that stack, in bytes. This used to be a
1735 conditional around just the two extra args, but that might
1736 be undefined if yyoverflow is a macro. */
1737 yyoverflow (YY_("memory exhausted"),
1738 &yyss1, yysize * sizeof (*yyssp),
1739 &yyvs1, yysize * sizeof (*yyvsp),
1740 &yyls1, yysize * sizeof (*yylsp),
1741 &yystacksize);
1742
1743 yyls = yyls1;
1744 yyss = yyss1;
1745 yyvs = yyvs1;
1746 }
1747#else /* no yyoverflow */
1748# ifndef YYSTACK_RELOCATE
1749 goto yyexhaustedlab;
1750# else
1751 /* Extend the stack our own way. */
1752 if (YYMAXDEPTH <= yystacksize)
1753 goto yyexhaustedlab;
1754 yystacksize *= 2;
1755 if (YYMAXDEPTH < yystacksize)
1756 yystacksize = YYMAXDEPTH;
1757
1758 {
1759 yytype_int16 *yyss1 = yyss;
1760 union yyalloc *yyptr =
1761 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1762 if (! yyptr)
1763 goto yyexhaustedlab;
1764 YYSTACK_RELOCATE (yyss_alloc, yyss);
1765 YYSTACK_RELOCATE (yyvs_alloc, yyvs);
1766 YYSTACK_RELOCATE (yyls_alloc, yyls);
1767# undef YYSTACK_RELOCATE
1768 if (yyss1 != yyssa)
1769 YYSTACK_FREE (yyss1);
1770 }
1771# endif
1772#endif /* no yyoverflow */
1773
1774 yyssp = yyss + yysize - 1;
1775 yyvsp = yyvs + yysize - 1;
1776 yylsp = yyls + yysize - 1;
1777
1778 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1779 (unsigned long int) yystacksize));
1780
1781 if (yyss + yystacksize - 1 <= yyssp)
1782 YYABORT;
1783 }
1784
1785 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1786
1787 if (yystate == YYFINAL)
1788 YYACCEPT;
1789
1790 goto yybackup;
1791
1792/*-----------.
1793| yybackup. |
1794`-----------*/
1795yybackup:
1796
1797 /* Do appropriate processing given the current state. Read a
1798 lookahead token if we need one and don't already have one. */
1799
1800 /* First try to decide what to do without reference to lookahead token. */
1801 yyn = yypact[yystate];
1802 if (yypact_value_is_default (yyn))
1803 goto yydefault;
1804
1805 /* Not known => get a lookahead token if don't already have one. */
1806
1807 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
1808 if (yychar == YYEMPTY)
1809 {
1810 YYDPRINTF ((stderr, "Reading a token: "));
1811 yychar = yylex ();
1812 }
1813
1814 if (yychar <= YYEOF)
1815 {
1816 yychar = yytoken = YYEOF;
1817 YYDPRINTF ((stderr, "Now at end of input.\n"));
1818 }
1819 else
1820 {
1821 yytoken = YYTRANSLATE (yychar);
1822 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1823 }
1824
1825 /* If the proper action on seeing token YYTOKEN is to reduce or to
1826 detect an error, take that action. */
1827 yyn += yytoken;
1828 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1829 goto yydefault;
1830 yyn = yytable[yyn];
1831 if (yyn <= 0)
1832 {
1833 if (yytable_value_is_error (yyn))
1834 goto yyerrlab;
1835 yyn = -yyn;
1836 goto yyreduce;
1837 }
1838
1839 /* Count tokens shifted since error; after three, turn off error
1840 status. */
1841 if (yyerrstatus)
1842 yyerrstatus--;
1843
1844 /* Shift the lookahead token. */
1845 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1846
1847 /* Discard the shifted token. */
1848 yychar = YYEMPTY;
1849
1850 yystate = yyn;
1852 *++yyvsp = yylval;
1854 *++yylsp = yylloc;
1855 goto yynewstate;
1856
1857
1858/*-----------------------------------------------------------.
1859| yydefault -- do the default action for the current state. |
1860`-----------------------------------------------------------*/
1861yydefault:
1862 yyn = yydefact[yystate];
1863 if (yyn == 0)
1864 goto yyerrlab;
1865 goto yyreduce;
1866
1867
1868/*-----------------------------.
1869| yyreduce -- Do a reduction. |
1870`-----------------------------*/
1871yyreduce:
1872 /* yyn is the number of a rule to reduce with. */
1873 yylen = yyr2[yyn];
1874
1875 /* If YYLEN is nonzero, implement the default value of the action:
1876 '$$ = $1'.
1877
1878 Otherwise, the following line sets YYVAL to garbage.
1879 This behavior is undocumented and Bison
1880 users should not rely upon it. Assigning to YYVAL
1881 unconditionally makes the parser a bit smaller, and it avoids a
1882 GCC warning that YYVAL may be used uninitialized. */
1883 yyval = yyvsp[1-yylen];
1884
1885 /* Default location. */
1886 YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
1887 YY_REDUCE_PRINT (yyn);
1888 switch (yyn)
1889 {
1890 case 2:
1891#line 217 "lwin_wkt_parse.y" /* yacc.c:1646 */
1892 { wkt_parser_geometry_new((yyvsp[0].geometryvalue), SRID_UNKNOWN); WKT_ERROR(); }
1893#line 1894 "lwin_wkt_parse.c" /* yacc.c:1646 */
1894 break;
1895
1896 case 3:
1897#line 219 "lwin_wkt_parse.y" /* yacc.c:1646 */
1898 { wkt_parser_geometry_new((yyvsp[0].geometryvalue), (yyvsp[-2].integervalue)); WKT_ERROR(); }
1899#line 1900 "lwin_wkt_parse.c" /* yacc.c:1646 */
1900 break;
1901
1902 case 4:
1903#line 222 "lwin_wkt_parse.y" /* yacc.c:1646 */
1904 { (yyval.geometryvalue) = (yyvsp[0].geometryvalue); }
1905#line 1906 "lwin_wkt_parse.c" /* yacc.c:1646 */
1906 break;
1907
1908 case 5:
1909#line 223 "lwin_wkt_parse.y" /* yacc.c:1646 */
1910 { (yyval.geometryvalue) = (yyvsp[0].geometryvalue); }
1911#line 1912 "lwin_wkt_parse.c" /* yacc.c:1646 */
1912 break;
1913
1914 case 6:
1915#line 224 "lwin_wkt_parse.y" /* yacc.c:1646 */
1916 { (yyval.geometryvalue) = (yyvsp[0].geometryvalue); }
1917#line 1918 "lwin_wkt_parse.c" /* yacc.c:1646 */
1918 break;
1919
1920 case 7:
1921#line 225 "lwin_wkt_parse.y" /* yacc.c:1646 */
1922 { (yyval.geometryvalue) = (yyvsp[0].geometryvalue); }
1923#line 1924 "lwin_wkt_parse.c" /* yacc.c:1646 */
1924 break;
1925
1926 case 8:
1927#line 226 "lwin_wkt_parse.y" /* yacc.c:1646 */
1928 { (yyval.geometryvalue) = (yyvsp[0].geometryvalue); }
1929#line 1930 "lwin_wkt_parse.c" /* yacc.c:1646 */
1930 break;
1931
1932 case 9:
1933#line 227 "lwin_wkt_parse.y" /* yacc.c:1646 */
1934 { (yyval.geometryvalue) = (yyvsp[0].geometryvalue); }
1935#line 1936 "lwin_wkt_parse.c" /* yacc.c:1646 */
1936 break;
1937
1938 case 10:
1939#line 228 "lwin_wkt_parse.y" /* yacc.c:1646 */
1940 { (yyval.geometryvalue) = (yyvsp[0].geometryvalue); }
1941#line 1942 "lwin_wkt_parse.c" /* yacc.c:1646 */
1942 break;
1943
1944 case 11:
1945#line 229 "lwin_wkt_parse.y" /* yacc.c:1646 */
1946 { (yyval.geometryvalue) = (yyvsp[0].geometryvalue); }
1947#line 1948 "lwin_wkt_parse.c" /* yacc.c:1646 */
1948 break;
1949
1950 case 12:
1951#line 230 "lwin_wkt_parse.y" /* yacc.c:1646 */
1952 { (yyval.geometryvalue) = (yyvsp[0].geometryvalue); }
1953#line 1954 "lwin_wkt_parse.c" /* yacc.c:1646 */
1954 break;
1955
1956 case 13:
1957#line 231 "lwin_wkt_parse.y" /* yacc.c:1646 */
1958 { (yyval.geometryvalue) = (yyvsp[0].geometryvalue); }
1959#line 1960 "lwin_wkt_parse.c" /* yacc.c:1646 */
1960 break;
1961
1962 case 14:
1963#line 232 "lwin_wkt_parse.y" /* yacc.c:1646 */
1964 { (yyval.geometryvalue) = (yyvsp[0].geometryvalue); }
1965#line 1966 "lwin_wkt_parse.c" /* yacc.c:1646 */
1966 break;
1967
1968 case 15:
1969#line 233 "lwin_wkt_parse.y" /* yacc.c:1646 */
1970 { (yyval.geometryvalue) = (yyvsp[0].geometryvalue); }
1971#line 1972 "lwin_wkt_parse.c" /* yacc.c:1646 */
1972 break;
1973
1974 case 16:
1975#line 234 "lwin_wkt_parse.y" /* yacc.c:1646 */
1976 { (yyval.geometryvalue) = (yyvsp[0].geometryvalue); }
1977#line 1978 "lwin_wkt_parse.c" /* yacc.c:1646 */
1978 break;
1979
1980 case 17:
1981#line 235 "lwin_wkt_parse.y" /* yacc.c:1646 */
1982 { (yyval.geometryvalue) = (yyvsp[0].geometryvalue); }
1983#line 1984 "lwin_wkt_parse.c" /* yacc.c:1646 */
1984 break;
1985
1986 case 18:
1987#line 236 "lwin_wkt_parse.y" /* yacc.c:1646 */
1988 { (yyval.geometryvalue) = (yyvsp[0].geometryvalue); }
1989#line 1990 "lwin_wkt_parse.c" /* yacc.c:1646 */
1990 break;
1991
1992 case 19:
1993#line 240 "lwin_wkt_parse.y" /* yacc.c:1646 */
1994 { (yyval.geometryvalue) = wkt_parser_collection_finalize(COLLECTIONTYPE, (yyvsp[-1].geometryvalue), NULL); WKT_ERROR(); }
1995#line 1996 "lwin_wkt_parse.c" /* yacc.c:1646 */
1996 break;
1997
1998 case 20:
1999#line 242 "lwin_wkt_parse.y" /* yacc.c:1646 */
2000 { (yyval.geometryvalue) = wkt_parser_collection_finalize(COLLECTIONTYPE, (yyvsp[-1].geometryvalue), (yyvsp[-3].stringvalue)); WKT_ERROR(); }
2001#line 2002 "lwin_wkt_parse.c" /* yacc.c:1646 */
2002 break;
2003
2004 case 21:
2005#line 244 "lwin_wkt_parse.y" /* yacc.c:1646 */
2006 { (yyval.geometryvalue) = wkt_parser_collection_finalize(COLLECTIONTYPE, NULL, (yyvsp[-1].stringvalue)); WKT_ERROR(); }
2007#line 2008 "lwin_wkt_parse.c" /* yacc.c:1646 */
2008 break;
2009
2010 case 22:
2011#line 246 "lwin_wkt_parse.y" /* yacc.c:1646 */
2013#line 2014 "lwin_wkt_parse.c" /* yacc.c:1646 */
2014 break;
2015
2016 case 23:
2017#line 250 "lwin_wkt_parse.y" /* yacc.c:1646 */
2018 { (yyval.geometryvalue) = wkt_parser_collection_add_geom((yyvsp[-2].geometryvalue),(yyvsp[0].geometryvalue)); WKT_ERROR(); }
2019#line 2020 "lwin_wkt_parse.c" /* yacc.c:1646 */
2020 break;
2021
2022 case 24:
2023#line 252 "lwin_wkt_parse.y" /* yacc.c:1646 */
2024 { (yyval.geometryvalue) = wkt_parser_collection_new((yyvsp[0].geometryvalue)); WKT_ERROR(); }
2025#line 2026 "lwin_wkt_parse.c" /* yacc.c:1646 */
2026 break;
2027
2028 case 25:
2029#line 256 "lwin_wkt_parse.y" /* yacc.c:1646 */
2030 { (yyval.geometryvalue) = wkt_parser_collection_finalize(MULTISURFACETYPE, (yyvsp[-1].geometryvalue), NULL); WKT_ERROR(); }
2031#line 2032 "lwin_wkt_parse.c" /* yacc.c:1646 */
2032 break;
2033
2034 case 26:
2035#line 258 "lwin_wkt_parse.y" /* yacc.c:1646 */
2036 { (yyval.geometryvalue) = wkt_parser_collection_finalize(MULTISURFACETYPE, (yyvsp[-1].geometryvalue), (yyvsp[-3].stringvalue)); WKT_ERROR(); }
2037#line 2038 "lwin_wkt_parse.c" /* yacc.c:1646 */
2038 break;
2039
2040 case 27:
2041#line 260 "lwin_wkt_parse.y" /* yacc.c:1646 */
2042 { (yyval.geometryvalue) = wkt_parser_collection_finalize(MULTISURFACETYPE, NULL, (yyvsp[-1].stringvalue)); WKT_ERROR(); }
2043#line 2044 "lwin_wkt_parse.c" /* yacc.c:1646 */
2044 break;
2045
2046 case 28:
2047#line 262 "lwin_wkt_parse.y" /* yacc.c:1646 */
2049#line 2050 "lwin_wkt_parse.c" /* yacc.c:1646 */
2050 break;
2051
2052 case 29:
2053#line 266 "lwin_wkt_parse.y" /* yacc.c:1646 */
2054 { (yyval.geometryvalue) = wkt_parser_collection_add_geom((yyvsp[-2].geometryvalue),(yyvsp[0].geometryvalue)); WKT_ERROR(); }
2055#line 2056 "lwin_wkt_parse.c" /* yacc.c:1646 */
2056 break;
2057
2058 case 30:
2059#line 268 "lwin_wkt_parse.y" /* yacc.c:1646 */
2060 { (yyval.geometryvalue) = wkt_parser_collection_add_geom((yyvsp[-2].geometryvalue),(yyvsp[0].geometryvalue)); WKT_ERROR(); }
2061#line 2062 "lwin_wkt_parse.c" /* yacc.c:1646 */
2062 break;
2063
2064 case 31:
2065#line 270 "lwin_wkt_parse.y" /* yacc.c:1646 */
2066 { (yyval.geometryvalue) = wkt_parser_collection_add_geom((yyvsp[-2].geometryvalue),(yyvsp[0].geometryvalue)); WKT_ERROR(); }
2067#line 2068 "lwin_wkt_parse.c" /* yacc.c:1646 */
2068 break;
2069
2070 case 32:
2071#line 272 "lwin_wkt_parse.y" /* yacc.c:1646 */
2072 { (yyval.geometryvalue) = wkt_parser_collection_new((yyvsp[0].geometryvalue)); WKT_ERROR(); }
2073#line 2074 "lwin_wkt_parse.c" /* yacc.c:1646 */
2074 break;
2075
2076 case 33:
2077#line 274 "lwin_wkt_parse.y" /* yacc.c:1646 */
2078 { (yyval.geometryvalue) = wkt_parser_collection_new((yyvsp[0].geometryvalue)); WKT_ERROR(); }
2079#line 2080 "lwin_wkt_parse.c" /* yacc.c:1646 */
2080 break;
2081
2082 case 34:
2083#line 276 "lwin_wkt_parse.y" /* yacc.c:1646 */
2084 { (yyval.geometryvalue) = wkt_parser_collection_new((yyvsp[0].geometryvalue)); WKT_ERROR(); }
2085#line 2086 "lwin_wkt_parse.c" /* yacc.c:1646 */
2086 break;
2087
2088 case 35:
2089#line 280 "lwin_wkt_parse.y" /* yacc.c:1646 */
2090 { (yyval.geometryvalue) = wkt_parser_collection_finalize(TINTYPE, (yyvsp[-1].geometryvalue), NULL); WKT_ERROR(); }
2091#line 2092 "lwin_wkt_parse.c" /* yacc.c:1646 */
2092 break;
2093
2094 case 36:
2095#line 282 "lwin_wkt_parse.y" /* yacc.c:1646 */
2096 { (yyval.geometryvalue) = wkt_parser_collection_finalize(TINTYPE, (yyvsp[-1].geometryvalue), (yyvsp[-3].stringvalue)); WKT_ERROR(); }
2097#line 2098 "lwin_wkt_parse.c" /* yacc.c:1646 */
2098 break;
2099
2100 case 37:
2101#line 284 "lwin_wkt_parse.y" /* yacc.c:1646 */
2102 { (yyval.geometryvalue) = wkt_parser_collection_finalize(TINTYPE, NULL, (yyvsp[-1].stringvalue)); WKT_ERROR(); }
2103#line 2104 "lwin_wkt_parse.c" /* yacc.c:1646 */
2104 break;
2105
2106 case 38:
2107#line 286 "lwin_wkt_parse.y" /* yacc.c:1646 */
2108 { (yyval.geometryvalue) = wkt_parser_collection_finalize(TINTYPE, NULL, NULL); WKT_ERROR(); }
2109#line 2110 "lwin_wkt_parse.c" /* yacc.c:1646 */
2110 break;
2111
2112 case 39:
2113#line 290 "lwin_wkt_parse.y" /* yacc.c:1646 */
2114 { (yyval.geometryvalue) = wkt_parser_collection_finalize(POLYHEDRALSURFACETYPE, (yyvsp[-1].geometryvalue), NULL); WKT_ERROR(); }
2115#line 2116 "lwin_wkt_parse.c" /* yacc.c:1646 */
2116 break;
2117
2118 case 40:
2119#line 292 "lwin_wkt_parse.y" /* yacc.c:1646 */
2120 { (yyval.geometryvalue) = wkt_parser_collection_finalize(POLYHEDRALSURFACETYPE, (yyvsp[-1].geometryvalue), (yyvsp[-3].stringvalue)); WKT_ERROR(); }
2121#line 2122 "lwin_wkt_parse.c" /* yacc.c:1646 */
2122 break;
2123
2124 case 41:
2125#line 294 "lwin_wkt_parse.y" /* yacc.c:1646 */
2126 { (yyval.geometryvalue) = wkt_parser_collection_finalize(POLYHEDRALSURFACETYPE, NULL, (yyvsp[-1].stringvalue)); WKT_ERROR(); }
2127#line 2128 "lwin_wkt_parse.c" /* yacc.c:1646 */
2128 break;
2129
2130 case 42:
2131#line 296 "lwin_wkt_parse.y" /* yacc.c:1646 */
2133#line 2134 "lwin_wkt_parse.c" /* yacc.c:1646 */
2134 break;
2135
2136 case 43:
2137#line 300 "lwin_wkt_parse.y" /* yacc.c:1646 */
2138 { (yyval.geometryvalue) = wkt_parser_collection_finalize(MULTIPOLYGONTYPE, (yyvsp[-1].geometryvalue), NULL); WKT_ERROR(); }
2139#line 2140 "lwin_wkt_parse.c" /* yacc.c:1646 */
2140 break;
2141
2142 case 44:
2143#line 302 "lwin_wkt_parse.y" /* yacc.c:1646 */
2144 { (yyval.geometryvalue) = wkt_parser_collection_finalize(MULTIPOLYGONTYPE, (yyvsp[-1].geometryvalue), (yyvsp[-3].stringvalue)); WKT_ERROR(); }
2145#line 2146 "lwin_wkt_parse.c" /* yacc.c:1646 */
2146 break;
2147
2148 case 45:
2149#line 304 "lwin_wkt_parse.y" /* yacc.c:1646 */
2150 { (yyval.geometryvalue) = wkt_parser_collection_finalize(MULTIPOLYGONTYPE, NULL, (yyvsp[-1].stringvalue)); WKT_ERROR(); }
2151#line 2152 "lwin_wkt_parse.c" /* yacc.c:1646 */
2152 break;
2153
2154 case 46:
2155#line 306 "lwin_wkt_parse.y" /* yacc.c:1646 */
2157#line 2158 "lwin_wkt_parse.c" /* yacc.c:1646 */
2158 break;
2159
2160 case 47:
2161#line 310 "lwin_wkt_parse.y" /* yacc.c:1646 */
2162 { (yyval.geometryvalue) = wkt_parser_collection_add_geom((yyvsp[-2].geometryvalue),(yyvsp[0].geometryvalue)); WKT_ERROR(); }
2163#line 2164 "lwin_wkt_parse.c" /* yacc.c:1646 */
2164 break;
2165
2166 case 48:
2167#line 312 "lwin_wkt_parse.y" /* yacc.c:1646 */
2168 { (yyval.geometryvalue) = wkt_parser_collection_new((yyvsp[0].geometryvalue)); WKT_ERROR(); }
2169#line 2170 "lwin_wkt_parse.c" /* yacc.c:1646 */
2170 break;
2171
2172 case 49:
2173#line 316 "lwin_wkt_parse.y" /* yacc.c:1646 */
2174 { (yyval.geometryvalue) = wkt_parser_collection_add_geom((yyvsp[-2].geometryvalue),(yyvsp[0].geometryvalue)); WKT_ERROR(); }
2175#line 2176 "lwin_wkt_parse.c" /* yacc.c:1646 */
2176 break;
2177
2178 case 50:
2179#line 318 "lwin_wkt_parse.y" /* yacc.c:1646 */
2180 { (yyval.geometryvalue) = wkt_parser_collection_new((yyvsp[0].geometryvalue)); WKT_ERROR(); }
2181#line 2182 "lwin_wkt_parse.c" /* yacc.c:1646 */
2182 break;
2183
2184 case 51:
2185#line 322 "lwin_wkt_parse.y" /* yacc.c:1646 */
2186 { (yyval.geometryvalue) = wkt_parser_polygon_finalize((yyvsp[-1].geometryvalue), NULL); WKT_ERROR(); }
2187#line 2188 "lwin_wkt_parse.c" /* yacc.c:1646 */
2188 break;
2189
2190 case 52:
2191#line 324 "lwin_wkt_parse.y" /* yacc.c:1646 */
2192 { (yyval.geometryvalue) = wkt_parser_polygon_finalize((yyvsp[-1].geometryvalue), (yyvsp[-3].stringvalue)); WKT_ERROR(); }
2193#line 2194 "lwin_wkt_parse.c" /* yacc.c:1646 */
2194 break;
2195
2196 case 53:
2197#line 326 "lwin_wkt_parse.y" /* yacc.c:1646 */
2198 { (yyval.geometryvalue) = wkt_parser_polygon_finalize(NULL, (yyvsp[-1].stringvalue)); WKT_ERROR(); }
2199#line 2200 "lwin_wkt_parse.c" /* yacc.c:1646 */
2200 break;
2201
2202 case 54:
2203#line 328 "lwin_wkt_parse.y" /* yacc.c:1646 */
2204 { (yyval.geometryvalue) = wkt_parser_polygon_finalize(NULL, NULL); WKT_ERROR(); }
2205#line 2206 "lwin_wkt_parse.c" /* yacc.c:1646 */
2206 break;
2207
2208 case 55:
2209#line 332 "lwin_wkt_parse.y" /* yacc.c:1646 */
2210 { (yyval.geometryvalue) = (yyvsp[-1].geometryvalue); }
2211#line 2212 "lwin_wkt_parse.c" /* yacc.c:1646 */
2212 break;
2213
2214 case 56:
2215#line 334 "lwin_wkt_parse.y" /* yacc.c:1646 */
2216 { (yyval.geometryvalue) = wkt_parser_polygon_finalize(NULL, NULL); WKT_ERROR(); }
2217#line 2218 "lwin_wkt_parse.c" /* yacc.c:1646 */
2218 break;
2219
2220 case 57:
2221#line 337 "lwin_wkt_parse.y" /* yacc.c:1646 */
2222 { (yyval.geometryvalue) = (yyvsp[-1].geometryvalue); }
2223#line 2224 "lwin_wkt_parse.c" /* yacc.c:1646 */
2224 break;
2225
2226 case 58:
2227#line 341 "lwin_wkt_parse.y" /* yacc.c:1646 */
2228 { (yyval.geometryvalue) = wkt_parser_curvepolygon_finalize((yyvsp[-1].geometryvalue), NULL); WKT_ERROR(); }
2229#line 2230 "lwin_wkt_parse.c" /* yacc.c:1646 */
2230 break;
2231
2232 case 59:
2233#line 343 "lwin_wkt_parse.y" /* yacc.c:1646 */
2234 { (yyval.geometryvalue) = wkt_parser_curvepolygon_finalize((yyvsp[-1].geometryvalue), (yyvsp[-3].stringvalue)); WKT_ERROR(); }
2235#line 2236 "lwin_wkt_parse.c" /* yacc.c:1646 */
2236 break;
2237
2238 case 60:
2239#line 345 "lwin_wkt_parse.y" /* yacc.c:1646 */
2240 { (yyval.geometryvalue) = wkt_parser_curvepolygon_finalize(NULL, (yyvsp[-1].stringvalue)); WKT_ERROR(); }
2241#line 2242 "lwin_wkt_parse.c" /* yacc.c:1646 */
2242 break;
2243
2244 case 61:
2245#line 347 "lwin_wkt_parse.y" /* yacc.c:1646 */
2246 { (yyval.geometryvalue) = wkt_parser_curvepolygon_finalize(NULL, NULL); WKT_ERROR(); }
2247#line 2248 "lwin_wkt_parse.c" /* yacc.c:1646 */
2248 break;
2249
2250 case 62:
2251#line 351 "lwin_wkt_parse.y" /* yacc.c:1646 */
2252 { (yyval.geometryvalue) = wkt_parser_curvepolygon_add_ring((yyvsp[-2].geometryvalue),(yyvsp[0].geometryvalue)); WKT_ERROR(); }
2253#line 2254 "lwin_wkt_parse.c" /* yacc.c:1646 */
2254 break;
2255
2256 case 63:
2257#line 353 "lwin_wkt_parse.y" /* yacc.c:1646 */
2258 { (yyval.geometryvalue) = wkt_parser_curvepolygon_new((yyvsp[0].geometryvalue)); WKT_ERROR(); }
2259#line 2260 "lwin_wkt_parse.c" /* yacc.c:1646 */
2260 break;
2261
2262 case 64:
2263#line 356 "lwin_wkt_parse.y" /* yacc.c:1646 */
2264 { (yyval.geometryvalue) = (yyvsp[0].geometryvalue); }
2265#line 2266 "lwin_wkt_parse.c" /* yacc.c:1646 */
2266 break;
2267
2268 case 65:
2269#line 357 "lwin_wkt_parse.y" /* yacc.c:1646 */
2270 { (yyval.geometryvalue) = (yyvsp[0].geometryvalue); }
2271#line 2272 "lwin_wkt_parse.c" /* yacc.c:1646 */
2272 break;
2273
2274 case 66:
2275#line 358 "lwin_wkt_parse.y" /* yacc.c:1646 */
2276 { (yyval.geometryvalue) = (yyvsp[0].geometryvalue); }
2277#line 2278 "lwin_wkt_parse.c" /* yacc.c:1646 */
2278 break;
2279
2280 case 67:
2281#line 359 "lwin_wkt_parse.y" /* yacc.c:1646 */
2282 { (yyval.geometryvalue) = (yyvsp[0].geometryvalue); }
2283#line 2284 "lwin_wkt_parse.c" /* yacc.c:1646 */
2284 break;
2285
2286 case 68:
2287#line 363 "lwin_wkt_parse.y" /* yacc.c:1646 */
2288 { (yyval.geometryvalue) = wkt_parser_polygon_add_ring((yyvsp[-2].geometryvalue),(yyvsp[0].ptarrayvalue),'Z'); WKT_ERROR(); }
2289#line 2290 "lwin_wkt_parse.c" /* yacc.c:1646 */
2290 break;
2291
2292 case 69:
2293#line 365 "lwin_wkt_parse.y" /* yacc.c:1646 */
2294 { (yyval.geometryvalue) = wkt_parser_polygon_new((yyvsp[0].ptarrayvalue),'Z'); WKT_ERROR(); }
2295#line 2296 "lwin_wkt_parse.c" /* yacc.c:1646 */
2296 break;
2297
2298 case 70:
2299#line 369 "lwin_wkt_parse.y" /* yacc.c:1646 */
2300 { (yyval.geometryvalue) = wkt_parser_polygon_add_ring((yyvsp[-2].geometryvalue),(yyvsp[0].ptarrayvalue),'2'); WKT_ERROR(); }
2301#line 2302 "lwin_wkt_parse.c" /* yacc.c:1646 */
2302 break;
2303
2304 case 71:
2305#line 371 "lwin_wkt_parse.y" /* yacc.c:1646 */
2306 { (yyval.geometryvalue) = wkt_parser_polygon_new((yyvsp[0].ptarrayvalue),'2'); WKT_ERROR(); }
2307#line 2308 "lwin_wkt_parse.c" /* yacc.c:1646 */
2308 break;
2309
2310 case 72:
2311#line 374 "lwin_wkt_parse.y" /* yacc.c:1646 */
2312 { (yyval.ptarrayvalue) = (yyvsp[-1].ptarrayvalue); }
2313#line 2314 "lwin_wkt_parse.c" /* yacc.c:1646 */
2314 break;
2315
2316 case 73:
2317#line 377 "lwin_wkt_parse.y" /* yacc.c:1646 */
2318 { (yyval.ptarrayvalue) = (yyvsp[-1].ptarrayvalue); }
2319#line 2320 "lwin_wkt_parse.c" /* yacc.c:1646 */
2320 break;
2321
2322 case 74:
2323#line 381 "lwin_wkt_parse.y" /* yacc.c:1646 */
2324 { (yyval.geometryvalue) = wkt_parser_collection_finalize(COMPOUNDTYPE, (yyvsp[-1].geometryvalue), NULL); WKT_ERROR(); }
2325#line 2326 "lwin_wkt_parse.c" /* yacc.c:1646 */
2326 break;
2327
2328 case 75:
2329#line 383 "lwin_wkt_parse.y" /* yacc.c:1646 */
2330 { (yyval.geometryvalue) = wkt_parser_collection_finalize(COMPOUNDTYPE, (yyvsp[-1].geometryvalue), (yyvsp[-3].stringvalue)); WKT_ERROR(); }
2331#line 2332 "lwin_wkt_parse.c" /* yacc.c:1646 */
2332 break;
2333
2334 case 76:
2335#line 385 "lwin_wkt_parse.y" /* yacc.c:1646 */
2336 { (yyval.geometryvalue) = wkt_parser_collection_finalize(COMPOUNDTYPE, NULL, (yyvsp[-1].stringvalue)); WKT_ERROR(); }
2337#line 2338 "lwin_wkt_parse.c" /* yacc.c:1646 */
2338 break;
2339
2340 case 77:
2341#line 387 "lwin_wkt_parse.y" /* yacc.c:1646 */
2343#line 2344 "lwin_wkt_parse.c" /* yacc.c:1646 */
2344 break;
2345
2346 case 78:
2347#line 391 "lwin_wkt_parse.y" /* yacc.c:1646 */
2348 { (yyval.geometryvalue) = wkt_parser_compound_add_geom((yyvsp[-2].geometryvalue),(yyvsp[0].geometryvalue)); WKT_ERROR(); }
2349#line 2350 "lwin_wkt_parse.c" /* yacc.c:1646 */
2350 break;
2351
2352 case 79:
2353#line 393 "lwin_wkt_parse.y" /* yacc.c:1646 */
2354 { (yyval.geometryvalue) = wkt_parser_compound_add_geom((yyvsp[-2].geometryvalue),(yyvsp[0].geometryvalue)); WKT_ERROR(); }
2355#line 2356 "lwin_wkt_parse.c" /* yacc.c:1646 */
2356 break;
2357
2358 case 80:
2359#line 395 "lwin_wkt_parse.y" /* yacc.c:1646 */
2360 { (yyval.geometryvalue) = wkt_parser_compound_add_geom((yyvsp[-2].geometryvalue),(yyvsp[0].geometryvalue)); WKT_ERROR(); }
2361#line 2362 "lwin_wkt_parse.c" /* yacc.c:1646 */
2362 break;
2363
2364 case 81:
2365#line 397 "lwin_wkt_parse.y" /* yacc.c:1646 */
2366 { (yyval.geometryvalue) = wkt_parser_compound_new((yyvsp[0].geometryvalue)); WKT_ERROR(); }
2367#line 2368 "lwin_wkt_parse.c" /* yacc.c:1646 */
2368 break;
2369
2370 case 82:
2371#line 399 "lwin_wkt_parse.y" /* yacc.c:1646 */
2372 { (yyval.geometryvalue) = wkt_parser_compound_new((yyvsp[0].geometryvalue)); WKT_ERROR(); }
2373#line 2374 "lwin_wkt_parse.c" /* yacc.c:1646 */
2374 break;
2375
2376 case 83:
2377#line 401 "lwin_wkt_parse.y" /* yacc.c:1646 */
2378 { (yyval.geometryvalue) = wkt_parser_compound_new((yyvsp[0].geometryvalue)); WKT_ERROR(); }
2379#line 2380 "lwin_wkt_parse.c" /* yacc.c:1646 */
2380 break;
2381
2382 case 84:
2383#line 405 "lwin_wkt_parse.y" /* yacc.c:1646 */
2384 { (yyval.geometryvalue) = wkt_parser_collection_finalize(MULTICURVETYPE, (yyvsp[-1].geometryvalue), NULL); WKT_ERROR(); }
2385#line 2386 "lwin_wkt_parse.c" /* yacc.c:1646 */
2386 break;
2387
2388 case 85:
2389#line 407 "lwin_wkt_parse.y" /* yacc.c:1646 */
2390 { (yyval.geometryvalue) = wkt_parser_collection_finalize(MULTICURVETYPE, (yyvsp[-1].geometryvalue), (yyvsp[-3].stringvalue)); WKT_ERROR(); }
2391#line 2392 "lwin_wkt_parse.c" /* yacc.c:1646 */
2392 break;
2393
2394 case 86:
2395#line 409 "lwin_wkt_parse.y" /* yacc.c:1646 */
2396 { (yyval.geometryvalue) = wkt_parser_collection_finalize(MULTICURVETYPE, NULL, (yyvsp[-1].stringvalue)); WKT_ERROR(); }
2397#line 2398 "lwin_wkt_parse.c" /* yacc.c:1646 */
2398 break;
2399
2400 case 87:
2401#line 411 "lwin_wkt_parse.y" /* yacc.c:1646 */
2403#line 2404 "lwin_wkt_parse.c" /* yacc.c:1646 */
2404 break;
2405
2406 case 88:
2407#line 415 "lwin_wkt_parse.y" /* yacc.c:1646 */
2408 { (yyval.geometryvalue) = wkt_parser_collection_add_geom((yyvsp[-2].geometryvalue),(yyvsp[0].geometryvalue)); WKT_ERROR(); }
2409#line 2410 "lwin_wkt_parse.c" /* yacc.c:1646 */
2410 break;
2411
2412 case 89:
2413#line 417 "lwin_wkt_parse.y" /* yacc.c:1646 */
2414 { (yyval.geometryvalue) = wkt_parser_collection_add_geom((yyvsp[-2].geometryvalue),(yyvsp[0].geometryvalue)); WKT_ERROR(); }
2415#line 2416 "lwin_wkt_parse.c" /* yacc.c:1646 */
2416 break;
2417
2418 case 90:
2419#line 419 "lwin_wkt_parse.y" /* yacc.c:1646 */
2420 { (yyval.geometryvalue) = wkt_parser_collection_add_geom((yyvsp[-2].geometryvalue),(yyvsp[0].geometryvalue)); WKT_ERROR(); }
2421#line 2422 "lwin_wkt_parse.c" /* yacc.c:1646 */
2422 break;
2423
2424 case 91:
2425#line 421 "lwin_wkt_parse.y" /* yacc.c:1646 */
2426 { (yyval.geometryvalue) = wkt_parser_collection_add_geom((yyvsp[-2].geometryvalue),(yyvsp[0].geometryvalue)); WKT_ERROR(); }
2427#line 2428 "lwin_wkt_parse.c" /* yacc.c:1646 */
2428 break;
2429
2430 case 92:
2431#line 423 "lwin_wkt_parse.y" /* yacc.c:1646 */
2432 { (yyval.geometryvalue) = wkt_parser_collection_new((yyvsp[0].geometryvalue)); WKT_ERROR(); }
2433#line 2434 "lwin_wkt_parse.c" /* yacc.c:1646 */
2434 break;
2435
2436 case 93:
2437#line 425 "lwin_wkt_parse.y" /* yacc.c:1646 */
2438 { (yyval.geometryvalue) = wkt_parser_collection_new((yyvsp[0].geometryvalue)); WKT_ERROR(); }
2439#line 2440 "lwin_wkt_parse.c" /* yacc.c:1646 */
2440 break;
2441
2442 case 94:
2443#line 427 "lwin_wkt_parse.y" /* yacc.c:1646 */
2444 { (yyval.geometryvalue) = wkt_parser_collection_new((yyvsp[0].geometryvalue)); WKT_ERROR(); }
2445#line 2446 "lwin_wkt_parse.c" /* yacc.c:1646 */
2446 break;
2447
2448 case 95:
2449#line 429 "lwin_wkt_parse.y" /* yacc.c:1646 */
2450 { (yyval.geometryvalue) = wkt_parser_collection_new((yyvsp[0].geometryvalue)); WKT_ERROR(); }
2451#line 2452 "lwin_wkt_parse.c" /* yacc.c:1646 */
2452 break;
2453
2454 case 96:
2455#line 433 "lwin_wkt_parse.y" /* yacc.c:1646 */
2456 { (yyval.geometryvalue) = wkt_parser_collection_finalize(MULTILINETYPE, (yyvsp[-1].geometryvalue), NULL); WKT_ERROR(); }
2457#line 2458 "lwin_wkt_parse.c" /* yacc.c:1646 */
2458 break;
2459
2460 case 97:
2461#line 435 "lwin_wkt_parse.y" /* yacc.c:1646 */
2462 { (yyval.geometryvalue) = wkt_parser_collection_finalize(MULTILINETYPE, (yyvsp[-1].geometryvalue), (yyvsp[-3].stringvalue)); WKT_ERROR(); }
2463#line 2464 "lwin_wkt_parse.c" /* yacc.c:1646 */
2464 break;
2465
2466 case 98:
2467#line 437 "lwin_wkt_parse.y" /* yacc.c:1646 */
2468 { (yyval.geometryvalue) = wkt_parser_collection_finalize(MULTILINETYPE, NULL, (yyvsp[-1].stringvalue)); WKT_ERROR(); }
2469#line 2470 "lwin_wkt_parse.c" /* yacc.c:1646 */
2470 break;
2471
2472 case 99:
2473#line 439 "lwin_wkt_parse.y" /* yacc.c:1646 */
2475#line 2476 "lwin_wkt_parse.c" /* yacc.c:1646 */
2476 break;
2477
2478 case 100:
2479#line 443 "lwin_wkt_parse.y" /* yacc.c:1646 */
2480 { (yyval.geometryvalue) = wkt_parser_collection_add_geom((yyvsp[-2].geometryvalue),(yyvsp[0].geometryvalue)); WKT_ERROR(); }
2481#line 2482 "lwin_wkt_parse.c" /* yacc.c:1646 */
2482 break;
2483
2484 case 101:
2485#line 445 "lwin_wkt_parse.y" /* yacc.c:1646 */
2486 { (yyval.geometryvalue) = wkt_parser_collection_new((yyvsp[0].geometryvalue)); WKT_ERROR(); }
2487#line 2488 "lwin_wkt_parse.c" /* yacc.c:1646 */
2488 break;
2489
2490 case 102:
2491#line 449 "lwin_wkt_parse.y" /* yacc.c:1646 */
2492 { (yyval.geometryvalue) = wkt_parser_circularstring_new((yyvsp[-1].ptarrayvalue), NULL); WKT_ERROR(); }
2493#line 2494 "lwin_wkt_parse.c" /* yacc.c:1646 */
2494 break;
2495
2496 case 103:
2497#line 451 "lwin_wkt_parse.y" /* yacc.c:1646 */
2498 { (yyval.geometryvalue) = wkt_parser_circularstring_new((yyvsp[-1].ptarrayvalue), (yyvsp[-3].stringvalue)); WKT_ERROR(); }
2499#line 2500 "lwin_wkt_parse.c" /* yacc.c:1646 */
2500 break;
2501
2502 case 104:
2503#line 453 "lwin_wkt_parse.y" /* yacc.c:1646 */
2504 { (yyval.geometryvalue) = wkt_parser_circularstring_new(NULL, (yyvsp[-1].stringvalue)); WKT_ERROR(); }
2505#line 2506 "lwin_wkt_parse.c" /* yacc.c:1646 */
2506 break;
2507
2508 case 105:
2509#line 455 "lwin_wkt_parse.y" /* yacc.c:1646 */
2510 { (yyval.geometryvalue) = wkt_parser_circularstring_new(NULL, NULL); WKT_ERROR(); }
2511#line 2512 "lwin_wkt_parse.c" /* yacc.c:1646 */
2512 break;
2513
2514 case 106:
2515#line 459 "lwin_wkt_parse.y" /* yacc.c:1646 */
2516 { (yyval.geometryvalue) = wkt_parser_linestring_new((yyvsp[-1].ptarrayvalue), NULL); WKT_ERROR(); }
2517#line 2518 "lwin_wkt_parse.c" /* yacc.c:1646 */
2518 break;
2519
2520 case 107:
2521#line 461 "lwin_wkt_parse.y" /* yacc.c:1646 */
2522 { (yyval.geometryvalue) = wkt_parser_linestring_new((yyvsp[-1].ptarrayvalue), (yyvsp[-3].stringvalue)); WKT_ERROR(); }
2523#line 2524 "lwin_wkt_parse.c" /* yacc.c:1646 */
2524 break;
2525
2526 case 108:
2527#line 463 "lwin_wkt_parse.y" /* yacc.c:1646 */
2528 { (yyval.geometryvalue) = wkt_parser_linestring_new(NULL, (yyvsp[-1].stringvalue)); WKT_ERROR(); }
2529#line 2530 "lwin_wkt_parse.c" /* yacc.c:1646 */
2530 break;
2531
2532 case 109:
2533#line 465 "lwin_wkt_parse.y" /* yacc.c:1646 */
2534 { (yyval.geometryvalue) = wkt_parser_linestring_new(NULL, NULL); WKT_ERROR(); }
2535#line 2536 "lwin_wkt_parse.c" /* yacc.c:1646 */
2536 break;
2537
2538 case 110:
2539#line 469 "lwin_wkt_parse.y" /* yacc.c:1646 */
2540 { (yyval.geometryvalue) = wkt_parser_linestring_new((yyvsp[-1].ptarrayvalue), NULL); WKT_ERROR(); }
2541#line 2542 "lwin_wkt_parse.c" /* yacc.c:1646 */
2542 break;
2543
2544 case 111:
2545#line 471 "lwin_wkt_parse.y" /* yacc.c:1646 */
2546 { (yyval.geometryvalue) = wkt_parser_linestring_new(NULL, NULL); WKT_ERROR(); }
2547#line 2548 "lwin_wkt_parse.c" /* yacc.c:1646 */
2548 break;
2549
2550 case 112:
2551#line 475 "lwin_wkt_parse.y" /* yacc.c:1646 */
2552 { (yyval.geometryvalue) = wkt_parser_collection_add_geom((yyvsp[-2].geometryvalue),(yyvsp[0].geometryvalue)); WKT_ERROR(); }
2553#line 2554 "lwin_wkt_parse.c" /* yacc.c:1646 */
2554 break;
2555
2556 case 113:
2557#line 477 "lwin_wkt_parse.y" /* yacc.c:1646 */
2558 { (yyval.geometryvalue) = wkt_parser_collection_new((yyvsp[0].geometryvalue)); WKT_ERROR(); }
2559#line 2560 "lwin_wkt_parse.c" /* yacc.c:1646 */
2560 break;
2561
2562 case 114:
2563#line 481 "lwin_wkt_parse.y" /* yacc.c:1646 */
2564 { (yyval.geometryvalue) = wkt_parser_triangle_new((yyvsp[-2].ptarrayvalue), NULL); WKT_ERROR(); }
2565#line 2566 "lwin_wkt_parse.c" /* yacc.c:1646 */
2566 break;
2567
2568 case 115:
2569#line 483 "lwin_wkt_parse.y" /* yacc.c:1646 */
2570 { (yyval.geometryvalue) = wkt_parser_triangle_new((yyvsp[-2].ptarrayvalue), (yyvsp[-5].stringvalue)); WKT_ERROR(); }
2571#line 2572 "lwin_wkt_parse.c" /* yacc.c:1646 */
2572 break;
2573
2574 case 116:
2575#line 485 "lwin_wkt_parse.y" /* yacc.c:1646 */
2576 { (yyval.geometryvalue) = wkt_parser_triangle_new(NULL, (yyvsp[-1].stringvalue)); WKT_ERROR(); }
2577#line 2578 "lwin_wkt_parse.c" /* yacc.c:1646 */
2578 break;
2579
2580 case 117:
2581#line 487 "lwin_wkt_parse.y" /* yacc.c:1646 */
2582 { (yyval.geometryvalue) = wkt_parser_triangle_new(NULL, NULL); WKT_ERROR(); }
2583#line 2584 "lwin_wkt_parse.c" /* yacc.c:1646 */
2584 break;
2585
2586 case 118:
2587#line 491 "lwin_wkt_parse.y" /* yacc.c:1646 */
2588 { (yyval.geometryvalue) = wkt_parser_triangle_new((yyvsp[-2].ptarrayvalue), NULL); WKT_ERROR(); }
2589#line 2590 "lwin_wkt_parse.c" /* yacc.c:1646 */
2590 break;
2591
2592 case 119:
2593#line 495 "lwin_wkt_parse.y" /* yacc.c:1646 */
2594 { (yyval.geometryvalue) = wkt_parser_collection_finalize(MULTIPOINTTYPE, (yyvsp[-1].geometryvalue), NULL); WKT_ERROR(); }
2595#line 2596 "lwin_wkt_parse.c" /* yacc.c:1646 */
2596 break;
2597
2598 case 120:
2599#line 497 "lwin_wkt_parse.y" /* yacc.c:1646 */
2600 { (yyval.geometryvalue) = wkt_parser_collection_finalize(MULTIPOINTTYPE, (yyvsp[-1].geometryvalue), (yyvsp[-3].stringvalue)); WKT_ERROR(); }
2601#line 2602 "lwin_wkt_parse.c" /* yacc.c:1646 */
2602 break;
2603
2604 case 121:
2605#line 499 "lwin_wkt_parse.y" /* yacc.c:1646 */
2606 { (yyval.geometryvalue) = wkt_parser_collection_finalize(MULTIPOINTTYPE, NULL, (yyvsp[-1].stringvalue)); WKT_ERROR(); }
2607#line 2608 "lwin_wkt_parse.c" /* yacc.c:1646 */
2608 break;
2609
2610 case 122:
2611#line 501 "lwin_wkt_parse.y" /* yacc.c:1646 */
2613#line 2614 "lwin_wkt_parse.c" /* yacc.c:1646 */
2614 break;
2615
2616 case 123:
2617#line 505 "lwin_wkt_parse.y" /* yacc.c:1646 */
2618 { (yyval.geometryvalue) = wkt_parser_collection_add_geom((yyvsp[-2].geometryvalue),(yyvsp[0].geometryvalue)); WKT_ERROR(); }
2619#line 2620 "lwin_wkt_parse.c" /* yacc.c:1646 */
2620 break;
2621
2622 case 124:
2623#line 507 "lwin_wkt_parse.y" /* yacc.c:1646 */
2624 { (yyval.geometryvalue) = wkt_parser_collection_new((yyvsp[0].geometryvalue)); WKT_ERROR(); }
2625#line 2626 "lwin_wkt_parse.c" /* yacc.c:1646 */
2626 break;
2627
2628 case 125:
2629#line 511 "lwin_wkt_parse.y" /* yacc.c:1646 */
2630 { (yyval.geometryvalue) = wkt_parser_point_new(wkt_parser_ptarray_new((yyvsp[0].coordinatevalue)),NULL); WKT_ERROR(); }
2631#line 2632 "lwin_wkt_parse.c" /* yacc.c:1646 */
2632 break;
2633
2634 case 126:
2635#line 513 "lwin_wkt_parse.y" /* yacc.c:1646 */
2636 { (yyval.geometryvalue) = wkt_parser_point_new(wkt_parser_ptarray_new((yyvsp[-1].coordinatevalue)),NULL); WKT_ERROR(); }
2637#line 2638 "lwin_wkt_parse.c" /* yacc.c:1646 */
2638 break;
2639
2640 case 127:
2641#line 515 "lwin_wkt_parse.y" /* yacc.c:1646 */
2642 { (yyval.geometryvalue) = wkt_parser_point_new(NULL, NULL); WKT_ERROR(); }
2643#line 2644 "lwin_wkt_parse.c" /* yacc.c:1646 */
2644 break;
2645
2646 case 128:
2647#line 519 "lwin_wkt_parse.y" /* yacc.c:1646 */
2648 { (yyval.geometryvalue) = wkt_parser_point_new((yyvsp[-1].ptarrayvalue), NULL); WKT_ERROR(); }
2649#line 2650 "lwin_wkt_parse.c" /* yacc.c:1646 */
2650 break;
2651
2652 case 129:
2653#line 521 "lwin_wkt_parse.y" /* yacc.c:1646 */
2654 { (yyval.geometryvalue) = wkt_parser_point_new((yyvsp[-1].ptarrayvalue), (yyvsp[-3].stringvalue)); WKT_ERROR(); }
2655#line 2656 "lwin_wkt_parse.c" /* yacc.c:1646 */
2656 break;
2657
2658 case 130:
2659#line 523 "lwin_wkt_parse.y" /* yacc.c:1646 */
2660 { (yyval.geometryvalue) = wkt_parser_point_new(NULL, (yyvsp[-1].stringvalue)); WKT_ERROR(); }
2661#line 2662 "lwin_wkt_parse.c" /* yacc.c:1646 */
2662 break;
2663
2664 case 131:
2665#line 525 "lwin_wkt_parse.y" /* yacc.c:1646 */
2666 { (yyval.geometryvalue) = wkt_parser_point_new(NULL,NULL); WKT_ERROR(); }
2667#line 2668 "lwin_wkt_parse.c" /* yacc.c:1646 */
2668 break;
2669
2670 case 132:
2671#line 529 "lwin_wkt_parse.y" /* yacc.c:1646 */
2672 { (yyval.ptarrayvalue) = wkt_parser_ptarray_add_coord((yyvsp[-2].ptarrayvalue), (yyvsp[0].coordinatevalue)); WKT_ERROR(); }
2673#line 2674 "lwin_wkt_parse.c" /* yacc.c:1646 */
2674 break;
2675
2676 case 133:
2677#line 531 "lwin_wkt_parse.y" /* yacc.c:1646 */
2678 { (yyval.ptarrayvalue) = wkt_parser_ptarray_new((yyvsp[0].coordinatevalue)); WKT_ERROR(); }
2679#line 2680 "lwin_wkt_parse.c" /* yacc.c:1646 */
2680 break;
2681
2682 case 134:
2683#line 535 "lwin_wkt_parse.y" /* yacc.c:1646 */
2684 { (yyval.coordinatevalue) = wkt_parser_coord_2((yyvsp[-1].doublevalue), (yyvsp[0].doublevalue)); WKT_ERROR(); }
2685#line 2686 "lwin_wkt_parse.c" /* yacc.c:1646 */
2686 break;
2687
2688 case 135:
2689#line 537 "lwin_wkt_parse.y" /* yacc.c:1646 */
2690 { (yyval.coordinatevalue) = wkt_parser_coord_3((yyvsp[-2].doublevalue), (yyvsp[-1].doublevalue), (yyvsp[0].doublevalue)); WKT_ERROR(); }
2691#line 2692 "lwin_wkt_parse.c" /* yacc.c:1646 */
2692 break;
2693
2694 case 136:
2695#line 539 "lwin_wkt_parse.y" /* yacc.c:1646 */
2696 { (yyval.coordinatevalue) = wkt_parser_coord_4((yyvsp[-3].doublevalue), (yyvsp[-2].doublevalue), (yyvsp[-1].doublevalue), (yyvsp[0].doublevalue)); WKT_ERROR(); }
2697#line 2698 "lwin_wkt_parse.c" /* yacc.c:1646 */
2698 break;
2699
2700
2701#line 2702 "lwin_wkt_parse.c" /* yacc.c:1646 */
2702 default: break;
2703 }
2704 /* User semantic actions sometimes alter yychar, and that requires
2705 that yytoken be updated with the new translation. We take the
2706 approach of translating immediately before every use of yytoken.
2707 One alternative is translating here after every semantic action,
2708 but that translation would be missed if the semantic action invokes
2709 YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
2710 if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
2711 incorrect destructor might then be invoked immediately. In the
2712 case of YYERROR or YYBACKUP, subsequent parser actions might lead
2713 to an incorrect destructor call or verbose syntax error message
2714 before the lookahead is translated. */
2715 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
2716
2717 YYPOPSTACK (yylen);
2718 yylen = 0;
2719 YY_STACK_PRINT (yyss, yyssp);
2720
2721 *++yyvsp = yyval;
2722 *++yylsp = yyloc;
2723
2724 /* Now 'shift' the result of the reduction. Determine what state
2725 that goes to, based on the state we popped back to and the rule
2726 number reduced by. */
2727
2728 yyn = yyr1[yyn];
2729
2730 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
2731 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
2732 yystate = yytable[yystate];
2733 else
2734 yystate = yydefgoto[yyn - YYNTOKENS];
2735
2736 goto yynewstate;
2737
2738
2739/*--------------------------------------.
2740| yyerrlab -- here on detecting error. |
2741`--------------------------------------*/
2742yyerrlab:
2743 /* Make sure we have latest lookahead translation. See comments at
2744 user semantic actions for why this is necessary. */
2745 yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
2746
2747 /* If not already recovering from an error, report this error. */
2748 if (!yyerrstatus)
2749 {
2750 ++yynerrs;
2751#if ! YYERROR_VERBOSE
2752 yyerror (YY_("syntax error"));
2753#else
2754# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
2755 yyssp, yytoken)
2756 {
2757 char const *yymsgp = YY_("syntax error");
2758 int yysyntax_error_status;
2759 yysyntax_error_status = YYSYNTAX_ERROR;
2760 if (yysyntax_error_status == 0)
2761 yymsgp = yymsg;
2762 else if (yysyntax_error_status == 1)
2763 {
2764 if (yymsg != yymsgbuf)
2765 YYSTACK_FREE (yymsg);
2766 yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
2767 if (!yymsg)
2768 {
2769 yymsg = yymsgbuf;
2770 yymsg_alloc = sizeof yymsgbuf;
2771 yysyntax_error_status = 2;
2772 }
2773 else
2774 {
2775 yysyntax_error_status = YYSYNTAX_ERROR;
2776 yymsgp = yymsg;
2777 }
2778 }
2779 yyerror (yymsgp);
2780 if (yysyntax_error_status == 2)
2781 goto yyexhaustedlab;
2782 }
2783# undef YYSYNTAX_ERROR
2784#endif
2785 }
2786
2787 yyerror_range[1] = yylloc;
2788
2789 if (yyerrstatus == 3)
2790 {
2791 /* If just tried and failed to reuse lookahead token after an
2792 error, discard it. */
2793
2794 if (yychar <= YYEOF)
2795 {
2796 /* Return failure if at end of input. */
2797 if (yychar == YYEOF)
2798 YYABORT;
2799 }
2800 else
2801 {
2802 yydestruct ("Error: discarding",
2803 yytoken, &yylval, &yylloc);
2804 yychar = YYEMPTY;
2805 }
2806 }
2807
2808 /* Else will try to reuse lookahead token after shifting the error
2809 token. */
2810 goto yyerrlab1;
2811
2812
2813/*---------------------------------------------------.
2814| yyerrorlab -- error raised explicitly by YYERROR. |
2815`---------------------------------------------------*/
2816yyerrorlab:
2817
2818 /* Pacify compilers like GCC when the user code never invokes
2819 YYERROR and the label yyerrorlab therefore never appears in user
2820 code. */
2821 if (/*CONSTCOND*/ 0)
2822 goto yyerrorlab;
2823
2824 yyerror_range[1] = yylsp[1-yylen];
2825 /* Do not reclaim the symbols of the rule whose action triggered
2826 this YYERROR. */
2827 YYPOPSTACK (yylen);
2828 yylen = 0;
2829 YY_STACK_PRINT (yyss, yyssp);
2830 yystate = *yyssp;
2831 goto yyerrlab1;
2832
2833
2834/*-------------------------------------------------------------.
2835| yyerrlab1 -- common code for both syntax error and YYERROR. |
2836`-------------------------------------------------------------*/
2837yyerrlab1:
2838 yyerrstatus = 3; /* Each real token shifted decrements this. */
2839
2840 for (;;)
2841 {
2842 yyn = yypact[yystate];
2843 if (!yypact_value_is_default (yyn))
2844 {
2845 yyn += YYTERROR;
2846 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
2847 {
2848 yyn = yytable[yyn];
2849 if (0 < yyn)
2850 break;
2851 }
2852 }
2853
2854 /* Pop the current state because it cannot handle the error token. */
2855 if (yyssp == yyss)
2856 YYABORT;
2857
2858 yyerror_range[1] = *yylsp;
2859 yydestruct ("Error: popping",
2860 yystos[yystate], yyvsp, yylsp);
2861 YYPOPSTACK (1);
2862 yystate = *yyssp;
2863 YY_STACK_PRINT (yyss, yyssp);
2864 }
2865
2867 *++yyvsp = yylval;
2869
2870 yyerror_range[2] = yylloc;
2871 /* Using YYLLOC is tempting, but would change the location of
2872 the lookahead. YYLOC is available though. */
2873 YYLLOC_DEFAULT (yyloc, yyerror_range, 2);
2874 *++yylsp = yyloc;
2875
2876 /* Shift the error token. */
2877 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
2878
2879 yystate = yyn;
2880 goto yynewstate;
2881
2882
2883/*-------------------------------------.
2884| yyacceptlab -- YYACCEPT comes here. |
2885`-------------------------------------*/
2886yyacceptlab:
2887 yyresult = 0;
2888 goto yyreturn;
2889
2890/*-----------------------------------.
2891| yyabortlab -- YYABORT comes here. |
2892`-----------------------------------*/
2893yyabortlab:
2894 yyresult = 1;
2895 goto yyreturn;
2896
2897#if !defined yyoverflow || YYERROR_VERBOSE
2898/*-------------------------------------------------.
2899| yyexhaustedlab -- memory exhaustion comes here. |
2900`-------------------------------------------------*/
2901yyexhaustedlab:
2902 yyerror (YY_("memory exhausted"));
2903 yyresult = 2;
2904 /* Fall through. */
2905#endif
2906
2907yyreturn:
2908 if (yychar != YYEMPTY)
2909 {
2910 /* Make sure we have latest lookahead translation. See comments at
2911 user semantic actions for why this is necessary. */
2912 yytoken = YYTRANSLATE (yychar);
2913 yydestruct ("Cleanup: discarding lookahead",
2914 yytoken, &yylval, &yylloc);
2915 }
2916 /* Do not reclaim the symbols of the rule whose action triggered
2917 this YYABORT or YYACCEPT. */
2918 YYPOPSTACK (yylen);
2919 YY_STACK_PRINT (yyss, yyssp);
2920 while (yyssp != yyss)
2921 {
2922 yydestruct ("Cleanup: popping",
2923 yystos[*yyssp], yyvsp, yylsp);
2924 YYPOPSTACK (1);
2925 }
2926#ifndef yyoverflow
2927 if (yyss != yyssa)
2928 YYSTACK_FREE (yyss);
2929#endif
2930#if YYERROR_VERBOSE
2931 if (yymsg != yymsgbuf)
2932 YYSTACK_FREE (yymsg);
2933#endif
2934 return yyresult;
2935}
#define COLLECTIONTYPE
Definition liblwgeom.h:122
#define COMPOUNDTYPE
Definition liblwgeom.h:124
#define MULTILINETYPE
Definition liblwgeom.h:120
#define MULTISURFACETYPE
Definition liblwgeom.h:127
#define MULTIPOINTTYPE
Definition liblwgeom.h:119
#define TINTYPE
Definition liblwgeom.h:130
#define MULTIPOLYGONTYPE
Definition liblwgeom.h:121
#define POLYHEDRALSURFACETYPE
Definition liblwgeom.h:128
#define MULTICURVETYPE
Definition liblwgeom.h:126
#define SRID_UNKNOWN
Unknown SRID value.
Definition liblwgeom.h:229
POINTARRAY * wkt_parser_ptarray_add_coord(POINTARRAY *pa, POINT p)
Definition lwin_wkt.c:265
LWGEOM * wkt_parser_polygon_add_ring(LWGEOM *poly, POINTARRAY *pa, char dimcheck)
Definition lwin_wkt.c:485
LWGEOM * wkt_parser_curvepolygon_finalize(LWGEOM *poly, char *dimensionality)
Definition lwin_wkt.c:666
LWGEOM * wkt_parser_collection_finalize(int lwtype, LWGEOM *geom, char *dimensionality)
Definition lwin_wkt.c:805
LWGEOM * wkt_parser_collection_add_geom(LWGEOM *col, LWGEOM *geom)
Definition lwin_wkt.c:791
LWGEOM * wkt_parser_triangle_new(POINTARRAY *pa, char *dimensionality)
Definition lwin_wkt.c:424
POINTARRAY * wkt_parser_ptarray_new(POINT p)
Start a point array from the first coordinate.
Definition lwin_wkt.c:303
POINT wkt_parser_coord_2(double c1, double c2)
Build a 2d coordinate.
Definition lwin_wkt.c:221
POINT wkt_parser_coord_4(double c1, double c2, double c3, double c4)
Definition lwin_wkt.c:252
LWGEOM * wkt_parser_compound_new(LWGEOM *geom)
Definition lwin_wkt.c:724
LWGEOM * wkt_parser_polygon_finalize(LWGEOM *poly, char *dimensionality)
Definition lwin_wkt.c:535
LWGEOM * wkt_parser_compound_add_geom(LWGEOM *col, LWGEOM *geom)
Definition lwin_wkt.c:759
LWGEOM * wkt_parser_circularstring_new(POINTARRAY *pa, char *dimensionality)
Create a new circularstring.
Definition lwin_wkt.c:388
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...
Definition lwin_wkt.c:237
LWGEOM * wkt_parser_curvepolygon_add_ring(LWGEOM *poly, LWGEOM *ring)
Definition lwin_wkt.c:585
LWGEOM * wkt_parser_collection_new(LWGEOM *geom)
Definition lwin_wkt.c:698
LWGEOM * wkt_parser_curvepolygon_new(LWGEOM *ring)
Definition lwin_wkt.c:567
LWGEOM * wkt_parser_linestring_new(POINTARRAY *pa, char *dimensionality)
Create a new linestring.
Definition lwin_wkt.c:354
LWGEOM * wkt_parser_point_new(POINTARRAY *pa, char *dimensionality)
Create a new point.
Definition lwin_wkt.c:320
LWGEOM * wkt_parser_polygon_new(POINTARRAY *pa, char dimcheck)
Definition lwin_wkt.c:460
void wkt_parser_geometry_new(LWGEOM *geom, int32_t srid)
Definition lwin_wkt.c:860
static const yytype_uint8 yyr1[]
#define yylloc
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
#define YYMAXDEPTH
#define YYSTACK_FREE
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
#define YY_(Msgid)
#define WKT_ERROR()
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
#define yychar
#define YYEOF
#define YYABORT
#define yypact_value_is_default(Yystate)
#define YYSTACK_BYTES(N)
#define YYLLOC_DEFAULT(Current, Rhs, N)
static const yytype_int16 yydefgoto[]
#define YY_REDUCE_PRINT(Rule)
static const yytype_int16 yypact[]
#define yylex
#define YYFINAL
static const yytype_int16 yypgoto[]
#define yylval
#define YYNTOKENS
#define YY_STACK_PRINT(Bottom, Top)
#define YYSIZE_T
static void yydestruct(const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp)
#define yynerrs
static const yytype_uint8 yyr2[]
#define YYACCEPT
#define YYTRANSLATE(YYX)
static const yytype_uint8 yystos[]
#define YYTERROR
#define YYPOPSTACK(N)
static const yytype_uint16 yytable[]
short int yytype_int16
#define YYEMPTY
#define YYLAST
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
#define YYINITDEPTH
#define YYSYNTAX_ERROR
#define yytable_value_is_error(Yytable_value)
#define YYSTACK_ALLOC
#define YYDPRINTF(Args)
static const yytype_uint8 yydefact[]
static const yytype_uint8 yycheck[]
#define yyerror
POINTARRAY * ptarrayvalue
LWGEOM * geometryvalue
POINT coordinatevalue