PostGIS  2.5.0beta1dev-r@@SVN_REVISION@@

◆ yyparse()

int yyparse ( void  )

Definition at line 1633 of file lwin_wkt_parse.c.

References COLLECTIONTYPE, COMPOUNDTYPE, YYSTYPE::coordinatevalue, YYSTYPE::doublevalue, YYSTYPE::geometryvalue, YYSTYPE::integervalue, MULTICURVETYPE, MULTILINETYPE, MULTIPOINTTYPE, MULTIPOLYGONTYPE, MULTISURFACETYPE, POLYHEDRALSURFACETYPE, YYSTYPE::ptarrayvalue, SRID_UNKNOWN, YYSTYPE::stringvalue, TINTYPE, WKT_ERROR, wkt_parser_circularstring_new(), wkt_parser_collection_add_geom(), wkt_parser_collection_finalize(), wkt_parser_collection_new(), wkt_parser_compound_add_geom(), wkt_parser_compound_new(), wkt_parser_coord_2(), wkt_parser_coord_3(), wkt_parser_coord_4(), wkt_parser_curvepolygon_add_ring(), wkt_parser_curvepolygon_finalize(), wkt_parser_curvepolygon_new(), wkt_parser_geometry_new(), wkt_parser_linestring_new(), wkt_parser_point_new(), wkt_parser_polygon_add_ring(), wkt_parser_polygon_finalize(), wkt_parser_polygon_new(), wkt_parser_ptarray_add_coord(), wkt_parser_ptarray_new(), wkt_parser_triangle_new(), YY_, YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN, YY_IGNORE_MAYBE_UNINITIALIZED_END, YY_REDUCE_PRINT, YY_STACK_PRINT, YY_SYMBOL_PRINT, YYABORT, YYACCEPT, yydestruct(), YYDPRINTF, YYEMPTY, YYEOF, yyerror, YYFINAL, YYINITDEPTH, YYLAST, yylex, yylloc, YYLLOC_DEFAULT, yyalloc::yyls_alloc, yylval, YYMAXDEPTH, yynerrs, YYNTOKENS, yypact_value_is_default, YYPOPSTACK, YYSIZE_T, yyalloc::yyss_alloc, YYSTACK_ALLOC, YYSTACK_BYTES, YYSTACK_FREE, YYSTACK_RELOCATE, YYSYNTAX_ERROR, yytable_value_is_error, YYTERROR, YYTRANSLATE, and yyalloc::yyvs_alloc.

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