Front page | perl.cvs.parrot |
Postings from December 2008
[svn:parrot] r34695 - trunk/compilers/pirc/new
From:
kjs
Date:
December 31, 2008 02:26
Subject:
[svn:parrot] r34695 - trunk/compilers/pirc/new
Message ID:
20081231102538.BA4FFCB9FA@x12.develooper.com
Author: kjs
Date: Wed Dec 31 02:25:33 2008
New Revision: 34695
Modified:
trunk/compilers/pirc/new/main.c
trunk/compilers/pirc/new/pir.y
trunk/compilers/pirc/new/pircompunit.c
trunk/compilers/pirc/new/piremit.c
trunk/compilers/pirc/new/pirparser.c
trunk/compilers/pirc/new/pirpcc.c
Log:
[pirc] add syntax rule for ("x" => foo) = bar(), which was missing.
+ :named results don't work now; some debug stuff is added.
+ fix will follow.
Modified: trunk/compilers/pirc/new/main.c
==============================================================================
--- trunk/compilers/pirc/new/main.c (original)
+++ trunk/compilers/pirc/new/main.c Wed Dec 31 02:25:33 2008
@@ -172,6 +172,7 @@
/* go parse */
yypirparse(yyscanner, lexer);
+
if (lexer->parse_errors == 0) {
char outfile[20];
sprintf(outfile, "output_thr_%d", thr_id);
Modified: trunk/compilers/pirc/new/pir.y
==============================================================================
--- trunk/compilers/pirc/new/pir.y (original)
+++ trunk/compilers/pirc/new/pir.y Wed Dec 31 02:25:33 2008
@@ -1820,6 +1820,8 @@
result_target : target target_flags
{ $$ = set_param_flag(lexer, $1, $2); }
+ | TK_STRINGC "=>" target
+ { $$ = set_param_alias(lexer, $1); }
;
target_flags : /* empty */
@@ -1838,6 +1840,8 @@
{
$$ = TARGET_FLAG_NAMED;
set_param_alias(lexer, $2);
+ if (TEST_FLAG(lexer->curtarget->flags, TARGET_FLAG_NAMED))
+ fprintf(stderr, "alias: %s\n", lexer->curtarget->alias);
}
;
Modified: trunk/compilers/pirc/new/pircompunit.c
==============================================================================
--- trunk/compilers/pirc/new/pircompunit.c (original)
+++ trunk/compilers/pirc/new/pircompunit.c Wed Dec 31 02:25:33 2008
@@ -680,6 +680,7 @@
PARROT_ASSERT(lexer->curtarget != NULL);
lexer->curtarget->alias = alias;
SET_FLAG(lexer->curtarget->flags, TARGET_FLAG_NAMED);
+ fprintf(stderr, "lexer->curtarget->alias = %s\n", lexer->curtarget->alias);
return lexer->curtarget;
}
@@ -809,8 +810,10 @@
argument *
set_arg_alias(lexer_state * const lexer, char const * const alias) {
PARROT_ASSERT(lexer->curarg != NULL);
+ fprintf(stderr, "set arg_alias attempt...\n");
lexer->curarg->alias = alias;
SET_FLAG(lexer->curarg->flags, ARG_FLAG_NAMED);
+ fprintf(stderr, "set_arg_alias ok\n");
return lexer->curarg;
}
@@ -1267,6 +1270,7 @@
c->type = type;
c->next = NULL;
+ /* based on the indicated type, cast the variable argument to the right type. */
switch (type) {
case INT_TYPE:
c->val.ival = va_arg(arg_ptr, int);
@@ -1374,10 +1378,6 @@
PARROT_CANNOT_RETURN_NULL
static invocation *
new_invocation(lexer_state * const lexer) {
- /*
- invocation *inv = (invocation *)malloc(sizeof (invocation));
- PARROT_ASSERT(inv);
- */
/* optimization: return the address of the cached object */
invocation *inv = &lexer->obj_cache.inv_cache;
/* clear all fields */
@@ -1414,7 +1414,9 @@
=item C<target *
new_reg(lexer_state * const lexer, int type, int regno)>
-Create a C<target> node from a register. Returns the newly created register.
+Create a C<target> node from a register. A new C<pir_reg> object is
+created of type C<type> and PIR register number C<regno>. The target
+node is returned.
=cut
@@ -1428,6 +1430,7 @@
color_reg(lexer, type, regno);
reg = find_register(lexer, type, regno);
+ /* set a pointer to the pir_reg's info field. */
t->info = ®->info;
/* set a flag on this target node saying it's a register */
@@ -1934,7 +1937,8 @@
/*
-=item C<add_key(key *keylist, expression * const exprkey)>
+=item C<key *
+add_key(lexer_state * const lexer, key * keylist, expression * const exprkey)>
Adds a new, nested key (in C<exprkey>) to the current key,
pointed to by C<keylist>. C<keylist> is returned.
@@ -1962,7 +1966,7 @@
/*
=item C<symbol *
-add_local(symbol *list, symbol *local)>
+add_local(symbol * const list, symbol * const local)>
Add local C<local> to the list pointed to by C<list>. The new object
is inserted at the front of the list. C<list> is returned
@@ -2241,8 +2245,7 @@
*/
/* create an operand that refers to a constant PMC */
- new_second_operand = expr_from_const(lexer, new_const(lexer, INT_TYPE,
- glob->const_table_index));
+ new_second_operand = expr_from_int(lexer, glob->const_table_index);
/* link it into the list of operands; the /current/ second operand should be removed,
* so insert the new expression as second operand, and make sure the old second
* operand is no longer in the list.
Modified: trunk/compilers/pirc/new/piremit.c
==============================================================================
--- trunk/compilers/pirc/new/piremit.c (original)
+++ trunk/compilers/pirc/new/piremit.c Wed Dec 31 02:25:33 2008
@@ -117,7 +117,7 @@
*/
void
print_target(lexer_state * const lexer, target * const t) {
- if (t->info)
+ PARROT_ASSERT(t->info);
fprintf(out, "%c%d", pir_register_types[t->info->type], t->info->color);
/* if the target has a key, print that too */
Modified: trunk/compilers/pirc/new/pirparser.c
==============================================================================
--- trunk/compilers/pirc/new/pirparser.c (original)
+++ trunk/compilers/pirc/new/pirparser.c Wed Dec 31 02:25:33 2008
@@ -812,16 +812,16 @@
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 10
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1073
+#define YYLAST 1050
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 139
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 166
/* YYNRULES -- Number of rules. */
-#define YYNRULES 421
+#define YYNRULES 422
/* YYNRULES -- Number of states. */
-#define YYNSTATES 656
+#define YYNSTATES 659
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -906,21 +906,21 @@
790, 796, 797, 800, 801, 803, 805, 808, 812, 814,
817, 821, 825, 827, 829, 831, 836, 839, 841, 843,
845, 847, 849, 851, 853, 855, 859, 860, 862, 864,
- 868, 871, 872, 875, 877, 879, 881, 884, 886, 888,
- 890, 892, 894, 898, 902, 906, 910, 911, 913, 915,
- 919, 921, 923, 927, 930, 932, 938, 944, 945, 947,
- 949, 952, 956, 957, 959, 961, 964, 968, 969, 972,
- 974, 977, 978, 980, 984, 987, 989, 991, 994, 997,
- 1002, 1007, 1012, 1017, 1019, 1021, 1023, 1025, 1027, 1029,
- 1031, 1033, 1035, 1037, 1039, 1041, 1043, 1045, 1047, 1049,
- 1051, 1053, 1055, 1057, 1059, 1061, 1063, 1065, 1067, 1069,
- 1071, 1073, 1075, 1077, 1079, 1081, 1083, 1085, 1087, 1089,
- 1091, 1093, 1095, 1097, 1099, 1101, 1103, 1105, 1107, 1109,
- 1111, 1113, 1115, 1117, 1119, 1121, 1123, 1125, 1127, 1129,
- 1131, 1133, 1135, 1137, 1139, 1141, 1143, 1145, 1147, 1149,
- 1151, 1153, 1155, 1157, 1159, 1162, 1164, 1166, 1169, 1171,
- 1174, 1176, 1179, 1182, 1184, 1187, 1190, 1192, 1194, 1196,
- 1200, 1202
+ 868, 871, 875, 876, 879, 881, 883, 885, 888, 890,
+ 892, 894, 896, 898, 902, 906, 910, 914, 915, 917,
+ 919, 923, 925, 927, 931, 934, 936, 942, 948, 949,
+ 951, 953, 956, 960, 961, 963, 965, 968, 972, 973,
+ 976, 978, 981, 982, 984, 988, 991, 993, 995, 998,
+ 1001, 1006, 1011, 1016, 1021, 1023, 1025, 1027, 1029, 1031,
+ 1033, 1035, 1037, 1039, 1041, 1043, 1045, 1047, 1049, 1051,
+ 1053, 1055, 1057, 1059, 1061, 1063, 1065, 1067, 1069, 1071,
+ 1073, 1075, 1077, 1079, 1081, 1083, 1085, 1087, 1089, 1091,
+ 1093, 1095, 1097, 1099, 1101, 1103, 1105, 1107, 1109, 1111,
+ 1113, 1115, 1117, 1119, 1121, 1123, 1125, 1127, 1129, 1131,
+ 1133, 1135, 1137, 1139, 1141, 1143, 1145, 1147, 1149, 1151,
+ 1153, 1155, 1157, 1159, 1161, 1163, 1166, 1168, 1170, 1173,
+ 1175, 1178, 1180, 1183, 1186, 1188, 1191, 1194, 1196, 1198,
+ 1200, 1204, 1206
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -1013,40 +1013,40 @@
-1, 46, -1, 291, -1, 49, -1, 51, -1, 46,
-1, 291, -1, 49, -1, 119, 251, 120, -1, -1,
252, -1, 253, -1, 252, 121, 253, -1, 288, 254,
- -1, -1, 254, 255, -1, 101, -1, 102, -1, 99,
- -1, 98, 277, -1, 257, -1, 258, -1, 267, -1,
- 259, -1, 268, -1, 18, 260, 35, -1, 33, 244,
- 35, -1, 19, 260, 35, -1, 119, 261, 120, -1,
- -1, 262, -1, 263, -1, 262, 121, 263, -1, 265,
- -1, 264, -1, 46, 54, 266, -1, 266, 275, -1,
- 284, -1, 24, 35, 272, 25, 35, -1, 22, 35,
- 269, 23, 35, -1, -1, 270, -1, 271, -1, 270,
- 271, -1, 20, 265, 35, -1, -1, 273, -1, 274,
- -1, 273, 274, -1, 21, 265, 35, -1, -1, 275,
- 276, -1, 100, -1, 98, 277, -1, -1, 278, -1,
- 119, 46, 120, -1, 280, 35, -1, 281, -1, 282,
- -1, 17, 283, -1, 16, 283, -1, 38, 291, 122,
- 47, -1, 39, 291, 122, 48, -1, 41, 291, 122,
- 46, -1, 46, 291, 122, 285, -1, 288, -1, 285,
- -1, 46, -1, 47, -1, 48, -1, 53, -1, 55,
- -1, 56, -1, 57, -1, 58, -1, 60, -1, 59,
- -1, 38, -1, 39, -1, 40, -1, 41, -1, 289,
- -1, 290, -1, 291, -1, 49, -1, 50, -1, 52,
- -1, 51, -1, 37, -1, 292, -1, 42, -1, 43,
- -1, 45, -1, 38, -1, 39, -1, 41, -1, 40,
- -1, 44, -1, 129, -1, 130, -1, 131, -1, 132,
- -1, 129, -1, 133, -1, 134, -1, 135, -1, 136,
- -1, 137, -1, 131, -1, 138, -1, 68, -1, 61,
- -1, 62, -1, 63, -1, 65, -1, 66, -1, 64,
- -1, 67, -1, 56, -1, 58, -1, 57, -1, 60,
- -1, 59, -1, 55, -1, 74, -1, 75, -1, 76,
- -1, 77, -1, 80, -1, 78, -1, 79, -1, 81,
- -1, 82, -1, 70, -1, 71, -1, 69, -1, 297,
- 298, -1, 142, -1, 299, -1, 298, 299, -1, 300,
- -1, 163, 35, -1, 230, -1, 159, 35, -1, 145,
- 35, -1, 189, -1, 36, 301, -1, 302, 301, -1,
- 304, -1, 197, -1, 304, -1, 303, 171, 36, -1,
- 117, -1, 204, 206, 35, -1
+ -1, 46, 54, 288, -1, -1, 254, 255, -1, 101,
+ -1, 102, -1, 99, -1, 98, 277, -1, 257, -1,
+ 258, -1, 267, -1, 259, -1, 268, -1, 18, 260,
+ 35, -1, 33, 244, 35, -1, 19, 260, 35, -1,
+ 119, 261, 120, -1, -1, 262, -1, 263, -1, 262,
+ 121, 263, -1, 265, -1, 264, -1, 46, 54, 266,
+ -1, 266, 275, -1, 284, -1, 24, 35, 272, 25,
+ 35, -1, 22, 35, 269, 23, 35, -1, -1, 270,
+ -1, 271, -1, 270, 271, -1, 20, 265, 35, -1,
+ -1, 273, -1, 274, -1, 273, 274, -1, 21, 265,
+ 35, -1, -1, 275, 276, -1, 100, -1, 98, 277,
+ -1, -1, 278, -1, 119, 46, 120, -1, 280, 35,
+ -1, 281, -1, 282, -1, 17, 283, -1, 16, 283,
+ -1, 38, 291, 122, 47, -1, 39, 291, 122, 48,
+ -1, 41, 291, 122, 46, -1, 46, 291, 122, 285,
+ -1, 288, -1, 285, -1, 46, -1, 47, -1, 48,
+ -1, 53, -1, 55, -1, 56, -1, 57, -1, 58,
+ -1, 60, -1, 59, -1, 38, -1, 39, -1, 40,
+ -1, 41, -1, 289, -1, 290, -1, 291, -1, 49,
+ -1, 50, -1, 52, -1, 51, -1, 37, -1, 292,
+ -1, 42, -1, 43, -1, 45, -1, 38, -1, 39,
+ -1, 41, -1, 40, -1, 44, -1, 129, -1, 130,
+ -1, 131, -1, 132, -1, 129, -1, 133, -1, 134,
+ -1, 135, -1, 136, -1, 137, -1, 131, -1, 138,
+ -1, 68, -1, 61, -1, 62, -1, 63, -1, 65,
+ -1, 66, -1, 64, -1, 67, -1, 56, -1, 58,
+ -1, 57, -1, 60, -1, 59, -1, 55, -1, 74,
+ -1, 75, -1, 76, -1, 77, -1, 80, -1, 78,
+ -1, 79, -1, 81, -1, 82, -1, 70, -1, 71,
+ -1, 69, -1, 297, 298, -1, 142, -1, 299, -1,
+ 298, 299, -1, 300, -1, 163, 35, -1, 230, -1,
+ 159, 35, -1, 145, 35, -1, 189, -1, 36, 301,
+ -1, 302, 301, -1, 304, -1, 197, -1, 304, -1,
+ 303, 171, 36, -1, 117, -1, 204, 206, 35, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@@ -1080,21 +1080,21 @@
1677, 1683, 1684, 1689, 1690, 1694, 1696, 1705, 1707, 1711,
1715, 1717, 1719, 1723, 1724, 1727, 1747, 1754, 1756, 1766,
1783, 1785, 1787, 1791, 1800, 1805, 1810, 1811, 1815, 1817,
- 1821, 1826, 1827, 1831, 1833, 1835, 1837, 1847, 1851, 1852,
- 1853, 1854, 1857, 1862, 1873, 1880, 1885, 1886, 1890, 1892,
- 1896, 1897, 1900, 1904, 1908, 1912, 1921, 1931, 1932, 1937,
- 1939, 1944, 1949, 1950, 1954, 1956, 1960, 1966, 1967, 1971,
- 1973, 1981, 1982, 1986, 1990, 1993, 1994, 1997, 2001, 2005,
- 2007, 2009, 2011, 2019, 2020, 2024, 2025, 2026, 2027, 2030,
- 2031, 2032, 2033, 2034, 2035, 2038, 2039, 2040, 2041, 2049,
- 2052, 2053, 2064, 2065, 2066, 2067, 2071, 2072, 2075, 2076,
- 2077, 2078, 2079, 2080, 2081, 2082, 2085, 2086, 2087, 2090,
- 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100,
- 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109, 2110,
- 2111, 2112, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125,
- 2126, 2127, 2128, 2129, 2141, 2149, 2153, 2154, 2157, 2158,
- 2159, 2160, 2161, 2162, 2165, 2167, 2168, 2171, 2172, 2175,
- 2179, 2184
+ 1821, 1823, 1828, 1829, 1833, 1835, 1837, 1839, 1851, 1855,
+ 1856, 1857, 1858, 1861, 1866, 1877, 1884, 1889, 1890, 1894,
+ 1896, 1900, 1901, 1904, 1908, 1912, 1916, 1925, 1935, 1936,
+ 1941, 1943, 1948, 1953, 1954, 1958, 1960, 1964, 1970, 1971,
+ 1975, 1977, 1985, 1986, 1990, 1994, 1997, 1998, 2001, 2005,
+ 2009, 2011, 2013, 2015, 2023, 2024, 2028, 2029, 2030, 2031,
+ 2034, 2035, 2036, 2037, 2038, 2039, 2042, 2043, 2044, 2045,
+ 2053, 2056, 2057, 2068, 2069, 2070, 2071, 2075, 2076, 2079,
+ 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2089, 2090, 2091,
+ 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103,
+ 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113,
+ 2114, 2115, 2116, 2122, 2123, 2124, 2125, 2126, 2127, 2128,
+ 2129, 2130, 2131, 2132, 2133, 2145, 2153, 2157, 2158, 2161,
+ 2162, 2163, 2164, 2165, 2166, 2169, 2171, 2172, 2175, 2176,
+ 2179, 2183, 2188
};
#endif
@@ -1228,21 +1228,21 @@
237, 238, 238, 239, 239, 240, 240, 241, 241, 242,
243, 243, 243, 244, 244, 245, 246, 247, 247, 248,
248, 248, 248, 249, 249, 250, 251, 251, 252, 252,
- 253, 254, 254, 255, 255, 255, 255, 256, 257, 257,
- 257, 257, 258, 258, 259, 260, 261, 261, 262, 262,
- 263, 263, 264, 265, 266, 267, 268, 269, 269, 270,
- 270, 271, 272, 272, 273, 273, 274, 275, 275, 276,
- 276, 277, 277, 278, 279, 280, 280, 281, 282, 283,
- 283, 283, 283, 284, 284, 285, 285, 285, 285, 286,
- 286, 286, 286, 286, 286, 287, 287, 287, 287, 288,
- 289, 289, 290, 290, 290, 290, 291, 291, 292, 292,
- 292, 292, 292, 292, 292, 292, 293, 293, 293, 294,
+ 253, 253, 254, 254, 255, 255, 255, 255, 256, 257,
+ 257, 257, 257, 258, 258, 259, 260, 261, 261, 262,
+ 262, 263, 263, 264, 265, 266, 267, 268, 269, 269,
+ 270, 270, 271, 272, 272, 273, 273, 274, 275, 275,
+ 276, 276, 277, 277, 278, 279, 280, 280, 281, 282,
+ 283, 283, 283, 283, 284, 284, 285, 285, 285, 285,
+ 286, 286, 286, 286, 286, 286, 287, 287, 287, 287,
+ 288, 289, 289, 290, 290, 290, 290, 291, 291, 292,
+ 292, 292, 292, 292, 292, 292, 292, 293, 293, 293,
294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
- 294, 294, 295, 295, 295, 295, 295, 295, 295, 295,
- 295, 295, 295, 295, 296, 297, 298, 298, 299, 299,
- 299, 299, 299, 299, 300, 300, 300, 301, 301, 302,
- 303, 304
+ 294, 294, 294, 295, 295, 295, 295, 295, 295, 295,
+ 295, 295, 295, 295, 295, 296, 297, 298, 298, 299,
+ 299, 299, 299, 299, 299, 300, 300, 300, 301, 301,
+ 302, 303, 304
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -1276,21 +1276,21 @@
5, 0, 2, 0, 1, 1, 2, 3, 1, 2,
3, 3, 1, 1, 1, 4, 2, 1, 1, 1,
1, 1, 1, 1, 1, 3, 0, 1, 1, 3,
- 2, 0, 2, 1, 1, 1, 2, 1, 1, 1,
- 1, 1, 3, 3, 3, 3, 0, 1, 1, 3,
- 1, 1, 3, 2, 1, 5, 5, 0, 1, 1,
- 2, 3, 0, 1, 1, 2, 3, 0, 2, 1,
- 2, 0, 1, 3, 2, 1, 1, 2, 2, 4,
- 4, 4, 4, 1, 1, 1, 1, 1, 1, 1,
+ 2, 3, 0, 2, 1, 1, 1, 2, 1, 1,
+ 1, 1, 1, 3, 3, 3, 3, 0, 1, 1,
+ 3, 1, 1, 3, 2, 1, 5, 5, 0, 1,
+ 1, 2, 3, 0, 1, 1, 2, 3, 0, 2,
+ 1, 2, 0, 1, 3, 2, 1, 1, 2, 2,
+ 4, 4, 4, 4, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 2, 1, 1, 2, 1, 2,
- 1, 2, 2, 1, 2, 2, 1, 1, 1, 3,
- 1, 3
+ 1, 1, 1, 1, 1, 2, 1, 1, 2, 1,
+ 2, 1, 2, 2, 1, 2, 2, 1, 1, 1,
+ 3, 1, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -1298,72 +1298,72 @@
means the default is an error. */
static const yytype_uint16 yydefact[] =
{
- 0, 5, 5, 0, 6, 405, 3, 0, 2, 0,
+ 0, 5, 5, 0, 6, 406, 3, 0, 2, 0,
1, 0, 0, 0, 0, 0, 136, 0, 0, 111,
- 420, 0, 18, 19, 0, 0, 0, 413, 139, 410,
- 404, 406, 408, 0, 54, 416, 0, 0, 0, 0,
+ 421, 0, 18, 19, 0, 0, 0, 414, 139, 411,
+ 405, 407, 409, 0, 54, 417, 0, 0, 0, 0,
0, 0, 5, 7, 17, 14, 15, 16, 12, 13,
- 11, 9, 54, 10, 0, 38, 39, 44, 128, 417,
- 414, 418, 356, 361, 362, 364, 363, 358, 359, 365,
- 360, 22, 357, 0, 113, 0, 412, 23, 411, 409,
- 335, 336, 337, 352, 353, 355, 354, 338, 0, 0,
- 140, 141, 144, 149, 145, 0, 146, 148, 147, 407,
- 415, 0, 41, 0, 37, 53, 51, 52, 0, 0,
- 0, 0, 327, 0, 6, 4, 0, 0, 48, 0,
+ 11, 9, 54, 10, 0, 38, 39, 44, 128, 418,
+ 415, 419, 357, 362, 363, 365, 364, 359, 360, 366,
+ 361, 22, 358, 0, 113, 0, 413, 23, 412, 410,
+ 336, 337, 338, 353, 354, 356, 355, 339, 0, 0,
+ 140, 141, 144, 149, 145, 0, 146, 148, 147, 408,
+ 416, 0, 41, 0, 37, 53, 51, 52, 0, 0,
+ 0, 0, 328, 0, 6, 4, 0, 0, 48, 0,
45, 46, 20, 111, 117, 118, 122, 0, 114, 115,
- 120, 110, 0, 24, 25, 27, 352, 0, 152, 334,
- 333, 349, 350, 351, 421, 0, 150, 419, 57, 58,
- 59, 56, 321, 0, 321, 60, 0, 61, 62, 0,
+ 120, 110, 0, 24, 25, 27, 353, 0, 152, 335,
+ 334, 350, 351, 352, 422, 0, 150, 420, 57, 58,
+ 59, 56, 322, 0, 322, 60, 0, 61, 62, 0,
0, 0, 55, 0, 0, 0, 0, 0, 0, 8,
79, 274, 0, 273, 43, 0, 119, 0, 112, 0,
- 0, 0, 151, 0, 142, 0, 65, 322, 0, 66,
+ 0, 0, 151, 0, 142, 0, 65, 323, 0, 66,
71, 63, 67, 68, 69, 42, 0, 0, 0, 0,
40, 90, 78, 238, 47, 124, 111, 126, 125, 121,
123, 116, 28, 26, 153, 0, 0, 76, 0, 72,
- 73, 77, 75, 329, 330, 331, 332, 0, 0, 80,
- 127, 0, 0, 0, 29, 30, 0, 33, 34, 323,
+ 73, 77, 75, 330, 331, 332, 333, 0, 0, 80,
+ 127, 0, 0, 0, 29, 30, 0, 33, 34, 324,
64, 70, 0, 0, 50, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 136, 358, 359, 365, 360,
- 268, 352, 276, 0, 49, 91, 93, 107, 109, 105,
+ 0, 0, 0, 0, 0, 136, 359, 360, 366, 361,
+ 268, 353, 276, 0, 49, 91, 93, 107, 109, 105,
106, 108, 104, 103, 94, 0, 139, 135, 102, 0,
95, 0, 0, 96, 97, 98, 101, 239, 240, 241,
- 0, 262, 264, 263, 0, 267, 0, 100, 287, 288,
- 290, 289, 291, 99, 0, 325, 326, 0, 351, 357,
- 345, 346, 347, 348, 83, 0, 0, 35, 21, 31,
- 32, 74, 130, 0, 328, 296, 0, 0, 307, 312,
- 243, 0, 0, 92, 0, 0, 0, 0, 277, 278,
- 281, 129, 133, 134, 137, 138, 145, 157, 188, 356,
- 361, 362, 364, 363, 358, 359, 365, 360, 335, 336,
- 337, 0, 0, 0, 350, 259, 266, 0, 0, 324,
- 403, 401, 402, 0, 0, 392, 393, 394, 395, 397,
- 398, 396, 399, 400, 0, 0, 0, 0, 82, 36,
- 0, 233, 236, 335, 0, 297, 298, 301, 300, 317,
- 304, 292, 294, 0, 0, 308, 309, 0, 0, 313,
- 314, 0, 0, 244, 245, 132, 293, 131, 231, 0,
- 275, 0, 280, 0, 229, 230, 0, 0, 0, 0,
+ 0, 262, 264, 263, 0, 267, 0, 100, 288, 289,
+ 291, 290, 292, 99, 0, 326, 327, 0, 352, 358,
+ 346, 347, 348, 349, 83, 0, 0, 35, 21, 31,
+ 32, 74, 130, 0, 329, 297, 0, 0, 308, 313,
+ 243, 0, 0, 92, 0, 0, 0, 0, 0, 277,
+ 278, 282, 129, 133, 134, 137, 138, 145, 157, 188,
+ 357, 362, 363, 365, 364, 359, 360, 366, 361, 336,
+ 337, 338, 0, 0, 0, 351, 259, 266, 0, 0,
+ 325, 404, 402, 403, 0, 0, 393, 394, 395, 396,
+ 398, 399, 397, 400, 401, 0, 0, 0, 0, 82,
+ 36, 0, 233, 236, 336, 0, 298, 299, 302, 301,
+ 318, 305, 293, 295, 0, 0, 309, 310, 0, 0,
+ 314, 315, 0, 0, 244, 245, 132, 294, 131, 231,
+ 0, 0, 275, 0, 280, 0, 229, 230, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 339, 340, 341, 342,
- 344, 343, 0, 0, 0, 0, 0, 0, 0, 272,
- 270, 271, 0, 269, 260, 170, 171, 174, 172, 173,
- 175, 356, 162, 160, 161, 352, 366, 367, 368, 0,
- 164, 165, 261, 0, 350, 357, 0, 169, 0, 81,
- 89, 321, 285, 283, 284, 0, 84, 86, 87, 85,
- 232, 0, 237, 235, 0, 295, 0, 303, 0, 0,
- 310, 0, 0, 315, 0, 0, 0, 0, 0, 246,
- 179, 279, 282, 143, 200, 202, 203, 204, 205, 206,
- 207, 0, 0, 0, 0, 0, 0, 0, 0, 360,
- 210, 0, 211, 208, 209, 221, 225, 226, 222, 216,
- 223, 217, 218, 214, 224, 219, 220, 215, 212, 198,
- 213, 201, 265, 391, 386, 388, 387, 390, 389, 379,
- 380, 381, 384, 382, 383, 385, 378, 370, 376, 369,
- 371, 372, 373, 374, 375, 377, 0, 0, 0, 168,
- 155, 166, 0, 167, 176, 178, 286, 0, 234, 302,
- 299, 321, 319, 318, 311, 306, 316, 305, 247, 0,
- 251, 267, 249, 253, 189, 190, 191, 192, 193, 194,
- 195, 197, 196, 199, 183, 182, 184, 186, 180, 187,
- 185, 181, 0, 0, 177, 0, 320, 0, 0, 248,
- 0, 258, 0, 254, 255, 154, 156, 88, 0, 252,
- 0, 0, 256, 250, 257, 242
+ 0, 0, 0, 0, 0, 0, 0, 0, 340, 341,
+ 342, 343, 345, 344, 0, 0, 0, 0, 0, 0,
+ 0, 272, 270, 271, 0, 269, 260, 170, 171, 174,
+ 172, 173, 175, 357, 162, 160, 161, 353, 367, 368,
+ 369, 0, 164, 165, 261, 0, 351, 358, 0, 169,
+ 0, 81, 89, 322, 286, 284, 285, 0, 84, 86,
+ 87, 85, 232, 0, 237, 235, 0, 296, 0, 304,
+ 0, 0, 311, 0, 0, 316, 0, 0, 0, 0,
+ 0, 246, 179, 281, 279, 283, 143, 200, 202, 203,
+ 204, 205, 206, 207, 0, 0, 0, 0, 0, 0,
+ 0, 0, 361, 210, 0, 211, 208, 209, 221, 225,
+ 226, 222, 216, 223, 217, 218, 214, 224, 219, 220,
+ 215, 212, 198, 213, 201, 265, 392, 387, 389, 388,
+ 391, 390, 380, 381, 382, 385, 383, 384, 386, 379,
+ 371, 377, 370, 372, 373, 374, 375, 376, 378, 0,
+ 0, 0, 168, 155, 166, 0, 167, 176, 178, 287,
+ 0, 234, 303, 300, 322, 320, 319, 312, 307, 317,
+ 306, 247, 0, 251, 267, 249, 253, 189, 190, 191,
+ 192, 193, 194, 195, 197, 196, 199, 183, 182, 184,
+ 186, 180, 187, 185, 181, 0, 0, 177, 0, 321,
+ 0, 0, 248, 0, 258, 0, 254, 255, 154, 156,
+ 88, 0, 252, 0, 0, 256, 250, 257, 242
};
/* YYDEFGOTO[NTERM-NUM]. */
@@ -1373,343 +1373,339 @@
132, 133, 134, 233, 234, 235, 236, 237, 238, 45,
25, 47, 48, 49, 26, 119, 120, 121, 51, 264,
52, 106, 101, 162, 191, 218, 219, 220, 201, 202,
- 229, 314, 387, 496, 497, 498, 227, 265, 266, 267,
+ 229, 314, 388, 498, 499, 500, 227, 265, 266, 267,
27, 75, 127, 128, 129, 130, 177, 210, 59, 270,
- 271, 272, 273, 274, 275, 28, 343, 89, 90, 345,
- 91, 92, 93, 94, 137, 277, 278, 480, 279, 481,
- 280, 281, 361, 548, 282, 426, 283, 284, 390, 391,
- 503, 29, 286, 287, 288, 412, 413, 414, 518, 639,
- 642, 643, 644, 289, 290, 291, 292, 293, 294, 462,
- 95, 296, 337, 338, 339, 422, 499, 297, 298, 299,
- 300, 326, 394, 395, 396, 397, 398, 399, 301, 302,
- 404, 405, 406, 408, 409, 410, 507, 603, 186, 187,
- 303, 304, 53, 306, 112, 400, 139, 452, 315, 140,
- 141, 142, 143, 72, 486, 586, 385, 6, 7, 30,
+ 271, 272, 273, 274, 275, 28, 344, 89, 90, 346,
+ 91, 92, 93, 94, 137, 277, 278, 482, 279, 483,
+ 280, 281, 362, 551, 282, 428, 283, 284, 391, 392,
+ 505, 29, 286, 287, 288, 413, 414, 415, 520, 642,
+ 645, 646, 647, 289, 290, 291, 292, 293, 294, 464,
+ 95, 296, 338, 339, 340, 424, 501, 297, 298, 299,
+ 300, 326, 395, 396, 397, 398, 399, 400, 301, 302,
+ 405, 406, 407, 409, 410, 411, 509, 606, 186, 187,
+ 303, 304, 53, 306, 112, 401, 139, 454, 315, 140,
+ 141, 142, 143, 72, 488, 589, 386, 6, 7, 30,
31, 32, 60, 33, 34, 35
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -587
+#define YYPACT_NINF -597
static const yytype_int16 yypact[] =
{
- 99, -2, -2, 53, -587, -587, -587, 15, -587, 32,
- -587, 17, -6, 44, -21, 41, -587, 1019, 67, -9,
- -587, 89, -587, -587, 22, 115, 117, -587, 426, -587,
- 15, -587, -587, 41, -587, -587, 129, 173, 174, 405,
- 116, 175, 121, -587, -587, -587, -587, -587, -587, -587,
- -587, -587, -587, -587, 42, -587, -587, 176, -587, -587,
- -587, -587, -587, -587, -587, -587, -587, -587, -587, -587,
- -587, -587, -587, 109, 4, 193, -587, 1019, -587, -587,
- -587, -587, -587, 106, -587, -587, -587, -587, 770, 195,
- 111, -587, -587, -587, -587, 108, -587, -587, 112, -587,
- -587, 639, -587, 118, -587, -587, -587, -587, 1019, 1019,
- 1019, 1019, -587, 113, 32, -587, 502, 1006, -587, 114,
- 122, -587, -587, -9, -587, -587, -587, 119, 120, -587,
- -587, -587, 123, 127, -587, -587, -587, 36, -587, -587,
- -587, -587, -587, -587, -587, 426, -587, -587, -587, -587,
- -587, -587, 133, 137, 133, -587, 139, -587, -587, 133,
- 133, 133, -587, 187, 128, 148, 151, 152, 225, -587,
- -587, -587, 240, -587, -587, 176, -587, -5, -587, 4,
- 241, 1019, -587, 770, -587, 231, -587, -587, 405, -587,
- 245, -587, -587, -587, -587, -587, 234, 244, 247, 131,
- -587, -587, 286, -587, -587, -587, -9, -587, -587, -587,
- -587, -587, 61, -587, -587, 177, 179, -587, 180, 181,
- -587, -587, -587, -587, -587, -587, -587, 524, 142, -587,
- -587, 142, 186, 191, 61, -587, 266, -587, -587, -587,
- -587, -587, 245, 269, -587, 142, 116, 215, 215, 300,
- 304, 305, 224, 672, 628, 710, 810, 827, 452, 1019,
- -587, 30, 452, 307, -587, -587, -587, -587, -587, -587,
- -587, -587, -587, -587, -587, 311, 426, -587, -587, 312,
- -587, 313, 844, -587, -587, -587, -587, -587, -587, -587,
- 314, -587, -587, -587, 215, 226, 230, -587, -587, -587,
- -587, -587, -587, -587, 318, -587, -587, 724, -88, 108,
- -587, -587, -587, -587, -587, 1019, 246, -587, -587, -587,
- -587, -587, -587, 1019, -587, 861, 320, 322, 338, 340,
- 332, 328, 329, -587, 330, 331, 248, 249, 250, -587,
- -587, -587, -587, -587, -587, -587, 251, -587, -587, -24,
- -24, -24, -24, -24, -24, -24, 223, -16, 147, 147,
- 147, 327, -24, 147, -24, -587, -587, 287, 672, -587,
- -587, -587, -587, 926, 942, -587, -587, -587, -587, -587,
- -587, -587, -587, -587, 149, 770, 252, 45, -587, -587,
- -12, -587, 279, 323, 261, 262, -587, -587, -587, -587,
- -587, -587, -587, 770, 359, 338, -587, 770, 360, 340,
- -587, 770, 33, 332, -587, -587, -587, -587, -587, 770,
- -587, 452, 110, 770, -587, -587, 1019, 1019, 1019, 1019,
- 1019, 1019, 1019, 341, 342, 344, 345, 346, 347, 350,
- 351, 1028, -24, 1019, 1019, 1019, -587, -587, -587, -587,
- -587, -587, 878, 894, 910, 1019, 1019, 770, 1019, -587,
- -587, -587, 215, -587, -587, -587, -587, -587, -587, -587,
- -587, 270, 626, 640, 640, 30, -587, -587, -587, 426,
- -587, -587, -587, 640, 362, -20, 770, -587, 770, -587,
- -587, 133, -587, -587, -587, 280, -587, -587, -587, -587,
- -587, 1019, -587, -587, 770, -587, 861, 13, 363, 368,
- -587, 370, 372, -587, 373, 1006, 672, 1006, 381, -587,
- -587, -587, -587, -587, -587, -587, -587, -587, -587, -587,
- -587, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019,
- -587, 1019, -587, -587, -587, -587, -587, -587, -587, -587,
- -587, -587, -587, -587, -587, -587, -587, -587, -587, -587,
- -587, -587, -587, -587, -587, -587, -587, -587, -587, -587,
- -587, -587, -587, -587, -587, -587, -587, -587, -587, -587,
- -587, -587, -587, -587, -587, -587, 990, 958, 974, -587,
- 296, 297, 770, -587, -587, -587, -587, 245, -587, -587,
- -587, 133, -587, -587, -587, -587, -587, -587, -587, 384,
- 299, -587, -587, 52, -587, -587, -587, -587, -587, -587,
- -587, -587, -587, -587, -587, -587, -587, -587, -587, -587,
- -587, -587, 426, 426, -587, 301, -587, 407, 1006, -587,
- 452, -587, 396, 52, -587, 111, 111, -587, 287, -587,
- 390, 394, -587, -587, -587, -587
+ -54, -4, -4, 38, -597, -597, -597, 15, -597, 29,
+ -597, 11, 32, 49, -15, 195, -597, 996, 74, -5,
+ -597, 101, -597, -597, 33, 134, 140, -597, 244, -597,
+ 15, -597, -597, 195, -597, -597, 156, 159, 167, 986,
+ 165, 171, 189, -597, -597, -597, -597, -597, -597, -597,
+ -597, -597, -597, -597, 106, -597, -597, 194, -597, -597,
+ -597, -597, -597, -597, -597, -597, -597, -597, -597, -597,
+ -597, -597, -597, 127, 4, 208, -597, 996, -597, -597,
+ -597, -597, -597, 121, -597, -597, -597, -597, 745, 213,
+ 129, -597, -597, -597, -597, 135, -597, -597, 137, -597,
+ -597, 382, -597, 130, -597, -597, -597, -597, 996, 996,
+ 996, 996, -597, 150, 29, -597, 241, 973, -597, 132,
+ 147, -597, -597, -5, -597, -597, -597, 154, 178, -597,
+ -597, -597, 155, 179, -597, -597, -597, 59, -597, -597,
+ -597, -597, -597, -597, -597, 244, -597, -597, -597, -597,
+ -597, -597, 158, 183, 158, -597, 184, -597, -597, 158,
+ 158, 158, -597, 255, 217, 218, 219, 220, 300, -597,
+ -597, -597, 312, -597, -597, 194, -597, -6, -597, 4,
+ 313, 996, -597, 745, -597, 303, -597, -597, 986, -597,
+ 44, -597, -597, -597, -597, -597, 306, 302, 308, 108,
+ -597, -597, 347, -597, -597, -597, -5, -597, -597, -597,
+ -597, -597, 128, -597, -597, 236, 237, -597, 238, 240,
+ -597, -597, -597, -597, -597, -597, -597, 527, 182, -597,
+ -597, 182, 250, 257, 128, -597, 328, -597, -597, -597,
+ -597, -597, 44, 329, -597, 182, 165, 247, 247, 334,
+ 335, 336, 253, 450, 631, 517, 762, 779, 408, 996,
+ -597, 30, 694, 338, -597, -597, -597, -597, -597, -597,
+ -597, -597, -597, -597, -597, 339, 244, -597, -597, 340,
+ -597, 341, 796, -597, -597, -597, -597, -597, -597, -597,
+ 343, -597, -597, -597, 247, 251, 261, -597, -597, -597,
+ -597, -597, -597, -597, 349, -597, -597, 646, 6, 135,
+ -597, -597, -597, -597, -597, 996, 275, -597, -597, -597,
+ -597, -597, -597, 996, -597, 813, 352, 353, 369, 370,
+ 362, 359, 360, -597, 363, 364, 278, 351, 277, 280,
+ -597, -597, -597, -597, -597, -597, -597, 285, -597, -597,
+ -24, -24, -24, -24, -24, -24, -24, 224, -18, 122,
+ 122, 122, 365, -24, 122, -24, -597, -597, 958, 450,
+ -597, -597, -597, -597, 878, 894, -597, -597, -597, -597,
+ -597, -597, -597, -597, -597, 149, 745, 287, 45, -597,
+ -597, -12, -597, 322, 366, 301, 304, -597, -597, -597,
+ -597, -597, -597, -597, 745, 399, 369, -597, 745, 398,
+ 370, -597, 745, 27, 362, -597, -597, -597, -597, -597,
+ 745, 408, -597, 694, 61, 745, -597, -597, 996, 996,
+ 996, 996, 996, 996, 996, 379, 386, 387, 388, 390,
+ 391, 392, 393, 1005, -24, 996, 996, 996, -597, -597,
+ -597, -597, -597, -597, 830, 846, 862, 996, 996, 745,
+ 996, -597, -597, -597, 247, -597, -597, -597, -597, -597,
+ -597, -597, -597, 270, 629, 643, 643, 30, -597, -597,
+ -597, 244, -597, -597, -597, 643, 404, -21, 745, -597,
+ 745, -597, -597, 158, -597, -597, -597, 323, -597, -597,
+ -597, -597, -597, 996, -597, -597, 745, -597, 813, 133,
+ 409, 426, -597, 427, 428, -597, 444, 973, 450, 973,
+ 445, -597, -597, -597, -597, -597, -597, -597, -597, -597,
+ -597, -597, -597, -597, 996, 996, 996, 996, 996, 996,
+ 996, 996, 996, -597, 996, -597, -597, -597, -597, -597,
+ -597, -597, -597, -597, -597, -597, -597, -597, -597, -597,
+ -597, -597, -597, -597, -597, -597, -597, -597, -597, -597,
+ -597, -597, -597, -597, -597, -597, -597, -597, -597, -597,
+ -597, -597, -597, -597, -597, -597, -597, -597, -597, 942,
+ 910, 926, -597, 361, 376, 745, -597, -597, -597, -597,
+ 44, -597, -597, -597, 158, -597, -597, -597, -597, -597,
+ -597, -597, 446, 377, -597, -597, 24, -597, -597, -597,
+ -597, -597, -597, -597, -597, -597, -597, -597, -597, -597,
+ -597, -597, -597, -597, -597, 244, 244, -597, 307, -597,
+ 468, 973, -597, 694, -597, 457, 24, -597, 129, 129,
+ -597, 958, -597, 469, 470, -597, -597, -597, -597
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -587, -587, -587, 16, -587, 316, 7, -587, -587, -587,
- -587, -587, 253, -587, -587, 197, -587, -587, -587, -587,
- 0, -587, -587, -587, 11, -587, -587, 258, -587, -587,
- -587, 265, 383, -587, -587, -587, -587, -237, -587, -587,
- -587, -587, -587, -587, -587, -587, -587, -587, 182, -587,
- -195, -110, -587, -587, 277, -587, -587, -587, -193, -587,
- -587, -587, -587, -587, -587, -215, -587, 161, -416, -587,
- 295, -22, -587, -91, -587, -587, -587, -587, -587, -587,
- -587, -587, -587, -587, -587, -283, -587, -586, -587, -43,
- -587, -179, -587, -587, -587, -587, -587, 46, -587, -587,
- -587, -587, -183, -587, -587, -239, -587, -587, -55, -168,
- -115, 229, -587, -587, -414, -587, 60, -587, -587, -587,
- -587, -238, -587, -587, -23, -587, -276, -19, -587, -587,
- -587, -587, 81, -587, -587, 78, -587, -587, -146, -75,
- -587, -587, -172, -587, 242, -82, -27, -226, -158, -208,
- -587, -25, -17, -210, -587, -385, -587, -587, -587, -587,
- 475, -587, 474, -587, -587, 62
+ -597, -597, -597, 28, -597, 371, 8, -597, -597, -597,
+ -597, -597, 325, -597, -597, 269, -597, -597, -597, -597,
+ -1, -597, -597, -597, 10, -597, -597, 332, -597, -597,
+ -597, 320, 458, -597, -597, -597, -597, -235, -597, -597,
+ -597, -597, -597, -597, -597, -597, -597, -597, 258, -597,
+ -183, -108, -597, -597, 337, -597, -597, -597, -180, -597,
+ -597, -597, -597, -597, -597, -217, -597, 235, -397, -597,
+ 384, 34, -597, -91, -597, -597, -597, -597, -597, -597,
+ -597, -597, -597, -597, -597, -287, -597, -596, -597, 37,
+ -597, -179, -597, -597, -597, -597, -597, 100, -597, -597,
+ -597, -597, -116, -597, -597, -240, -597, -597, 13, -119,
+ -115, 281, -597, -597, -414, -597, 111, -597, -597, -597,
+ -597, -236, -597, -597, 40, -597, -277, 35, -597, -597,
+ -597, -597, 136, -597, -597, 142, -597, -597, -149, 48,
+ -597, -597, -150, -597, 310, -82, -27, -145, -135, -209,
+ -597, -25, -17, -211, -597, -335, -597, -597, -597, -597,
+ 520, -597, 514, -597, -597, 39
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -357
+#define YYTABLE_NINF -358
static const yytype_int16 yytable[] =
{
- 71, 96, 172, 97, 146, 321, 138, 521, 189, 46,
- 327, 98, 276, 176, 332, -159, 44, 309, 9, 307,
- 50, 424, 107, 500, 11, 12, 13, 641, 14, 444,
- 205, -273, 268, 4, 269, 36, 37, 38, 39, 276,
- -273, 55, 12, 13, 309, 14, 307, 515, 285, 40,
- 334, 15, 16, 10, 340, 305, 366, 641, 115, 268,
- 135, 269, 516, 54, 245, 517, 41, 427, 428, 429,
- 430, 431, 432, 316, 363, 285, 58, 61, 16, 456,
- 489, 458, 305, 640, 192, 193, 194, 323, 587, 588,
- 56, 164, 165, 166, 167, 61, 230, 425, 592, 221,
- 173, 214, 57, 88, 73, 445, 206, 207, 208, 501,
- 74, 601, 295, 602, 46, 123, 124, 125, 96, 17,
- 97, 44, 209, 18, 76, 50, 19, 508, 98, 464,
- 126, 511, 20, 453, 454, 514, 17, 457, 295, 295,
- 18, 77, 490, 491, 492, 482, 493, 494, 495, -274,
- 78, 221, 79, 88, 108, 109, 114, 110, -274, 541,
- 182, 183, 111, 117, 135, 467, 470, 231, 232, 479,
- 336, 107, 226, 222, 485, 102, 483, 80, 81, 82,
- 310, 311, 312, 313, 87, 346, 471, 63, 64, 65,
- 66, 67, 68, 69, 70, 472, 473, 474, 475, 84,
- 85, 86, 446, 447, 448, 449, 450, 451, 491, 492,
- 308, 493, 494, 340, 1, 2, 645, 646, 386, 103,
- 104, 113, 118, 122, 562, 222, 650, 263, 131, -274,
- 144, 88, 145, 195, 168, -273, 173, 308, 174, 178,
- 163, 179, 335, 180, 549, 553, 557, 175, 181, 96,
- 196, 97, 185, 295, 263, 362, 188, 364, 190, 98,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 295,
- 197, 200, 442, 198, 199, 203, 212, 215, 476, 477,
- 478, 223, 62, 63, 64, 65, 66, 67, 68, 69,
- 70, 217, 224, 225, 228, 317, 318, 239, 388, 240,
- 241, 320, 242, 487, 322, -158, 392, -136, -136, -136,
+ 71, 96, 172, 97, 146, 189, 138, 321, 46, 524,
+ 276, 98, 327, 332, -159, 176, 309, 44, 307, 50,
+ 644, 426, 107, 502, 11, 12, 13, 446, 14, 205,
+ 9, 4, 36, 37, 38, 39, 245, 276, 10, 12,
+ 13, 517, 14, 309, 268, 307, 40, 269, 285, 334,
+ 644, 15, 16, 341, 61, 643, 518, 54, 367, 519,
+ 135, 1, 2, 41, 429, 430, 431, 432, 433, 434,
+ 115, 268, 61, 364, 269, 285, 458, 305, 460, 55,
+ 491, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 217, 164, 165, 166, 167, 56, 316, 427, 230, 221,
+ 173, 214, 88, 447, 305, 206, 207, 208, 57, 503,
+ 323, 73, 295, 46, 74, 123, 124, 125, 96, 17,
+ 97, 209, 44, 18, 50, -273, 19, 510, 98, 466,
+ 126, 513, 20, 17, -273, 516, 76, 18, 295, 295,
+ 590, 591, 492, 493, 494, 484, 495, 496, 497, -274,
+ 595, 221, 77, 88, 80, 81, 82, 544, -274, 493,
+ 494, 87, 495, 496, 135, 469, 472, 88, 481, 78,
+ 336, 107, 226, 222, 487, 79, 485, 448, 449, 450,
+ 451, 452, 453, 182, 183, 347, 473, 63, 64, 65,
+ 66, 67, 68, 69, 70, 474, 475, 476, 477, 84,
+ 85, 86, 102, 108, 109, 103, 110, 192, 193, 194,
+ 308, 111, 523, 104, 341, 455, 456, 113, 387, 459,
+ 310, 311, 312, 313, 114, 222, 263, 117, 565, 653,
+ 58, 604, 16, 605, 231, 232, 173, 308, 648, 649,
+ 118, 122, 335, 131, -274, 552, 556, 560, 144, 96,
+ 145, 97, 163, 263, 295, 363, 174, 365, 88, 98,
+ -273, 435, 436, 437, 438, 439, 440, 441, 442, 443,
+ 295, 168, 175, 444, 178, 180, 170, 185, 478, 479,
+ 480, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 80, 81, 82, 83, 84, 85, 86, 87, 389, 179,
+ 181, 195, 188, 190, 489, -158, 393, -136, -136, -136,
-136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
- -136, -136, -136, -136, 62, 63, 64, 65, 66, 67,
- 68, 69, 70, 459, 325, 328, 460, 520, 461, 329,
- 330, 523, 341, 262, 443, 596, 342, 347, 348, 365,
- 463, 173, 368, 369, 367, 401, 389, 402, 403, 484,
- 635, 407, 411, 415, 416, 417, 418, 308, 88, 420,
- 419, 421, 455, 423, 488, 560, 502, 504, 625, 628,
- 631, 505, 509, 506, 589, 512, 531, 532, 591, 533,
- 534, 535, 536, -136, 593, 537, 538, -163, 604, 597,
- 609, 611, 612, 605, 594, 606, 595, 607, 608, 524,
- 525, 526, 527, 528, 529, 530, 613, 632, 633, 637,
- 638, 647, 648, 651, 540, 654, 542, 543, 544, 655,
- 169, 319, 340, 204, 213, 116, 333, 344, 558, 559,
- 184, 561, 62, 63, 64, 65, 66, 67, 68, 69,
- 70, 105, 96, 216, 97, 636, 211, 590, 598, 519,
- 652, 610, 98, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 80, 81, 82, 83, 84, 85, 86, 87,
- 653, 331, 522, 600, 392, 599, 510, 513, 324, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 173, 173,
- 173, 136, 84, 85, 86, 99, 221, 100, 0, 0,
- 634, 0, 0, 0, 614, 615, 616, 617, 618, 619,
- 620, 621, 622, 649, 623, 243, 0, 0, 0, 0,
- 0, 244, 0, 11, 12, 13, 245, 170, 0, 0,
- 246, 40, 247, 248, 0, 0, 249, 0, 250, 88,
- 251, 0, 252, 0, 0, 0, 0, 253, 0, 58,
- 254, 255, 63, 64, 65, 66, 256, 257, 258, 259,
- 260, 0, 0, 261, 84, 85, 86, 0, 0, 0,
- 222, 0, 0, 0, 0, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 0,
- 0, 0, 0, 0, 0, 96, 96, 97, 97, 0,
- 0, 0, 0, 0, 0, 98, 98, 0, 0, 0,
- 0, 173, 0, 0, 0, 0, 0, 0, 0, 243,
- 0, 463, 0, 0, 0, 19, 0, 11, 12, 13,
- 245, 0, 0, 262, 246, 40, 247, 248, 0, 0,
- 249, 0, 250, 0, 251, 0, 252, 0, 0, 0,
- 0, 253, 0, 58, 0, 255, 63, 64, 65, 66,
- 256, 257, 258, 259, 260, 147, 0, 261, 84, 85,
- 86, 563, 564, 565, 566, 567, 568, 569, 570, 571,
- 572, 573, 574, 575, 576, 563, 564, 565, 566, 567,
- 568, 569, 570, 571, 572, 573, 574, 575, 576, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 260, 0,
- 0, 171, 148, 149, 150, 151, 152, 153, 154, 155,
- 156, 157, 158, 159, 160, 161, 0, 0, 0, 19,
- 0, 0, 0, 0, 0, -268, 0, 262, 0, 0,
- 0, 0, 0, 0, 0, 577, 0, 578, 579, 580,
- 581, 582, 583, 584, 585, 0, 0, 0, 0, 577,
- 0, 578, 579, 580, 581, 582, 583, 584, 585, -356,
- -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
- -356, -356, -356, 370, 371, 372, 373, 374, 375, 376,
- 377, 378, 379, 380, 381, 382, 383, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 80, 81, 82, 136,
- 84, 85, 86, 87, 0, 0, 0, 0, 0, -356,
- 0, 0, -356, 0, 0, 0, 0, 0, -356, 0,
- 0, 0, 0, 0, 0, 0, 384, -227, -227, -227,
+ -136, -136, -136, -136, 148, 149, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, 160, 161, 522, 196,
+ 197, 198, 199, 526, 599, 445, 200, 203, 212, 215,
+ 224, 465, 173, 223, 225, 228, 239, 240, 241, 317,
+ 486, 242, 318, 320, 322, 638, 325, 88, 308, 328,
+ 329, 330, 262, 342, 343, 348, 349, 563, 366, 368,
+ 628, 631, 634, 369, 370, 390, 592, 402, 403, 404,
+ 594, 408, 412, -136, 416, 417, 596, 422, 418, 419,
+ 420, 423, 612, 614, 615, 421, 597, 425, 598, 490,
+ 457, 527, 528, 529, 530, 531, 532, 533, 147, 504,
+ 506, 507, 511, 514, 534, 508, 543, 650, 545, 546,
+ 547, 535, 536, 537, 341, 538, 539, 540, 541, -163,
+ 561, 562, 600, 564, 607, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 96, 639, 97, 136, 84, 85,
+ 86, 608, 609, 610, 98, 148, 149, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 611,
+ 616, 640, 635, 651, 654, 169, 393, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 260, 636, 641, 171,
+ 173, 173, 173, 319, 657, 658, 213, 204, 216, 221,
+ 116, 345, 333, 637, 521, 593, 211, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 652, 626, 243, 184,
+ 655, 613, 656, 331, 244, 525, 11, 12, 13, 245,
+ 601, 602, 512, 246, 40, 247, 248, 100, 603, 249,
+ 99, 250, 515, 251, 0, 252, 324, 0, 0, 0,
+ 253, 0, 58, 254, 255, 63, 64, 65, 66, 256,
+ 257, 258, 259, 260, 0, 0, 261, 84, 85, 86,
+ 0, 0, 0, 222, 0, 0, -357, -357, -357, -357,
+ -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
+ 0, 0, 0, 0, 0, 0, 0, 0, 96, 96,
+ 97, 97, 0, 0, 0, 0, 0, 0, 98, 98,
+ 0, 0, 0, 0, 173, 0, 0, 0, 0, 0,
+ 0, 0, 243, 0, 465, 0, -357, 0, 19, -357,
+ 11, 12, 13, 245, 0, -357, 262, 246, 40, 247,
+ 248, 0, 0, 249, 0, 250, 0, 251, 0, 252,
+ 0, 0, 0, 0, 253, 0, 58, 0, 255, 63,
+ 64, 65, 66, 256, 257, 258, 259, 260, 0, 0,
+ 261, 84, 85, 86, 566, 567, 568, 569, 570, 571,
+ 572, 573, 574, 575, 576, 577, 578, 579, 566, 567,
+ 568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
+ 578, 579, 0, 0, 0, 371, 372, 373, 374, 375,
+ 376, 377, 378, 379, 380, 381, 382, 383, 384, 0,
+ 0, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 337, 0, 19, 136, 84, 85, 86, 0, -268, 0,
+ 262, 0, 0, 0, 0, 0, 0, 0, 580, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 385, 0,
+ 0, 0, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 80, 81, 82, 136, 84, 85, 86, 87, -227,
-227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
- -227, -227, -227, -227, -228, -228, -228, -228, -228, -228,
+ -227, -227, -227, -227, -227, -227, -228, -228, -228, -228,
-228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
- -228, 349, 350, 351, 352, 353, 354, 355, 356, 357,
- 358, 359, 360, 136, 84, 85, 86, 87, 62, 63,
- 64, 65, 66, 67, 68, 69, 70, 393, 81, 82,
- 136, 84, 85, 86, 87, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 545, 546, 547, 136, 84, 85,
- 86, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 550, 551, 552, 136, 84, 85, 86, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 554, 555, 556, 136,
+ -228, -228, -228, 350, 351, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 136, 84, 85, 86, 87,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 394,
+ 81, 82, 136, 84, 85, 86, 87, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 548, 549, 550, 136,
84, 85, 86, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 0, 465, 466, 136, 84, 85, 86, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 0, 468,
- 469, 136, 84, 85, 86, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 0, 626, 627, 136, 84, 85,
+ 69, 70, 553, 554, 555, 136, 84, 85, 86, 62,
+ 63, 64, 65, 66, 67, 68, 69, 70, 557, 558,
+ 559, 136, 84, 85, 86, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 0, 467, 468, 136, 84, 85,
86, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 0, 629, 630, 136, 84, 85, 86, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 624, 0, 0, 136,
+ 0, 470, 471, 136, 84, 85, 86, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 0, 629, 630, 136,
84, 85, 86, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 0, 0, 0, 171, 62, 63, 64, 65,
- 66, 67, 68, 69, 70, 62, 63, 64, 65, 66,
- 67, 68, 69, 539
+ 69, 70, 0, 632, 633, 136, 84, 85, 86, 62,
+ 63, 64, 65, 66, 67, 68, 69, 70, 627, 0,
+ 0, 136, 84, 85, 86, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 461, 0, 0, 462, 0, 463,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 0,
+ 0, 0, 171, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 105, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 62, 63, 64, 65, 66, 67, 68, 69,
+ 542
};
static const yytype_int16 yycheck[] =
{
- 17, 28, 117, 28, 95, 242, 88, 421, 154, 9,
- 248, 28, 227, 123, 253, 35, 9, 227, 2, 227,
- 9, 45, 39, 35, 9, 10, 11, 613, 13, 45,
- 35, 119, 227, 35, 227, 3, 4, 5, 6, 254,
- 128, 47, 10, 11, 254, 13, 254, 14, 227, 17,
- 258, 36, 37, 0, 262, 227, 294, 643, 42, 254,
- 77, 254, 29, 46, 12, 32, 34, 350, 351, 352,
- 353, 354, 355, 231, 282, 254, 35, 15, 37, 362,
- 35, 364, 254, 31, 159, 160, 161, 245, 473, 474,
- 46, 108, 109, 110, 111, 33, 206, 121, 483, 190,
- 117, 183, 123, 123, 37, 121, 111, 112, 113, 121,
- 119, 98, 227, 100, 114, 111, 112, 113, 145, 104,
- 145, 114, 127, 108, 35, 114, 111, 403, 145, 368,
- 126, 407, 117, 359, 360, 411, 104, 363, 253, 254,
- 108, 119, 97, 98, 99, 384, 101, 102, 103, 119,
- 35, 242, 35, 123, 38, 39, 35, 41, 128, 442,
- 124, 125, 46, 121, 181, 373, 374, 106, 107, 384,
- 261, 188, 199, 190, 384, 46, 384, 46, 47, 48,
- 38, 39, 40, 41, 53, 276, 37, 38, 39, 40,
+ 17, 28, 117, 28, 95, 154, 88, 242, 9, 423,
+ 227, 28, 248, 253, 35, 123, 227, 9, 227, 9,
+ 616, 45, 39, 35, 9, 10, 11, 45, 13, 35,
+ 2, 35, 3, 4, 5, 6, 12, 254, 0, 10,
+ 11, 14, 13, 254, 227, 254, 17, 227, 227, 258,
+ 646, 36, 37, 262, 15, 31, 29, 46, 294, 32,
+ 77, 115, 116, 34, 351, 352, 353, 354, 355, 356,
+ 42, 254, 33, 282, 254, 254, 363, 227, 365, 47,
+ 35, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 108, 109, 110, 111, 46, 231, 121, 206, 190,
+ 117, 183, 123, 121, 254, 111, 112, 113, 123, 121,
+ 245, 37, 227, 114, 119, 111, 112, 113, 145, 104,
+ 145, 127, 114, 108, 114, 119, 111, 404, 145, 369,
+ 126, 408, 117, 104, 128, 412, 35, 108, 253, 254,
+ 475, 476, 97, 98, 99, 385, 101, 102, 103, 119,
+ 485, 242, 119, 123, 46, 47, 48, 444, 128, 98,
+ 99, 53, 101, 102, 181, 374, 375, 123, 385, 35,
+ 261, 188, 199, 190, 385, 35, 385, 55, 56, 57,
+ 58, 59, 60, 124, 125, 276, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 55, 56, 57, 58, 59, 60, 98, 99,
- 227, 101, 102, 421, 115, 116, 632, 633, 309, 46,
- 46, 46, 46, 114, 462, 242, 640, 227, 35, 123,
- 35, 123, 121, 46, 121, 123, 253, 254, 124, 120,
- 122, 121, 259, 120, 452, 453, 454, 125, 121, 276,
- 122, 276, 119, 368, 254, 282, 119, 282, 119, 276,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 384,
- 122, 46, 49, 122, 122, 35, 35, 46, 129, 130,
- 131, 47, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 48, 46, 8, 109, 105, 120, 315, 120,
- 120, 35, 121, 385, 35, 35, 323, 37, 38, 39,
+ 51, 52, 46, 38, 39, 46, 41, 159, 160, 161,
+ 227, 46, 421, 46, 423, 360, 361, 46, 309, 364,
+ 38, 39, 40, 41, 35, 242, 227, 121, 464, 643,
+ 35, 98, 37, 100, 106, 107, 253, 254, 635, 636,
+ 46, 114, 259, 35, 123, 454, 455, 456, 35, 276,
+ 121, 276, 122, 254, 369, 282, 124, 282, 123, 276,
+ 123, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 385, 121, 125, 49, 120, 120, 35, 119, 129, 130,
+ 131, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 315, 121,
+ 121, 46, 119, 119, 386, 35, 323, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 119, 35, 49, 419, 51, 35,
- 35, 423, 35, 119, 121, 491, 35, 35, 35, 35,
- 367, 368, 122, 35, 128, 35, 110, 35, 20, 384,
- 597, 21, 30, 35, 35, 35, 35, 384, 123, 120,
- 122, 121, 45, 122, 122, 457, 97, 54, 586, 587,
- 588, 120, 23, 121, 475, 25, 45, 45, 479, 45,
- 45, 45, 45, 123, 485, 45, 45, 35, 35, 119,
- 515, 516, 517, 35, 486, 35, 488, 35, 35, 426,
- 427, 428, 429, 430, 431, 432, 35, 121, 121, 35,
- 121, 120, 15, 27, 441, 35, 443, 444, 445, 35,
- 114, 234, 640, 175, 181, 52, 254, 276, 455, 456,
- 145, 458, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 479, 188, 479, 601, 179, 479, 501, 413,
- 643, 516, 479, 37, 38, 39, 40, 41, 42, 43,
+ 50, 51, 52, 53, 83, 84, 85, 86, 87, 88,
+ 89, 90, 91, 92, 93, 94, 95, 96, 420, 122,
+ 122, 122, 122, 425, 493, 121, 46, 35, 35, 46,
+ 48, 368, 369, 47, 46, 8, 120, 120, 120, 109,
+ 385, 121, 105, 35, 35, 600, 119, 123, 385, 35,
+ 35, 35, 119, 35, 35, 35, 35, 459, 35, 128,
+ 589, 590, 591, 122, 35, 110, 477, 35, 35, 20,
+ 481, 21, 30, 123, 35, 35, 487, 120, 35, 35,
+ 122, 121, 517, 518, 519, 54, 488, 122, 490, 122,
+ 45, 428, 429, 430, 431, 432, 433, 434, 36, 97,
+ 54, 120, 23, 25, 45, 121, 443, 120, 445, 446,
+ 447, 45, 45, 45, 643, 45, 45, 45, 45, 35,
+ 457, 458, 119, 460, 35, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 481, 604, 481, 49, 50, 51,
+ 52, 35, 35, 35, 481, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 35,
+ 35, 35, 121, 15, 27, 114, 503, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 121, 121, 49,
+ 517, 518, 519, 234, 35, 35, 181, 175, 188, 600,
+ 52, 276, 254, 595, 414, 481, 179, 534, 535, 536,
+ 537, 538, 539, 540, 541, 542, 641, 544, 1, 145,
+ 646, 518, 651, 252, 7, 424, 9, 10, 11, 12,
+ 503, 506, 406, 16, 17, 18, 19, 33, 508, 22,
+ 30, 24, 410, 26, -1, 28, 246, -1, -1, -1,
+ 33, -1, 35, 36, 37, 38, 39, 40, 41, 42,
+ 43, 44, 45, 46, -1, -1, 49, 50, 51, 52,
+ -1, -1, -1, 600, -1, -1, 69, 70, 71, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ -1, -1, -1, -1, -1, -1, -1, -1, 635, 636,
+ 635, 636, -1, -1, -1, -1, -1, -1, 635, 636,
+ -1, -1, -1, -1, 641, -1, -1, -1, -1, -1,
+ -1, -1, 1, -1, 651, -1, 119, -1, 111, 122,
+ 9, 10, 11, 12, -1, 128, 119, 16, 17, 18,
+ 19, -1, -1, 22, -1, 24, -1, 26, -1, 28,
+ -1, -1, -1, -1, 33, -1, 35, -1, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46, -1, -1,
+ 49, 50, 51, 52, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, 64, 65, 66, 67, 68, 55, 56,
+ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
+ 67, 68, -1, -1, -1, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, -1,
+ -1, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, -1, 111, 49, 50, 51, 52, -1, 119, -1,
+ 119, -1, -1, -1, -1, -1, -1, -1, 129, -1,
+ 131, 132, 133, 134, 135, 136, 137, 138, 122, -1,
+ -1, -1, 129, -1, 131, 132, 133, 134, 135, 136,
+ 137, 138, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 37, 38, 39, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 648, 252, 422, 506, 501, 504, 405, 409, 246, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 515, 516,
- 517, 49, 50, 51, 52, 30, 597, 33, -1, -1,
- 592, -1, -1, -1, 531, 532, 533, 534, 535, 536,
- 537, 538, 539, 638, 541, 1, -1, -1, -1, -1,
- -1, 7, -1, 9, 10, 11, 12, 35, -1, -1,
- 16, 17, 18, 19, -1, -1, 22, -1, 24, 123,
- 26, -1, 28, -1, -1, -1, -1, 33, -1, 35,
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, -1, -1, 49, 50, 51, 52, -1, -1, -1,
- 597, -1, -1, -1, -1, 83, 84, 85, 86, 87,
- 88, 89, 90, 91, 92, 93, 94, 95, 96, -1,
- -1, -1, -1, -1, -1, 632, 633, 632, 633, -1,
- -1, -1, -1, -1, -1, 632, 633, -1, -1, -1,
- -1, 638, -1, -1, -1, -1, -1, -1, -1, 1,
- -1, 648, -1, -1, -1, 111, -1, 9, 10, 11,
- 12, -1, -1, 119, 16, 17, 18, 19, -1, -1,
- 22, -1, 24, -1, 26, -1, 28, -1, -1, -1,
- -1, 33, -1, 35, -1, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 36, -1, 49, 50, 51,
- 52, 55, 56, 57, 58, 59, 60, 61, 62, 63,
- 64, 65, 66, 67, 68, 55, 56, 57, 58, 59,
- 60, 61, 62, 63, 64, 65, 66, 67, 68, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
- -1, 49, 83, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, -1, -1, -1, 111,
- -1, -1, -1, -1, -1, 119, -1, 119, -1, -1,
- -1, -1, -1, -1, -1, 129, -1, 131, 132, 133,
- 134, 135, 136, 137, 138, -1, -1, -1, -1, 129,
- -1, 131, 132, 133, 134, 135, 136, 137, 138, 69,
- 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 69, 70, 71, 72, 73, 74, 75,
- 76, 77, 78, 79, 80, 81, 82, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, -1, -1, -1, -1, -1, 119,
- -1, -1, 122, -1, -1, -1, -1, -1, 128, -1,
- -1, -1, -1, -1, -1, -1, 122, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, 47, 48, 49, 50, 51, 52, 53, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
- 52, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, 47, 48, 49, 50, 51, 52, 37, 38, 39,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, 51, 52, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, -1, 47, 48, 49, 50, 51, 52, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, -1, 47,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, 52, 37, 38, 39, 40, 41,
42, 43, 44, 45, -1, 47, 48, 49, 50, 51,
52, 37, 38, 39, 40, 41, 42, 43, 44, 45,
-1, 47, 48, 49, 50, 51, 52, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, -1, -1, 49,
+ 40, 41, 42, 43, 44, 45, -1, 47, 48, 49,
50, 51, 52, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, -1, -1, -1, 49, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 37, 38, 39, 40, 41,
- 42, 43, 44, 45
+ 44, 45, -1, 47, 48, 49, 50, 51, 52, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
+ -1, 49, 50, 51, 52, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, -1, -1, 49, -1, 51,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, -1,
+ -1, -1, 49, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1749,39 +1745,39 @@
259, 267, 268, 279, 280, 281, 282, 288, 291, 292,
38, 39, 40, 41, 180, 287, 287, 109, 105, 154,
35, 176, 35, 287, 283, 119, 260, 260, 35, 35,
- 35, 250, 244, 187, 288, 291, 212, 251, 252, 253,
- 288, 35, 35, 205, 206, 208, 212, 35, 35, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 221, 285, 288, 290, 35, 260, 128, 122, 35,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 122, 295, 212, 181, 291, 110,
- 227, 228, 291, 46, 261, 262, 263, 264, 265, 266,
- 284, 35, 35, 20, 269, 270, 271, 21, 272, 273,
- 274, 30, 234, 235, 236, 35, 35, 35, 35, 122,
- 120, 121, 254, 122, 45, 121, 224, 224, 224, 224,
- 224, 224, 224, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 49, 121, 45, 121, 55, 56, 57, 58,
- 59, 60, 286, 286, 286, 45, 224, 286, 224, 46,
- 49, 51, 248, 291, 244, 47, 48, 288, 47, 48,
- 288, 37, 46, 47, 48, 49, 129, 130, 131, 204,
- 216, 218, 244, 288, 290, 292, 293, 284, 122, 35,
- 97, 98, 99, 101, 102, 103, 182, 183, 184, 255,
- 35, 121, 97, 229, 54, 120, 121, 275, 265, 23,
- 271, 265, 25, 274, 265, 14, 29, 32, 237, 236,
- 284, 253, 255, 284, 291, 291, 291, 291, 291, 291,
- 291, 45, 45, 45, 45, 45, 45, 45, 45, 45,
- 291, 224, 291, 291, 291, 46, 47, 48, 222, 288,
- 46, 47, 48, 288, 46, 47, 48, 288, 291, 291,
- 284, 291, 260, 55, 56, 57, 58, 59, 60, 61,
- 62, 63, 64, 65, 66, 67, 68, 129, 131, 132,
- 133, 134, 135, 136, 137, 138, 294, 294, 294, 212,
- 210, 212, 294, 212, 284, 284, 277, 119, 228, 266,
- 263, 98, 100, 276, 35, 35, 35, 35, 35, 249,
- 247, 249, 249, 35, 291, 291, 291, 291, 291, 291,
- 291, 291, 291, 291, 46, 288, 47, 48, 288, 47,
- 48, 288, 121, 121, 284, 176, 277, 35, 121, 238,
- 31, 226, 239, 240, 241, 207, 207, 120, 15, 249,
- 253, 27, 241, 248, 35, 35
+ 35, 250, 244, 187, 288, 291, 212, 46, 251, 252,
+ 253, 288, 35, 35, 205, 206, 208, 212, 35, 35,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, 48, 221, 285, 288, 290, 35, 260, 128, 122,
+ 35, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 122, 295, 212, 181, 291,
+ 110, 227, 228, 291, 46, 261, 262, 263, 264, 265,
+ 266, 284, 35, 35, 20, 269, 270, 271, 21, 272,
+ 273, 274, 30, 234, 235, 236, 35, 35, 35, 35,
+ 122, 54, 120, 121, 254, 122, 45, 121, 224, 224,
+ 224, 224, 224, 224, 224, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 49, 121, 45, 121, 55, 56,
+ 57, 58, 59, 60, 286, 286, 286, 45, 224, 286,
+ 224, 46, 49, 51, 248, 291, 244, 47, 48, 288,
+ 47, 48, 288, 37, 46, 47, 48, 49, 129, 130,
+ 131, 204, 216, 218, 244, 288, 290, 292, 293, 284,
+ 122, 35, 97, 98, 99, 101, 102, 103, 182, 183,
+ 184, 255, 35, 121, 97, 229, 54, 120, 121, 275,
+ 265, 23, 271, 265, 25, 274, 265, 14, 29, 32,
+ 237, 236, 284, 288, 253, 255, 284, 291, 291, 291,
+ 291, 291, 291, 291, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 291, 224, 291, 291, 291, 46, 47,
+ 48, 222, 288, 46, 47, 48, 288, 46, 47, 48,
+ 288, 291, 291, 284, 291, 260, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
+ 129, 131, 132, 133, 134, 135, 136, 137, 138, 294,
+ 294, 294, 212, 210, 212, 294, 212, 284, 284, 277,
+ 119, 228, 266, 263, 98, 100, 276, 35, 35, 35,
+ 35, 35, 249, 247, 249, 249, 35, 291, 291, 291,
+ 291, 291, 291, 291, 291, 291, 291, 46, 288, 47,
+ 48, 288, 47, 48, 288, 121, 121, 284, 176, 277,
+ 35, 121, 238, 31, 226, 239, 240, 241, 207, 207,
+ 120, 15, 249, 253, 27, 241, 248, 35, 35
};
#define yyerrok (yyerrstatus = 0)
@@ -4094,53 +4090,60 @@
break;
case 281:
-#line 1826 "pir.y"
- { (yyval.ival) = 0; ;}
+#line 1824 "pir.y"
+ { (yyval.targ) = set_param_alias(lexer, (yyvsp[(1) - (3)].sval)); ;}
break;
case 282:
#line 1828 "pir.y"
- { SET_FLAG((yyval.ival), (yyvsp[(2) - (2)].ival)); ;}
+ { (yyval.ival) = 0; ;}
break;
case 283:
-#line 1832 "pir.y"
- { (yyval.ival) = TARGET_FLAG_OPTIONAL; ;}
+#line 1830 "pir.y"
+ { SET_FLAG((yyval.ival), (yyvsp[(2) - (2)].ival)); ;}
break;
case 284:
#line 1834 "pir.y"
- { (yyval.ival) = TARGET_FLAG_OPT_FLAG; ;}
+ { (yyval.ival) = TARGET_FLAG_OPTIONAL; ;}
break;
case 285:
#line 1836 "pir.y"
- { (yyval.ival) = TARGET_FLAG_SLURPY; ;}
+ { (yyval.ival) = TARGET_FLAG_OPT_FLAG; ;}
break;
case 286:
#line 1838 "pir.y"
+ { (yyval.ival) = TARGET_FLAG_SLURPY; ;}
+ break;
+
+ case 287:
+#line 1840 "pir.y"
{
(yyval.ival) = TARGET_FLAG_NAMED;
set_param_alias(lexer, (yyvsp[(2) - (2)].sval));
+ if (TEST_FLAG(lexer->curtarget->flags, TARGET_FLAG_NAMED))
+ fprintf(stderr, "alias: %s\n", lexer->curtarget->alias);
;}
break;
- case 287:
-#line 1848 "pir.y"
+ case 288:
+#line 1852 "pir.y"
{ convert_inv_to_instr(lexer, (yyvsp[(1) - (1)].invo)); ;}
break;
- case 292:
-#line 1858 "pir.y"
+ case 293:
+#line 1862 "pir.y"
{
(yyval.invo) = invoke(lexer, CALL_RETURN);
set_invocation_args(lexer, (yyval.invo), (yyvsp[(2) - (3)].argm));
;}
break;
- case 293:
-#line 1863 "pir.y"
+ case 294:
+#line 1867 "pir.y"
{ /* was the invocation a method call? then it becomes a method tail
* call, otherwise it's just a normal (sub) tail call.
*/
@@ -4151,27 +4154,22 @@
;}
break;
- case 294:
-#line 1874 "pir.y"
+ case 295:
+#line 1878 "pir.y"
{
(yyval.invo) = invoke(lexer, CALL_YIELD);
set_invocation_args(lexer, (yyval.invo), (yyvsp[(2) - (3)].argm));
;}
break;
- case 295:
-#line 1881 "pir.y"
- { (yyval.argm) = (yyvsp[(2) - (3)].argm); ;}
- break;
-
case 296:
#line 1885 "pir.y"
- { (yyval.argm) = NULL; ;}
+ { (yyval.argm) = (yyvsp[(2) - (3)].argm); ;}
break;
case 297:
-#line 1887 "pir.y"
- { (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
+#line 1889 "pir.y"
+ { (yyval.argm) = NULL; ;}
break;
case 298:
@@ -4180,74 +4178,74 @@
break;
case 299:
-#line 1893 "pir.y"
- { (yyval.argm) = add_arg((yyvsp[(1) - (3)].argm), (yyvsp[(3) - (3)].argm)); ;}
+#line 1895 "pir.y"
+ { (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
- case 302:
-#line 1901 "pir.y"
- { (yyval.argm) = set_arg_alias(lexer, (yyvsp[(1) - (3)].sval)); ;}
+ case 300:
+#line 1897 "pir.y"
+ { (yyval.argm) = add_arg((yyvsp[(1) - (3)].argm), (yyvsp[(3) - (3)].argm)); ;}
break;
case 303:
#line 1905 "pir.y"
- { (yyval.argm) = set_arg_flag((yyval.argm), (yyvsp[(2) - (2)].ival)); ;}
+ { (yyval.argm) = set_arg_alias(lexer, (yyvsp[(1) - (3)].sval)); ;}
break;
case 304:
#line 1909 "pir.y"
- { (yyval.argm) = set_curarg(lexer, new_argument(lexer, (yyvsp[(1) - (1)].expr))); ;}
+ { (yyval.argm) = set_arg_flag((yyval.argm), (yyvsp[(2) - (2)].ival)); ;}
break;
case 305:
-#line 1915 "pir.y"
+#line 1913 "pir.y"
+ { (yyval.argm) = set_curarg(lexer, new_argument(lexer, (yyvsp[(1) - (1)].expr))); ;}
+ break;
+
+ case 306:
+#line 1919 "pir.y"
{
(yyval.invo) = invoke(lexer, CALL_RETURN);
set_invocation_args(lexer, (yyval.invo), (yyvsp[(3) - (5)].argm));
;}
break;
- case 306:
-#line 1924 "pir.y"
+ case 307:
+#line 1928 "pir.y"
{
(yyval.invo) = invoke(lexer, CALL_YIELD);
set_invocation_args(lexer, (yyval.invo), (yyvsp[(3) - (5)].argm));
;}
break;
- case 307:
-#line 1931 "pir.y"
- { (yyval.argm) = NULL; ;}
- break;
-
case 308:
-#line 1933 "pir.y"
- { (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
+#line 1935 "pir.y"
+ { (yyval.argm) = NULL; ;}
break;
case 309:
-#line 1938 "pir.y"
+#line 1937 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
case 310:
-#line 1940 "pir.y"
- { (yyval.argm) = add_arg((yyvsp[(1) - (2)].argm), (yyvsp[(2) - (2)].argm)); ;}
+#line 1942 "pir.y"
+ { (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
case 311:
-#line 1945 "pir.y"
- { (yyval.argm) = (yyvsp[(2) - (3)].argm); ;}
+#line 1944 "pir.y"
+ { (yyval.argm) = add_arg((yyvsp[(1) - (2)].argm), (yyvsp[(2) - (2)].argm)); ;}
break;
case 312:
#line 1949 "pir.y"
- { (yyval.argm) = NULL; ;}
+ { (yyval.argm) = (yyvsp[(2) - (3)].argm); ;}
break;
case 313:
-#line 1951 "pir.y"
- { (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
+#line 1953 "pir.y"
+ { (yyval.argm) = NULL; ;}
break;
case 314:
@@ -4256,170 +4254,175 @@
break;
case 315:
-#line 1957 "pir.y"
- { (yyval.argm) = add_arg((yyvsp[(1) - (2)].argm), (yyvsp[(2) - (2)].argm)); ;}
+#line 1959 "pir.y"
+ { (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
case 316:
#line 1961 "pir.y"
- { (yyval.argm) = (yyvsp[(2) - (3)].argm); ;}
+ { (yyval.argm) = add_arg((yyvsp[(1) - (2)].argm), (yyvsp[(2) - (2)].argm)); ;}
break;
case 317:
-#line 1966 "pir.y"
- { (yyval.ival) = 0; ;}
+#line 1965 "pir.y"
+ { (yyval.argm) = (yyvsp[(2) - (3)].argm); ;}
break;
case 318:
-#line 1968 "pir.y"
- { SET_FLAG((yyval.ival), (yyvsp[(2) - (2)].ival)); ;}
+#line 1970 "pir.y"
+ { (yyval.ival) = 0; ;}
break;
case 319:
#line 1972 "pir.y"
- { (yyval.ival) = ARG_FLAG_FLAT; ;}
+ { SET_FLAG((yyval.ival), (yyvsp[(2) - (2)].ival)); ;}
break;
case 320:
-#line 1974 "pir.y"
+#line 1976 "pir.y"
+ { (yyval.ival) = ARG_FLAG_FLAT; ;}
+ break;
+
+ case 321:
+#line 1978 "pir.y"
{
(yyval.ival) = ARG_FLAG_NAMED;
set_arg_alias(lexer, (yyvsp[(2) - (2)].sval));
;}
break;
- case 321:
-#line 1981 "pir.y"
- { (yyval.sval) = NULL; ;}
- break;
-
case 322:
-#line 1983 "pir.y"
- { (yyval.sval) = (yyvsp[(1) - (1)].sval); ;}
+#line 1985 "pir.y"
+ { (yyval.sval) = NULL; ;}
break;
case 323:
#line 1987 "pir.y"
- { (yyval.sval) = (yyvsp[(2) - (3)].sval); ;}
+ { (yyval.sval) = (yyvsp[(1) - (1)].sval); ;}
break;
- case 327:
-#line 1998 "pir.y"
- { store_global_constant(lexer, (yyvsp[(2) - (2)].cval)); ;}
+ case 324:
+#line 1991 "pir.y"
+ { (yyval.sval) = (yyvsp[(2) - (3)].sval); ;}
break;
case 328:
#line 2002 "pir.y"
- { /* XXX is .globalconst to be kept? */ ;}
+ { store_global_constant(lexer, (yyvsp[(2) - (2)].cval)); ;}
break;
case 329:
#line 2006 "pir.y"
- { (yyval.cval) = new_named_const(lexer, INT_TYPE, (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].ival)); ;}
+ { /* XXX is .globalconst to be kept? */ ;}
break;
case 330:
-#line 2008 "pir.y"
- { (yyval.cval) = new_named_const(lexer, NUM_TYPE, (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].dval)); ;}
+#line 2010 "pir.y"
+ { (yyval.cval) = new_named_const(lexer, INT_TYPE, (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].ival)); ;}
break;
case 331:
-#line 2010 "pir.y"
- { (yyval.cval) = new_named_const(lexer, STRING_TYPE, (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].sval)); ;}
+#line 2012 "pir.y"
+ { (yyval.cval) = new_named_const(lexer, NUM_TYPE, (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].dval)); ;}
break;
case 332:
-#line 2012 "pir.y"
- { (yyval.cval) = new_pmc_const((yyvsp[(1) - (4)].sval), (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].cval)); ;}
+#line 2014 "pir.y"
+ { (yyval.cval) = new_named_const(lexer, STRING_TYPE, (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].sval)); ;}
break;
case 333:
-#line 2019 "pir.y"
- { (yyval.expr) = expr_from_target(lexer, (yyvsp[(1) - (1)].targ)); ;}
+#line 2016 "pir.y"
+ { (yyval.cval) = new_pmc_const((yyvsp[(1) - (4)].sval), (yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].cval)); ;}
break;
case 334:
-#line 2020 "pir.y"
- { (yyval.expr) = expr_from_const(lexer, (yyvsp[(1) - (1)].cval)); ;}
+#line 2023 "pir.y"
+ { (yyval.expr) = expr_from_target(lexer, (yyvsp[(1) - (1)].targ)); ;}
break;
case 335:
#line 2024 "pir.y"
- { (yyval.cval) = new_const(lexer, STRING_TYPE, (yyvsp[(1) - (1)].sval)); ;}
+ { (yyval.expr) = expr_from_const(lexer, (yyvsp[(1) - (1)].cval)); ;}
break;
case 336:
-#line 2025 "pir.y"
- { (yyval.cval) = new_const(lexer, INT_TYPE, (yyvsp[(1) - (1)].ival)); ;}
+#line 2028 "pir.y"
+ { (yyval.cval) = new_const(lexer, STRING_TYPE, (yyvsp[(1) - (1)].sval)); ;}
break;
case 337:
-#line 2026 "pir.y"
- { (yyval.cval) = new_const(lexer, NUM_TYPE, (yyvsp[(1) - (1)].dval)); ;}
+#line 2029 "pir.y"
+ { (yyval.cval) = new_const(lexer, INT_TYPE, (yyvsp[(1) - (1)].ival)); ;}
break;
case 338:
-#line 2027 "pir.y"
- { (yyval.cval) = (yyvsp[(1) - (1)].cval); ;}
+#line 2030 "pir.y"
+ { (yyval.cval) = new_const(lexer, NUM_TYPE, (yyvsp[(1) - (1)].dval)); ;}
break;
case 339:
-#line 2030 "pir.y"
- { (yyval.ival) = OP_NE; ;}
+#line 2031 "pir.y"
+ { (yyval.cval) = (yyvsp[(1) - (1)].cval); ;}
break;
case 340:
-#line 2031 "pir.y"
- { (yyval.ival) = OP_EQ; ;}
+#line 2034 "pir.y"
+ { (yyval.ival) = OP_NE; ;}
break;
case 341:
-#line 2032 "pir.y"
- { (yyval.ival) = OP_LT; ;}
+#line 2035 "pir.y"
+ { (yyval.ival) = OP_EQ; ;}
break;
case 342:
-#line 2033 "pir.y"
- { (yyval.ival) = OP_LE; ;}
+#line 2036 "pir.y"
+ { (yyval.ival) = OP_LT; ;}
break;
case 343:
-#line 2034 "pir.y"
- { (yyval.ival) = OP_GE; ;}
+#line 2037 "pir.y"
+ { (yyval.ival) = OP_LE; ;}
break;
case 344:
-#line 2035 "pir.y"
- { (yyval.ival) = OP_GT; ;}
+#line 2038 "pir.y"
+ { (yyval.ival) = OP_GE; ;}
break;
case 345:
-#line 2038 "pir.y"
- { (yyval.ival) = INT_TYPE; ;}
+#line 2039 "pir.y"
+ { (yyval.ival) = OP_GT; ;}
break;
case 346:
-#line 2039 "pir.y"
- { (yyval.ival) = NUM_TYPE; ;}
+#line 2042 "pir.y"
+ { (yyval.ival) = INT_TYPE; ;}
break;
case 347:
-#line 2040 "pir.y"
- { (yyval.ival) = PMC_TYPE; ;}
+#line 2043 "pir.y"
+ { (yyval.ival) = NUM_TYPE; ;}
break;
case 348:
-#line 2041 "pir.y"
- { (yyval.ival) = STRING_TYPE; ;}
+#line 2044 "pir.y"
+ { (yyval.ival) = PMC_TYPE; ;}
break;
case 349:
-#line 2049 "pir.y"
- { set_curtarget(lexer, (yyvsp[(1) - (1)].targ)); ;}
+#line 2045 "pir.y"
+ { (yyval.ival) = STRING_TYPE; ;}
break;
- case 351:
+ case 350:
#line 2053 "pir.y"
+ { set_curtarget(lexer, (yyvsp[(1) - (1)].targ)); ;}
+ break;
+
+ case 352:
+#line 2057 "pir.y"
{ /* a symbol must have been declared; check that at this point. */
symbol * sym = find_symbol(lexer, (yyvsp[(1) - (1)].sval));
if (sym == NULL) {
@@ -4431,278 +4434,278 @@
;}
break;
- case 352:
-#line 2064 "pir.y"
+ case 353:
+#line 2068 "pir.y"
{ (yyval.targ) = new_reg(lexer, PMC_TYPE, (yyvsp[(1) - (1)].ival)); ;}
break;
- case 353:
-#line 2065 "pir.y"
+ case 354:
+#line 2069 "pir.y"
{ (yyval.targ) = new_reg(lexer, NUM_TYPE, (yyvsp[(1) - (1)].ival)); ;}
break;
- case 354:
-#line 2066 "pir.y"
+ case 355:
+#line 2070 "pir.y"
{ (yyval.targ) = new_reg(lexer, INT_TYPE, (yyvsp[(1) - (1)].ival)); ;}
break;
- case 355:
-#line 2067 "pir.y"
+ case 356:
+#line 2071 "pir.y"
{ (yyval.targ) = new_reg(lexer, STRING_TYPE, (yyvsp[(1) - (1)].ival)); ;}
break;
- case 358:
-#line 2075 "pir.y"
+ case 359:
+#line 2079 "pir.y"
{ (yyval.sval) = "if"; ;}
break;
- case 359:
-#line 2076 "pir.y"
+ case 360:
+#line 2080 "pir.y"
{ (yyval.sval) = "unless"; ;}
break;
- case 360:
-#line 2077 "pir.y"
+ case 361:
+#line 2081 "pir.y"
{ (yyval.sval) = "goto"; ;}
break;
- case 361:
-#line 2078 "pir.y"
+ case 362:
+#line 2082 "pir.y"
{ (yyval.sval) = "int"; ;}
break;
- case 362:
-#line 2079 "pir.y"
+ case 363:
+#line 2083 "pir.y"
{ (yyval.sval) = "num"; ;}
break;
- case 363:
-#line 2080 "pir.y"
+ case 364:
+#line 2084 "pir.y"
{ (yyval.sval) = "string"; ;}
break;
- case 364:
-#line 2081 "pir.y"
+ case 365:
+#line 2085 "pir.y"
{ (yyval.sval) = "pmc"; ;}
break;
- case 365:
-#line 2082 "pir.y"
+ case 366:
+#line 2086 "pir.y"
{ (yyval.sval) = "null"; ;}
break;
- case 366:
-#line 2085 "pir.y"
+ case 367:
+#line 2089 "pir.y"
{ (yyval.sval) = "neg"; ;}
break;
- case 367:
-#line 2086 "pir.y"
+ case 368:
+#line 2090 "pir.y"
{ (yyval.sval) = "not"; ;}
break;
- case 368:
-#line 2087 "pir.y"
+ case 369:
+#line 2091 "pir.y"
{ (yyval.sval) = "bnot"; ;}
break;
- case 369:
-#line 2090 "pir.y"
+ case 370:
+#line 2094 "pir.y"
{ (yyval.ival) = OP_ADD; ;}
break;
- case 370:
-#line 2091 "pir.y"
+ case 371:
+#line 2095 "pir.y"
{ (yyval.ival) = OP_SUB; ;}
break;
- case 371:
-#line 2092 "pir.y"
+ case 372:
+#line 2096 "pir.y"
{ (yyval.ival) = OP_DIV; ;}
break;
- case 372:
-#line 2093 "pir.y"
+ case 373:
+#line 2097 "pir.y"
{ (yyval.ival) = OP_MUL; ;}
break;
- case 373:
-#line 2094 "pir.y"
+ case 374:
+#line 2098 "pir.y"
{ (yyval.ival) = OP_MOD; ;}
break;
- case 374:
-#line 2095 "pir.y"
+ case 375:
+#line 2099 "pir.y"
{ (yyval.ival) = OP_BOR; ;}
break;
- case 375:
-#line 2096 "pir.y"
+ case 376:
+#line 2100 "pir.y"
{ (yyval.ival) = OP_BAND; ;}
break;
- case 376:
-#line 2097 "pir.y"
+ case 377:
+#line 2101 "pir.y"
{ (yyval.ival) = OP_BXOR; ;}
break;
- case 377:
-#line 2098 "pir.y"
+ case 378:
+#line 2102 "pir.y"
{ (yyval.ival) = OP_POW; ;}
break;
- case 378:
-#line 2099 "pir.y"
+ case 379:
+#line 2103 "pir.y"
{ (yyval.ival) = OP_CONCAT; ;}
break;
- case 379:
-#line 2100 "pir.y"
+ case 380:
+#line 2104 "pir.y"
{ (yyval.ival) = OP_LSR; ;}
break;
- case 380:
-#line 2101 "pir.y"
+ case 381:
+#line 2105 "pir.y"
{ (yyval.ival) = OP_SHR; ;}
break;
- case 381:
-#line 2102 "pir.y"
+ case 382:
+#line 2106 "pir.y"
{ (yyval.ival) = OP_SHL; ;}
break;
- case 382:
-#line 2103 "pir.y"
+ case 383:
+#line 2107 "pir.y"
{ (yyval.ival) = OP_OR; ;}
break;
- case 383:
-#line 2104 "pir.y"
+ case 384:
+#line 2108 "pir.y"
{ (yyval.ival) = OP_AND; ;}
break;
- case 384:
-#line 2105 "pir.y"
+ case 385:
+#line 2109 "pir.y"
{ (yyval.ival) = OP_FDIV; ;}
break;
- case 385:
-#line 2106 "pir.y"
+ case 386:
+#line 2110 "pir.y"
{ (yyval.ival) = OP_XOR; ;}
break;
- case 386:
-#line 2107 "pir.y"
+ case 387:
+#line 2111 "pir.y"
{ (yyval.ival) = OP_ISEQ; ;}
break;
- case 387:
-#line 2108 "pir.y"
+ case 388:
+#line 2112 "pir.y"
{ (yyval.ival) = OP_ISLE; ;}
break;
- case 388:
-#line 2109 "pir.y"
+ case 389:
+#line 2113 "pir.y"
{ (yyval.ival) = OP_ISLT; ;}
break;
- case 389:
-#line 2110 "pir.y"
+ case 390:
+#line 2114 "pir.y"
{ (yyval.ival) = OP_ISGE; ;}
break;
- case 390:
-#line 2111 "pir.y"
+ case 391:
+#line 2115 "pir.y"
{ (yyval.ival) = OP_ISGT; ;}
break;
- case 391:
-#line 2112 "pir.y"
+ case 392:
+#line 2116 "pir.y"
{ (yyval.ival) = OP_ISNE; ;}
break;
- case 392:
-#line 2118 "pir.y"
+ case 393:
+#line 2122 "pir.y"
{ (yyval.ival) = OP_MUL; ;}
break;
- case 393:
-#line 2119 "pir.y"
+ case 394:
+#line 2123 "pir.y"
{ (yyval.ival) = OP_MOD; ;}
break;
- case 394:
-#line 2120 "pir.y"
+ case 395:
+#line 2124 "pir.y"
{ (yyval.ival) = OP_POW; ;}
break;
- case 395:
-#line 2121 "pir.y"
+ case 396:
+#line 2125 "pir.y"
{ (yyval.ival) = OP_DIV; ;}
break;
- case 396:
-#line 2122 "pir.y"
+ case 397:
+#line 2126 "pir.y"
{ (yyval.ival) = OP_FDIV; ;}
break;
- case 397:
-#line 2123 "pir.y"
+ case 398:
+#line 2127 "pir.y"
{ (yyval.ival) = OP_BOR; ;}
break;
- case 398:
-#line 2124 "pir.y"
+ case 399:
+#line 2128 "pir.y"
{ (yyval.ival) = OP_BAND; ;}
break;
- case 399:
-#line 2125 "pir.y"
+ case 400:
+#line 2129 "pir.y"
{ (yyval.ival) = OP_BXOR; ;}
break;
- case 400:
-#line 2126 "pir.y"
+ case 401:
+#line 2130 "pir.y"
{ (yyval.ival) = OP_CONCAT; ;}
break;
- case 401:
-#line 2127 "pir.y"
+ case 402:
+#line 2131 "pir.y"
{ (yyval.ival) = OP_SHR; ;}
break;
- case 402:
-#line 2128 "pir.y"
+ case 403:
+#line 2132 "pir.y"
{ (yyval.ival) = OP_SHL; ;}
break;
- case 403:
-#line 2129 "pir.y"
+ case 404:
+#line 2133 "pir.y"
{ (yyval.ival) = OP_LSR; ;}
break;
- case 405:
-#line 2150 "pir.y"
+ case 406:
+#line 2154 "pir.y"
{ new_subr(lexer, "@start"); ;}
break;
- case 414:
-#line 2166 "pir.y"
+ case 415:
+#line 2170 "pir.y"
{ set_label(lexer, (yyvsp[(1) - (2)].sval)); ;}
break;
- case 419:
-#line 2176 "pir.y"
+ case 420:
+#line 2180 "pir.y"
{ set_sub_name(lexer, (yyvsp[(3) - (3)].sval)); ;}
break;
- case 420:
-#line 2180 "pir.y"
+ case 421:
+#line 2184 "pir.y"
{ new_subr(lexer, NULL); ;}
break;
- case 421:
-#line 2185 "pir.y"
+ case 422:
+#line 2189 "pir.y"
{
if (is_parrot_op(lexer, (yyvsp[(1) - (3)].sval)))
get_opinfo(yyscanner);
@@ -4714,7 +4717,7 @@
/* Line 1267 of yacc.c. */
-#line 4718 "pirparser.c"
+#line 4721 "pirparser.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -4928,7 +4931,7 @@
}
-#line 2196 "pir.y"
+#line 2200 "pir.y"
Modified: trunk/compilers/pirc/new/pirpcc.c
==============================================================================
--- trunk/compilers/pirc/new/pirpcc.c (original)
+++ trunk/compilers/pirc/new/pirpcc.c Wed Dec 31 02:25:33 2008
@@ -195,6 +195,8 @@
if (num_targets == 0)
return;
+ fprintf(stderr, "targets 2 operands\n");
+
/* retrieve the FixedIntegerArray PMC */
signature_array = get_pmc_const(lexer->bc, array_index);
@@ -213,12 +215,25 @@
VTABLE_set_integer_keyed_int(lexer->interp, signature_array, i,
PARROT_ARG_NAME | PARROT_ARG_SC);
- push_operand(lexer, expr_from_string(lexer, iter->alias));
- ++i;
+ PARROT_ASSERT(iter->alias);
+
+ if (iter->alias == NULL)
+ fprintf(stderr, "no alias!\n");
+ else {
+ fprintf(stderr, "alias: %s\n", iter->alias);
+ push_operand(lexer, expr_from_string(lexer, iter->alias));
+ ++i;
+
+ }
/* clear flag on the target that was marked :named XXX is this correct? */
CLEAR_FLAG(iter->flags, TARGET_FLAG_NAMED);
}
+ else {
+ if (iter->alias) {
+ fprintf(stderr, "no named flag but still an alias! (%s)\n", iter->alias);
+ }
+ }
flag = calculate_pcc_target_flags(iter);
@@ -236,6 +251,7 @@
iter = iter->next;
}
+ fprintf(stderr, "targets 2 operands ok\n");
}
/*
-
[svn:parrot] r34695 - trunk/compilers/pirc/new
by kjs