From d57dd73ddbd960613cfc06bc4c9473b71d3598ef Mon Sep 17 00:00:00 2001 From: Michael Wallner Date: Mon, 29 Oct 2018 08:54:36 +0100 Subject: [PATCH] fix leak --- src/parser.c | 2 +- src/parser_proc.c | 843 +++++++++++++++++++------------------- src/parser_proc_grammar.y | 3 +- 3 files changed, 425 insertions(+), 423 deletions(-) diff --git a/src/parser.c b/src/parser.c index 3eb6aa3..07c5cbe 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1,4 +1,4 @@ -/* Generated by re2c 1.1.1 on Wed Oct 24 11:47:33 2018 */ +/* Generated by re2c 1.1.1 on Mon Oct 29 07:42:47 2018 */ #line 1 "src/parser.re" /******************************************************************************* Copyright (c) 2016, Michael Wallner . diff --git a/src/parser_proc.c b/src/parser_proc.c index c5524a2..c9bb1e9 100644 --- a/src/parser_proc.c +++ b/src/parser_proc.c @@ -425,26 +425,26 @@ static const unsigned short yyrline[] = 1045, 1046, 1050, 1053, 1056, 1067, 1074, 1084, 1087, 1093, 1096, 1103, 1134, 1137, 1143, 1146, 1152, 1158, 1159, 1160, 1161, 1162, 1163, 1167, 1171, 1172, 1176, 1177, 1181, 1182, - 1189, 1190, 1194, 1201, 1212, 1219, 1227, 1251, 1279, 1286, - 1297, 1343, 1384, 1399, 1402, 1405, 1411, 1414, 1420, 1435, - 1438, 1467, 1475, 1503, 1508, 1516, 1526, 1536, 1539, 1543, - 1549, 1563, 1580, 1583, 1589, 1596, 1606, 1613, 1616, 1622, - 1627, 1635, 1639, 1643, 1647, 1651, 1655, 1662, 1666, 1670, - 1674, 1678, 1682, 1688, 1692, 1699, 1702, 1714, 1718, 1722, - 1729, 1742, 1755, 1768, 1771, 1778, 1779, 1783, 1786, 1789, - 1792, 1798, 1802, 1809, 1812, 1815, 1830, 1831, 1832, 1833, - 1837, 1840, 1846, 1847, 1853, 1856, 1862, 1863, 1867, 1868, - 1878, 1881, 1888, 1893, 1898, 1908, 1911, 1917, 1920, 1926, - 1933, 1940, 1947, 1948, 1952, 1953, 1954, 1955, 1959, 1960, - 1961, 1962, 1963, 1967, 1970, 1976, 1979, 1982, 1985, 1988, - 1994, 1998, 2006, 2007, 2011, 2018, 2021, 2024, 2027, 2031, - 2034, 2040, 2044, 2052, 2059, 2064, 2072, 2080, 2081, 2082, - 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2093, 2096, 2102, - 2105, 2111, 2112, 2116, 2119, 2125, 2128, 2134, 2141, 2145, - 2152, 2155, 2158, 2164, 2171, 2174, 2177, 2184, 2189, 2197, - 2198, 2199, 2200, 2201, 2202, 2203, 2204, 2208, 2211, 2217, - 2220, 2226, 2233, 2234, 2238, 2245, 2248, 2254, 2262, 2265, - 2271 + 1189, 1190, 1194, 1201, 1212, 1219, 1227, 1251, 1280, 1287, + 1298, 1344, 1385, 1400, 1403, 1406, 1412, 1415, 1421, 1436, + 1439, 1468, 1476, 1504, 1509, 1517, 1527, 1537, 1540, 1544, + 1550, 1564, 1581, 1584, 1590, 1597, 1607, 1614, 1617, 1623, + 1628, 1636, 1640, 1644, 1648, 1652, 1656, 1663, 1667, 1671, + 1675, 1679, 1683, 1689, 1693, 1700, 1703, 1715, 1719, 1723, + 1730, 1743, 1756, 1769, 1772, 1779, 1780, 1784, 1787, 1790, + 1793, 1799, 1803, 1810, 1813, 1816, 1831, 1832, 1833, 1834, + 1838, 1841, 1847, 1848, 1854, 1857, 1863, 1864, 1868, 1869, + 1879, 1882, 1889, 1894, 1899, 1909, 1912, 1918, 1921, 1927, + 1934, 1941, 1948, 1949, 1953, 1954, 1955, 1956, 1960, 1961, + 1962, 1963, 1964, 1968, 1971, 1977, 1980, 1983, 1986, 1989, + 1995, 1999, 2007, 2008, 2012, 2019, 2022, 2025, 2028, 2032, + 2035, 2041, 2045, 2053, 2060, 2065, 2073, 2081, 2082, 2083, + 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2094, 2097, 2103, + 2106, 2112, 2113, 2117, 2120, 2126, 2129, 2135, 2142, 2146, + 2153, 2156, 2159, 2165, 2172, 2175, 2178, 2185, 2190, 2198, + 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2209, 2212, 2218, + 2221, 2227, 2234, 2235, 2239, 2246, 2249, 2255, 2263, 2266, + 2272 }; #endif @@ -4785,7 +4785,7 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, #line 771 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_impl_def_val **)(&(*yyvalp))) = psi_impl_def_val_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text); - (*(struct psi_impl_def_val **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); + (*(struct psi_impl_def_val **)(&(*yyvalp)))->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } #line 4791 "src/parser_proc.c" /* glr.c:817 */ break; @@ -5452,14 +5452,15 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, type->real.func = rval_decl; func->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].yystate.yysemantics.yysval))); func->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].yystate.yysemantics.yysval))); + type->token = type_token; (*(struct psi_decl **)(&(*yyvalp))) = psi_decl_init(func, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval))); } -#line 5459 "src/parser_proc.c" /* glr.c:817 */ +#line 5460 "src/parser_proc.c" /* glr.c:817 */ break; case 448: -#line 1279 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1280 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_decl **)(&(*yyvalp))) = psi_decl_init((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)), (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) { @@ -5467,11 +5468,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } } -#line 5471 "src/parser_proc.c" /* glr.c:817 */ +#line 5472 "src/parser_proc.c" /* glr.c:817 */ break; case 449: -#line 1286 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1287 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_decl **)(&(*yyvalp))) = psi_decl_init((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)), (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval))); (*(struct psi_decl **)(&(*yyvalp)))->varargs = 1; @@ -5480,11 +5481,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } } -#line 5484 "src/parser_proc.c" /* glr.c:817 */ +#line 5485 "src/parser_proc.c" /* glr.c:817 */ break; case 450: -#line 1297 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1298 "src/parser_proc_grammar.y" /* glr.c:817 */ { (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)); (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME; @@ -5492,62 +5493,62 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_decl_arg **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 5496 "src/parser_proc.c" /* glr.c:817 */ +#line 5497 "src/parser_proc.c" /* glr.c:817 */ break; case 451: -#line 1343 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1344 "src/parser_proc_grammar.y" /* glr.c:817 */ { (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init((*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)), psi_decl_var_init(NULL, (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)), 0)); (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); (*(struct psi_decl_arg **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); } -#line 5507 "src/parser_proc.c" /* glr.c:817 */ +#line 5508 "src/parser_proc.c" /* glr.c:817 */ break; case 453: -#line 1399 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1400 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 5515 "src/parser_proc.c" /* glr.c:817 */ +#line 5516 "src/parser_proc.c" /* glr.c:817 */ break; case 454: -#line 1402 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1403 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 5523 "src/parser_proc.c" /* glr.c:817 */ +#line 5524 "src/parser_proc.c" /* glr.c:817 */ break; case 455: -#line 1405 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1406 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 5531 "src/parser_proc.c" /* glr.c:817 */ +#line 5532 "src/parser_proc.c" /* glr.c:817 */ break; case 456: -#line 1411 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1412 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_decl_arg_free), &(*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5539 "src/parser_proc.c" /* glr.c:817 */ +#line 5540 "src/parser_proc.c" /* glr.c:817 */ break; case 457: -#line 1414 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1415 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), &(*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5547 "src/parser_proc.c" /* glr.c:817 */ +#line 5548 "src/parser_proc.c" /* glr.c:817 */ break; case 458: -#line 1420 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1421 "src/parser_proc_grammar.y" /* glr.c:817 */ { char digest[17]; struct psi_token *name; @@ -5563,30 +5564,30 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token); (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.func = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 5567 "src/parser_proc.c" /* glr.c:817 */ +#line 5568 "src/parser_proc.c" /* glr.c:817 */ break; case 459: -#line 1435 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1436 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 5575 "src/parser_proc.c" /* glr.c:817 */ +#line 5576 "src/parser_proc.c" /* glr.c:817 */ break; case 460: -#line 1438 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1439 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init( (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), psi_decl_var_init(NULL, (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), 0) ); } -#line 5586 "src/parser_proc.c" /* glr.c:817 */ +#line 5587 "src/parser_proc.c" /* glr.c:817 */ break; case 461: -#line 1467 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1468 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init( psi_decl_type_init(PSI_T_FUNCTION, (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var->name), @@ -5595,39 +5596,39 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token); (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.func = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 5599 "src/parser_proc.c" /* glr.c:817 */ +#line 5600 "src/parser_proc.c" /* glr.c:817 */ break; case 462: -#line 1475 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1476 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init((*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5607 "src/parser_proc.c" /* glr.c:817 */ +#line 5608 "src/parser_proc.c" /* glr.c:817 */ break; case 463: -#line 1503 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1504 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_decl_var **)(&(*yyvalp))) = psi_decl_var_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text, (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)) + !! (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_decl_var **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 5617 "src/parser_proc.c" /* glr.c:817 */ +#line 5618 "src/parser_proc.c" /* glr.c:817 */ break; case 464: -#line 1508 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1509 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_decl_var **)(&(*yyvalp))) = psi_decl_var_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text, !! (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_decl_var **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 5627 "src/parser_proc.c" /* glr.c:817 */ +#line 5628 "src/parser_proc.c" /* glr.c:817 */ break; case 465: -#line 1516 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1517 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_decl_union **)(&(*yyvalp))) = psi_decl_union_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->text, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); @@ -5635,11 +5636,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_union **)(&(*yyvalp)))->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len; (*(struct psi_decl_union **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); } -#line 5639 "src/parser_proc.c" /* glr.c:817 */ +#line 5640 "src/parser_proc.c" /* glr.c:817 */ break; case 466: -#line 1526 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1527 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_decl_struct **)(&(*yyvalp))) = psi_decl_struct_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->text, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); @@ -5647,27 +5648,27 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_struct **)(&(*yyvalp)))->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len; (*(struct psi_decl_struct **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); } -#line 5651 "src/parser_proc.c" /* glr.c:817 */ +#line 5652 "src/parser_proc.c" /* glr.c:817 */ break; case 467: -#line 1536 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1537 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 5659 "src/parser_proc.c" /* glr.c:817 */ +#line 5660 "src/parser_proc.c" /* glr.c:817 */ break; case 469: -#line 1543 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1544 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); } -#line 5667 "src/parser_proc.c" /* glr.c:817 */ +#line 5668 "src/parser_proc.c" /* glr.c:817 */ break; case 470: -#line 1549 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1550 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)); (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_decl_arg_free), &(*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))); @@ -5682,11 +5683,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } } -#line 5686 "src/parser_proc.c" /* glr.c:817 */ +#line 5687 "src/parser_proc.c" /* glr.c:817 */ break; case 471: -#line 1563 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1564 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)); (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)), &(*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))); @@ -5701,27 +5702,27 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } } -#line 5705 "src/parser_proc.c" /* glr.c:817 */ +#line 5706 "src/parser_proc.c" /* glr.c:817 */ break; case 472: -#line 1580 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1581 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 5713 "src/parser_proc.c" /* glr.c:817 */ +#line 5714 "src/parser_proc.c" /* glr.c:817 */ break; case 473: -#line 1583 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1584 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 5721 "src/parser_proc.c" /* glr.c:817 */ +#line 5722 "src/parser_proc.c" /* glr.c:817 */ break; case 474: -#line 1589 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1590 "src/parser_proc_grammar.y" /* glr.c:817 */ { { struct psi_decl_arg *arg = psi_decl_arg_init(NULL, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); @@ -5729,11 +5730,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_decl_arg_free), &arg); } } -#line 5733 "src/parser_proc.c" /* glr.c:817 */ +#line 5734 "src/parser_proc.c" /* glr.c:817 */ break; case 475: -#line 1596 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1597 "src/parser_proc_grammar.y" /* glr.c:817 */ { { struct psi_decl_arg *arg = psi_decl_arg_init(NULL, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); @@ -5741,189 +5742,189 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)), &arg); } } -#line 5745 "src/parser_proc.c" /* glr.c:817 */ +#line 5746 "src/parser_proc.c" /* glr.c:817 */ break; case 476: -#line 1606 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1607 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_decl_enum **)(&(*yyvalp))) = psi_decl_enum_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval))->text, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); (*(struct psi_decl_enum **)(&(*yyvalp)))->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)); } -#line 5754 "src/parser_proc.c" /* glr.c:817 */ +#line 5755 "src/parser_proc.c" /* glr.c:817 */ break; case 477: -#line 1613 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1614 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_decl_enum_item_free), &(*(struct psi_decl_enum_item **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5762 "src/parser_proc.c" /* glr.c:817 */ +#line 5763 "src/parser_proc.c" /* glr.c:817 */ break; case 478: -#line 1616 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1617 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), &(*(struct psi_decl_enum_item **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5770 "src/parser_proc.c" /* glr.c:817 */ +#line 5771 "src/parser_proc.c" /* glr.c:817 */ break; case 479: -#line 1622 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1623 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_decl_enum_item **)(&(*yyvalp))) = psi_decl_enum_item_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, NULL); (*(struct psi_decl_enum_item **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5780 "src/parser_proc.c" /* glr.c:817 */ +#line 5781 "src/parser_proc.c" /* glr.c:817 */ break; case 480: -#line 1627 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1628 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_decl_enum_item **)(&(*yyvalp))) = psi_decl_enum_item_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->text, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_decl_enum_item **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); } -#line 5790 "src/parser_proc.c" /* glr.c:817 */ +#line 5791 "src/parser_proc.c" /* glr.c:817 */ break; case 481: -#line 1635 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1636 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num((*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token); } -#line 5799 "src/parser_proc.c" /* glr.c:817 */ +#line 5800 "src/parser_proc.c" /* glr.c:817 */ break; case 482: -#line 1639 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1640 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_cast((*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->token); } -#line 5808 "src/parser_proc.c" /* glr.c:817 */ +#line 5809 "src/parser_proc.c" /* glr.c:817 */ break; case 483: -#line 1643 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1644 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_unary(PSI_T_LPAREN, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); } -#line 5817 "src/parser_proc.c" /* glr.c:817 */ +#line 5818 "src/parser_proc.c" /* glr.c:817 */ break; case 484: -#line 1647 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1648 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_binary((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 5826 "src/parser_proc.c" /* glr.c:817 */ +#line 5827 "src/parser_proc.c" /* glr.c:817 */ break; case 485: -#line 1651 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1652 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_unary((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 5835 "src/parser_proc.c" /* glr.c:817 */ +#line 5836 "src/parser_proc.c" /* glr.c:817 */ break; case 486: -#line 1655 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1656 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_ternary((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)), (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))); } -#line 5844 "src/parser_proc.c" /* glr.c:817 */ +#line 5845 "src/parser_proc.c" /* glr.c:817 */ break; case 487: -#line 1662 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1663 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_number **)(&(*yyvalp))) = psi_number_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->flags); (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5853 "src/parser_proc.c" /* glr.c:817 */ +#line 5854 "src/parser_proc.c" /* glr.c:817 */ break; case 488: -#line 1666 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1667 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_number **)(&(*yyvalp))) = psi_number_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, 0); (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5862 "src/parser_proc.c" /* glr.c:817 */ +#line 5863 "src/parser_proc.c" /* glr.c:817 */ break; case 489: -#line 1670 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1671 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_number **)(&(*yyvalp))) = psi_number_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, 0); (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5871 "src/parser_proc.c" /* glr.c:817 */ +#line 5872 "src/parser_proc.c" /* glr.c:817 */ break; case 490: -#line 1674 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1675 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_number **)(&(*yyvalp))) = psi_number_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, 0); (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5880 "src/parser_proc.c" /* glr.c:817 */ +#line 5881 "src/parser_proc.c" /* glr.c:817 */ break; case 491: -#line 1678 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1679 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_NAME, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), 0); (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token); } -#line 5889 "src/parser_proc.c" /* glr.c:817 */ +#line 5890 "src/parser_proc.c" /* glr.c:817 */ break; case 492: -#line 1682 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1683 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 5897 "src/parser_proc.c" /* glr.c:817 */ +#line 5898 "src/parser_proc.c" /* glr.c:817 */ break; case 493: -#line 1688 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1689 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))); } -#line 5906 "src/parser_proc.c" /* glr.c:817 */ +#line 5907 "src/parser_proc.c" /* glr.c:817 */ break; case 494: -#line 1692 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1693 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 5915 "src/parser_proc.c" /* glr.c:817 */ +#line 5916 "src/parser_proc.c" /* glr.c:817 */ break; case 495: -#line 1699 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1700 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 5923 "src/parser_proc.c" /* glr.c:817 */ +#line 5924 "src/parser_proc.c" /* glr.c:817 */ break; case 496: -#line 1702 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1703 "src/parser_proc_grammar.y" /* glr.c:817 */ { if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) { int8_t sizeof_void_p = sizeof(void *); @@ -5933,38 +5934,38 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_SIZEOF, (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), 0); } } -#line 5937 "src/parser_proc.c" /* glr.c:817 */ +#line 5938 "src/parser_proc.c" /* glr.c:817 */ break; case 497: -#line 1714 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1715 "src/parser_proc_grammar.y" /* glr.c:817 */ { int8_t sizeof_void_p = sizeof(void *); (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_INT8, &sizeof_void_p, 0); } -#line 5946 "src/parser_proc.c" /* glr.c:817 */ +#line 5947 "src/parser_proc.c" /* glr.c:817 */ break; case 498: -#line 1718 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1719 "src/parser_proc_grammar.y" /* glr.c:817 */ { int8_t sizeof_a = sizeof('a'); (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_INT8, &sizeof_a, 0); } -#line 5955 "src/parser_proc.c" /* glr.c:817 */ +#line 5956 "src/parser_proc.c" /* glr.c:817 */ break; case 499: -#line 1722 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1723 "src/parser_proc_grammar.y" /* glr.c:817 */ { uint64_t len = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->size + 1; (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_UINT64, &len, 0); } -#line 5964 "src/parser_proc.c" /* glr.c:817 */ +#line 5965 "src/parser_proc.c" /* glr.c:817 */ break; case 500: -#line 1729 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1730 "src/parser_proc_grammar.y" /* glr.c:817 */ { if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); @@ -5975,11 +5976,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_token **)(&(*yyvalp))) = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))), 1, digest); } } -#line 5979 "src/parser_proc.c" /* glr.c:817 */ +#line 5980 "src/parser_proc.c" /* glr.c:817 */ break; case 501: -#line 1742 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1743 "src/parser_proc_grammar.y" /* glr.c:817 */ { if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); @@ -5990,11 +5991,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_token **)(&(*yyvalp))) = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))), 1, digest); } } -#line 5994 "src/parser_proc.c" /* glr.c:817 */ +#line 5995 "src/parser_proc.c" /* glr.c:817 */ break; case 502: -#line 1755 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1756 "src/parser_proc_grammar.y" /* glr.c:817 */ { if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); @@ -6005,94 +6006,94 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_token **)(&(*yyvalp))) = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))), 1, digest); } } -#line 6009 "src/parser_proc.c" /* glr.c:817 */ +#line 6010 "src/parser_proc.c" /* glr.c:817 */ break; case 503: -#line 1768 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1769 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_token **)(&(*yyvalp))) = NULL; } -#line 6017 "src/parser_proc.c" /* glr.c:817 */ +#line 6018 "src/parser_proc.c" /* glr.c:817 */ break; case 504: -#line 1771 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1772 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); (*(struct psi_token **)(&(*yyvalp)))->type = PSI_T_NAME; } -#line 6026 "src/parser_proc.c" /* glr.c:817 */ +#line 6027 "src/parser_proc.c" /* glr.c:817 */ break; case 507: -#line 1783 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1784 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_layout **)(&(*yyvalp))) = NULL; } -#line 6034 "src/parser_proc.c" /* glr.c:817 */ +#line 6035 "src/parser_proc.c" /* glr.c:817 */ break; case 508: -#line 1786 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1787 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_layout **)(&(*yyvalp))) = psi_layout_init(0, 0, psi_layout_init(0, atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text), NULL)); } -#line 6042 "src/parser_proc.c" /* glr.c:817 */ +#line 6043 "src/parser_proc.c" /* glr.c:817 */ break; case 509: -#line 1789 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1790 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_layout **)(&(*yyvalp))) = psi_layout_init(atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text), atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text), NULL); } -#line 6050 "src/parser_proc.c" /* glr.c:817 */ +#line 6051 "src/parser_proc.c" /* glr.c:817 */ break; case 510: -#line 1792 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1793 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_layout **)(&(*yyvalp))) = psi_layout_init(atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text), atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text), psi_layout_init(0, atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-7)].yystate.yysemantics.yysval))->text), NULL)); } -#line 6058 "src/parser_proc.c" /* glr.c:817 */ +#line 6059 "src/parser_proc.c" /* glr.c:817 */ break; case 511: -#line 1798 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1799 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_layout*)(&(*yyvalp))).pos = 0; (*(struct psi_layout*)(&(*yyvalp))).len = 0; } -#line 6067 "src/parser_proc.c" /* glr.c:817 */ +#line 6068 "src/parser_proc.c" /* glr.c:817 */ break; case 512: -#line 1802 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1803 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_layout*)(&(*yyvalp))).pos = atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text); (*(struct psi_layout*)(&(*yyvalp))).len = atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text); } -#line 6076 "src/parser_proc.c" /* glr.c:817 */ +#line 6077 "src/parser_proc.c" /* glr.c:817 */ break; case 513: -#line 1809 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1810 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(size_t*)(&(*yyvalp))) = 0; } -#line 6084 "src/parser_proc.c" /* glr.c:817 */ +#line 6085 "src/parser_proc.c" /* glr.c:817 */ break; case 514: -#line 1812 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1813 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(size_t*)(&(*yyvalp))) = 0; } -#line 6092 "src/parser_proc.c" /* glr.c:817 */ +#line 6093 "src/parser_proc.c" /* glr.c:817 */ break; case 515: -#line 1815 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1816 "src/parser_proc_grammar.y" /* glr.c:817 */ { struct psi_validate_scope scope = {0}; psi_validate_scope_ctor(&scope); @@ -6105,88 +6106,88 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, psi_num_exp_free(&(*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); psi_validate_scope_dtor(&scope); } -#line 6109 "src/parser_proc.c" /* glr.c:817 */ +#line 6110 "src/parser_proc.c" /* glr.c:817 */ break; case 520: -#line 1837 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1838 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(size_t*)(&(*yyvalp))) = 0; } -#line 6117 "src/parser_proc.c" /* glr.c:817 */ +#line 6118 "src/parser_proc.c" /* glr.c:817 */ break; case 521: -#line 1840 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1841 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 6125 "src/parser_proc.c" /* glr.c:817 */ +#line 6126 "src/parser_proc.c" /* glr.c:817 */ break; case 523: -#line 1847 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1848 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); } -#line 6133 "src/parser_proc.c" /* glr.c:817 */ +#line 6134 "src/parser_proc.c" /* glr.c:817 */ break; case 524: -#line 1853 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1854 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(size_t*)(&(*yyvalp))) = 1; } -#line 6141 "src/parser_proc.c" /* glr.c:817 */ +#line 6142 "src/parser_proc.c" /* glr.c:817 */ break; case 525: -#line 1856 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1857 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)) + 1; } -#line 6149 "src/parser_proc.c" /* glr.c:817 */ +#line 6150 "src/parser_proc.c" /* glr.c:817 */ break; case 530: -#line 1878 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1879 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_impl **)(&(*yyvalp))) = psi_impl_init((*(struct psi_impl_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)), (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 6157 "src/parser_proc.c" /* glr.c:817 */ +#line 6158 "src/parser_proc.c" /* glr.c:817 */ break; case 531: -#line 1881 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1882 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_impl **)(&(*yyvalp))) = psi_impl_init((*(struct psi_impl_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)), (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_impl_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->static_memory = 1; } -#line 6166 "src/parser_proc.c" /* glr.c:817 */ +#line 6167 "src/parser_proc.c" /* glr.c:817 */ break; case 532: -#line 1888 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1889 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_impl_func **)(&(*yyvalp))) = psi_impl_func_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval))->text, NULL, (*(struct psi_impl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_impl_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval))); (*(struct psi_impl_func **)(&(*yyvalp)))->return_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)); } -#line 6176 "src/parser_proc.c" /* glr.c:817 */ +#line 6177 "src/parser_proc.c" /* glr.c:817 */ break; case 533: -#line 1893 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1894 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_impl_func **)(&(*yyvalp))) = psi_impl_func_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))->text, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)), (*(struct psi_impl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_impl_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))); (*(struct psi_impl_func **)(&(*yyvalp)))->return_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)); } -#line 6186 "src/parser_proc.c" /* glr.c:817 */ +#line 6187 "src/parser_proc.c" /* glr.c:817 */ break; case 534: -#line 1898 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1899 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_impl_func **)(&(*yyvalp))) = psi_impl_func_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-10)].yystate.yysemantics.yysval))->text, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval)), (*(struct psi_impl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_impl_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-10)].yystate.yysemantics.yysval))); @@ -6194,531 +6195,531 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_impl_func **)(&(*yyvalp)))->vararg = psi_impl_arg_init((*(struct psi_impl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)), psi_impl_var_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text, (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))), NULL); (*(struct psi_impl_func **)(&(*yyvalp)))->vararg->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))); } -#line 6198 "src/parser_proc.c" /* glr.c:817 */ +#line 6199 "src/parser_proc.c" /* glr.c:817 */ break; case 535: -#line 1908 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1909 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_impl_arg_free), &(*(struct psi_impl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 6206 "src/parser_proc.c" /* glr.c:817 */ +#line 6207 "src/parser_proc.c" /* glr.c:817 */ break; case 536: -#line 1911 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1912 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), &(*(struct psi_impl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 6214 "src/parser_proc.c" /* glr.c:817 */ +#line 6215 "src/parser_proc.c" /* glr.c:817 */ break; case 537: -#line 1917 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1918 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_impl_arg **)(&(*yyvalp))) = psi_impl_arg_init((*(struct psi_impl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), (*(struct psi_impl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), NULL); } -#line 6222 "src/parser_proc.c" /* glr.c:817 */ +#line 6223 "src/parser_proc.c" /* glr.c:817 */ break; case 538: -#line 1920 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1921 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_impl_arg **)(&(*yyvalp))) = psi_impl_arg_init((*(struct psi_impl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)), (*(struct psi_impl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), (*(struct psi_impl_def_val **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 6230 "src/parser_proc.c" /* glr.c:817 */ +#line 6231 "src/parser_proc.c" /* glr.c:817 */ break; case 539: -#line 1926 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1927 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_impl_var **)(&(*yyvalp))) = psi_impl_var_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_impl_var **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 6239 "src/parser_proc.c" /* glr.c:817 */ +#line 6240 "src/parser_proc.c" /* glr.c:817 */ break; case 540: -#line 1933 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1934 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_impl_type **)(&(*yyvalp))) = psi_impl_type_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text); (*(struct psi_impl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 6248 "src/parser_proc.c" /* glr.c:817 */ +#line 6249 "src/parser_proc.c" /* glr.c:817 */ break; case 541: -#line 1940 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1941 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_impl_type **)(&(*yyvalp))) = psi_impl_type_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text); (*(struct psi_impl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 6257 "src/parser_proc.c" /* glr.c:817 */ +#line 6258 "src/parser_proc.c" /* glr.c:817 */ break; case 553: -#line 1967 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1968 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_impl_stmt_free), &(*(struct psi_token ***)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 6265 "src/parser_proc.c" /* glr.c:817 */ +#line 6266 "src/parser_proc.c" /* glr.c:817 */ break; case 554: -#line 1970 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1971 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), &(*(struct psi_token ***)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 6273 "src/parser_proc.c" /* glr.c:817 */ +#line 6274 "src/parser_proc.c" /* glr.c:817 */ break; case 555: -#line 1976 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1977 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_return_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 6281 "src/parser_proc.c" /* glr.c:817 */ +#line 6282 "src/parser_proc.c" /* glr.c:817 */ break; case 556: -#line 1979 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1980 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_let_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 6289 "src/parser_proc.c" /* glr.c:817 */ +#line 6290 "src/parser_proc.c" /* glr.c:817 */ break; case 557: -#line 1982 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1983 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_set_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 6297 "src/parser_proc.c" /* glr.c:817 */ +#line 6298 "src/parser_proc.c" /* glr.c:817 */ break; case 558: -#line 1985 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1986 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_assert_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 6305 "src/parser_proc.c" /* glr.c:817 */ +#line 6306 "src/parser_proc.c" /* glr.c:817 */ break; case 559: -#line 1988 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1989 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_free_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 6313 "src/parser_proc.c" /* glr.c:817 */ +#line 6314 "src/parser_proc.c" /* glr.c:817 */ break; case 560: -#line 1994 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1995 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_let_stmt **)(&(*yyvalp))) = psi_let_stmt_init((*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_let_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); } -#line 6322 "src/parser_proc.c" /* glr.c:817 */ +#line 6323 "src/parser_proc.c" /* glr.c:817 */ break; case 561: -#line 1998 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 1999 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_let_stmt **)(&(*yyvalp))) = psi_let_stmt_init(psi_let_exp_init_ex((*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)), PSI_LET_TMP, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)))); (*(struct psi_let_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))); (*(struct psi_let_stmt **)(&(*yyvalp)))->exp->is_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)); } -#line 6332 "src/parser_proc.c" /* glr.c:817 */ +#line 6333 "src/parser_proc.c" /* glr.c:817 */ break; case 563: -#line 2007 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2008 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); (*(struct psi_let_exp **)(&(*yyvalp)))->is_reference = true; } -#line 6341 "src/parser_proc.c" /* glr.c:817 */ +#line 6342 "src/parser_proc.c" /* glr.c:817 */ break; case 564: -#line 2011 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2012 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); (*(struct psi_let_exp **)(&(*yyvalp)))->is_reference = false; } -#line 6350 "src/parser_proc.c" /* glr.c:817 */ +#line 6351 "src/parser_proc.c" /* glr.c:817 */ break; case 565: -#line 2018 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2019 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_NULL, NULL); } -#line 6358 "src/parser_proc.c" /* glr.c:817 */ +#line 6359 "src/parser_proc.c" /* glr.c:817 */ break; case 566: -#line 2021 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2022 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init_ex(NULL, PSI_LET_NUMEXP, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 6366 "src/parser_proc.c" /* glr.c:817 */ +#line 6367 "src/parser_proc.c" /* glr.c:817 */ break; case 567: -#line 2024 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2025 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_CALLOC, (*(struct psi_let_calloc **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 6374 "src/parser_proc.c" /* glr.c:817 */ +#line 6375 "src/parser_proc.c" /* glr.c:817 */ break; case 568: -#line 2027 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2028 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_CALLOC, (*(struct psi_let_calloc **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_let_calloc **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->static_memory = 1; } -#line 6383 "src/parser_proc.c" /* glr.c:817 */ +#line 6384 "src/parser_proc.c" /* glr.c:817 */ break; case 569: -#line 2031 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2032 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_CALLBACK, (*(struct psi_let_callback **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 6391 "src/parser_proc.c" /* glr.c:817 */ +#line 6392 "src/parser_proc.c" /* glr.c:817 */ break; case 570: -#line 2034 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2035 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init_ex(NULL, PSI_LET_FUNC, (*(struct psi_let_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 6399 "src/parser_proc.c" /* glr.c:817 */ +#line 6400 "src/parser_proc.c" /* glr.c:817 */ break; case 571: -#line 2040 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2041 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); (*(struct psi_let_exp **)(&(*yyvalp)))->var = (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)); } -#line 6408 "src/parser_proc.c" /* glr.c:817 */ +#line 6409 "src/parser_proc.c" /* glr.c:817 */ break; case 572: -#line 2044 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2045 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); (*(struct psi_let_exp **)(&(*yyvalp)))->is_reference = 1; (*(struct psi_let_exp **)(&(*yyvalp)))->var = (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)); } -#line 6418 "src/parser_proc.c" /* glr.c:817 */ +#line 6419 "src/parser_proc.c" /* glr.c:817 */ break; case 573: -#line 2052 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2053 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_let_calloc **)(&(*yyvalp))) = psi_let_calloc_init((*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)), (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_let_calloc **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))); } -#line 6427 "src/parser_proc.c" /* glr.c:817 */ +#line 6428 "src/parser_proc.c" /* glr.c:817 */ break; case 574: -#line 2059 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2060 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_let_callback **)(&(*yyvalp))) = psi_let_callback_init(psi_let_func_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval))->text, (*(struct psi_impl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval))), (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), NULL); (*(struct psi_let_callback **)(&(*yyvalp)))->func->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval))); (*(struct psi_let_callback **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-7)].yystate.yysemantics.yysval))); } -#line 6437 "src/parser_proc.c" /* glr.c:817 */ +#line 6438 "src/parser_proc.c" /* glr.c:817 */ break; case 575: -#line 2064 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2065 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_let_callback **)(&(*yyvalp))) = psi_let_callback_init(psi_let_func_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval))->text, (*(struct psi_impl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval))), (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].yystate.yysemantics.yysval))); (*(struct psi_let_callback **)(&(*yyvalp)))->func->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval))); (*(struct psi_let_callback **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-11)].yystate.yysemantics.yysval))); } -#line 6447 "src/parser_proc.c" /* glr.c:817 */ +#line 6448 "src/parser_proc.c" /* glr.c:817 */ break; case 576: -#line 2072 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2073 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_let_func **)(&(*yyvalp))) = psi_let_func_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval))->text, (*(struct psi_impl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); (*(struct psi_let_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval))); (*(struct psi_let_func **)(&(*yyvalp)))->inner = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); } -#line 6457 "src/parser_proc.c" /* glr.c:817 */ +#line 6458 "src/parser_proc.c" /* glr.c:817 */ break; case 587: -#line 2093 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2094 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 6465 "src/parser_proc.c" /* glr.c:817 */ +#line 6466 "src/parser_proc.c" /* glr.c:817 */ break; case 588: -#line 2096 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2097 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 6473 "src/parser_proc.c" /* glr.c:817 */ +#line 6474 "src/parser_proc.c" /* glr.c:817 */ break; case 589: -#line 2102 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2103 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_let_exp_free), &(*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 6481 "src/parser_proc.c" /* glr.c:817 */ +#line 6482 "src/parser_proc.c" /* glr.c:817 */ break; case 590: -#line 2105 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2106 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), &(*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 6489 "src/parser_proc.c" /* glr.c:817 */ +#line 6490 "src/parser_proc.c" /* glr.c:817 */ break; case 593: -#line 2116 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2117 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 6497 "src/parser_proc.c" /* glr.c:817 */ +#line 6498 "src/parser_proc.c" /* glr.c:817 */ break; case 594: -#line 2119 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2120 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 6505 "src/parser_proc.c" /* glr.c:817 */ +#line 6506 "src/parser_proc.c" /* glr.c:817 */ break; case 595: -#line 2125 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2126 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_set_exp_free), &(*(struct psi_set_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 6513 "src/parser_proc.c" /* glr.c:817 */ +#line 6514 "src/parser_proc.c" /* glr.c:817 */ break; case 596: -#line 2128 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2129 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), &(*(struct psi_set_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 6521 "src/parser_proc.c" /* glr.c:817 */ +#line 6522 "src/parser_proc.c" /* glr.c:817 */ break; case 597: -#line 2134 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2135 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_return_stmt **)(&(*yyvalp))) = psi_return_stmt_init((*(struct psi_return_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_return_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); } -#line 6530 "src/parser_proc.c" /* glr.c:817 */ +#line 6531 "src/parser_proc.c" /* glr.c:817 */ break; case 598: -#line 2141 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2142 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_return_exp **)(&(*yyvalp))) = psi_return_exp_init((*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)), (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)), psi_set_exp_init(PSI_SET_FUNC, (*(struct psi_set_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)))); (*(struct psi_return_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))->token); } -#line 6539 "src/parser_proc.c" /* glr.c:817 */ +#line 6540 "src/parser_proc.c" /* glr.c:817 */ break; case 599: -#line 2145 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2146 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_return_exp **)(&(*yyvalp))) = psi_return_exp_init(NULL, NULL, psi_set_exp_init(PSI_SET_FUNC, (*(struct psi_set_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)))); (*(struct psi_return_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_set_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token); } -#line 6548 "src/parser_proc.c" /* glr.c:817 */ +#line 6549 "src/parser_proc.c" /* glr.c:817 */ break; case 600: -#line 2152 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2153 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 6556 "src/parser_proc.c" /* glr.c:817 */ +#line 6557 "src/parser_proc.c" /* glr.c:817 */ break; case 601: -#line 2155 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2156 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 6564 "src/parser_proc.c" /* glr.c:817 */ +#line 6565 "src/parser_proc.c" /* glr.c:817 */ break; case 602: -#line 2158 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2159 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 6572 "src/parser_proc.c" /* glr.c:817 */ +#line 6573 "src/parser_proc.c" /* glr.c:817 */ break; case 603: -#line 2164 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2165 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_set_stmt **)(&(*yyvalp))) = psi_set_stmt_init((*(struct psi_set_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_set_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); } -#line 6581 "src/parser_proc.c" /* glr.c:817 */ +#line 6582 "src/parser_proc.c" /* glr.c:817 */ break; case 604: -#line 2171 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2172 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_set_exp **)(&(*yyvalp))) = psi_set_exp_init(PSI_SET_FUNC, (*(struct psi_set_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 6589 "src/parser_proc.c" /* glr.c:817 */ +#line 6590 "src/parser_proc.c" /* glr.c:817 */ break; case 605: -#line 2174 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2175 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_set_exp **)(&(*yyvalp))) = psi_set_exp_init(PSI_SET_NUMEXP, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 6597 "src/parser_proc.c" /* glr.c:817 */ +#line 6598 "src/parser_proc.c" /* glr.c:817 */ break; case 606: -#line 2177 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2178 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_set_exp **)(&(*yyvalp))) = (*(struct psi_set_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); (*(struct psi_set_exp **)(&(*yyvalp)))->var = (*(struct psi_impl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)); } -#line 6606 "src/parser_proc.c" /* glr.c:817 */ +#line 6607 "src/parser_proc.c" /* glr.c:817 */ break; case 607: -#line 2184 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2185 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_set_func **)(&(*yyvalp))) = psi_set_func_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval))->text, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); (*(struct psi_set_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval))); (*(struct psi_set_func **)(&(*yyvalp)))->inner = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); } -#line 6616 "src/parser_proc.c" /* glr.c:817 */ +#line 6617 "src/parser_proc.c" /* glr.c:817 */ break; case 608: -#line 2189 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2190 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_set_func **)(&(*yyvalp))) = psi_set_func_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))->text, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))); (*(struct psi_set_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))); (*(struct psi_set_func **)(&(*yyvalp)))->recursive = 1; } -#line 6626 "src/parser_proc.c" /* glr.c:817 */ +#line 6627 "src/parser_proc.c" /* glr.c:817 */ break; case 617: -#line 2208 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2209 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 6634 "src/parser_proc.c" /* glr.c:817 */ +#line 6635 "src/parser_proc.c" /* glr.c:817 */ break; case 618: -#line 2211 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2212 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 6642 "src/parser_proc.c" /* glr.c:817 */ +#line 6643 "src/parser_proc.c" /* glr.c:817 */ break; case 619: -#line 2217 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2218 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_set_exp_free), &(*(struct psi_set_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 6650 "src/parser_proc.c" /* glr.c:817 */ +#line 6651 "src/parser_proc.c" /* glr.c:817 */ break; case 620: -#line 2220 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2221 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), &(*(struct psi_set_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 6658 "src/parser_proc.c" /* glr.c:817 */ +#line 6659 "src/parser_proc.c" /* glr.c:817 */ break; case 621: -#line 2226 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2227 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_assert_stmt **)(&(*yyvalp))) = psi_assert_stmt_init((enum psi_assert_kind) (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_assert_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); } -#line 6667 "src/parser_proc.c" /* glr.c:817 */ +#line 6668 "src/parser_proc.c" /* glr.c:817 */ break; case 624: -#line 2238 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2239 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_free_stmt **)(&(*yyvalp))) = psi_free_stmt_init((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_free_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); } -#line 6676 "src/parser_proc.c" /* glr.c:817 */ +#line 6677 "src/parser_proc.c" /* glr.c:817 */ break; case 625: -#line 2245 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2246 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_free_exp_free), &(*(struct psi_free_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 6684 "src/parser_proc.c" /* glr.c:817 */ +#line 6685 "src/parser_proc.c" /* glr.c:817 */ break; case 626: -#line 2248 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2249 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), &(*(struct psi_free_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 6692 "src/parser_proc.c" /* glr.c:817 */ +#line 6693 "src/parser_proc.c" /* glr.c:817 */ break; case 627: -#line 2254 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2255 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_free_exp **)(&(*yyvalp))) = psi_free_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_free_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))); } -#line 6702 "src/parser_proc.c" /* glr.c:817 */ +#line 6703 "src/parser_proc.c" /* glr.c:817 */ break; case 628: -#line 2262 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2263 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(bool*)(&(*yyvalp))) = false; } -#line 6710 "src/parser_proc.c" /* glr.c:817 */ +#line 6711 "src/parser_proc.c" /* glr.c:817 */ break; case 629: -#line 2265 "src/parser_proc_grammar.y" /* glr.c:817 */ +#line 2266 "src/parser_proc_grammar.y" /* glr.c:817 */ { (*(bool*)(&(*yyvalp))) = true; } -#line 6718 "src/parser_proc.c" /* glr.c:817 */ +#line 6719 "src/parser_proc.c" /* glr.c:817 */ break; -#line 6722 "src/parser_proc.c" /* glr.c:817 */ +#line 6723 "src/parser_proc.c" /* glr.c:817 */ default: break; } @@ -6769,757 +6770,757 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, struct psi_parser case 141: /* binary_op_token */ #line 315 "src/parser_proc_grammar.y" /* glr.c:847 */ {} -#line 6773 "src/parser_proc.c" /* glr.c:847 */ +#line 6774 "src/parser_proc.c" /* glr.c:847 */ break; case 142: /* unary_op_token */ #line 315 "src/parser_proc_grammar.y" /* glr.c:847 */ {} -#line 6779 "src/parser_proc.c" /* glr.c:847 */ +#line 6780 "src/parser_proc.c" /* glr.c:847 */ break; case 143: /* name_token */ #line 315 "src/parser_proc_grammar.y" /* glr.c:847 */ {} -#line 6785 "src/parser_proc.c" /* glr.c:847 */ +#line 6786 "src/parser_proc.c" /* glr.c:847 */ break; case 144: /* any_noeol_token */ #line 315 "src/parser_proc_grammar.y" /* glr.c:847 */ {} -#line 6791 "src/parser_proc.c" /* glr.c:847 */ +#line 6792 "src/parser_proc.c" /* glr.c:847 */ break; case 149: /* lib */ #line 309 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 6797 "src/parser_proc.c" /* glr.c:847 */ +#line 6798 "src/parser_proc.c" /* glr.c:847 */ break; case 150: /* cpp */ #line 324 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_cpp_exp_free(&(*(struct psi_cpp_exp **)(&(*yyvaluep))));} -#line 6803 "src/parser_proc.c" /* glr.c:847 */ +#line 6804 "src/parser_proc.c" /* glr.c:847 */ break; case 151: /* cpp_exp */ #line 324 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_cpp_exp_free(&(*(struct psi_cpp_exp **)(&(*yyvaluep))));} -#line 6809 "src/parser_proc.c" /* glr.c:847 */ +#line 6810 "src/parser_proc.c" /* glr.c:847 */ break; case 153: /* cpp_message_token */ #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */ {} -#line 6815 "src/parser_proc.c" /* glr.c:847 */ +#line 6816 "src/parser_proc.c" /* glr.c:847 */ break; case 154: /* cpp_include_token */ #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */ {} -#line 6821 "src/parser_proc.c" /* glr.c:847 */ +#line 6822 "src/parser_proc.c" /* glr.c:847 */ break; case 155: /* cpp_header_token */ #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */ {} -#line 6827 "src/parser_proc.c" /* glr.c:847 */ +#line 6828 "src/parser_proc.c" /* glr.c:847 */ break; case 156: /* cpp_no_arg_token */ #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */ {} -#line 6833 "src/parser_proc.c" /* glr.c:847 */ +#line 6834 "src/parser_proc.c" /* glr.c:847 */ break; case 157: /* cpp_name_arg_token */ #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */ {} -#line 6839 "src/parser_proc.c" /* glr.c:847 */ +#line 6840 "src/parser_proc.c" /* glr.c:847 */ break; case 158: /* cpp_exp_arg_token */ #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */ {} -#line 6845 "src/parser_proc.c" /* glr.c:847 */ +#line 6846 "src/parser_proc.c" /* glr.c:847 */ break; case 159: /* cpp_macro_decl */ #line 326 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl **)(&(*yyvaluep))));} -#line 6851 "src/parser_proc.c" /* glr.c:847 */ +#line 6852 "src/parser_proc.c" /* glr.c:847 */ break; case 160: /* cpp_macro_sig */ #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 6857 "src/parser_proc.c" /* glr.c:847 */ +#line 6858 "src/parser_proc.c" /* glr.c:847 */ break; case 161: /* cpp_macro_sig_args */ #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 6863 "src/parser_proc.c" /* glr.c:847 */ +#line 6864 "src/parser_proc.c" /* glr.c:847 */ break; case 162: /* cpp_macro_decl_tokens */ #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 6869 "src/parser_proc.c" /* glr.c:847 */ +#line 6870 "src/parser_proc.c" /* glr.c:847 */ break; case 163: /* cpp_macro_decl_token_list */ #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 6875 "src/parser_proc.c" /* glr.c:847 */ +#line 6876 "src/parser_proc.c" /* glr.c:847 */ break; case 164: /* cpp_macro_exp */ #line 330 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_num_exp_free(&(*(struct psi_num_exp **)(&(*yyvaluep))));} -#line 6881 "src/parser_proc.c" /* glr.c:847 */ +#line 6882 "src/parser_proc.c" /* glr.c:847 */ break; case 165: /* cpp_macro_call_args */ #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 6887 "src/parser_proc.c" /* glr.c:847 */ +#line 6888 "src/parser_proc.c" /* glr.c:847 */ break; case 166: /* cpp_macro_call_arg_list */ #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 6893 "src/parser_proc.c" /* glr.c:847 */ +#line 6894 "src/parser_proc.c" /* glr.c:847 */ break; case 167: /* constant */ #line 336 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_const_free(&(*(struct psi_const **)(&(*yyvaluep))));} -#line 6899 "src/parser_proc.c" /* glr.c:847 */ +#line 6900 "src/parser_proc.c" /* glr.c:847 */ break; case 168: /* impl_def_val */ #line 338 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_impl_def_val_free(&(*(struct psi_impl_def_val **)(&(*yyvaluep))));} -#line 6905 "src/parser_proc.c" /* glr.c:847 */ +#line 6906 "src/parser_proc.c" /* glr.c:847 */ break; case 169: /* impl_def_val_token */ #line 333 "src/parser_proc_grammar.y" /* glr.c:847 */ {} -#line 6911 "src/parser_proc.c" /* glr.c:847 */ +#line 6912 "src/parser_proc.c" /* glr.c:847 */ break; case 170: /* decl_typedef */ #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 6917 "src/parser_proc.c" /* glr.c:847 */ +#line 6918 "src/parser_proc.c" /* glr.c:847 */ break; case 171: /* typedef */ #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 6923 "src/parser_proc.c" /* glr.c:847 */ +#line 6924 "src/parser_proc.c" /* glr.c:847 */ break; case 172: /* typedef_anon */ #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 6929 "src/parser_proc.c" /* glr.c:847 */ +#line 6930 "src/parser_proc.c" /* glr.c:847 */ break; case 173: /* typedef_decl */ #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 6935 "src/parser_proc.c" /* glr.c:847 */ +#line 6936 "src/parser_proc.c" /* glr.c:847 */ break; case 174: /* typedef_anon_decl */ #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 6941 "src/parser_proc.c" /* glr.c:847 */ +#line 6942 "src/parser_proc.c" /* glr.c:847 */ break; case 175: /* qualified_decl_type */ #line 347 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));} -#line 6947 "src/parser_proc.c" /* glr.c:847 */ +#line 6948 "src/parser_proc.c" /* glr.c:847 */ break; case 177: /* decl_type */ #line 347 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));} -#line 6953 "src/parser_proc.c" /* glr.c:847 */ +#line 6954 "src/parser_proc.c" /* glr.c:847 */ break; case 178: /* decl_type_complex */ #line 347 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));} -#line 6959 "src/parser_proc.c" /* glr.c:847 */ +#line 6960 "src/parser_proc.c" /* glr.c:847 */ break; case 179: /* decl_type_simple */ #line 341 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 6965 "src/parser_proc.c" /* glr.c:847 */ +#line 6966 "src/parser_proc.c" /* glr.c:847 */ break; case 180: /* decl_real_type */ #line 341 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 6971 "src/parser_proc.c" /* glr.c:847 */ +#line 6972 "src/parser_proc.c" /* glr.c:847 */ break; case 181: /* int_signed */ #line 321 "src/parser_proc_grammar.y" /* glr.c:847 */ {} -#line 6977 "src/parser_proc.c" /* glr.c:847 */ +#line 6978 "src/parser_proc.c" /* glr.c:847 */ break; case 182: /* int_width */ #line 318 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 6983 "src/parser_proc.c" /* glr.c:847 */ +#line 6984 "src/parser_proc.c" /* glr.c:847 */ break; case 183: /* decl_int_type */ #line 341 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 6989 "src/parser_proc.c" /* glr.c:847 */ +#line 6990 "src/parser_proc.c" /* glr.c:847 */ break; case 184: /* int_signed_types */ #line 318 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 6995 "src/parser_proc.c" /* glr.c:847 */ +#line 6996 "src/parser_proc.c" /* glr.c:847 */ break; case 185: /* signed_short_types */ #line 321 "src/parser_proc_grammar.y" /* glr.c:847 */ {} -#line 7001 "src/parser_proc.c" /* glr.c:847 */ +#line 7002 "src/parser_proc.c" /* glr.c:847 */ break; case 186: /* signed_long_types */ #line 321 "src/parser_proc_grammar.y" /* glr.c:847 */ {} -#line 7007 "src/parser_proc.c" /* glr.c:847 */ +#line 7008 "src/parser_proc.c" /* glr.c:847 */ break; case 187: /* int_width_types */ #line 318 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7013 "src/parser_proc.c" /* glr.c:847 */ +#line 7014 "src/parser_proc.c" /* glr.c:847 */ break; case 188: /* decl_stmt */ #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));} -#line 7019 "src/parser_proc.c" /* glr.c:847 */ +#line 7020 "src/parser_proc.c" /* glr.c:847 */ break; case 189: /* decl_asm */ #line 344 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7025 "src/parser_proc.c" /* glr.c:847 */ +#line 7026 "src/parser_proc.c" /* glr.c:847 */ break; case 190: /* quoted_strings */ #line 344 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7031 "src/parser_proc.c" /* glr.c:847 */ +#line 7032 "src/parser_proc.c" /* glr.c:847 */ break; case 191: /* decl_extvar_stmt */ #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7037 "src/parser_proc.c" /* glr.c:847 */ +#line 7038 "src/parser_proc.c" /* glr.c:847 */ break; case 192: /* decl_extvar_list */ #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7043 "src/parser_proc.c" /* glr.c:847 */ +#line 7044 "src/parser_proc.c" /* glr.c:847 */ break; case 193: /* decl_vars */ #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7049 "src/parser_proc.c" /* glr.c:847 */ +#line 7050 "src/parser_proc.c" /* glr.c:847 */ break; case 194: /* ignored_decl */ #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));} -#line 7055 "src/parser_proc.c" /* glr.c:847 */ +#line 7056 "src/parser_proc.c" /* glr.c:847 */ break; case 199: /* decl */ #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));} -#line 7061 "src/parser_proc.c" /* glr.c:847 */ +#line 7062 "src/parser_proc.c" /* glr.c:847 */ break; case 200: /* decl_body */ #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));} -#line 7067 "src/parser_proc.c" /* glr.c:847 */ +#line 7068 "src/parser_proc.c" /* glr.c:847 */ break; case 201: /* decl_func_body */ #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));} -#line 7073 "src/parser_proc.c" /* glr.c:847 */ +#line 7074 "src/parser_proc.c" /* glr.c:847 */ break; case 202: /* decl_functor_body */ #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));} -#line 7079 "src/parser_proc.c" /* glr.c:847 */ +#line 7080 "src/parser_proc.c" /* glr.c:847 */ break; case 203: /* decl_anon_functor_body */ #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));} -#line 7085 "src/parser_proc.c" /* glr.c:847 */ +#line 7086 "src/parser_proc.c" /* glr.c:847 */ break; case 204: /* decl_functor */ #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 7091 "src/parser_proc.c" /* glr.c:847 */ +#line 7092 "src/parser_proc.c" /* glr.c:847 */ break; case 205: /* decl_anon_functor */ #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 7097 "src/parser_proc.c" /* glr.c:847 */ +#line 7098 "src/parser_proc.c" /* glr.c:847 */ break; case 206: /* decl_func */ #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 7103 "src/parser_proc.c" /* glr.c:847 */ +#line 7104 "src/parser_proc.c" /* glr.c:847 */ break; case 207: /* decl_args */ #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7109 "src/parser_proc.c" /* glr.c:847 */ +#line 7110 "src/parser_proc.c" /* glr.c:847 */ break; case 208: /* decl_arg_list */ #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7115 "src/parser_proc.c" /* glr.c:847 */ +#line 7116 "src/parser_proc.c" /* glr.c:847 */ break; case 209: /* decl_anon_arg */ #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 7121 "src/parser_proc.c" /* glr.c:847 */ +#line 7122 "src/parser_proc.c" /* glr.c:847 */ break; case 210: /* decl_arg */ #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 7127 "src/parser_proc.c" /* glr.c:847 */ +#line 7128 "src/parser_proc.c" /* glr.c:847 */ break; case 211: /* decl_var */ #line 353 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_var_free(&(*(struct psi_decl_var **)(&(*yyvaluep))));} -#line 7133 "src/parser_proc.c" /* glr.c:847 */ +#line 7134 "src/parser_proc.c" /* glr.c:847 */ break; case 212: /* decl_union */ #line 357 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_union_free(&(*(struct psi_decl_union **)(&(*yyvaluep))));} -#line 7139 "src/parser_proc.c" /* glr.c:847 */ +#line 7140 "src/parser_proc.c" /* glr.c:847 */ break; case 213: /* decl_struct */ #line 355 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_struct_free(&(*(struct psi_decl_struct **)(&(*yyvaluep))));} -#line 7145 "src/parser_proc.c" /* glr.c:847 */ +#line 7146 "src/parser_proc.c" /* glr.c:847 */ break; case 214: /* decl_struct_args */ #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7151 "src/parser_proc.c" /* glr.c:847 */ +#line 7152 "src/parser_proc.c" /* glr.c:847 */ break; case 215: /* struct_args_block */ #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7157 "src/parser_proc.c" /* glr.c:847 */ +#line 7158 "src/parser_proc.c" /* glr.c:847 */ break; case 216: /* struct_args */ #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7163 "src/parser_proc.c" /* glr.c:847 */ +#line 7164 "src/parser_proc.c" /* glr.c:847 */ break; case 217: /* struct_arg_var_list */ #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7169 "src/parser_proc.c" /* glr.c:847 */ +#line 7170 "src/parser_proc.c" /* glr.c:847 */ break; case 218: /* decl_vars_with_layout */ #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7175 "src/parser_proc.c" /* glr.c:847 */ +#line 7176 "src/parser_proc.c" /* glr.c:847 */ break; case 219: /* decl_enum */ #line 359 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_enum_free(&(*(struct psi_decl_enum **)(&(*yyvaluep))));} -#line 7181 "src/parser_proc.c" /* glr.c:847 */ +#line 7182 "src/parser_proc.c" /* glr.c:847 */ break; case 220: /* decl_enum_items */ #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7187 "src/parser_proc.c" /* glr.c:847 */ +#line 7188 "src/parser_proc.c" /* glr.c:847 */ break; case 221: /* decl_enum_item */ #line 361 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item **)(&(*yyvaluep))));} -#line 7193 "src/parser_proc.c" /* glr.c:847 */ +#line 7194 "src/parser_proc.c" /* glr.c:847 */ break; case 222: /* num_exp */ #line 419 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_num_exp_free(&(*(struct psi_num_exp **)(&(*yyvaluep))));} -#line 7199 "src/parser_proc.c" /* glr.c:847 */ +#line 7200 "src/parser_proc.c" /* glr.c:847 */ break; case 223: /* number */ #line 421 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));} -#line 7205 "src/parser_proc.c" /* glr.c:847 */ +#line 7206 "src/parser_proc.c" /* glr.c:847 */ break; case 224: /* sizeof */ #line 371 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));} -#line 7211 "src/parser_proc.c" /* glr.c:847 */ +#line 7212 "src/parser_proc.c" /* glr.c:847 */ break; case 225: /* sizeof_body */ #line 371 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));} -#line 7217 "src/parser_proc.c" /* glr.c:847 */ +#line 7218 "src/parser_proc.c" /* glr.c:847 */ break; case 226: /* sizeof_body_notypes */ #line 371 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));} -#line 7223 "src/parser_proc.c" /* glr.c:847 */ +#line 7224 "src/parser_proc.c" /* glr.c:847 */ break; case 227: /* enum_name */ #line 309 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7229 "src/parser_proc.c" /* glr.c:847 */ +#line 7230 "src/parser_proc.c" /* glr.c:847 */ break; case 228: /* union_name */ #line 309 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7235 "src/parser_proc.c" /* glr.c:847 */ +#line 7236 "src/parser_proc.c" /* glr.c:847 */ break; case 229: /* struct_name */ #line 309 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7241 "src/parser_proc.c" /* glr.c:847 */ +#line 7242 "src/parser_proc.c" /* glr.c:847 */ break; case 230: /* optional_name */ #line 309 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7247 "src/parser_proc.c" /* glr.c:847 */ +#line 7248 "src/parser_proc.c" /* glr.c:847 */ break; case 232: /* decl_layout */ #line 368 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_layout_free(&(*(struct psi_layout **)(&(*yyvaluep))));} -#line 7253 "src/parser_proc.c" /* glr.c:847 */ +#line 7254 "src/parser_proc.c" /* glr.c:847 */ break; case 233: /* align_and_size */ #line 366 "src/parser_proc_grammar.y" /* glr.c:847 */ {} -#line 7259 "src/parser_proc.c" /* glr.c:847 */ +#line 7260 "src/parser_proc.c" /* glr.c:847 */ break; case 234: /* array_size */ #line 424 "src/parser_proc_grammar.y" /* glr.c:847 */ {} -#line 7265 "src/parser_proc.c" /* glr.c:847 */ +#line 7266 "src/parser_proc.c" /* glr.c:847 */ break; case 236: /* indirection */ #line 424 "src/parser_proc_grammar.y" /* glr.c:847 */ {} -#line 7271 "src/parser_proc.c" /* glr.c:847 */ +#line 7272 "src/parser_proc.c" /* glr.c:847 */ break; case 237: /* pointers */ #line 424 "src/parser_proc_grammar.y" /* glr.c:847 */ {} -#line 7277 "src/parser_proc.c" /* glr.c:847 */ +#line 7278 "src/parser_proc.c" /* glr.c:847 */ break; case 238: /* asterisks */ #line 424 "src/parser_proc_grammar.y" /* glr.c:847 */ {} -#line 7283 "src/parser_proc.c" /* glr.c:847 */ +#line 7284 "src/parser_proc.c" /* glr.c:847 */ break; case 241: /* impl */ #line 374 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_impl_free(&(*(struct psi_impl **)(&(*yyvaluep))));} -#line 7289 "src/parser_proc.c" /* glr.c:847 */ +#line 7290 "src/parser_proc.c" /* glr.c:847 */ break; case 242: /* impl_func */ #line 376 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_impl_func_free(&(*(struct psi_impl_func **)(&(*yyvaluep))));} -#line 7295 "src/parser_proc.c" /* glr.c:847 */ +#line 7296 "src/parser_proc.c" /* glr.c:847 */ break; case 243: /* impl_args */ #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7301 "src/parser_proc.c" /* glr.c:847 */ +#line 7302 "src/parser_proc.c" /* glr.c:847 */ break; case 244: /* impl_arg */ #line 378 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_impl_arg_free(&(*(struct psi_impl_arg **)(&(*yyvaluep))));} -#line 7307 "src/parser_proc.c" /* glr.c:847 */ +#line 7308 "src/parser_proc.c" /* glr.c:847 */ break; case 245: /* impl_var */ #line 382 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_impl_var_free(&(*(struct psi_impl_var **)(&(*yyvaluep))));} -#line 7313 "src/parser_proc.c" /* glr.c:847 */ +#line 7314 "src/parser_proc.c" /* glr.c:847 */ break; case 246: /* impl_type */ #line 380 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_impl_type_free(&(*(struct psi_impl_type **)(&(*yyvaluep))));} -#line 7319 "src/parser_proc.c" /* glr.c:847 */ +#line 7320 "src/parser_proc.c" /* glr.c:847 */ break; case 247: /* impl_type_restricted */ #line 380 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_impl_type_free(&(*(struct psi_impl_type **)(&(*yyvaluep))));} -#line 7325 "src/parser_proc.c" /* glr.c:847 */ +#line 7326 "src/parser_proc.c" /* glr.c:847 */ break; case 248: /* impl_type_token */ #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7331 "src/parser_proc.c" /* glr.c:847 */ +#line 7332 "src/parser_proc.c" /* glr.c:847 */ break; case 249: /* impl_type_restricted_token */ #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7337 "src/parser_proc.c" /* glr.c:847 */ +#line 7338 "src/parser_proc.c" /* glr.c:847 */ break; case 250: /* impl_type_extended_token */ #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7343 "src/parser_proc.c" /* glr.c:847 */ +#line 7344 "src/parser_proc.c" /* glr.c:847 */ break; case 251: /* impl_stmts */ #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7349 "src/parser_proc.c" /* glr.c:847 */ +#line 7350 "src/parser_proc.c" /* glr.c:847 */ break; case 252: /* impl_stmt */ #line 412 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_impl_stmt_free(&(*(struct psi_token ***)(&(*yyvaluep))));} -#line 7355 "src/parser_proc.c" /* glr.c:847 */ +#line 7356 "src/parser_proc.c" /* glr.c:847 */ break; case 253: /* let_stmt */ #line 385 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_let_stmt_free(&(*(struct psi_let_stmt **)(&(*yyvaluep))));} -#line 7361 "src/parser_proc.c" /* glr.c:847 */ +#line 7362 "src/parser_proc.c" /* glr.c:847 */ break; case 254: /* let_exp */ #line 387 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));} -#line 7367 "src/parser_proc.c" /* glr.c:847 */ +#line 7368 "src/parser_proc.c" /* glr.c:847 */ break; case 255: /* let_exp_byref */ #line 387 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));} -#line 7373 "src/parser_proc.c" /* glr.c:847 */ +#line 7374 "src/parser_proc.c" /* glr.c:847 */ break; case 256: /* let_exp_assign */ #line 387 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));} -#line 7379 "src/parser_proc.c" /* glr.c:847 */ +#line 7380 "src/parser_proc.c" /* glr.c:847 */ break; case 257: /* let_calloc */ #line 389 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_let_calloc_free(&(*(struct psi_let_calloc **)(&(*yyvaluep))));} -#line 7385 "src/parser_proc.c" /* glr.c:847 */ +#line 7386 "src/parser_proc.c" /* glr.c:847 */ break; case 258: /* let_callback */ #line 391 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_let_callback_free(&(*(struct psi_let_callback **)(&(*yyvaluep))));} -#line 7391 "src/parser_proc.c" /* glr.c:847 */ +#line 7392 "src/parser_proc.c" /* glr.c:847 */ break; case 259: /* let_func */ #line 393 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_let_func_free(&(*(struct psi_let_func **)(&(*yyvaluep))));} -#line 7397 "src/parser_proc.c" /* glr.c:847 */ +#line 7398 "src/parser_proc.c" /* glr.c:847 */ break; case 260: /* let_func_token */ #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7403 "src/parser_proc.c" /* glr.c:847 */ +#line 7404 "src/parser_proc.c" /* glr.c:847 */ break; case 261: /* let_func_exps */ #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7409 "src/parser_proc.c" /* glr.c:847 */ +#line 7410 "src/parser_proc.c" /* glr.c:847 */ break; case 262: /* let_exps */ #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7415 "src/parser_proc.c" /* glr.c:847 */ +#line 7416 "src/parser_proc.c" /* glr.c:847 */ break; case 263: /* callback_rval */ #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7421 "src/parser_proc.c" /* glr.c:847 */ +#line 7422 "src/parser_proc.c" /* glr.c:847 */ break; case 264: /* callback_arg_list */ #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7427 "src/parser_proc.c" /* glr.c:847 */ +#line 7428 "src/parser_proc.c" /* glr.c:847 */ break; case 265: /* callback_args */ #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7433 "src/parser_proc.c" /* glr.c:847 */ +#line 7434 "src/parser_proc.c" /* glr.c:847 */ break; case 266: /* return_stmt */ #line 403 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_return_stmt_free(&(*(struct psi_return_stmt **)(&(*yyvaluep))));} -#line 7439 "src/parser_proc.c" /* glr.c:847 */ +#line 7440 "src/parser_proc.c" /* glr.c:847 */ break; case 267: /* return_exp */ #line 405 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_return_exp_free(&(*(struct psi_return_exp **)(&(*yyvaluep))));} -#line 7445 "src/parser_proc.c" /* glr.c:847 */ +#line 7446 "src/parser_proc.c" /* glr.c:847 */ break; case 268: /* call_decl_vars */ #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7451 "src/parser_proc.c" /* glr.c:847 */ +#line 7452 "src/parser_proc.c" /* glr.c:847 */ break; case 269: /* set_stmt */ #line 395 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_set_stmt_free(&(*(struct psi_set_stmt **)(&(*yyvaluep))));} -#line 7457 "src/parser_proc.c" /* glr.c:847 */ +#line 7458 "src/parser_proc.c" /* glr.c:847 */ break; case 270: /* set_exp */ #line 397 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_set_exp_free(&(*(struct psi_set_exp **)(&(*yyvaluep))));} -#line 7463 "src/parser_proc.c" /* glr.c:847 */ +#line 7464 "src/parser_proc.c" /* glr.c:847 */ break; case 271: /* set_func */ #line 399 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_set_func_free(&(*(struct psi_set_func **)(&(*yyvaluep))));} -#line 7469 "src/parser_proc.c" /* glr.c:847 */ +#line 7470 "src/parser_proc.c" /* glr.c:847 */ break; case 272: /* set_func_token */ #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7475 "src/parser_proc.c" /* glr.c:847 */ +#line 7476 "src/parser_proc.c" /* glr.c:847 */ break; case 273: /* set_func_exps */ #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7481 "src/parser_proc.c" /* glr.c:847 */ +#line 7482 "src/parser_proc.c" /* glr.c:847 */ break; case 274: /* set_exps */ #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7487 "src/parser_proc.c" /* glr.c:847 */ +#line 7488 "src/parser_proc.c" /* glr.c:847 */ break; case 275: /* assert_stmt */ #line 401 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_assert_stmt_free(&(*(struct psi_assert_stmt **)(&(*yyvaluep))));} -#line 7493 "src/parser_proc.c" /* glr.c:847 */ +#line 7494 "src/parser_proc.c" /* glr.c:847 */ break; case 276: /* assert_stmt_token */ #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7499 "src/parser_proc.c" /* glr.c:847 */ +#line 7500 "src/parser_proc.c" /* glr.c:847 */ break; case 277: /* free_stmt */ #line 407 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_free_stmt_free(&(*(struct psi_free_stmt **)(&(*yyvaluep))));} -#line 7505 "src/parser_proc.c" /* glr.c:847 */ +#line 7506 "src/parser_proc.c" /* glr.c:847 */ break; case 278: /* free_exps */ #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7511 "src/parser_proc.c" /* glr.c:847 */ +#line 7512 "src/parser_proc.c" /* glr.c:847 */ break; case 279: /* free_exp */ #line 409 "src/parser_proc_grammar.y" /* glr.c:847 */ {psi_free_exp_free(&(*(struct psi_free_exp **)(&(*yyvaluep))));} -#line 7517 "src/parser_proc.c" /* glr.c:847 */ +#line 7518 "src/parser_proc.c" /* glr.c:847 */ break; case 280: /* reference */ #line 426 "src/parser_proc_grammar.y" /* glr.c:847 */ {} -#line 7523 "src/parser_proc.c" /* glr.c:847 */ +#line 7524 "src/parser_proc.c" /* glr.c:847 */ break; @@ -8873,7 +8874,7 @@ yyparse (struct psi_parser *P, struct psi_plist *tokens, size_t *index) { } -#line 8877 "src/parser_proc.c" /* glr.c:2261 */ +#line 8878 "src/parser_proc.c" /* glr.c:2261 */ if (! yyinitGLRStack (yystackp, YYINITDEPTH)) goto yyexhaustedlab; @@ -9176,7 +9177,7 @@ yypdumpstack (yyGLRStack* yystackp) #define yydebug psi_parser_proc_debug #define yynerrs psi_parser_proc_nerrs -#line 2274 "src/parser_proc_grammar.y" /* glr.c:2575 */ +#line 2275 "src/parser_proc_grammar.y" /* glr.c:2575 */ /* epilogue */ diff --git a/src/parser_proc_grammar.y b/src/parser_proc_grammar.y index 38194e9..6e07b5f 100644 --- a/src/parser_proc_grammar.y +++ b/src/parser_proc_grammar.y @@ -770,7 +770,7 @@ impl_def_val[val]: } | quoted_strings[token] { $val = psi_impl_def_val_init($token->type, $token->text); - $val->token = psi_token_copy($token); + $val->token = $token; } ; @@ -1270,6 +1270,7 @@ decl_functor_body[decl]: type->real.func = rval_decl; func->var->token = psi_token_copy($NAME); func->token = psi_token_copy($NAME); + type->token = type_token; $decl = psi_decl_init(func, $args); } -- 2.30.2