X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Fparser_proc.c;h=75c81060110cf8f80822f0768f46be51dbe91fc1;hp=9861c54c618a3e9b2988020bb498caaed5f52faa;hb=39bbd983561a028dc67a52c2da1c6b13981d2e14;hpb=aa338e1f515a21d83284c83d780d2dc075192c4d diff --git a/src/parser_proc.c b/src/parser_proc.c index 9861c54..75c8106 100644 --- a/src/parser_proc.c +++ b/src/parser_proc.c @@ -51,9 +51,13 @@ /* "%code top" blocks. */ #line 1 "src/parser_proc_grammar.y" /* glr.c:221 */ -#include "php_psi_stdinc.h" +#ifdef HAVE_CONFIG_H +# include "config.h" +#else +# include "php_config.h" +#endif -#line 57 "src/parser_proc.c" /* glr.c:221 */ +#line 61 "src/parser_proc.c" /* glr.c:221 */ /* Substitute the variable and function names. */ @@ -95,7 +99,7 @@ static YYSTYPE yyval_default; /* Unqualified %code blocks. */ -#line 5 "src/parser_proc_grammar.y" /* glr.c:261 */ +#line 9 "src/parser_proc_grammar.y" /* glr.c:261 */ #include #include @@ -180,7 +184,7 @@ static inline void psi_parser_proc_add_impl(struct psi_parser *P, struct psi_imp /* end code */ -#line 184 "src/parser_proc.c" /* glr.c:261 */ +#line 188 "src/parser_proc.c" /* glr.c:261 */ #include #include @@ -366,70 +370,70 @@ static const unsigned char yytranslate[] = /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short yyrline[] = { - 0, 408, 408, 408, 408, 408, 408, 408, 408, 408, - 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, - 409, 409, 409, 409, 410, 410, 410, 410, 410, 410, - 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, - 410, 410, 410, 410, 410, 410, 411, 411, 411, 411, - 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, - 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, - 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, - 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, - 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, - 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, - 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, - 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, - 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, - 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, - 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, - 411, 411, 411, 411, 412, 412, 412, 412, 412, 412, - 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, - 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, - 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, - 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, - 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, + 0, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, - 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, - 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, - 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, - 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, - 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, - 416, 417, 420, 421, 424, 425, 426, 427, 433, 437, - 440, 443, 446, 452, 455, 458, 461, 464, 470, 476, - 479, 485, 508, 512, 516, 521, 525, 529, 533, 540, - 541, 545, 546, 550, 551, 552, 556, 557, 561, 562, - 566, 567, 568, 572, 573, 577, 582, 587, 592, 601, - 604, 607, 608, 614, 619, 627, 630, 634, 638, 645, - 649, 653, 657, 662, 673, 684, 689, 694, 698, 704, - 715, 718, 722, 730, 734, 740, 744, 751, 755, 759, - 766, 767, 768, 772, 786, 792, 795, 801, 804, 810, - 811, 819, 830, 839, 851, 852, 856, 866, 875, 887, - 888, 891, 897, 898, 902, 906, 910, 915, 920, 928, - 929, 930, 933, 939, 942, 945, 951, 952, 956, 959, - 962, 968, 971, 974, 982, 994, 997, 1000, 1003, 1010, - 1013, 1023, 1026, 1029, 1032, 1033, 1034, 1038, 1041, 1044, - 1055, 1062, 1072, 1075, 1081, 1084, 1091, 1127, 1130, 1136, - 1139, 1145, 1151, 1152, 1153, 1154, 1155, 1156, 1160, 1164, - 1165, 1169, 1170, 1174, 1175, 1182, 1183, 1187, 1194, 1205, - 1212, 1220, 1244, 1273, 1280, 1291, 1337, 1378, 1393, 1396, - 1399, 1405, 1408, 1414, 1429, 1432, 1461, 1469, 1497, 1502, - 1510, 1520, 1530, 1533, 1537, 1543, 1557, 1574, 1577, 1583, - 1590, 1597, 1605, 1616, 1623, 1626, 1632, 1637, 1645, 1649, - 1653, 1657, 1661, 1665, 1672, 1676, 1680, 1684, 1688, 1692, - 1698, 1702, 1709, 1712, 1724, 1728, 1732, 1739, 1752, 1765, - 1778, 1781, 1788, 1789, 1793, 1796, 1799, 1802, 1808, 1812, - 1819, 1822, 1825, 1840, 1841, 1842, 1843, 1847, 1850, 1856, - 1857, 1863, 1866, 1872, 1873, 1877, 1878, 1888, 1891, 1898, - 1903, 1908, 1918, 1921, 1927, 1930, 1936, 1943, 1950, 1957, - 1958, 1962, 1963, 1964, 1965, 1966, 1970, 1971, 1972, 1973, - 1977, 1980, 1986, 1989, 1992, 1995, 1998, 2004, 2008, 2016, - 2017, 2021, 2028, 2031, 2034, 2037, 2041, 2044, 2050, 2054, - 2062, 2069, 2074, 2082, 2090, 2091, 2092, 2093, 2094, 2095, - 2096, 2097, 2098, 2099, 2103, 2106, 2112, 2115, 2121, 2122, - 2126, 2129, 2135, 2138, 2144, 2151, 2155, 2162, 2165, 2168, - 2174, 2181, 2184, 2187, 2194, 2199, 2207, 2208, 2209, 2210, - 2211, 2212, 2213, 2214, 2218, 2221, 2227, 2230, 2236, 2243, - 2244, 2248, 2255, 2258, 2264, 2272, 2275, 2281 + 413, 413, 413, 413, 414, 414, 414, 414, 414, 414, + 414, 414, 414, 414, 414, 414, 414, 414, 414, 414, + 414, 414, 414, 414, 414, 414, 415, 415, 415, 415, + 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, + 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, + 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, + 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, + 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, + 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, + 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, + 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, + 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, + 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, + 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, + 415, 415, 415, 415, 416, 416, 416, 416, 416, 416, + 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, + 420, 421, 424, 425, 428, 429, 430, 431, 437, 441, + 444, 447, 450, 456, 459, 462, 465, 468, 474, 480, + 483, 489, 512, 516, 520, 525, 529, 533, 537, 544, + 545, 549, 550, 554, 555, 556, 560, 561, 565, 566, + 570, 571, 572, 576, 577, 581, 586, 591, 596, 605, + 608, 611, 612, 618, 623, 631, 634, 638, 642, 649, + 653, 657, 661, 666, 677, 688, 693, 698, 702, 708, + 719, 722, 726, 734, 738, 744, 748, 755, 759, 763, + 770, 771, 772, 776, 790, 796, 799, 805, 808, 814, + 815, 823, 834, 843, 855, 856, 860, 870, 879, 891, + 892, 895, 901, 902, 906, 910, 914, 919, 924, 932, + 933, 934, 937, 943, 946, 949, 955, 956, 960, 963, + 966, 972, 975, 978, 986, 998, 1001, 1004, 1007, 1014, + 1017, 1027, 1030, 1033, 1036, 1037, 1038, 1042, 1045, 1048, + 1059, 1066, 1076, 1079, 1085, 1088, 1095, 1131, 1134, 1140, + 1143, 1149, 1155, 1156, 1157, 1158, 1159, 1160, 1164, 1168, + 1169, 1173, 1174, 1178, 1179, 1186, 1187, 1191, 1198, 1209, + 1216, 1224, 1248, 1277, 1284, 1295, 1341, 1382, 1397, 1400, + 1403, 1409, 1412, 1418, 1433, 1436, 1465, 1473, 1501, 1506, + 1514, 1524, 1534, 1537, 1541, 1547, 1561, 1578, 1581, 1587, + 1594, 1601, 1609, 1620, 1627, 1630, 1636, 1641, 1649, 1653, + 1657, 1661, 1665, 1669, 1676, 1680, 1684, 1688, 1692, 1696, + 1702, 1706, 1713, 1716, 1728, 1732, 1736, 1743, 1756, 1769, + 1782, 1785, 1792, 1793, 1797, 1800, 1803, 1806, 1812, 1816, + 1823, 1826, 1829, 1844, 1845, 1846, 1847, 1851, 1854, 1860, + 1861, 1867, 1870, 1876, 1877, 1881, 1882, 1892, 1895, 1902, + 1907, 1912, 1922, 1925, 1931, 1934, 1940, 1947, 1954, 1961, + 1962, 1966, 1967, 1968, 1969, 1970, 1974, 1975, 1976, 1977, + 1981, 1984, 1990, 1993, 1996, 1999, 2002, 2008, 2012, 2020, + 2021, 2025, 2032, 2035, 2038, 2041, 2045, 2048, 2054, 2058, + 2066, 2073, 2078, 2086, 2094, 2095, 2096, 2097, 2098, 2099, + 2100, 2101, 2102, 2103, 2107, 2110, 2116, 2119, 2125, 2126, + 2130, 2133, 2139, 2142, 2148, 2155, 2159, 2166, 2169, 2172, + 2178, 2185, 2188, 2191, 2198, 2203, 2211, 2212, 2213, 2214, + 2215, 2216, 2217, 2218, 2222, 2225, 2231, 2234, 2240, 2247, + 2248, 2252, 2259, 2262, 2268, 2276, 2279, 2285 }; #endif @@ -4484,126 +4488,126 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, switch (yyn) { case 287: -#line 427 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 431 "src/parser_proc_grammar.y" /* glr.c:821 */ { if ((*(struct psi_cpp_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) { psi_cpp_exp_exec((*(struct psi_cpp_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), P->preproc, PSI_DATA(P)); psi_cpp_exp_free(&(*(struct psi_cpp_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } } -#line 4495 "src/parser_proc.c" /* glr.c:821 */ +#line 4499 "src/parser_proc.c" /* glr.c:821 */ break; case 288: -#line 433 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 437 "src/parser_proc_grammar.y" /* glr.c:821 */ { char *libname = strdup((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text->val); P->file.libnames = psi_plist_add(P->file.libnames, &libname); } -#line 4504 "src/parser_proc.c" /* glr.c:821 */ +#line 4508 "src/parser_proc.c" /* glr.c:821 */ break; case 289: -#line 437 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 441 "src/parser_proc_grammar.y" /* glr.c:821 */ { psi_parser_proc_add_const(P, (*(struct psi_const **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4512 "src/parser_proc.c" /* glr.c:821 */ +#line 4516 "src/parser_proc.c" /* glr.c:821 */ break; case 290: -#line 440 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 444 "src/parser_proc_grammar.y" /* glr.c:821 */ { psi_parser_proc_add_decl(P, (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4520 "src/parser_proc.c" /* glr.c:821 */ +#line 4524 "src/parser_proc.c" /* glr.c:821 */ break; case 291: -#line 443 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 447 "src/parser_proc_grammar.y" /* glr.c:821 */ { psi_parser_proc_add_decl_extvars(P, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4528 "src/parser_proc.c" /* glr.c:821 */ +#line 4532 "src/parser_proc.c" /* glr.c:821 */ break; case 292: -#line 446 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 450 "src/parser_proc_grammar.y" /* glr.c:821 */ { if (P->flags & PSI_DEBUG) { P->error(PSI_DATA(P), (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token, PSI_NOTICE, "Ignored decl: %s", (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var->name->val); } psi_decl_free(&(*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4539 "src/parser_proc.c" /* glr.c:821 */ +#line 4543 "src/parser_proc.c" /* glr.c:821 */ break; case 293: -#line 452 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 456 "src/parser_proc_grammar.y" /* glr.c:821 */ { psi_parser_proc_add_typedef(P, (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4547 "src/parser_proc.c" /* glr.c:821 */ +#line 4551 "src/parser_proc.c" /* glr.c:821 */ break; case 294: -#line 455 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 459 "src/parser_proc_grammar.y" /* glr.c:821 */ { psi_parser_proc_add_struct(P, (*(struct psi_decl_struct **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4555 "src/parser_proc.c" /* glr.c:821 */ +#line 4559 "src/parser_proc.c" /* glr.c:821 */ break; case 295: -#line 458 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 462 "src/parser_proc_grammar.y" /* glr.c:821 */ { psi_parser_proc_add_union(P, (*(struct psi_decl_union **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4563 "src/parser_proc.c" /* glr.c:821 */ +#line 4567 "src/parser_proc.c" /* glr.c:821 */ break; case 296: -#line 461 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 465 "src/parser_proc_grammar.y" /* glr.c:821 */ { psi_parser_proc_add_enum(P, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4571 "src/parser_proc.c" /* glr.c:821 */ +#line 4575 "src/parser_proc.c" /* glr.c:821 */ break; case 297: -#line 464 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 468 "src/parser_proc_grammar.y" /* glr.c:821 */ { psi_parser_proc_add_impl(P, (*(struct psi_impl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4579 "src/parser_proc.c" /* glr.c:821 */ +#line 4583 "src/parser_proc.c" /* glr.c:821 */ break; case 298: -#line 470 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 474 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); } -#line 4587 "src/parser_proc.c" /* glr.c:821 */ +#line 4591 "src/parser_proc.c" /* glr.c:821 */ break; case 299: -#line 476 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 480 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_cpp_exp **)(&(*yyvalp))) = NULL; } -#line 4595 "src/parser_proc.c" /* glr.c:821 */ +#line 4599 "src/parser_proc.c" /* glr.c:821 */ break; case 300: -#line 479 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 483 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_cpp_exp **)(&(*yyvalp))) = (*(struct psi_cpp_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); } -#line 4603 "src/parser_proc.c" /* glr.c:821 */ +#line 4607 "src/parser_proc.c" /* glr.c:821 */ break; case 301: -#line 485 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 489 "src/parser_proc_grammar.y" /* glr.c:821 */ { if ((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) { struct psi_token *msg = NULL; @@ -4627,222 +4631,222 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, } (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 4631 "src/parser_proc.c" /* glr.c:821 */ +#line 4635 "src/parser_proc.c" /* glr.c:821 */ break; case 302: -#line 508 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 512 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)))); (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 4640 "src/parser_proc.c" /* glr.c:821 */ +#line 4644 "src/parser_proc.c" /* glr.c:821 */ break; case 303: -#line 512 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 516 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, NULL); (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4649 "src/parser_proc.c" /* glr.c:821 */ +#line 4653 "src/parser_proc.c" /* glr.c:821 */ break; case 304: -#line 516 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 520 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)))); (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 4659 "src/parser_proc.c" /* glr.c:821 */ +#line 4663 "src/parser_proc.c" /* glr.c:821 */ break; case 305: -#line 521 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 525 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, (*(struct psi_cpp_macro_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 4668 "src/parser_proc.c" /* glr.c:821 */ +#line 4672 "src/parser_proc.c" /* glr.c:821 */ break; case 306: -#line 525 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 529 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(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_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 4677 "src/parser_proc.c" /* glr.c:821 */ +#line 4681 "src/parser_proc.c" /* glr.c:821 */ break; case 307: -#line 529 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 533 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, NULL); (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4686 "src/parser_proc.c" /* glr.c:821 */ +#line 4690 "src/parser_proc.c" /* glr.c:821 */ break; case 308: -#line 533 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 537 "src/parser_proc_grammar.y" /* glr.c:821 */ { psi_plist_free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_cpp_exp **)(&(*yyvalp))) = NULL; } -#line 4695 "src/parser_proc.c" /* glr.c:821 */ +#line 4699 "src/parser_proc.c" /* glr.c:821 */ break; case 325: -#line 577 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 581 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_cpp_macro_decl **)(&(*yyvalp))) = psi_cpp_macro_decl_init(NULL, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), NULL); (*(struct psi_cpp_macro_decl **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 4705 "src/parser_proc.c" /* glr.c:821 */ +#line 4709 "src/parser_proc.c" /* glr.c:821 */ break; case 326: -#line 582 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 586 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_cpp_macro_decl **)(&(*yyvalp))) = psi_cpp_macro_decl_init((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), NULL); (*(struct psi_cpp_macro_decl **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))); } -#line 4715 "src/parser_proc.c" /* glr.c:821 */ +#line 4719 "src/parser_proc.c" /* glr.c:821 */ break; case 327: -#line 587 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 591 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_cpp_macro_decl **)(&(*yyvalp))) = psi_cpp_macro_decl_init(NULL, psi_num_exp_tokens((*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), NULL), (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_cpp_macro_decl **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 4725 "src/parser_proc.c" /* glr.c:821 */ +#line 4729 "src/parser_proc.c" /* glr.c:821 */ break; case 328: -#line 592 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 596 "src/parser_proc_grammar.y" /* glr.c:821 */ { struct psi_plist *list = psi_plist_init((psi_plist_dtor) psi_token_free); (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_cpp_macro_decl **)(&(*yyvalp))) = psi_cpp_macro_decl_init(NULL, psi_plist_add(list, &(*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))), NULL); (*(struct psi_cpp_macro_decl **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 4736 "src/parser_proc.c" /* glr.c:821 */ +#line 4740 "src/parser_proc.c" /* glr.c:821 */ break; case 329: -#line 601 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 605 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_init(NULL); } -#line 4744 "src/parser_proc.c" /* glr.c:821 */ +#line 4748 "src/parser_proc.c" /* glr.c:821 */ break; case 330: -#line 604 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 608 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_init(NULL); /* FIXME */ } -#line 4752 "src/parser_proc.c" /* glr.c:821 */ +#line 4756 "src/parser_proc.c" /* glr.c:821 */ break; case 332: -#line 608 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 612 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)); } -#line 4760 "src/parser_proc.c" /* glr.c:821 */ +#line 4764 "src/parser_proc.c" /* glr.c:821 */ break; case 333: -#line 614 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 618 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_token_free), &(*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4770 "src/parser_proc.c" /* glr.c:821 */ +#line 4774 "src/parser_proc.c" /* glr.c:821 */ break; case 334: -#line 619 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 623 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), &(*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4780 "src/parser_proc.c" /* glr.c:821 */ +#line 4784 "src/parser_proc.c" /* glr.c:821 */ break; case 335: -#line 627 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 631 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 4788 "src/parser_proc.c" /* glr.c:821 */ +#line 4792 "src/parser_proc.c" /* glr.c:821 */ break; case 337: -#line 634 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 638 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_token_free), &(*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4797 "src/parser_proc.c" /* glr.c:821 */ +#line 4801 "src/parser_proc.c" /* glr.c:821 */ break; case 338: -#line 638 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 642 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(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 4806 "src/parser_proc.c" /* glr.c:821 */ +#line 4810 "src/parser_proc.c" /* glr.c:821 */ break; case 339: -#line 645 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 649 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_unary((*(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_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))); } -#line 4815 "src/parser_proc.c" /* glr.c:821 */ +#line 4819 "src/parser_proc.c" /* glr.c:821 */ break; case 340: -#line 649 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 653 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 4824 "src/parser_proc.c" /* glr.c:821 */ +#line 4828 "src/parser_proc.c" /* glr.c:821 */ break; case 341: -#line 653 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 657 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 4833 "src/parser_proc.c" /* glr.c:821 */ +#line 4837 "src/parser_proc.c" /* glr.c:821 */ break; case 342: -#line 657 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 661 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 4842 "src/parser_proc.c" /* glr.c:821 */ +#line 4846 "src/parser_proc.c" /* glr.c:821 */ break; case 343: -#line 662 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 666 "src/parser_proc_grammar.y" /* glr.c:821 */ { { uint8_t exists; @@ -4854,11 +4858,11 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } } -#line 4858 "src/parser_proc.c" /* glr.c:821 */ +#line 4862 "src/parser_proc.c" /* glr.c:821 */ break; case 344: -#line 673 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 677 "src/parser_proc_grammar.y" /* glr.c:821 */ { { uint8_t exists; @@ -4870,51 +4874,51 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } } -#line 4874 "src/parser_proc.c" /* glr.c:821 */ +#line 4878 "src/parser_proc.c" /* glr.c:821 */ break; case 345: -#line 684 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 688 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num(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_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4884 "src/parser_proc.c" /* glr.c:821 */ +#line 4888 "src/parser_proc.c" /* glr.c:821 */ break; case 346: -#line 689 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 693 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num(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_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4894 "src/parser_proc.c" /* glr.c:821 */ +#line 4898 "src/parser_proc.c" /* glr.c:821 */ break; case 347: -#line 694 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 698 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 4903 "src/parser_proc.c" /* glr.c:821 */ +#line 4907 "src/parser_proc.c" /* glr.c:821 */ break; case 348: -#line 698 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 702 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num(psi_number_init(PSI_T_DEFINE, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, 0)); (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4914 "src/parser_proc.c" /* glr.c:821 */ +#line 4918 "src/parser_proc.c" /* glr.c:821 */ break; case 349: -#line 704 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 708 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION, @@ -4923,19 +4927,19 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))); (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->data.call->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))); } -#line 4927 "src/parser_proc.c" /* glr.c:821 */ +#line 4931 "src/parser_proc.c" /* glr.c:821 */ break; case 350: -#line 715 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 719 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 4935 "src/parser_proc.c" /* glr.c:821 */ +#line 4939 "src/parser_proc.c" /* glr.c:821 */ break; case 352: -#line 722 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 726 "src/parser_proc_grammar.y" /* glr.c:821 */ { /* TODO: clang include test macros */ uint8_t no = 1; @@ -4944,121 +4948,121 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, exp->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_num_exp_free), &exp); } -#line 4948 "src/parser_proc.c" /* glr.c:821 */ +#line 4952 "src/parser_proc.c" /* glr.c:821 */ break; case 353: -#line 730 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 734 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_num_exp_free), &(*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4957 "src/parser_proc.c" /* glr.c:821 */ +#line 4961 "src/parser_proc.c" /* glr.c:821 */ break; case 354: -#line 734 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 738 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), &(*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 4965 "src/parser_proc.c" /* glr.c:821 */ +#line 4969 "src/parser_proc.c" /* glr.c:821 */ break; case 355: -#line 740 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 744 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_const **)(&(*yyvalp))) = psi_const_init((*(struct psi_impl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)), (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text, (*(struct psi_impl_def_val **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_const **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))); } -#line 4974 "src/parser_proc.c" /* glr.c:821 */ +#line 4978 "src/parser_proc.c" /* glr.c:821 */ break; case 356: -#line 744 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 748 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_const **)(&(*yyvalp))) = psi_const_init(NULL, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text, (*(struct psi_impl_def_val **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); (*(struct psi_const **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))); } -#line 4983 "src/parser_proc.c" /* glr.c:821 */ +#line 4987 "src/parser_proc.c" /* glr.c:821 */ break; case 357: -#line 751 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 755 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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))); } -#line 4992 "src/parser_proc.c" /* glr.c:821 */ +#line 4996 "src/parser_proc.c" /* glr.c:821 */ break; case 358: -#line 755 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 759 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_impl_def_val **)(&(*yyvalp))) = psi_impl_def_val_init(PSI_T_NUMBER, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_impl_def_val **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token); } -#line 5001 "src/parser_proc.c" /* glr.c:821 */ +#line 5005 "src/parser_proc.c" /* glr.c:821 */ break; case 359: -#line 759 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 763 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 5010 "src/parser_proc.c" /* glr.c:821 */ +#line 5014 "src/parser_proc.c" /* glr.c:821 */ break; case 363: -#line 772 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 776 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); } -#line 5018 "src/parser_proc.c" /* glr.c:821 */ +#line 5022 "src/parser_proc.c" /* glr.c:821 */ break; case 364: -#line 786 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 790 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); } -#line 5026 "src/parser_proc.c" /* glr.c:821 */ +#line 5030 "src/parser_proc.c" /* glr.c:821 */ break; case 365: -#line 792 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 796 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 5034 "src/parser_proc.c" /* glr.c:821 */ +#line 5038 "src/parser_proc.c" /* glr.c:821 */ break; case 366: -#line 795 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 799 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 5042 "src/parser_proc.c" /* glr.c:821 */ +#line 5046 "src/parser_proc.c" /* glr.c:821 */ break; case 367: -#line 801 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 805 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 5050 "src/parser_proc.c" /* glr.c:821 */ +#line 5054 "src/parser_proc.c" /* glr.c:821 */ break; case 368: -#line 804 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 808 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 5058 "src/parser_proc.c" /* glr.c:821 */ +#line 5062 "src/parser_proc.c" /* glr.c:821 */ break; case 370: -#line 811 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 815 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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), @@ -5067,11 +5071,11 @@ yyuserAction (yyRuleNum yyn, int 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 5071 "src/parser_proc.c" /* glr.c:821 */ +#line 5075 "src/parser_proc.c" /* glr.c:821 */ break; case 371: -#line 819 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 823 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init( @@ -5083,11 +5087,11 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.enm = (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); psi_parser_proc_add_enum(P, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 5087 "src/parser_proc.c" /* glr.c:821 */ +#line 5091 "src/parser_proc.c" /* glr.c:821 */ break; case 372: -#line 830 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 834 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(psi_decl_type_init(PSI_T_STRUCT, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text), (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)); @@ -5097,11 +5101,11 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)).len; psi_parser_proc_add_struct(P, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct); } -#line 5101 "src/parser_proc.c" /* glr.c:821 */ +#line 5105 "src/parser_proc.c" /* glr.c:821 */ break; case 373: -#line 839 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 843 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(psi_decl_type_init(PSI_T_UNION, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text), (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)); @@ -5111,20 +5115,20 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)).len; psi_parser_proc_add_union(P, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn); } -#line 5115 "src/parser_proc.c" /* glr.c:821 */ +#line 5119 "src/parser_proc.c" /* glr.c:821 */ break; case 375: -#line 852 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 856 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init((*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), psi_decl_var_init(NULL, 0, 0)); (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token); } -#line 5124 "src/parser_proc.c" /* glr.c:821 */ +#line 5128 "src/parser_proc.c" /* glr.c:821 */ break; case 376: -#line 856 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 860 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init( psi_decl_type_init(PSI_T_ENUM, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->name), @@ -5135,11 +5139,11 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.enm = (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); psi_parser_proc_add_enum(P, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5139 "src/parser_proc.c" /* glr.c:821 */ +#line 5143 "src/parser_proc.c" /* glr.c:821 */ break; case 377: -#line 866 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 870 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(psi_decl_type_init(PSI_T_STRUCT, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->text), psi_decl_var_init(NULL, 0, 0)); (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)); @@ -5149,11 +5153,11 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len; psi_parser_proc_add_struct(P, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct); } -#line 5153 "src/parser_proc.c" /* glr.c:821 */ +#line 5157 "src/parser_proc.c" /* glr.c:821 */ break; case 378: -#line 875 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 879 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(psi_decl_type_init(PSI_T_UNION, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->text), psi_decl_var_init(NULL, 0, 0)); (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)); @@ -5163,146 +5167,146 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len; psi_parser_proc_add_union(P, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn); } -#line 5167 "src/parser_proc.c" /* glr.c:821 */ +#line 5171 "src/parser_proc.c" /* glr.c:821 */ break; case 380: -#line 888 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 892 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_decl_type **)(&(*yyvalp))) = (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 5175 "src/parser_proc.c" /* glr.c:821 */ +#line 5179 "src/parser_proc.c" /* glr.c:821 */ break; case 381: -#line 891 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 895 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_decl_type **)(&(*yyvalp))) = (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); } -#line 5183 "src/parser_proc.c" /* glr.c:821 */ +#line 5187 "src/parser_proc.c" /* glr.c:821 */ break; case 384: -#line 902 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 906 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_decl_type **)(&(*yyvalp))) = psi_decl_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_decl_type **)(&(*yyvalp)))->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 5192 "src/parser_proc.c" /* glr.c:821 */ +#line 5196 "src/parser_proc.c" /* glr.c:821 */ break; case 386: -#line 910 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 914 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_decl_type **)(&(*yyvalp))) = psi_decl_type_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text); (*(struct psi_decl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5202 "src/parser_proc.c" /* glr.c:821 */ +#line 5206 "src/parser_proc.c" /* glr.c:821 */ break; case 387: -#line 915 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 919 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_decl_type **)(&(*yyvalp))) = psi_decl_type_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text); (*(struct psi_decl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5212 "src/parser_proc.c" /* glr.c:821 */ +#line 5216 "src/parser_proc.c" /* glr.c:821 */ break; case 388: -#line 920 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 924 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME; (*(struct psi_decl_type **)(&(*yyvalp))) = psi_decl_type_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text); (*(struct psi_decl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5222 "src/parser_proc.c" /* glr.c:821 */ +#line 5226 "src/parser_proc.c" /* glr.c:821 */ break; case 391: -#line 930 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 934 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5230 "src/parser_proc.c" /* glr.c:821 */ +#line 5234 "src/parser_proc.c" /* glr.c:821 */ break; case 392: -#line 933 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 937 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5238 "src/parser_proc.c" /* glr.c:821 */ +#line 5242 "src/parser_proc.c" /* glr.c:821 */ break; case 393: -#line 939 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 943 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5246 "src/parser_proc.c" /* glr.c:821 */ +#line 5250 "src/parser_proc.c" /* glr.c:821 */ break; case 394: -#line 942 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 946 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5254 "src/parser_proc.c" /* glr.c:821 */ +#line 5258 "src/parser_proc.c" /* glr.c:821 */ break; case 395: -#line 945 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 949 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_cat(" ", 2, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5262 "src/parser_proc.c" /* glr.c:821 */ +#line 5266 "src/parser_proc.c" /* glr.c:821 */ break; case 398: -#line 956 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 960 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5270 "src/parser_proc.c" /* glr.c:821 */ +#line 5274 "src/parser_proc.c" /* glr.c:821 */ break; case 399: -#line 959 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 963 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5278 "src/parser_proc.c" /* glr.c:821 */ +#line 5282 "src/parser_proc.c" /* glr.c:821 */ break; case 400: -#line 962 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 966 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_cat(" ", 2, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5286 "src/parser_proc.c" /* glr.c:821 */ +#line 5290 "src/parser_proc.c" /* glr.c:821 */ break; case 401: -#line 968 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 972 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5294 "src/parser_proc.c" /* glr.c:821 */ +#line 5298 "src/parser_proc.c" /* glr.c:821 */ break; case 402: -#line 971 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 975 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5302 "src/parser_proc.c" /* glr.c:821 */ +#line 5306 "src/parser_proc.c" /* glr.c:821 */ break; case 403: -#line 974 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 978 "src/parser_proc_grammar.y" /* glr.c:821 */ { if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) { (*(struct psi_token **)(&(*yyvalp))) = psi_token_cat(" ", 2, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); @@ -5311,11 +5315,11 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } } -#line 5315 "src/parser_proc.c" /* glr.c:821 */ +#line 5319 "src/parser_proc.c" /* glr.c:821 */ break; case 404: -#line 982 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 986 "src/parser_proc_grammar.y" /* glr.c:821 */ { if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) { (*(struct psi_token **)(&(*yyvalp))) = psi_token_cat(" ", 2, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); @@ -5325,35 +5329,35 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); } } -#line 5329 "src/parser_proc.c" /* glr.c:821 */ +#line 5333 "src/parser_proc.c" /* glr.c:821 */ break; case 405: -#line 994 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 998 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = NULL; } -#line 5337 "src/parser_proc.c" /* glr.c:821 */ +#line 5341 "src/parser_proc.c" /* glr.c:821 */ break; case 406: -#line 997 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1001 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5345 "src/parser_proc.c" /* glr.c:821 */ +#line 5349 "src/parser_proc.c" /* glr.c:821 */ break; case 407: -#line 1000 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1004 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5353 "src/parser_proc.c" /* glr.c:821 */ +#line 5357 "src/parser_proc.c" /* glr.c:821 */ break; case 408: -#line 1003 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1007 "src/parser_proc_grammar.y" /* glr.c:821 */ { if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) { (*(struct psi_token **)(&(*yyvalp))) = psi_token_cat(" ", 2, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); @@ -5361,19 +5365,19 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } } -#line 5365 "src/parser_proc.c" /* glr.c:821 */ +#line 5369 "src/parser_proc.c" /* glr.c:821 */ break; case 409: -#line 1010 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1014 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5373 "src/parser_proc.c" /* glr.c:821 */ +#line 5377 "src/parser_proc.c" /* glr.c:821 */ break; case 410: -#line 1013 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1017 "src/parser_proc_grammar.y" /* glr.c:821 */ { if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) { (*(struct psi_token **)(&(*yyvalp))) = psi_token_cat(" ", 2, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); @@ -5381,43 +5385,43 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } } -#line 5385 "src/parser_proc.c" /* glr.c:821 */ +#line 5389 "src/parser_proc.c" /* glr.c:821 */ break; case 411: -#line 1023 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1027 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = NULL; } -#line 5393 "src/parser_proc.c" /* glr.c:821 */ +#line 5397 "src/parser_proc.c" /* glr.c:821 */ break; case 413: -#line 1029 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1033 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = NULL; } -#line 5401 "src/parser_proc.c" /* glr.c:821 */ +#line 5405 "src/parser_proc.c" /* glr.c:821 */ break; case 417: -#line 1038 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1042 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = NULL; } -#line 5409 "src/parser_proc.c" /* glr.c:821 */ +#line 5413 "src/parser_proc.c" /* glr.c:821 */ break; case 418: -#line 1041 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1045 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5417 "src/parser_proc.c" /* glr.c:821 */ +#line 5421 "src/parser_proc.c" /* glr.c:821 */ break; case 419: -#line 1044 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1048 "src/parser_proc_grammar.y" /* glr.c:821 */ { if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) { (*(struct psi_token **)(&(*yyvalp))) = psi_token_cat(" ", 2, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); @@ -5426,11 +5430,11 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } } -#line 5430 "src/parser_proc.c" /* glr.c:821 */ +#line 5434 "src/parser_proc.c" /* glr.c:821 */ break; case 420: -#line 1055 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1059 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)); if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) { @@ -5438,11 +5442,11 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, psi_token_free(&(*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } } -#line 5442 "src/parser_proc.c" /* glr.c:821 */ +#line 5446 "src/parser_proc.c" /* glr.c:821 */ break; case 421: -#line 1062 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1066 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)); if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) { @@ -5450,44 +5454,44 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, psi_token_free(&(*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } } -#line 5454 "src/parser_proc.c" /* glr.c:821 */ +#line 5458 "src/parser_proc.c" /* glr.c:821 */ break; case 422: -#line 1072 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1076 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = NULL; } -#line 5462 "src/parser_proc.c" /* glr.c:821 */ +#line 5466 "src/parser_proc.c" /* glr.c:821 */ break; case 423: -#line 1075 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1079 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); } -#line 5470 "src/parser_proc.c" /* glr.c:821 */ +#line 5474 "src/parser_proc.c" /* glr.c:821 */ break; case 424: -#line 1081 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1085 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5478 "src/parser_proc.c" /* glr.c:821 */ +#line 5482 "src/parser_proc.c" /* glr.c:821 */ break; case 425: -#line 1084 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1088 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = psi_token_cat("", 2, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); psi_token_free(&(*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } -#line 5487 "src/parser_proc.c" /* glr.c:821 */ +#line 5491 "src/parser_proc.c" /* glr.c:821 */ break; case 426: -#line 1091 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1095 "src/parser_proc_grammar.y" /* glr.c:821 */ { struct psi_plist *list = psi_plist_init((psi_plist_dtor) psi_decl_extvar_free); @@ -5521,60 +5525,60 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_plist **)(&(*yyvalp))) = list; } -#line 5525 "src/parser_proc.c" /* glr.c:821 */ +#line 5529 "src/parser_proc.c" /* glr.c:821 */ break; case 427: -#line 1127 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1131 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 5533 "src/parser_proc.c" /* glr.c:821 */ +#line 5537 "src/parser_proc.c" /* glr.c:821 */ break; case 428: -#line 1130 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1134 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 5541 "src/parser_proc.c" /* glr.c:821 */ +#line 5545 "src/parser_proc.c" /* glr.c:821 */ break; case 429: -#line 1136 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1140 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_decl_var_free), &(*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5549 "src/parser_proc.c" /* glr.c:821 */ +#line 5553 "src/parser_proc.c" /* glr.c:821 */ break; case 430: -#line 1139 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1143 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), &(*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))); } -#line 5557 "src/parser_proc.c" /* glr.c:821 */ +#line 5561 "src/parser_proc.c" /* glr.c:821 */ break; case 431: -#line 1145 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1149 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); } -#line 5565 "src/parser_proc.c" /* glr.c:821 */ +#line 5569 "src/parser_proc.c" /* glr.c:821 */ break; case 444: -#line 1175 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1179 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); (*(struct psi_decl **)(&(*yyvalp)))->abi = psi_decl_abi_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text); } -#line 5574 "src/parser_proc.c" /* glr.c:821 */ +#line 5578 "src/parser_proc.c" /* glr.c:821 */ break; case 447: -#line 1187 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1191 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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))) { @@ -5582,11 +5586,11 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } } -#line 5586 "src/parser_proc.c" /* glr.c:821 */ +#line 5590 "src/parser_proc.c" /* glr.c:821 */ break; case 448: -#line 1194 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1198 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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; @@ -5595,11 +5599,11 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } } -#line 5599 "src/parser_proc.c" /* glr.c:821 */ +#line 5603 "src/parser_proc.c" /* glr.c:821 */ break; case 449: -#line 1205 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1209 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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))) { @@ -5607,11 +5611,11 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } } -#line 5611 "src/parser_proc.c" /* glr.c:821 */ +#line 5615 "src/parser_proc.c" /* glr.c:821 */ break; case 450: -#line 1212 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1216 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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; @@ -5620,11 +5624,11 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } } -#line 5624 "src/parser_proc.c" /* glr.c:821 */ +#line 5628 "src/parser_proc.c" /* glr.c:821 */ break; case 451: -#line 1220 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1224 "src/parser_proc_grammar.y" /* glr.c:821 */ { (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].yystate.yysemantics.yysval)); (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval))->type = PSI_T_NAME; @@ -5649,11 +5653,11 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl **)(&(*yyvalp))) = psi_decl_init(func, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval))); } -#line 5653 "src/parser_proc.c" /* glr.c:821 */ +#line 5657 "src/parser_proc.c" /* glr.c:821 */ break; case 452: -#line 1244 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1248 "src/parser_proc_grammar.y" /* glr.c:821 */ { (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-12)].yystate.yysemantics.yysval)); (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-10)].yystate.yysemantics.yysval)); @@ -5680,11 +5684,11 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl **)(&(*yyvalp))) = psi_decl_init(func, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval))); } -#line 5684 "src/parser_proc.c" /* glr.c:821 */ +#line 5688 "src/parser_proc.c" /* glr.c:821 */ break; case 453: -#line 1273 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1277 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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))) { @@ -5692,11 +5696,11 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } } -#line 5696 "src/parser_proc.c" /* glr.c:821 */ +#line 5700 "src/parser_proc.c" /* glr.c:821 */ break; case 454: -#line 1280 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1284 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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; @@ -5705,11 +5709,11 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } } -#line 5709 "src/parser_proc.c" /* glr.c:821 */ +#line 5713 "src/parser_proc.c" /* glr.c:821 */ break; case 455: -#line 1291 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1295 "src/parser_proc_grammar.y" /* glr.c:821 */ { (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; @@ -5717,62 +5721,62 @@ yyuserAction (yyRuleNum yyn, int 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 5721 "src/parser_proc.c" /* glr.c:821 */ +#line 5725 "src/parser_proc.c" /* glr.c:821 */ break; case 456: -#line 1337 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1341 "src/parser_proc_grammar.y" /* glr.c:821 */ { (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 5732 "src/parser_proc.c" /* glr.c:821 */ +#line 5736 "src/parser_proc.c" /* glr.c:821 */ break; case 458: -#line 1393 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1397 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 5740 "src/parser_proc.c" /* glr.c:821 */ +#line 5744 "src/parser_proc.c" /* glr.c:821 */ break; case 459: -#line 1396 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1400 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 5748 "src/parser_proc.c" /* glr.c:821 */ +#line 5752 "src/parser_proc.c" /* glr.c:821 */ break; case 460: -#line 1399 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1403 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 5756 "src/parser_proc.c" /* glr.c:821 */ +#line 5760 "src/parser_proc.c" /* glr.c:821 */ break; case 461: -#line 1405 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1409 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 5764 "src/parser_proc.c" /* glr.c:821 */ +#line 5768 "src/parser_proc.c" /* glr.c:821 */ break; case 462: -#line 1408 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1412 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 5772 "src/parser_proc.c" /* glr.c:821 */ +#line 5776 "src/parser_proc.c" /* glr.c:821 */ break; case 463: -#line 1414 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1418 "src/parser_proc_grammar.y" /* glr.c:821 */ { char digest[17]; struct psi_token *name; @@ -5788,30 +5792,30 @@ yyuserAction (yyRuleNum yyn, int 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 5792 "src/parser_proc.c" /* glr.c:821 */ +#line 5796 "src/parser_proc.c" /* glr.c:821 */ break; case 464: -#line 1429 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1433 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 5800 "src/parser_proc.c" /* glr.c:821 */ +#line 5804 "src/parser_proc.c" /* glr.c:821 */ break; case 465: -#line 1432 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1436 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init( (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), psi_decl_var_init(NULL, (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) ); } -#line 5811 "src/parser_proc.c" /* glr.c:821 */ +#line 5815 "src/parser_proc.c" /* glr.c:821 */ break; case 466: -#line 1461 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1465 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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), @@ -5820,39 +5824,39 @@ yyuserAction (yyRuleNum yyn, int 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 5824 "src/parser_proc.c" /* glr.c:821 */ +#line 5828 "src/parser_proc.c" /* glr.c:821 */ break; case 467: -#line 1469 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1473 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 5832 "src/parser_proc.c" /* glr.c:821 */ +#line 5836 "src/parser_proc.c" /* glr.c:821 */ break; case 468: -#line 1497 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1501 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 5842 "src/parser_proc.c" /* glr.c:821 */ +#line 5846 "src/parser_proc.c" /* glr.c:821 */ break; case 469: -#line 1502 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1506 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 5852 "src/parser_proc.c" /* glr.c:821 */ +#line 5856 "src/parser_proc.c" /* glr.c:821 */ break; case 470: -#line 1510 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1514 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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))); @@ -5860,11 +5864,11 @@ yyuserAction (yyRuleNum yyn, int 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 5864 "src/parser_proc.c" /* glr.c:821 */ +#line 5868 "src/parser_proc.c" /* glr.c:821 */ break; case 471: -#line 1520 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1524 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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))); @@ -5872,27 +5876,27 @@ yyuserAction (yyRuleNum yyn, int 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 5876 "src/parser_proc.c" /* glr.c:821 */ +#line 5880 "src/parser_proc.c" /* glr.c:821 */ break; case 472: -#line 1530 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1534 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 5884 "src/parser_proc.c" /* glr.c:821 */ +#line 5888 "src/parser_proc.c" /* glr.c:821 */ break; case 474: -#line 1537 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1541 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); } -#line 5892 "src/parser_proc.c" /* glr.c:821 */ +#line 5896 "src/parser_proc.c" /* glr.c:821 */ break; case 475: -#line 1543 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1547 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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))); @@ -5907,11 +5911,11 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } } -#line 5911 "src/parser_proc.c" /* glr.c:821 */ +#line 5915 "src/parser_proc.c" /* glr.c:821 */ break; case 476: -#line 1557 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1561 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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))); @@ -5926,27 +5930,27 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); } } -#line 5930 "src/parser_proc.c" /* glr.c:821 */ +#line 5934 "src/parser_proc.c" /* glr.c:821 */ break; case 477: -#line 1574 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1578 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 5938 "src/parser_proc.c" /* glr.c:821 */ +#line 5942 "src/parser_proc.c" /* glr.c:821 */ break; case 478: -#line 1577 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1581 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 5946 "src/parser_proc.c" /* glr.c:821 */ +#line 5950 "src/parser_proc.c" /* glr.c:821 */ break; case 479: -#line 1583 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1587 "src/parser_proc_grammar.y" /* glr.c:821 */ { { struct psi_decl_arg *arg = psi_decl_arg_init(NULL, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); @@ -5954,11 +5958,11 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_decl_arg_free), &arg); } } -#line 5958 "src/parser_proc.c" /* glr.c:821 */ +#line 5962 "src/parser_proc.c" /* glr.c:821 */ break; case 480: -#line 1590 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1594 "src/parser_proc_grammar.y" /* glr.c:821 */ { { struct psi_decl_arg *arg = psi_decl_arg_init(NULL, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))); @@ -5966,11 +5970,11 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)), &arg); } } -#line 5970 "src/parser_proc.c" /* glr.c:821 */ +#line 5974 "src/parser_proc.c" /* glr.c:821 */ break; case 481: -#line 1597 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1601 "src/parser_proc_grammar.y" /* glr.c:821 */ { { struct psi_decl_var *var = psi_decl_var_init(NULL, 0, 0); @@ -5979,11 +5983,11 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_decl_arg_free), &arg); } } -#line 5983 "src/parser_proc.c" /* glr.c:821 */ +#line 5987 "src/parser_proc.c" /* glr.c:821 */ break; case 482: -#line 1605 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1609 "src/parser_proc_grammar.y" /* glr.c:821 */ { { struct psi_decl_var *var = psi_decl_var_init(NULL, 0, 0); @@ -5992,189 +5996,189 @@ yyuserAction (yyRuleNum yyn, int yyrhslen, yyGLRStackItem* yyvsp, (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)), &arg); } } -#line 5996 "src/parser_proc.c" /* glr.c:821 */ +#line 6000 "src/parser_proc.c" /* glr.c:821 */ break; case 483: -#line 1616 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1620 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6005 "src/parser_proc.c" /* glr.c:821 */ +#line 6009 "src/parser_proc.c" /* glr.c:821 */ break; case 484: -#line 1623 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1627 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6013 "src/parser_proc.c" /* glr.c:821 */ +#line 6017 "src/parser_proc.c" /* glr.c:821 */ break; case 485: -#line 1626 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1630 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6021 "src/parser_proc.c" /* glr.c:821 */ +#line 6025 "src/parser_proc.c" /* glr.c:821 */ break; case 486: -#line 1632 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1636 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6031 "src/parser_proc.c" /* glr.c:821 */ +#line 6035 "src/parser_proc.c" /* glr.c:821 */ break; case 487: -#line 1637 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1641 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6041 "src/parser_proc.c" /* glr.c:821 */ +#line 6045 "src/parser_proc.c" /* glr.c:821 */ break; case 488: -#line 1645 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1649 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6050 "src/parser_proc.c" /* glr.c:821 */ +#line 6054 "src/parser_proc.c" /* glr.c:821 */ break; case 489: -#line 1649 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1653 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6059 "src/parser_proc.c" /* glr.c:821 */ +#line 6063 "src/parser_proc.c" /* glr.c:821 */ break; case 490: -#line 1653 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1657 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6068 "src/parser_proc.c" /* glr.c:821 */ +#line 6072 "src/parser_proc.c" /* glr.c:821 */ break; case 491: -#line 1657 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1661 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6077 "src/parser_proc.c" /* glr.c:821 */ +#line 6081 "src/parser_proc.c" /* glr.c:821 */ break; case 492: -#line 1661 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1665 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6086 "src/parser_proc.c" /* glr.c:821 */ +#line 6090 "src/parser_proc.c" /* glr.c:821 */ break; case 493: -#line 1665 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1669 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6095 "src/parser_proc.c" /* glr.c:821 */ +#line 6099 "src/parser_proc.c" /* glr.c:821 */ break; case 494: -#line 1672 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1676 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6104 "src/parser_proc.c" /* glr.c:821 */ +#line 6108 "src/parser_proc.c" /* glr.c:821 */ break; case 495: -#line 1676 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1680 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6113 "src/parser_proc.c" /* glr.c:821 */ +#line 6117 "src/parser_proc.c" /* glr.c:821 */ break; case 496: -#line 1680 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1684 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6122 "src/parser_proc.c" /* glr.c:821 */ +#line 6126 "src/parser_proc.c" /* glr.c:821 */ break; case 497: -#line 1684 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1688 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6131 "src/parser_proc.c" /* glr.c:821 */ +#line 6135 "src/parser_proc.c" /* glr.c:821 */ break; case 498: -#line 1688 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1692 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6140 "src/parser_proc.c" /* glr.c:821 */ +#line 6144 "src/parser_proc.c" /* glr.c:821 */ break; case 499: -#line 1692 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1696 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 6148 "src/parser_proc.c" /* glr.c:821 */ +#line 6152 "src/parser_proc.c" /* glr.c:821 */ break; case 500: -#line 1698 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1702 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6157 "src/parser_proc.c" /* glr.c:821 */ +#line 6161 "src/parser_proc.c" /* glr.c:821 */ break; case 501: -#line 1702 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1706 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6166 "src/parser_proc.c" /* glr.c:821 */ +#line 6170 "src/parser_proc.c" /* glr.c:821 */ break; case 502: -#line 1709 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1713 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 6174 "src/parser_proc.c" /* glr.c:821 */ +#line 6178 "src/parser_proc.c" /* glr.c:821 */ break; case 503: -#line 1712 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1716 "src/parser_proc_grammar.y" /* glr.c:821 */ { if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) { int8_t sizeof_void_p = sizeof(void *); @@ -6184,38 +6188,38 @@ yyuserAction (yyRuleNum yyn, int 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 6188 "src/parser_proc.c" /* glr.c:821 */ +#line 6192 "src/parser_proc.c" /* glr.c:821 */ break; case 504: -#line 1724 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1728 "src/parser_proc_grammar.y" /* glr.c:821 */ { int8_t sizeof_void_p = sizeof(void *); (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_INT8, &sizeof_void_p, 0); } -#line 6197 "src/parser_proc.c" /* glr.c:821 */ +#line 6201 "src/parser_proc.c" /* glr.c:821 */ break; case 505: -#line 1728 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1732 "src/parser_proc_grammar.y" /* glr.c:821 */ { int8_t sizeof_a = sizeof('a'); (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_INT8, &sizeof_a, 0); } -#line 6206 "src/parser_proc.c" /* glr.c:821 */ +#line 6210 "src/parser_proc.c" /* glr.c:821 */ break; case 506: -#line 1732 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1736 "src/parser_proc_grammar.y" /* glr.c:821 */ { uint64_t len = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text->len + 1; (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_UINT64, &len, 0); } -#line 6215 "src/parser_proc.c" /* glr.c:821 */ +#line 6219 "src/parser_proc.c" /* glr.c:821 */ break; case 507: -#line 1739 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1743 "src/parser_proc_grammar.y" /* glr.c:821 */ { 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))); @@ -6226,11 +6230,11 @@ yyuserAction (yyRuleNum yyn, int 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 6230 "src/parser_proc.c" /* glr.c:821 */ +#line 6234 "src/parser_proc.c" /* glr.c:821 */ break; case 508: -#line 1752 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1756 "src/parser_proc_grammar.y" /* glr.c:821 */ { 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))); @@ -6241,11 +6245,11 @@ yyuserAction (yyRuleNum yyn, int 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 6245 "src/parser_proc.c" /* glr.c:821 */ +#line 6249 "src/parser_proc.c" /* glr.c:821 */ break; case 509: -#line 1765 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1769 "src/parser_proc_grammar.y" /* glr.c:821 */ { 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))); @@ -6256,94 +6260,94 @@ yyuserAction (yyRuleNum yyn, int 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 6260 "src/parser_proc.c" /* glr.c:821 */ +#line 6264 "src/parser_proc.c" /* glr.c:821 */ break; case 510: -#line 1778 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1782 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = NULL; } -#line 6268 "src/parser_proc.c" /* glr.c:821 */ +#line 6272 "src/parser_proc.c" /* glr.c:821 */ break; case 511: -#line 1781 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1785 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); (*(struct psi_token **)(&(*yyvalp)))->type = PSI_T_NAME; } -#line 6277 "src/parser_proc.c" /* glr.c:821 */ +#line 6281 "src/parser_proc.c" /* glr.c:821 */ break; case 514: -#line 1793 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1797 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_layout **)(&(*yyvalp))) = NULL; } -#line 6285 "src/parser_proc.c" /* glr.c:821 */ +#line 6289 "src/parser_proc.c" /* glr.c:821 */ break; case 515: -#line 1796 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1800 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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->val), NULL)); } -#line 6293 "src/parser_proc.c" /* glr.c:821 */ +#line 6297 "src/parser_proc.c" /* glr.c:821 */ break; case 516: -#line 1799 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1803 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_layout **)(&(*yyvalp))) = psi_layout_init(atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text->val), atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text->val), NULL); } -#line 6301 "src/parser_proc.c" /* glr.c:821 */ +#line 6305 "src/parser_proc.c" /* glr.c:821 */ break; case 517: -#line 1802 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1806 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_layout **)(&(*yyvalp))) = psi_layout_init(atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text->val), atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text->val), psi_layout_init(0, atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-7)].yystate.yysemantics.yysval))->text->val), NULL)); } -#line 6309 "src/parser_proc.c" /* glr.c:821 */ +#line 6313 "src/parser_proc.c" /* glr.c:821 */ break; case 518: -#line 1808 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1812 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_layout*)(&(*yyvalp))).pos = 0; (*(struct psi_layout*)(&(*yyvalp))).len = 0; } -#line 6318 "src/parser_proc.c" /* glr.c:821 */ +#line 6322 "src/parser_proc.c" /* glr.c:821 */ break; case 519: -#line 1812 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1816 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_layout*)(&(*yyvalp))).pos = atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text->val); (*(struct psi_layout*)(&(*yyvalp))).len = atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text->val); } -#line 6327 "src/parser_proc.c" /* glr.c:821 */ +#line 6331 "src/parser_proc.c" /* glr.c:821 */ break; case 520: -#line 1819 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1823 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(size_t*)(&(*yyvalp))) = 0; } -#line 6335 "src/parser_proc.c" /* glr.c:821 */ +#line 6339 "src/parser_proc.c" /* glr.c:821 */ break; case 521: -#line 1822 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1826 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(size_t*)(&(*yyvalp))) = 0; } -#line 6343 "src/parser_proc.c" /* glr.c:821 */ +#line 6347 "src/parser_proc.c" /* glr.c:821 */ break; case 522: -#line 1825 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1829 "src/parser_proc_grammar.y" /* glr.c:821 */ { struct psi_validate_scope scope = {0}; psi_validate_scope_ctor(&scope); @@ -6356,88 +6360,88 @@ yyuserAction (yyRuleNum yyn, int 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 6360 "src/parser_proc.c" /* glr.c:821 */ +#line 6364 "src/parser_proc.c" /* glr.c:821 */ break; case 527: -#line 1847 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1851 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(size_t*)(&(*yyvalp))) = 0; } -#line 6368 "src/parser_proc.c" /* glr.c:821 */ +#line 6372 "src/parser_proc.c" /* glr.c:821 */ break; case 528: -#line 1850 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1854 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 6376 "src/parser_proc.c" /* glr.c:821 */ +#line 6380 "src/parser_proc.c" /* glr.c:821 */ break; case 530: -#line 1857 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1861 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)); } -#line 6384 "src/parser_proc.c" /* glr.c:821 */ +#line 6388 "src/parser_proc.c" /* glr.c:821 */ break; case 531: -#line 1863 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1867 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(size_t*)(&(*yyvalp))) = 1; } -#line 6392 "src/parser_proc.c" /* glr.c:821 */ +#line 6396 "src/parser_proc.c" /* glr.c:821 */ break; case 532: -#line 1866 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1870 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)) + 1; } -#line 6400 "src/parser_proc.c" /* glr.c:821 */ +#line 6404 "src/parser_proc.c" /* glr.c:821 */ break; case 537: -#line 1888 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1892 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6408 "src/parser_proc.c" /* glr.c:821 */ +#line 6412 "src/parser_proc.c" /* glr.c:821 */ break; case 538: -#line 1891 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1895 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6417 "src/parser_proc.c" /* glr.c:821 */ +#line 6421 "src/parser_proc.c" /* glr.c:821 */ break; case 539: -#line 1898 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1902 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6427 "src/parser_proc.c" /* glr.c:821 */ +#line 6431 "src/parser_proc.c" /* glr.c:821 */ break; case 540: -#line 1903 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1907 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6437 "src/parser_proc.c" /* glr.c:821 */ +#line 6441 "src/parser_proc.c" /* glr.c:821 */ break; case 541: -#line 1908 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1912 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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))); @@ -6445,531 +6449,531 @@ yyuserAction (yyRuleNum yyn, int 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 6449 "src/parser_proc.c" /* glr.c:821 */ +#line 6453 "src/parser_proc.c" /* glr.c:821 */ break; case 542: -#line 1918 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1922 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6457 "src/parser_proc.c" /* glr.c:821 */ +#line 6461 "src/parser_proc.c" /* glr.c:821 */ break; case 543: -#line 1921 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1925 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6465 "src/parser_proc.c" /* glr.c:821 */ +#line 6469 "src/parser_proc.c" /* glr.c:821 */ break; case 544: -#line 1927 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1931 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6473 "src/parser_proc.c" /* glr.c:821 */ +#line 6477 "src/parser_proc.c" /* glr.c:821 */ break; case 545: -#line 1930 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1934 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6481 "src/parser_proc.c" /* glr.c:821 */ +#line 6485 "src/parser_proc.c" /* glr.c:821 */ break; case 546: -#line 1936 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1940 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6490 "src/parser_proc.c" /* glr.c:821 */ +#line 6494 "src/parser_proc.c" /* glr.c:821 */ break; case 547: -#line 1943 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1947 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6499 "src/parser_proc.c" /* glr.c:821 */ +#line 6503 "src/parser_proc.c" /* glr.c:821 */ break; case 548: -#line 1950 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1954 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6508 "src/parser_proc.c" /* glr.c:821 */ +#line 6512 "src/parser_proc.c" /* glr.c:821 */ break; case 560: -#line 1977 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1981 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6516 "src/parser_proc.c" /* glr.c:821 */ +#line 6520 "src/parser_proc.c" /* glr.c:821 */ break; case 561: -#line 1980 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1984 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6524 "src/parser_proc.c" /* glr.c:821 */ +#line 6528 "src/parser_proc.c" /* glr.c:821 */ break; case 562: -#line 1986 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1990 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_return_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 6532 "src/parser_proc.c" /* glr.c:821 */ +#line 6536 "src/parser_proc.c" /* glr.c:821 */ break; case 563: -#line 1989 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1993 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_let_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 6540 "src/parser_proc.c" /* glr.c:821 */ +#line 6544 "src/parser_proc.c" /* glr.c:821 */ break; case 564: -#line 1992 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1996 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_set_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 6548 "src/parser_proc.c" /* glr.c:821 */ +#line 6552 "src/parser_proc.c" /* glr.c:821 */ break; case 565: -#line 1995 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 1999 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_assert_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 6556 "src/parser_proc.c" /* glr.c:821 */ +#line 6560 "src/parser_proc.c" /* glr.c:821 */ break; case 566: -#line 1998 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2002 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_free_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 6564 "src/parser_proc.c" /* glr.c:821 */ +#line 6568 "src/parser_proc.c" /* glr.c:821 */ break; case 567: -#line 2004 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2008 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6573 "src/parser_proc.c" /* glr.c:821 */ +#line 6577 "src/parser_proc.c" /* glr.c:821 */ break; case 568: -#line 2008 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2012 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6583 "src/parser_proc.c" /* glr.c:821 */ +#line 6587 "src/parser_proc.c" /* glr.c:821 */ break; case 570: -#line 2017 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2021 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6592 "src/parser_proc.c" /* glr.c:821 */ +#line 6596 "src/parser_proc.c" /* glr.c:821 */ break; case 571: -#line 2021 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2025 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6601 "src/parser_proc.c" /* glr.c:821 */ +#line 6605 "src/parser_proc.c" /* glr.c:821 */ break; case 572: -#line 2028 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2032 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_NULL, NULL); } -#line 6609 "src/parser_proc.c" /* glr.c:821 */ +#line 6613 "src/parser_proc.c" /* glr.c:821 */ break; case 573: -#line 2031 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2035 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6617 "src/parser_proc.c" /* glr.c:821 */ +#line 6621 "src/parser_proc.c" /* glr.c:821 */ break; case 574: -#line 2034 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2038 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6625 "src/parser_proc.c" /* glr.c:821 */ +#line 6629 "src/parser_proc.c" /* glr.c:821 */ break; case 575: -#line 2037 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2041 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6634 "src/parser_proc.c" /* glr.c:821 */ +#line 6638 "src/parser_proc.c" /* glr.c:821 */ break; case 576: -#line 2041 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2045 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6642 "src/parser_proc.c" /* glr.c:821 */ +#line 6646 "src/parser_proc.c" /* glr.c:821 */ break; case 577: -#line 2044 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2048 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6650 "src/parser_proc.c" /* glr.c:821 */ +#line 6654 "src/parser_proc.c" /* glr.c:821 */ break; case 578: -#line 2050 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2054 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6659 "src/parser_proc.c" /* glr.c:821 */ +#line 6663 "src/parser_proc.c" /* glr.c:821 */ break; case 579: -#line 2054 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2058 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6669 "src/parser_proc.c" /* glr.c:821 */ +#line 6673 "src/parser_proc.c" /* glr.c:821 */ break; case 580: -#line 2062 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2066 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6678 "src/parser_proc.c" /* glr.c:821 */ +#line 6682 "src/parser_proc.c" /* glr.c:821 */ break; case 581: -#line 2069 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2073 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6688 "src/parser_proc.c" /* glr.c:821 */ +#line 6692 "src/parser_proc.c" /* glr.c:821 */ break; case 582: -#line 2074 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2078 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6698 "src/parser_proc.c" /* glr.c:821 */ +#line 6702 "src/parser_proc.c" /* glr.c:821 */ break; case 583: -#line 2082 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2086 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6708 "src/parser_proc.c" /* glr.c:821 */ +#line 6712 "src/parser_proc.c" /* glr.c:821 */ break; case 594: -#line 2103 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2107 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 6716 "src/parser_proc.c" /* glr.c:821 */ +#line 6720 "src/parser_proc.c" /* glr.c:821 */ break; case 595: -#line 2106 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2110 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 6724 "src/parser_proc.c" /* glr.c:821 */ +#line 6728 "src/parser_proc.c" /* glr.c:821 */ break; case 596: -#line 2112 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2116 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6732 "src/parser_proc.c" /* glr.c:821 */ +#line 6736 "src/parser_proc.c" /* glr.c:821 */ break; case 597: -#line 2115 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2119 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6740 "src/parser_proc.c" /* glr.c:821 */ +#line 6744 "src/parser_proc.c" /* glr.c:821 */ break; case 600: -#line 2126 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2130 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 6748 "src/parser_proc.c" /* glr.c:821 */ +#line 6752 "src/parser_proc.c" /* glr.c:821 */ break; case 601: -#line 2129 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2133 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 6756 "src/parser_proc.c" /* glr.c:821 */ +#line 6760 "src/parser_proc.c" /* glr.c:821 */ break; case 602: -#line 2135 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2139 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6764 "src/parser_proc.c" /* glr.c:821 */ +#line 6768 "src/parser_proc.c" /* glr.c:821 */ break; case 603: -#line 2138 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2142 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6772 "src/parser_proc.c" /* glr.c:821 */ +#line 6776 "src/parser_proc.c" /* glr.c:821 */ break; case 604: -#line 2144 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2148 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6781 "src/parser_proc.c" /* glr.c:821 */ +#line 6785 "src/parser_proc.c" /* glr.c:821 */ break; case 605: -#line 2151 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2155 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6790 "src/parser_proc.c" /* glr.c:821 */ +#line 6794 "src/parser_proc.c" /* glr.c:821 */ break; case 606: -#line 2155 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2159 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6799 "src/parser_proc.c" /* glr.c:821 */ +#line 6803 "src/parser_proc.c" /* glr.c:821 */ break; case 607: -#line 2162 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2166 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 6807 "src/parser_proc.c" /* glr.c:821 */ +#line 6811 "src/parser_proc.c" /* glr.c:821 */ break; case 608: -#line 2165 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2169 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 6815 "src/parser_proc.c" /* glr.c:821 */ +#line 6819 "src/parser_proc.c" /* glr.c:821 */ break; case 609: -#line 2168 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2172 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 6823 "src/parser_proc.c" /* glr.c:821 */ +#line 6827 "src/parser_proc.c" /* glr.c:821 */ break; case 610: -#line 2174 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2178 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6832 "src/parser_proc.c" /* glr.c:821 */ +#line 6836 "src/parser_proc.c" /* glr.c:821 */ break; case 611: -#line 2181 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2185 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6840 "src/parser_proc.c" /* glr.c:821 */ +#line 6844 "src/parser_proc.c" /* glr.c:821 */ break; case 612: -#line 2184 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2188 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6848 "src/parser_proc.c" /* glr.c:821 */ +#line 6852 "src/parser_proc.c" /* glr.c:821 */ break; case 613: -#line 2187 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2191 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6857 "src/parser_proc.c" /* glr.c:821 */ +#line 6861 "src/parser_proc.c" /* glr.c:821 */ break; case 614: -#line 2194 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2198 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6867 "src/parser_proc.c" /* glr.c:821 */ +#line 6871 "src/parser_proc.c" /* glr.c:821 */ break; case 615: -#line 2199 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2203 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6877 "src/parser_proc.c" /* glr.c:821 */ +#line 6881 "src/parser_proc.c" /* glr.c:821 */ break; case 624: -#line 2218 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2222 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = NULL; } -#line 6885 "src/parser_proc.c" /* glr.c:821 */ +#line 6889 "src/parser_proc.c" /* glr.c:821 */ break; case 625: -#line 2221 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2225 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)); } -#line 6893 "src/parser_proc.c" /* glr.c:821 */ +#line 6897 "src/parser_proc.c" /* glr.c:821 */ break; case 626: -#line 2227 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2231 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6901 "src/parser_proc.c" /* glr.c:821 */ +#line 6905 "src/parser_proc.c" /* glr.c:821 */ break; case 627: -#line 2230 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2234 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6909 "src/parser_proc.c" /* glr.c:821 */ +#line 6913 "src/parser_proc.c" /* glr.c:821 */ break; case 628: -#line 2236 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2240 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6918 "src/parser_proc.c" /* glr.c:821 */ +#line 6922 "src/parser_proc.c" /* glr.c:821 */ break; case 631: -#line 2248 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2252 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6927 "src/parser_proc.c" /* glr.c:821 */ +#line 6931 "src/parser_proc.c" /* glr.c:821 */ break; case 632: -#line 2255 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2259 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6935 "src/parser_proc.c" /* glr.c:821 */ +#line 6939 "src/parser_proc.c" /* glr.c:821 */ break; case 633: -#line 2258 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2262 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6943 "src/parser_proc.c" /* glr.c:821 */ +#line 6947 "src/parser_proc.c" /* glr.c:821 */ break; case 634: -#line 2264 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2268 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(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 6953 "src/parser_proc.c" /* glr.c:821 */ +#line 6957 "src/parser_proc.c" /* glr.c:821 */ break; case 635: -#line 2272 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2276 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(bool*)(&(*yyvalp))) = false; } -#line 6961 "src/parser_proc.c" /* glr.c:821 */ +#line 6965 "src/parser_proc.c" /* glr.c:821 */ break; case 636: -#line 2275 "src/parser_proc_grammar.y" /* glr.c:821 */ +#line 2279 "src/parser_proc_grammar.y" /* glr.c:821 */ { (*(bool*)(&(*yyvalp))) = true; } -#line 6969 "src/parser_proc.c" /* glr.c:821 */ +#line 6973 "src/parser_proc.c" /* glr.c:821 */ break; -#line 6973 "src/parser_proc.c" /* glr.c:821 */ +#line 6977 "src/parser_proc.c" /* glr.c:821 */ default: break; } @@ -7018,759 +7022,759 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, struct psi_parser switch (yytype) { case 141: /* binary_op_token */ -#line 290 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 294 "src/parser_proc_grammar.y" /* glr.c:851 */ {} -#line 7024 "src/parser_proc.c" /* glr.c:851 */ +#line 7028 "src/parser_proc.c" /* glr.c:851 */ break; case 142: /* unary_op_token */ -#line 290 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 294 "src/parser_proc_grammar.y" /* glr.c:851 */ {} -#line 7030 "src/parser_proc.c" /* glr.c:851 */ +#line 7034 "src/parser_proc.c" /* glr.c:851 */ break; case 143: /* name_token */ -#line 290 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 294 "src/parser_proc_grammar.y" /* glr.c:851 */ {} -#line 7036 "src/parser_proc.c" /* glr.c:851 */ +#line 7040 "src/parser_proc.c" /* glr.c:851 */ break; case 144: /* any_noeol_token */ -#line 290 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 294 "src/parser_proc_grammar.y" /* glr.c:851 */ {} -#line 7042 "src/parser_proc.c" /* glr.c:851 */ +#line 7046 "src/parser_proc.c" /* glr.c:851 */ break; case 149: /* lib */ -#line 284 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 288 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7048 "src/parser_proc.c" /* glr.c:851 */ +#line 7052 "src/parser_proc.c" /* glr.c:851 */ break; case 150: /* cpp */ -#line 299 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 303 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_cpp_exp_free(&(*(struct psi_cpp_exp **)(&(*yyvaluep))));} -#line 7054 "src/parser_proc.c" /* glr.c:851 */ +#line 7058 "src/parser_proc.c" /* glr.c:851 */ break; case 151: /* cpp_exp */ -#line 299 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 303 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_cpp_exp_free(&(*(struct psi_cpp_exp **)(&(*yyvaluep))));} -#line 7060 "src/parser_proc.c" /* glr.c:851 */ +#line 7064 "src/parser_proc.c" /* glr.c:851 */ break; case 153: /* cpp_message_token */ -#line 287 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 291 "src/parser_proc_grammar.y" /* glr.c:851 */ {} -#line 7066 "src/parser_proc.c" /* glr.c:851 */ +#line 7070 "src/parser_proc.c" /* glr.c:851 */ break; case 154: /* cpp_include_token */ -#line 287 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 291 "src/parser_proc_grammar.y" /* glr.c:851 */ {} -#line 7072 "src/parser_proc.c" /* glr.c:851 */ +#line 7076 "src/parser_proc.c" /* glr.c:851 */ break; case 155: /* cpp_header_token */ -#line 287 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 291 "src/parser_proc_grammar.y" /* glr.c:851 */ {} -#line 7078 "src/parser_proc.c" /* glr.c:851 */ +#line 7082 "src/parser_proc.c" /* glr.c:851 */ break; case 156: /* cpp_no_arg_token */ -#line 287 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 291 "src/parser_proc_grammar.y" /* glr.c:851 */ {} -#line 7084 "src/parser_proc.c" /* glr.c:851 */ +#line 7088 "src/parser_proc.c" /* glr.c:851 */ break; case 157: /* cpp_name_arg_token */ -#line 287 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 291 "src/parser_proc_grammar.y" /* glr.c:851 */ {} -#line 7090 "src/parser_proc.c" /* glr.c:851 */ +#line 7094 "src/parser_proc.c" /* glr.c:851 */ break; case 158: /* cpp_exp_arg_token */ -#line 287 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 291 "src/parser_proc_grammar.y" /* glr.c:851 */ {} -#line 7096 "src/parser_proc.c" /* glr.c:851 */ +#line 7100 "src/parser_proc.c" /* glr.c:851 */ break; case 159: /* cpp_macro_decl */ -#line 301 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 305 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl **)(&(*yyvaluep))));} -#line 7102 "src/parser_proc.c" /* glr.c:851 */ +#line 7106 "src/parser_proc.c" /* glr.c:851 */ break; case 160: /* cpp_macro_sig */ -#line 303 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 307 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7108 "src/parser_proc.c" /* glr.c:851 */ +#line 7112 "src/parser_proc.c" /* glr.c:851 */ break; case 161: /* cpp_macro_sig_args */ -#line 303 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 307 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7114 "src/parser_proc.c" /* glr.c:851 */ +#line 7118 "src/parser_proc.c" /* glr.c:851 */ break; case 162: /* cpp_macro_decl_tokens */ -#line 303 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 307 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7120 "src/parser_proc.c" /* glr.c:851 */ +#line 7124 "src/parser_proc.c" /* glr.c:851 */ break; case 163: /* cpp_macro_decl_token_list */ -#line 303 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 307 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7126 "src/parser_proc.c" /* glr.c:851 */ +#line 7130 "src/parser_proc.c" /* glr.c:851 */ break; case 164: /* cpp_macro_exp */ -#line 305 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 309 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_num_exp_free(&(*(struct psi_num_exp **)(&(*yyvaluep))));} -#line 7132 "src/parser_proc.c" /* glr.c:851 */ +#line 7136 "src/parser_proc.c" /* glr.c:851 */ break; case 165: /* cpp_macro_call_args */ -#line 303 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 307 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7138 "src/parser_proc.c" /* glr.c:851 */ +#line 7142 "src/parser_proc.c" /* glr.c:851 */ break; case 166: /* cpp_macro_call_arg_list */ -#line 303 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 307 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7144 "src/parser_proc.c" /* glr.c:851 */ +#line 7148 "src/parser_proc.c" /* glr.c:851 */ break; case 167: /* constant */ -#line 311 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 315 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_const_free(&(*(struct psi_const **)(&(*yyvaluep))));} -#line 7150 "src/parser_proc.c" /* glr.c:851 */ +#line 7154 "src/parser_proc.c" /* glr.c:851 */ break; case 168: /* impl_def_val */ -#line 313 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 317 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_impl_def_val_free(&(*(struct psi_impl_def_val **)(&(*yyvaluep))));} -#line 7156 "src/parser_proc.c" /* glr.c:851 */ +#line 7160 "src/parser_proc.c" /* glr.c:851 */ break; case 169: /* impl_def_val_token */ -#line 308 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 312 "src/parser_proc_grammar.y" /* glr.c:851 */ {} -#line 7162 "src/parser_proc.c" /* glr.c:851 */ +#line 7166 "src/parser_proc.c" /* glr.c:851 */ break; case 170: /* decl_typedef */ -#line 326 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 330 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 7168 "src/parser_proc.c" /* glr.c:851 */ +#line 7172 "src/parser_proc.c" /* glr.c:851 */ break; case 171: /* typedef */ -#line 326 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 330 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 7174 "src/parser_proc.c" /* glr.c:851 */ +#line 7178 "src/parser_proc.c" /* glr.c:851 */ break; case 172: /* typedef_anon */ -#line 326 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 330 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 7180 "src/parser_proc.c" /* glr.c:851 */ +#line 7184 "src/parser_proc.c" /* glr.c:851 */ break; case 173: /* typedef_decl */ -#line 326 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 330 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 7186 "src/parser_proc.c" /* glr.c:851 */ +#line 7190 "src/parser_proc.c" /* glr.c:851 */ break; case 174: /* typedef_anon_decl */ -#line 326 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 330 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 7192 "src/parser_proc.c" /* glr.c:851 */ +#line 7196 "src/parser_proc.c" /* glr.c:851 */ break; case 175: /* qualified_decl_type */ -#line 322 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 326 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));} -#line 7198 "src/parser_proc.c" /* glr.c:851 */ +#line 7202 "src/parser_proc.c" /* glr.c:851 */ break; case 177: /* decl_type */ -#line 322 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 326 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));} -#line 7204 "src/parser_proc.c" /* glr.c:851 */ +#line 7208 "src/parser_proc.c" /* glr.c:851 */ break; case 178: /* decl_type_complex */ -#line 322 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 326 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));} -#line 7210 "src/parser_proc.c" /* glr.c:851 */ +#line 7214 "src/parser_proc.c" /* glr.c:851 */ break; case 179: /* decl_type_simple */ -#line 316 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 320 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7216 "src/parser_proc.c" /* glr.c:851 */ +#line 7220 "src/parser_proc.c" /* glr.c:851 */ break; case 180: /* decl_real_type */ -#line 316 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 320 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7222 "src/parser_proc.c" /* glr.c:851 */ +#line 7226 "src/parser_proc.c" /* glr.c:851 */ break; case 181: /* int_signed */ -#line 296 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 300 "src/parser_proc_grammar.y" /* glr.c:851 */ {} -#line 7228 "src/parser_proc.c" /* glr.c:851 */ +#line 7232 "src/parser_proc.c" /* glr.c:851 */ break; case 182: /* int_width */ -#line 293 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 297 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7234 "src/parser_proc.c" /* glr.c:851 */ +#line 7238 "src/parser_proc.c" /* glr.c:851 */ break; case 183: /* decl_int_type */ -#line 316 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 320 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7240 "src/parser_proc.c" /* glr.c:851 */ +#line 7244 "src/parser_proc.c" /* glr.c:851 */ break; case 184: /* int_signed_types */ -#line 293 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 297 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7246 "src/parser_proc.c" /* glr.c:851 */ +#line 7250 "src/parser_proc.c" /* glr.c:851 */ break; case 185: /* signed_short_types */ -#line 296 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 300 "src/parser_proc_grammar.y" /* glr.c:851 */ {} -#line 7252 "src/parser_proc.c" /* glr.c:851 */ +#line 7256 "src/parser_proc.c" /* glr.c:851 */ break; case 186: /* signed_long_types */ -#line 296 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 300 "src/parser_proc_grammar.y" /* glr.c:851 */ {} -#line 7258 "src/parser_proc.c" /* glr.c:851 */ +#line 7262 "src/parser_proc.c" /* glr.c:851 */ break; case 187: /* int_width_types */ -#line 293 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 297 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7264 "src/parser_proc.c" /* glr.c:851 */ +#line 7268 "src/parser_proc.c" /* glr.c:851 */ break; case 188: /* decl_stmt */ -#line 324 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 328 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));} -#line 7270 "src/parser_proc.c" /* glr.c:851 */ +#line 7274 "src/parser_proc.c" /* glr.c:851 */ break; case 189: /* decl_asm */ -#line 319 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 323 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7276 "src/parser_proc.c" /* glr.c:851 */ +#line 7280 "src/parser_proc.c" /* glr.c:851 */ break; case 190: /* quoted_strings */ -#line 319 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 323 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7282 "src/parser_proc.c" /* glr.c:851 */ +#line 7286 "src/parser_proc.c" /* glr.c:851 */ break; case 191: /* decl_extvar_stmt */ -#line 338 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 342 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7288 "src/parser_proc.c" /* glr.c:851 */ +#line 7292 "src/parser_proc.c" /* glr.c:851 */ break; case 192: /* decl_extvar_list */ -#line 338 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 342 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7294 "src/parser_proc.c" /* glr.c:851 */ +#line 7298 "src/parser_proc.c" /* glr.c:851 */ break; case 193: /* decl_vars */ -#line 338 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 342 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7300 "src/parser_proc.c" /* glr.c:851 */ +#line 7304 "src/parser_proc.c" /* glr.c:851 */ break; case 194: /* ignored_decl */ -#line 324 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 328 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));} -#line 7306 "src/parser_proc.c" /* glr.c:851 */ +#line 7310 "src/parser_proc.c" /* glr.c:851 */ break; case 199: /* decl */ -#line 324 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 328 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));} -#line 7312 "src/parser_proc.c" /* glr.c:851 */ +#line 7316 "src/parser_proc.c" /* glr.c:851 */ break; case 200: /* decl_body */ -#line 324 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 328 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));} -#line 7318 "src/parser_proc.c" /* glr.c:851 */ +#line 7322 "src/parser_proc.c" /* glr.c:851 */ break; case 201: /* decl_func_body */ -#line 324 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 328 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));} -#line 7324 "src/parser_proc.c" /* glr.c:851 */ +#line 7328 "src/parser_proc.c" /* glr.c:851 */ break; case 202: /* decl_functor_body */ -#line 324 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 328 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));} -#line 7330 "src/parser_proc.c" /* glr.c:851 */ +#line 7334 "src/parser_proc.c" /* glr.c:851 */ break; case 203: /* decl_anon_functor_body */ -#line 324 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 328 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));} -#line 7336 "src/parser_proc.c" /* glr.c:851 */ +#line 7340 "src/parser_proc.c" /* glr.c:851 */ break; case 204: /* decl_functor */ -#line 326 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 330 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 7342 "src/parser_proc.c" /* glr.c:851 */ +#line 7346 "src/parser_proc.c" /* glr.c:851 */ break; case 205: /* decl_anon_functor */ -#line 326 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 330 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 7348 "src/parser_proc.c" /* glr.c:851 */ +#line 7352 "src/parser_proc.c" /* glr.c:851 */ break; case 206: /* decl_func */ -#line 326 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 330 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 7354 "src/parser_proc.c" /* glr.c:851 */ +#line 7358 "src/parser_proc.c" /* glr.c:851 */ break; case 207: /* decl_args */ -#line 338 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 342 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7360 "src/parser_proc.c" /* glr.c:851 */ +#line 7364 "src/parser_proc.c" /* glr.c:851 */ break; case 208: /* decl_arg_list */ -#line 338 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 342 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7366 "src/parser_proc.c" /* glr.c:851 */ +#line 7370 "src/parser_proc.c" /* glr.c:851 */ break; case 209: /* decl_anon_arg */ -#line 326 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 330 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 7372 "src/parser_proc.c" /* glr.c:851 */ +#line 7376 "src/parser_proc.c" /* glr.c:851 */ break; case 210: /* decl_arg */ -#line 326 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 330 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));} -#line 7378 "src/parser_proc.c" /* glr.c:851 */ +#line 7382 "src/parser_proc.c" /* glr.c:851 */ break; case 211: /* decl_var */ -#line 328 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 332 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_var_free(&(*(struct psi_decl_var **)(&(*yyvaluep))));} -#line 7384 "src/parser_proc.c" /* glr.c:851 */ +#line 7388 "src/parser_proc.c" /* glr.c:851 */ break; case 212: /* decl_union */ -#line 332 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 336 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_union_free(&(*(struct psi_decl_union **)(&(*yyvaluep))));} -#line 7390 "src/parser_proc.c" /* glr.c:851 */ +#line 7394 "src/parser_proc.c" /* glr.c:851 */ break; case 213: /* decl_struct */ -#line 330 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 334 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_struct_free(&(*(struct psi_decl_struct **)(&(*yyvaluep))));} -#line 7396 "src/parser_proc.c" /* glr.c:851 */ +#line 7400 "src/parser_proc.c" /* glr.c:851 */ break; case 214: /* decl_struct_args */ -#line 338 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 342 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7402 "src/parser_proc.c" /* glr.c:851 */ +#line 7406 "src/parser_proc.c" /* glr.c:851 */ break; case 215: /* struct_args_block */ -#line 338 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 342 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7408 "src/parser_proc.c" /* glr.c:851 */ +#line 7412 "src/parser_proc.c" /* glr.c:851 */ break; case 216: /* struct_args */ -#line 338 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 342 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7414 "src/parser_proc.c" /* glr.c:851 */ +#line 7418 "src/parser_proc.c" /* glr.c:851 */ break; case 217: /* struct_arg_var_list */ -#line 338 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 342 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7420 "src/parser_proc.c" /* glr.c:851 */ +#line 7424 "src/parser_proc.c" /* glr.c:851 */ break; case 218: /* decl_vars_with_layout */ -#line 338 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 342 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7426 "src/parser_proc.c" /* glr.c:851 */ +#line 7430 "src/parser_proc.c" /* glr.c:851 */ break; case 219: /* decl_enum */ -#line 334 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 338 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_enum_free(&(*(struct psi_decl_enum **)(&(*yyvaluep))));} -#line 7432 "src/parser_proc.c" /* glr.c:851 */ +#line 7436 "src/parser_proc.c" /* glr.c:851 */ break; case 220: /* decl_enum_items */ -#line 338 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 342 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7438 "src/parser_proc.c" /* glr.c:851 */ +#line 7442 "src/parser_proc.c" /* glr.c:851 */ break; case 221: /* decl_enum_item */ -#line 336 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 340 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item **)(&(*yyvaluep))));} -#line 7444 "src/parser_proc.c" /* glr.c:851 */ +#line 7448 "src/parser_proc.c" /* glr.c:851 */ break; case 222: /* num_exp */ -#line 394 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 398 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_num_exp_free(&(*(struct psi_num_exp **)(&(*yyvaluep))));} -#line 7450 "src/parser_proc.c" /* glr.c:851 */ +#line 7454 "src/parser_proc.c" /* glr.c:851 */ break; case 223: /* number */ -#line 396 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 400 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));} -#line 7456 "src/parser_proc.c" /* glr.c:851 */ +#line 7460 "src/parser_proc.c" /* glr.c:851 */ break; case 224: /* sizeof */ -#line 346 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 350 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));} -#line 7462 "src/parser_proc.c" /* glr.c:851 */ +#line 7466 "src/parser_proc.c" /* glr.c:851 */ break; case 225: /* sizeof_body */ -#line 346 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 350 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));} -#line 7468 "src/parser_proc.c" /* glr.c:851 */ +#line 7472 "src/parser_proc.c" /* glr.c:851 */ break; case 226: /* sizeof_body_notypes */ -#line 346 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 350 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));} -#line 7474 "src/parser_proc.c" /* glr.c:851 */ +#line 7478 "src/parser_proc.c" /* glr.c:851 */ break; case 227: /* enum_name */ -#line 284 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 288 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7480 "src/parser_proc.c" /* glr.c:851 */ +#line 7484 "src/parser_proc.c" /* glr.c:851 */ break; case 228: /* union_name */ -#line 284 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 288 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7486 "src/parser_proc.c" /* glr.c:851 */ +#line 7490 "src/parser_proc.c" /* glr.c:851 */ break; case 229: /* struct_name */ -#line 284 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 288 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7492 "src/parser_proc.c" /* glr.c:851 */ +#line 7496 "src/parser_proc.c" /* glr.c:851 */ break; case 230: /* optional_name */ -#line 284 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 288 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7498 "src/parser_proc.c" /* glr.c:851 */ +#line 7502 "src/parser_proc.c" /* glr.c:851 */ break; case 232: /* decl_layout */ -#line 343 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 347 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_layout_free(&(*(struct psi_layout **)(&(*yyvaluep))));} -#line 7504 "src/parser_proc.c" /* glr.c:851 */ +#line 7508 "src/parser_proc.c" /* glr.c:851 */ break; case 233: /* align_and_size */ -#line 341 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 345 "src/parser_proc_grammar.y" /* glr.c:851 */ {} -#line 7510 "src/parser_proc.c" /* glr.c:851 */ +#line 7514 "src/parser_proc.c" /* glr.c:851 */ break; case 234: /* array_size */ -#line 399 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 403 "src/parser_proc_grammar.y" /* glr.c:851 */ {} -#line 7516 "src/parser_proc.c" /* glr.c:851 */ +#line 7520 "src/parser_proc.c" /* glr.c:851 */ break; case 236: /* indirection */ -#line 399 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 403 "src/parser_proc_grammar.y" /* glr.c:851 */ {} -#line 7522 "src/parser_proc.c" /* glr.c:851 */ +#line 7526 "src/parser_proc.c" /* glr.c:851 */ break; case 237: /* pointers */ -#line 399 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 403 "src/parser_proc_grammar.y" /* glr.c:851 */ {} -#line 7528 "src/parser_proc.c" /* glr.c:851 */ +#line 7532 "src/parser_proc.c" /* glr.c:851 */ break; case 238: /* asterisks */ -#line 399 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 403 "src/parser_proc_grammar.y" /* glr.c:851 */ {} -#line 7534 "src/parser_proc.c" /* glr.c:851 */ +#line 7538 "src/parser_proc.c" /* glr.c:851 */ break; case 241: /* impl */ -#line 349 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 353 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_impl_free(&(*(struct psi_impl **)(&(*yyvaluep))));} -#line 7540 "src/parser_proc.c" /* glr.c:851 */ +#line 7544 "src/parser_proc.c" /* glr.c:851 */ break; case 242: /* impl_func */ -#line 351 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 355 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_impl_func_free(&(*(struct psi_impl_func **)(&(*yyvaluep))));} -#line 7546 "src/parser_proc.c" /* glr.c:851 */ +#line 7550 "src/parser_proc.c" /* glr.c:851 */ break; case 243: /* impl_args */ -#line 391 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 395 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7552 "src/parser_proc.c" /* glr.c:851 */ +#line 7556 "src/parser_proc.c" /* glr.c:851 */ break; case 244: /* impl_arg */ -#line 353 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 357 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_impl_arg_free(&(*(struct psi_impl_arg **)(&(*yyvaluep))));} -#line 7558 "src/parser_proc.c" /* glr.c:851 */ +#line 7562 "src/parser_proc.c" /* glr.c:851 */ break; case 245: /* impl_var */ -#line 357 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 361 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_impl_var_free(&(*(struct psi_impl_var **)(&(*yyvaluep))));} -#line 7564 "src/parser_proc.c" /* glr.c:851 */ +#line 7568 "src/parser_proc.c" /* glr.c:851 */ break; case 246: /* impl_type */ -#line 355 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 359 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_impl_type_free(&(*(struct psi_impl_type **)(&(*yyvaluep))));} -#line 7570 "src/parser_proc.c" /* glr.c:851 */ +#line 7574 "src/parser_proc.c" /* glr.c:851 */ break; case 247: /* impl_type_restricted */ -#line 355 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 359 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_impl_type_free(&(*(struct psi_impl_type **)(&(*yyvaluep))));} -#line 7576 "src/parser_proc.c" /* glr.c:851 */ +#line 7580 "src/parser_proc.c" /* glr.c:851 */ break; case 248: /* impl_type_token */ -#line 389 "src/parser_proc_grammar.y" /* glr.c:851 */ - {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7582 "src/parser_proc.c" /* glr.c:851 */ +#line 393 "src/parser_proc_grammar.y" /* glr.c:851 */ + {} +#line 7586 "src/parser_proc.c" /* glr.c:851 */ break; case 249: /* impl_type_restricted_token */ -#line 389 "src/parser_proc_grammar.y" /* glr.c:851 */ - {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7588 "src/parser_proc.c" /* glr.c:851 */ +#line 393 "src/parser_proc_grammar.y" /* glr.c:851 */ + {} +#line 7592 "src/parser_proc.c" /* glr.c:851 */ break; case 250: /* impl_type_extended_token */ -#line 389 "src/parser_proc_grammar.y" /* glr.c:851 */ - {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7594 "src/parser_proc.c" /* glr.c:851 */ +#line 393 "src/parser_proc_grammar.y" /* glr.c:851 */ + {} +#line 7598 "src/parser_proc.c" /* glr.c:851 */ break; case 251: /* impl_stmts */ -#line 391 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 395 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7600 "src/parser_proc.c" /* glr.c:851 */ +#line 7604 "src/parser_proc.c" /* glr.c:851 */ break; case 252: /* impl_stmt */ -#line 387 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 391 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_impl_stmt_free(&(*(struct psi_token ***)(&(*yyvaluep))));} -#line 7606 "src/parser_proc.c" /* glr.c:851 */ +#line 7610 "src/parser_proc.c" /* glr.c:851 */ break; case 253: /* let_stmt */ -#line 360 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 364 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_let_stmt_free(&(*(struct psi_let_stmt **)(&(*yyvaluep))));} -#line 7612 "src/parser_proc.c" /* glr.c:851 */ +#line 7616 "src/parser_proc.c" /* glr.c:851 */ break; case 254: /* let_exp */ -#line 362 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 366 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));} -#line 7618 "src/parser_proc.c" /* glr.c:851 */ +#line 7622 "src/parser_proc.c" /* glr.c:851 */ break; case 255: /* let_exp_byref */ -#line 362 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 366 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));} -#line 7624 "src/parser_proc.c" /* glr.c:851 */ +#line 7628 "src/parser_proc.c" /* glr.c:851 */ break; case 256: /* let_exp_assign */ -#line 362 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 366 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));} -#line 7630 "src/parser_proc.c" /* glr.c:851 */ +#line 7634 "src/parser_proc.c" /* glr.c:851 */ break; case 257: /* let_calloc */ -#line 364 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 368 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_let_calloc_free(&(*(struct psi_let_calloc **)(&(*yyvaluep))));} -#line 7636 "src/parser_proc.c" /* glr.c:851 */ +#line 7640 "src/parser_proc.c" /* glr.c:851 */ break; case 258: /* let_callback */ -#line 366 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 370 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_let_callback_free(&(*(struct psi_let_callback **)(&(*yyvaluep))));} -#line 7642 "src/parser_proc.c" /* glr.c:851 */ +#line 7646 "src/parser_proc.c" /* glr.c:851 */ break; case 259: /* let_func */ -#line 368 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 372 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_let_func_free(&(*(struct psi_let_func **)(&(*yyvaluep))));} -#line 7648 "src/parser_proc.c" /* glr.c:851 */ +#line 7652 "src/parser_proc.c" /* glr.c:851 */ break; case 260: /* let_func_token */ -#line 389 "src/parser_proc_grammar.y" /* glr.c:851 */ - {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7654 "src/parser_proc.c" /* glr.c:851 */ +#line 393 "src/parser_proc_grammar.y" /* glr.c:851 */ + {} +#line 7658 "src/parser_proc.c" /* glr.c:851 */ break; case 261: /* let_func_exps */ -#line 391 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 395 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7660 "src/parser_proc.c" /* glr.c:851 */ +#line 7664 "src/parser_proc.c" /* glr.c:851 */ break; case 262: /* let_exps */ -#line 391 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 395 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7666 "src/parser_proc.c" /* glr.c:851 */ +#line 7670 "src/parser_proc.c" /* glr.c:851 */ break; case 263: /* callback_rval */ -#line 389 "src/parser_proc_grammar.y" /* glr.c:851 */ - {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7672 "src/parser_proc.c" /* glr.c:851 */ +#line 393 "src/parser_proc_grammar.y" /* glr.c:851 */ + {} +#line 7676 "src/parser_proc.c" /* glr.c:851 */ break; case 264: /* callback_arg_list */ -#line 391 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 395 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7678 "src/parser_proc.c" /* glr.c:851 */ +#line 7682 "src/parser_proc.c" /* glr.c:851 */ break; case 265: /* callback_args */ -#line 391 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 395 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7684 "src/parser_proc.c" /* glr.c:851 */ +#line 7688 "src/parser_proc.c" /* glr.c:851 */ break; case 266: /* return_stmt */ -#line 378 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 382 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_return_stmt_free(&(*(struct psi_return_stmt **)(&(*yyvaluep))));} -#line 7690 "src/parser_proc.c" /* glr.c:851 */ +#line 7694 "src/parser_proc.c" /* glr.c:851 */ break; case 267: /* return_exp */ -#line 380 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 384 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_return_exp_free(&(*(struct psi_return_exp **)(&(*yyvaluep))));} -#line 7696 "src/parser_proc.c" /* glr.c:851 */ +#line 7700 "src/parser_proc.c" /* glr.c:851 */ break; case 268: /* call_decl_vars */ -#line 338 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 342 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7702 "src/parser_proc.c" /* glr.c:851 */ +#line 7706 "src/parser_proc.c" /* glr.c:851 */ break; case 269: /* set_stmt */ -#line 370 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 374 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_set_stmt_free(&(*(struct psi_set_stmt **)(&(*yyvaluep))));} -#line 7708 "src/parser_proc.c" /* glr.c:851 */ +#line 7712 "src/parser_proc.c" /* glr.c:851 */ break; case 270: /* set_exp */ -#line 372 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 376 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_set_exp_free(&(*(struct psi_set_exp **)(&(*yyvaluep))));} -#line 7714 "src/parser_proc.c" /* glr.c:851 */ +#line 7718 "src/parser_proc.c" /* glr.c:851 */ break; case 271: /* set_func */ -#line 374 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 378 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_set_func_free(&(*(struct psi_set_func **)(&(*yyvaluep))));} -#line 7720 "src/parser_proc.c" /* glr.c:851 */ +#line 7724 "src/parser_proc.c" /* glr.c:851 */ break; case 272: /* set_func_token */ -#line 389 "src/parser_proc_grammar.y" /* glr.c:851 */ - {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7726 "src/parser_proc.c" /* glr.c:851 */ +#line 393 "src/parser_proc_grammar.y" /* glr.c:851 */ + {} +#line 7730 "src/parser_proc.c" /* glr.c:851 */ break; case 273: /* set_func_exps */ -#line 391 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 395 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7732 "src/parser_proc.c" /* glr.c:851 */ +#line 7736 "src/parser_proc.c" /* glr.c:851 */ break; case 274: /* set_exps */ -#line 391 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 395 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7738 "src/parser_proc.c" /* glr.c:851 */ +#line 7742 "src/parser_proc.c" /* glr.c:851 */ break; case 275: /* assert_stmt */ -#line 376 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 380 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_assert_stmt_free(&(*(struct psi_assert_stmt **)(&(*yyvaluep))));} -#line 7744 "src/parser_proc.c" /* glr.c:851 */ +#line 7748 "src/parser_proc.c" /* glr.c:851 */ break; case 276: /* assert_stmt_token */ -#line 389 "src/parser_proc_grammar.y" /* glr.c:851 */ - {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));} -#line 7750 "src/parser_proc.c" /* glr.c:851 */ +#line 393 "src/parser_proc_grammar.y" /* glr.c:851 */ + {} +#line 7754 "src/parser_proc.c" /* glr.c:851 */ break; case 277: /* free_stmt */ -#line 382 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 386 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_free_stmt_free(&(*(struct psi_free_stmt **)(&(*yyvaluep))));} -#line 7756 "src/parser_proc.c" /* glr.c:851 */ +#line 7760 "src/parser_proc.c" /* glr.c:851 */ break; case 278: /* free_exps */ -#line 391 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 395 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));} -#line 7762 "src/parser_proc.c" /* glr.c:851 */ +#line 7766 "src/parser_proc.c" /* glr.c:851 */ break; case 279: /* free_exp */ -#line 384 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 388 "src/parser_proc_grammar.y" /* glr.c:851 */ {psi_free_exp_free(&(*(struct psi_free_exp **)(&(*yyvaluep))));} -#line 7768 "src/parser_proc.c" /* glr.c:851 */ +#line 7772 "src/parser_proc.c" /* glr.c:851 */ break; case 280: /* reference */ -#line 401 "src/parser_proc_grammar.y" /* glr.c:851 */ +#line 405 "src/parser_proc_grammar.y" /* glr.c:851 */ {} -#line 7774 "src/parser_proc.c" /* glr.c:851 */ +#line 7778 "src/parser_proc.c" /* glr.c:851 */ break; @@ -9119,11 +9123,11 @@ yyparse (struct psi_parser *P, struct psi_plist *tokens, size_t *index) yylval = yyval_default; /* User initialization code. */ -#line 119 "src/parser_proc_grammar.y" /* glr.c:2265 */ +#line 123 "src/parser_proc_grammar.y" /* glr.c:2265 */ { } -#line 9127 "src/parser_proc.c" /* glr.c:2265 */ +#line 9131 "src/parser_proc.c" /* glr.c:2265 */ if (! yyinitGLRStack (yystackp, YYINITDEPTH)) goto yyexhaustedlab; @@ -9426,7 +9430,7 @@ yypdumpstack (yyGLRStack* yystackp) #define yydebug psi_parser_proc_debug #define yynerrs psi_parser_proc_nerrs -#line 2284 "src/parser_proc_grammar.y" /* glr.c:2578 */ +#line 2288 "src/parser_proc_grammar.y" /* glr.c:2578 */ /* epilogue */ @@ -9438,7 +9442,7 @@ static int psi_parser_proc_lex(YYSTYPE *lvalp, struct psi_parser *P, struct psi_ #if PSI_DEBUG_LEX PSI_DEBUG_PRINT(P, "PSI: LEX index %4zu ", *index); #endif - if (psi_plist_get(tokens, (*index)++, &token)) { + if (psi_plist_get(tokens, (*index)++, &token) && token) { #if PSI_DEBUG_LEX PSI_DEBUG_DUMP(P, psi_token_dump, token); #endif @@ -9467,15 +9471,26 @@ static void psi_parser_proc_error(struct psi_parser *P, struct psi_plist *tokens psi_plist_get(tokens, last, &T); if (T) { - int i = (last >= 5) ? last - 5 : 0; + size_t i = (last >= 5) ? last - 5 : 0; P->error(PSI_DATA(P), T, PSI_WARNING, "PSI %s at col %u", msg, T->col); while (i <= last || T->type != PSI_T_EOS) { + const char *pos; + if (!psi_plist_get(tokens, i++, &T)) { break; } + + if (i < last + 1) { + pos = "preceding"; + } else if (i > last + 1) { + pos = "following"; + } else { + pos = "offending"; + } + P->error(PSI_DATA(P), T, PSI_WARNING, "PSI %s token '%s' at col %u", - ilast+1?"following":"offending", T->text->val, T->col); + pos, T ? T->text->val : "", T ? T->col : 0); } } else { P->error(PSI_DATA(P), NULL, PSI_WARNING, "PSI %s", msg);