Author: kjs
Date: Thu Dec 18 14:09:01 2008
New Revision: 34088
Modified:
trunk/compilers/pirc/new/pir.y
trunk/compilers/pirc/new/pirparser.c
Log:
[pirc] remove commented-out code. it's no longer necessary.
Modified: trunk/compilers/pirc/new/pir.y
==============================================================================
--- trunk/compilers/pirc/new/pir.y (original)
+++ trunk/compilers/pirc/new/pir.y Thu Dec 18 14:09:01 2008
@@ -1165,30 +1165,6 @@
unshift_operand(lexer, expr_from_target(lexer, $1));
get_opinfo(yyscanner);
}
- /*********
- XXX I think this can be removed alltogether. Fix later.
- | target '=' parrot_op
- {
- symbol *sym = find_symbol(lexer, $3);
- if (sym == NULL) {
- if (!is_parrot_op(lexer, $3))
- yypirerror(yyscanner, lexer, "'%s' is
neither a declared symbol "
- "nor a parrot
opcode", $3);
- else {
- unshift_operand(lexer,
expr_from_target(lexer, $1));
- get_opinfo(yyscanner);
- check_first_arg_direction(yyscanner, $3);
- }
- }
- else {
- update_instr(lexer, "set");
- unshift_operand(lexer, expr_from_target(lexer,
- target_from_symbol(lexer,
sym)));
- unshift_operand(lexer, expr_from_target(lexer,
$1));
- get_opinfo(yyscanner);
- }
- }
- *********/
| target '=' parrot_op keylist
{
/* $P0 = foo ["bar"]
Modified: trunk/compilers/pirc/new/pirparser.c
==============================================================================
--- trunk/compilers/pirc/new/pirparser.c (original)
+++ trunk/compilers/pirc/new/pirparser.c Thu Dec 18 14:09:01 2008
@@ -1059,32 +1059,32 @@
931, 934, 943, 950, 953, 954, 957, 958, 961, 997,
999, 1006, 1008, 1013, 1015, 1019, 1042, 1046, 1048, 1057,
1068, 1080, 1090, 1093, 1102, 1111, 1116, 1121, 1142, 1163,
- 1192, 1232, 1250, 1257, 1262, 1273, 1284, 1295, 1306, 1311,
- 1316, 1321, 1331, 1350, 1384, 1386, 1388, 1390, 1392, 1394,
- 1396, 1398, 1403, 1412, 1414, 1416, 1418, 1420, 1422, 1424,
- 1426, 1428, 1430, 1442, 1447, 1449, 1451, 1453, 1455, 1457,
- 1459, 1461, 1463, 1465, 1467, 1469, 1471, 1502, 1528, 1536,
- 1545, 1554, 1556, 1558, 1560, 1562, 1566, 1571, 1573, 1578,
- 1579, 1582, 1583, 1586, 1587, 1590, 1598, 1602, 1604, 1608,
- 1612, 1613, 1616, 1631, 1635, 1636, 1639, 1652, 1653, 1657,
- 1659, 1663, 1667, 1669, 1671, 1677, 1678, 1683, 1684, 1688,
- 1690, 1699, 1701, 1705, 1709, 1713, 1717, 1723, 1724, 1727,
- 1755, 1762, 1764, 1773, 1790, 1792, 1794, 1798, 1807, 1812,
- 1817, 1818, 1822, 1824, 1828, 1833, 1834, 1838, 1840, 1842,
- 1844, 1854, 1858, 1859, 1860, 1861, 1864, 1869, 1880, 1887,
- 1892, 1893, 1897, 1899, 1903, 1904, 1907, 1911, 1915, 1919,
- 1928, 1938, 1939, 1944, 1946, 1951, 1956, 1957, 1961, 1963,
- 1967, 1973, 1974, 1978, 1980, 1988, 1989, 1993, 1997, 2000,
- 2001, 2004, 2008, 2012, 2014, 2016, 2018, 2026, 2027, 2031,
- 2032, 2033, 2036, 2037, 2038, 2039, 2040, 2041, 2044, 2045,
- 2046, 2047, 2055, 2058, 2059, 2071, 2072, 2073, 2074, 2078,
- 2079, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2092,
- 2093, 2094, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104,
- 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114,
- 2115, 2116, 2117, 2118, 2119, 2125, 2126, 2127, 2128, 2129,
- 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2148, 2156, 2160,
- 2161, 2164, 2165, 2166, 2167, 2168, 2169, 2172, 2174, 2175,
- 2178, 2179, 2182, 2186, 2191
+ 1168, 1208, 1226, 1233, 1238, 1249, 1260, 1271, 1282, 1287,
+ 1292, 1297, 1307, 1326, 1360, 1362, 1364, 1366, 1368, 1370,
+ 1372, 1374, 1379, 1388, 1390, 1392, 1394, 1396, 1398, 1400,
+ 1402, 1404, 1406, 1418, 1423, 1425, 1427, 1429, 1431, 1433,
+ 1435, 1437, 1439, 1441, 1443, 1445, 1447, 1478, 1504, 1512,
+ 1521, 1530, 1532, 1534, 1536, 1538, 1542, 1547, 1549, 1554,
+ 1555, 1558, 1559, 1562, 1563, 1566, 1574, 1578, 1580, 1584,
+ 1588, 1589, 1592, 1607, 1611, 1612, 1615, 1628, 1629, 1633,
+ 1635, 1639, 1643, 1645, 1647, 1653, 1654, 1659, 1660, 1664,
+ 1666, 1675, 1677, 1681, 1685, 1689, 1693, 1699, 1700, 1703,
+ 1731, 1738, 1740, 1749, 1766, 1768, 1770, 1774, 1783, 1788,
+ 1793, 1794, 1798, 1800, 1804, 1809, 1810, 1814, 1816, 1818,
+ 1820, 1830, 1834, 1835, 1836, 1837, 1840, 1845, 1856, 1863,
+ 1868, 1869, 1873, 1875, 1879, 1880, 1883, 1887, 1891, 1895,
+ 1904, 1914, 1915, 1920, 1922, 1927, 1932, 1933, 1937, 1939,
+ 1943, 1949, 1950, 1954, 1956, 1964, 1965, 1969, 1973, 1976,
+ 1977, 1980, 1984, 1988, 1990, 1992, 1994, 2002, 2003, 2007,
+ 2008, 2009, 2012, 2013, 2014, 2015, 2016, 2017, 2020, 2021,
+ 2022, 2023, 2031, 2034, 2035, 2047, 2048, 2049, 2050, 2054,
+ 2055, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2068,
+ 2069, 2070, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2080,
+ 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090,
+ 2091, 2092, 2093, 2094, 2095, 2101, 2102, 2103, 2104, 2105,
+ 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2124, 2132, 2136,
+ 2137, 2140, 2141, 2142, 2143, 2144, 2145, 2148, 2150, 2151,
+ 2154, 2155, 2158, 2162, 2167
};
#endif
@@ -3213,7 +3213,7 @@
break;
case 160:
-#line 1193 "pir.y"
+#line 1169 "pir.y"
{
/* $P0 = foo ["bar"]
*
@@ -3256,7 +3256,7 @@
break;
case 161:
-#line 1233 "pir.y"
+#line 1209 "pir.y"
{
symbol *sym = find_symbol(lexer, (yyvsp[(3) -
(4)].sval));
target *t;
@@ -3277,7 +3277,7 @@
break;
case 162:
-#line 1251 "pir.y"
+#line 1227 "pir.y"
{
target *preg = new_reg(lexer, PMC_TYPE, (yyvsp[(3) -
(4)].ival));
set_target_key(preg, (yyvsp[(4) - (4)].key));
@@ -3287,7 +3287,7 @@
break;
case 163:
-#line 1258 "pir.y"
+#line 1234 "pir.y"
{
set_instrf(lexer, opnames[(yyvsp[(2) - (3)].ival)],
"%T%E", (yyvsp[(1) - (3)].targ), (yyvsp[(3) - (3)].expr));
get_opinfo(yyscanner);
@@ -3295,7 +3295,7 @@
break;
case 164:
-#line 1263 "pir.y"
+#line 1239 "pir.y"
{
if ((yyvsp[(3) - (3)].ival) == 1)
set_instrf(lexer, "inc", "%T", (yyvsp[(1) -
(3)].targ));
@@ -3309,7 +3309,7 @@
break;
case 165:
-#line 1274 "pir.y"
+#line 1250 "pir.y"
{
if ((yyvsp[(3) - (3)].dval) == 1.0)
set_instrf(lexer, "inc", "%T", (yyvsp[(1) -
(3)].targ));
@@ -3323,7 +3323,7 @@
break;
case 166:
-#line 1285 "pir.y"
+#line 1261 "pir.y"
{
if ((yyvsp[(3) - (3)].ival) == 1)
set_instrf(lexer, "dec", "%T", (yyvsp[(1) -
(3)].targ));
@@ -3337,7 +3337,7 @@
break;
case 167:
-#line 1296 "pir.y"
+#line 1272 "pir.y"
{
if ((yyvsp[(3) - (3)].dval) == 1.0)
set_instrf(lexer, "dec", "%T", (yyvsp[(1) -
(3)].targ));
@@ -3351,7 +3351,7 @@
break;
case 168:
-#line 1307 "pir.y"
+#line 1283 "pir.y"
{
set_instrf(lexer, "add", "%T%T", (yyvsp[(1) -
(3)].targ), (yyvsp[(3) - (3)].targ));
get_opinfo(yyscanner);
@@ -3359,7 +3359,7 @@
break;
case 169:
-#line 1312 "pir.y"
+#line 1288 "pir.y"
{
set_instrf(lexer, "sub", "%T%T", (yyvsp[(1) -
(3)].targ), (yyvsp[(3) - (3)].targ));
get_opinfo(yyscanner);
@@ -3367,7 +3367,7 @@
break;
case 170:
-#line 1317 "pir.y"
+#line 1293 "pir.y"
{
set_instrf(lexer, (yyvsp[(3) - (4)].sval), "%T%E",
(yyvsp[(1) - (4)].targ), (yyvsp[(4) - (4)].expr));
get_opinfo(yyscanner);
@@ -3375,7 +3375,7 @@
break;
case 171:
-#line 1322 "pir.y"
+#line 1298 "pir.y"
{
if (targets_equal((yyvsp[(1) - (5)].targ),
(yyvsp[(3) - (5)].targ))) /* $P0 = $P0 + $P1 ==> $P0 += $P1 */
set_instrf(lexer, opnames[(yyvsp[(4) -
(5)].ival)], "%T%E", (yyvsp[(1) - (5)].targ), (yyvsp[(5) - (5)].expr));
@@ -3388,7 +3388,7 @@
break;
case 172:
-#line 1332 "pir.y"
+#line 1308 "pir.y"
{
symbol *sym = find_symbol(lexer, (yyvsp[(1) -
(4)].sval));
target *t;
@@ -3410,7 +3410,7 @@
break;
case 173:
-#line 1351 "pir.y"
+#line 1327 "pir.y"
{
target *preg = new_reg(lexer, PMC_TYPE, (yyvsp[(1) -
(4)].ival));
set_target_key(preg, (yyvsp[(2) - (4)].key));
@@ -3420,97 +3420,97 @@
break;
case 174:
-#line 1385 "pir.y"
+#line 1361 "pir.y"
{ set_instrf(lexer, opnames[(yyvsp[(2) - (3)].ival)], "%i%T", (yyvsp[(1) -
(3)].ival), (yyvsp[(3) - (3)].targ)); ;}
break;
case 175:
-#line 1387 "pir.y"
+#line 1363 "pir.y"
{ set_instrf(lexer, opnames[(yyvsp[(2) - (3)].ival)], "%n%T", (yyvsp[(1) -
(3)].dval), (yyvsp[(3) - (3)].targ)); ;}
break;
case 176:
-#line 1389 "pir.y"
+#line 1365 "pir.y"
{ set_instrf(lexer, opnames[(yyvsp[(2) - (3)].ival)], "%s%T", (yyvsp[(1) -
(3)].sval), (yyvsp[(3) - (3)].targ)); ;}
break;
case 177:
-#line 1391 "pir.y"
+#line 1367 "pir.y"
{ set_instrf(lexer, "set", "%C", fold_s_s(yyscanner, (yyvsp[(1) -
(3)].sval), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].sval))); ;}
break;
case 178:
-#line 1393 "pir.y"
+#line 1369 "pir.y"
{ set_instrf(lexer, "set", "%C", fold_i_i(yyscanner, (yyvsp[(1) -
(3)].ival), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].ival))); ;}
break;
case 179:
-#line 1395 "pir.y"
+#line 1371 "pir.y"
{ set_instrf(lexer, "set", "%C", fold_n_n(yyscanner, (yyvsp[(1) -
(3)].dval), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].dval))); ;}
break;
case 180:
-#line 1397 "pir.y"
+#line 1373 "pir.y"
{ set_instrf(lexer, "set", "%C", fold_i_n(yyscanner, (yyvsp[(1) -
(3)].ival), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].dval))); ;}
break;
case 181:
-#line 1399 "pir.y"
+#line 1375 "pir.y"
{ set_instrf(lexer, "set", "%C", fold_n_i(yyscanner, (yyvsp[(1) -
(3)].dval), (yyvsp[(2) - (3)].ival), (yyvsp[(3) - (3)].ival))); ;}
break;
case 182:
-#line 1404 "pir.y"
+#line 1380 "pir.y"
{ get_opinfo(yyscanner); ;}
break;
case 183:
-#line 1413 "pir.y"
+#line 1389 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (5)].ival), 1, (yyvsp[(3)
- (5)].sval), (yyvsp[(5) - (5)].sval)); ;}
break;
case 184:
-#line 1415 "pir.y"
+#line 1391 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (5)].ival), 1, "int",
(yyvsp[(5) - (5)].sval)); ;}
break;
case 185:
-#line 1417 "pir.y"
+#line 1393 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (5)].ival), 1, "num",
(yyvsp[(5) - (5)].sval)); ;}
break;
case 186:
-#line 1419 "pir.y"
+#line 1395 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (5)].ival), 1, "pmc",
(yyvsp[(5) - (5)].sval)); ;}
break;
case 187:
-#line 1421 "pir.y"
+#line 1397 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (5)].ival), 1, "string",
(yyvsp[(5) - (5)].sval)); ;}
break;
case 188:
-#line 1423 "pir.y"
+#line 1399 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (5)].ival), 1, "if",
(yyvsp[(5) - (5)].sval)); ;}
break;
case 189:
-#line 1425 "pir.y"
+#line 1401 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (5)].ival), 1, "unless",
(yyvsp[(5) - (5)].sval)); ;}
break;
case 190:
-#line 1427 "pir.y"
+#line 1403 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (5)].ival), 1, "goto",
(yyvsp[(5) - (5)].sval)); ;}
break;
case 191:
-#line 1429 "pir.y"
+#line 1405 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (5)].ival), 1, "null",
(yyvsp[(5) - (5)].sval)); ;}
break;
case 192:
-#line 1431 "pir.y"
+#line 1407 "pir.y"
{
int istrue = evaluate_c(lexer, (yyvsp[(2) -
(4)].cval));
/* if "unless", invert the true-ness */
@@ -3525,7 +3525,7 @@
break;
case 193:
-#line 1443 "pir.y"
+#line 1419 "pir.y"
{
set_instrf(lexer, (yyvsp[(1) - (5)].ival) ?
"unless_null" : "if_null", "%T%I",
new_reg(lexer, PMC_TYPE, (yyvsp[(3) -
(5)].ival)), (yyvsp[(5) - (5)].sval));
@@ -3533,67 +3533,67 @@
break;
case 194:
-#line 1448 "pir.y"
+#line 1424 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (4)].ival), 0, (yyvsp[(2)
- (4)].sval), (yyvsp[(4) - (4)].sval)); ;}
break;
case 195:
-#line 1450 "pir.y"
+#line 1426 "pir.y"
{ set_instrf(lexer, (yyvsp[(1) - (4)].ival) ? "unless" : "if", "%T%I",
(yyvsp[(2) - (4)].targ), (yyvsp[(4) - (4)].sval)); ;}
break;
case 196:
-#line 1452 "pir.y"
+#line 1428 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (4)].ival), 0, "int",
(yyvsp[(4) - (4)].sval)); ;}
break;
case 197:
-#line 1454 "pir.y"
+#line 1430 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (4)].ival), 0, "num",
(yyvsp[(4) - (4)].sval)); ;}
break;
case 198:
-#line 1456 "pir.y"
+#line 1432 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (4)].ival), 0, "pmc",
(yyvsp[(4) - (4)].sval)); ;}
break;
case 199:
-#line 1458 "pir.y"
+#line 1434 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (4)].ival), 0, "string",
(yyvsp[(4) - (4)].sval)); ;}
break;
case 200:
-#line 1460 "pir.y"
+#line 1436 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (4)].ival), 0, "if",
(yyvsp[(4) - (4)].sval)); ;}
break;
case 201:
-#line 1462 "pir.y"
+#line 1438 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (4)].ival), 0, "unless",
(yyvsp[(4) - (4)].sval)); ;}
break;
case 202:
-#line 1464 "pir.y"
+#line 1440 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (4)].ival), 0, "goto",
(yyvsp[(4) - (4)].sval)); ;}
break;
case 203:
-#line 1466 "pir.y"
+#line 1442 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (4)].ival), 0, "goto",
(yyvsp[(4) - (4)].sval)); ;}
break;
case 204:
-#line 1468 "pir.y"
+#line 1444 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (4)].ival), 0, "null",
(yyvsp[(4) - (4)].sval)); ;}
break;
case 205:
-#line 1470 "pir.y"
+#line 1446 "pir.y"
{ create_if_instr(yyscanner, lexer, (yyvsp[(1) - (4)].ival), 0, "null",
(yyvsp[(4) - (4)].sval)); ;}
break;
case 206:
-#line 1472 "pir.y"
+#line 1448 "pir.y"
{
if ((yyvsp[(2) - (4)].ival) ==
COMPUTE_DURING_RUNTIME) {
if ((yyvsp[(1) - (4)].ival) ==
NEED_INVERT_OPNAME) /* "unless" */
@@ -3621,7 +3621,7 @@
break;
case 207:
-#line 1503 "pir.y"
+#line 1479 "pir.y"
{
/* the instructions "gt" and "ge" are converted to
"lt" and "le".
* if so, then the arguments must be reversed as
well. "lt" and
@@ -3650,7 +3650,7 @@
break;
case 208:
-#line 1529 "pir.y"
+#line 1505 "pir.y"
{
if (((yyvsp[(0) - (3)].ival) != NEED_INVERT_OPNAME)
&& ((yyvsp[(2) - (3)].ival) == OP_GE || (yyvsp[(2) - (3)].ival) == OP_GT))
set_instrf(lexer, opnames[(yyvsp[(2) -
(3)].ival) + 1], "%T%i", (yyvsp[(3) - (3)].targ), (yyvsp[(1) - (3)].ival));
@@ -3661,7 +3661,7 @@
break;
case 209:
-#line 1537 "pir.y"
+#line 1513 "pir.y"
{
if (((yyvsp[(0) - (3)].ival) != NEED_INVERT_OPNAME)
&& ((yyvsp[(2) - (3)].ival) == OP_GE || (yyvsp[(2) - (3)].ival) == OP_GT))
set_instrf(lexer, opnames[(yyvsp[(2) -
(3)].ival) + 1], "%T%n", (yyvsp[(3) - (3)].targ), (yyvsp[(1) - (3)].dval));
@@ -3673,7 +3673,7 @@
break;
case 210:
-#line 1546 "pir.y"
+#line 1522 "pir.y"
{
if (((yyvsp[(0) - (3)].ival) != NEED_INVERT_OPNAME)
&& ((yyvsp[(2) - (3)].ival) == OP_GE || (yyvsp[(2) - (3)].ival) == OP_GT))
set_instrf(lexer, opnames[(yyvsp[(2) -
(3)].ival)], "%T%s", (yyvsp[(3) - (3)].targ), (yyvsp[(1) - (3)].sval));
@@ -3685,32 +3685,32 @@
break;
case 211:
-#line 1555 "pir.y"
+#line 1531 "pir.y"
{ (yyval.ival) = evaluate_i_i((yyvsp[(1) - (3)].ival), (yyvsp[(2) -
(3)].ival), (yyvsp[(3) - (3)].ival)); ;}
break;
case 212:
-#line 1557 "pir.y"
+#line 1533 "pir.y"
{ (yyval.ival) = evaluate_i_n((yyvsp[(1) - (3)].ival), (yyvsp[(2) -
(3)].ival), (yyvsp[(3) - (3)].dval)); ;}
break;
case 213:
-#line 1559 "pir.y"
+#line 1535 "pir.y"
{ (yyval.ival) = evaluate_n_i((yyvsp[(1) - (3)].dval), (yyvsp[(2) -
(3)].ival), (yyvsp[(3) - (3)].ival)); ;}
break;
case 214:
-#line 1561 "pir.y"
+#line 1537 "pir.y"
{ (yyval.ival) = evaluate_n_n((yyvsp[(1) - (3)].dval), (yyvsp[(2) -
(3)].ival), (yyvsp[(3) - (3)].dval)); ;}
break;
case 215:
-#line 1563 "pir.y"
+#line 1539 "pir.y"
{ (yyval.ival) = evaluate_s_s((yyvsp[(1) - (3)].sval), (yyvsp[(2) -
(3)].ival), (yyvsp[(3) - (3)].sval)); ;}
break;
case 216:
-#line 1567 "pir.y"
+#line 1543 "pir.y"
{
yypirerror(yyscanner, lexer, "cannot compare string
to %s",
(yyvsp[(3) - (3)].ival) == INT_TYPE ?
"integer" : "number");
@@ -3718,37 +3718,37 @@
break;
case 217:
-#line 1572 "pir.y"
+#line 1548 "pir.y"
{ yypirerror(yyscanner, lexer, "cannot compare integer to string"); ;}
break;
case 218:
-#line 1574 "pir.y"
+#line 1550 "pir.y"
{ yypirerror(yyscanner, lexer, "cannot compare number to string"); ;}
break;
case 219:
-#line 1578 "pir.y"
+#line 1554 "pir.y"
{ (yyval.ival) = INT_TYPE; ;}
break;
case 220:
-#line 1579 "pir.y"
+#line 1555 "pir.y"
{ (yyval.ival) = NUM_TYPE; ;}
break;
case 221:
-#line 1582 "pir.y"
+#line 1558 "pir.y"
{ (yyval.ival) = DONT_INVERT_OPNAME; /* no need to invert */ ;}
break;
case 222:
-#line 1583 "pir.y"
+#line 1559 "pir.y"
{ (yyval.ival) = NEED_INVERT_OPNAME; /* yes, invert opname */ ;}
break;
case 225:
-#line 1591 "pir.y"
+#line 1567 "pir.y"
{
set_instrf(lexer, "branch", "%I", (yyvsp[(2) -
(3)].sval));
set_op_labelflag(lexer, BIT(0)); /* bit 0 means: "1
<< 0" */
@@ -3757,37 +3757,37 @@
break;
case 226:
-#line 1599 "pir.y"
+#line 1575 "pir.y"
{ declare_local(lexer, (yyvsp[(2) - (4)].ival), (yyvsp[(3) - (4)].symb));
;}
break;
case 227:
-#line 1603 "pir.y"
+#line 1579 "pir.y"
{ (yyval.symb) = (yyvsp[(1) - (1)].symb); ;}
break;
case 228:
-#line 1605 "pir.y"
+#line 1581 "pir.y"
{ (yyval.symb) = add_local((yyvsp[(1) - (3)].symb), (yyvsp[(3) -
(3)].symb)); ;}
break;
case 229:
-#line 1609 "pir.y"
+#line 1585 "pir.y"
{ (yyval.symb) = new_local(lexer, (yyvsp[(1) - (2)].sval), (yyvsp[(2) -
(2)].ival)); ;}
break;
case 230:
-#line 1612 "pir.y"
+#line 1588 "pir.y"
{ (yyval.ival) = 0; ;}
break;
case 231:
-#line 1613 "pir.y"
+#line 1589 "pir.y"
{ (yyval.ival) = 1; ;}
break;
case 232:
-#line 1617 "pir.y"
+#line 1593 "pir.y"
{ /* if $4 is not a register, it must be a declared symbol */
if (!TEST_FLAG((yyvsp[(4) - (5)].targ)->flags,
TARGET_FLAG_IS_REG)) {
@@ -3800,12 +3800,12 @@
break;
case 233:
-#line 1632 "pir.y"
+#line 1608 "pir.y"
{ convert_inv_to_instr(lexer, (yyvsp[(1) - (1)].invo)); ;}
break;
case 236:
-#line 1644 "pir.y"
+#line 1620 "pir.y"
{ /* $4 contains an invocation object */
set_invocation_args((yyvsp[(4) - (8)].invo),
(yyvsp[(3) - (8)].argm));
set_invocation_results((yyvsp[(4) - (8)].invo),
(yyvsp[(6) - (8)].targ));
@@ -3814,72 +3814,72 @@
break;
case 237:
-#line 1652 "pir.y"
+#line 1628 "pir.y"
{ (yyval.argm) = NULL; ;}
break;
case 238:
-#line 1654 "pir.y"
+#line 1630 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
case 239:
-#line 1658 "pir.y"
+#line 1634 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
case 240:
-#line 1660 "pir.y"
+#line 1636 "pir.y"
{ (yyval.argm) = add_arg((yyvsp[(1) - (2)].argm), (yyvsp[(2) -
(2)].argm)); ;}
break;
case 241:
-#line 1664 "pir.y"
+#line 1640 "pir.y"
{ (yyval.argm) = (yyvsp[(2) - (3)].argm); ;}
break;
case 242:
-#line 1668 "pir.y"
+#line 1644 "pir.y"
{ (yyval.invo) = invoke(lexer, CALL_PCC, (yyvsp[(2) - (3)].targ),
(yyvsp[(3) - (3)].targ)); ;}
break;
case 243:
-#line 1670 "pir.y"
+#line 1646 "pir.y"
{ (yyval.invo) = invoke(lexer, CALL_NCI, (yyvsp[(2) - (2)].targ)); ;}
break;
case 244:
-#line 1673 "pir.y"
+#line 1649 "pir.y"
{ (yyval.invo) = invoke(lexer, CALL_METHOD, (yyvsp[(2) - (5)].targ),
(yyvsp[(5) - (5)].expr)); ;}
break;
case 245:
-#line 1677 "pir.y"
+#line 1653 "pir.y"
{ (yyval.targ) = NULL; ;}
break;
case 246:
-#line 1679 "pir.y"
+#line 1655 "pir.y"
{ (yyval.targ) = (yyvsp[(2) - (2)].targ); ;}
break;
case 247:
-#line 1683 "pir.y"
+#line 1659 "pir.y"
{ (yyval.targ) = NULL; ;}
break;
case 248:
-#line 1685 "pir.y"
+#line 1661 "pir.y"
{ (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
break;
case 249:
-#line 1689 "pir.y"
+#line 1665 "pir.y"
{ (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
break;
case 250:
-#line 1691 "pir.y"
+#line 1667 "pir.y"
{
if ((yyvsp[(2) - (2)].targ))
(yyval.targ) = add_target(lexer, (yyvsp[(1)
- (2)].targ), (yyvsp[(2) - (2)].targ));
@@ -3889,38 +3889,38 @@
break;
case 251:
-#line 1700 "pir.y"
+#line 1676 "pir.y"
{ (yyval.targ) = (yyvsp[(2) - (3)].targ); ;}
break;
case 252:
-#line 1702 "pir.y"
+#line 1678 "pir.y"
{ (yyval.targ) = NULL; ;}
break;
case 254:
-#line 1710 "pir.y"
+#line 1686 "pir.y"
{ set_invocation_results((yyvsp[(3) - (3)].invo), (yyvsp[(1) - (3)].targ));
(yyval.invo) = (yyvsp[(3) - (3)].invo);
;}
break;
case 255:
-#line 1714 "pir.y"
+#line 1690 "pir.y"
{ set_invocation_results((yyvsp[(3) - (3)].invo), (yyvsp[(1) - (3)].targ));
(yyval.invo) = (yyvsp[(3) - (3)].invo);
;}
break;
case 256:
-#line 1718 "pir.y"
+#line 1694 "pir.y"
{ set_invocation_results((yyvsp[(1) - (1)].invo), NULL);
(yyval.invo) = (yyvsp[(1) - (1)].invo);
;}
break;
case 259:
-#line 1728 "pir.y"
+#line 1704 "pir.y"
{
target *invocant;
@@ -3949,7 +3949,7 @@
break;
case 260:
-#line 1756 "pir.y"
+#line 1732 "pir.y"
{
(yyval.invo) = invoke(lexer, CALL_PCC, (yyvsp[(1)
- (2)].targ), NULL);
set_invocation_args((yyval.invo), (yyvsp[(2) -
(2)].argm));
@@ -3957,12 +3957,12 @@
break;
case 261:
-#line 1763 "pir.y"
+#line 1739 "pir.y"
{ (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
break;
case 262:
-#line 1765 "pir.y"
+#line 1741 "pir.y"
{
symbol *sym = find_symbol(lexer, (yyvsp[(1) -
(1)].sval));
if (sym == NULL)
@@ -3972,7 +3972,7 @@
break;
case 263:
-#line 1774 "pir.y"
+#line 1750 "pir.y"
{ /* check that this identifier was declared */
symbol *sym = find_symbol(lexer, (yyvsp[(1) -
(1)].sval));
@@ -3992,22 +3992,22 @@
break;
case 264:
-#line 1791 "pir.y"
+#line 1767 "pir.y"
{ (yyval.expr) = expr_from_target(lexer, new_reg(lexer, PMC_TYPE,
(yyvsp[(1) - (1)].ival))); ;}
break;
case 265:
-#line 1793 "pir.y"
+#line 1769 "pir.y"
{ (yyval.expr) = expr_from_target(lexer, new_reg(lexer, STRING_TYPE,
(yyvsp[(1) - (1)].ival))); ;}
break;
case 266:
-#line 1795 "pir.y"
+#line 1771 "pir.y"
{ (yyval.expr) = expr_from_const(lexer, new_const(lexer, STRING_TYPE,
(yyvsp[(1) - (1)].sval))); ;}
break;
case 267:
-#line 1799 "pir.y"
+#line 1775 "pir.y"
{
symbol *sym = find_symbol(lexer, (yyvsp[(1) -
(1)].sval));
if (sym == NULL)
@@ -4019,67 +4019,67 @@
break;
case 268:
-#line 1808 "pir.y"
+#line 1784 "pir.y"
{ (yyval.targ) = new_reg(lexer, PMC_TYPE, (yyvsp[(1) - (1)].ival)); ;}
break;
case 269:
-#line 1813 "pir.y"
+#line 1789 "pir.y"
{ (yyval.targ) = (yyvsp[(2) - (3)].targ); ;}
break;
case 270:
-#line 1817 "pir.y"
+#line 1793 "pir.y"
{ (yyval.targ) = NULL; ;}
break;
case 271:
-#line 1819 "pir.y"
+#line 1795 "pir.y"
{ (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
break;
case 272:
-#line 1823 "pir.y"
+#line 1799 "pir.y"
{ (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
break;
case 273:
-#line 1825 "pir.y"
+#line 1801 "pir.y"
{ (yyval.targ) = add_target(lexer, (yyvsp[(1) - (3)].targ), (yyvsp[(3) -
(3)].targ)); ;}
break;
case 274:
-#line 1829 "pir.y"
+#line 1805 "pir.y"
{ (yyval.targ) = set_param_flag(lexer, (yyvsp[(1) - (2)].targ), (yyvsp[(2)
- (2)].ival)); ;}
break;
case 275:
-#line 1833 "pir.y"
+#line 1809 "pir.y"
{ (yyval.ival) = 0; ;}
break;
case 276:
-#line 1835 "pir.y"
+#line 1811 "pir.y"
{ SET_FLAG((yyval.ival), (yyvsp[(2) - (2)].ival)); ;}
break;
case 277:
-#line 1839 "pir.y"
+#line 1815 "pir.y"
{ (yyval.ival) = TARGET_FLAG_OPTIONAL; ;}
break;
case 278:
-#line 1841 "pir.y"
+#line 1817 "pir.y"
{ (yyval.ival) = TARGET_FLAG_OPT_FLAG; ;}
break;
case 279:
-#line 1843 "pir.y"
+#line 1819 "pir.y"
{ (yyval.ival) = TARGET_FLAG_SLURPY; ;}
break;
case 280:
-#line 1845 "pir.y"
+#line 1821 "pir.y"
{
(yyval.ival) = TARGET_FLAG_NAMED;
set_param_alias(lexer, (yyvsp[(2) - (2)].sval));
@@ -4087,12 +4087,12 @@
break;
case 281:
-#line 1855 "pir.y"
+#line 1831 "pir.y"
{ convert_inv_to_instr(lexer, (yyvsp[(1) - (1)].invo)); ;}
break;
case 286:
-#line 1865 "pir.y"
+#line 1841 "pir.y"
{
(yyval.invo) = invoke(lexer, CALL_RETURN);
set_invocation_args((yyval.invo), (yyvsp[(2) -
(3)].argm));
@@ -4100,7 +4100,7 @@
break;
case 287:
-#line 1870 "pir.y"
+#line 1846 "pir.y"
{ /* was the invocation a method call? then it becomes a method tail
* call, otherwise it's just a normal (sub) tail
call.
*/
@@ -4112,7 +4112,7 @@
break;
case 288:
-#line 1881 "pir.y"
+#line 1857 "pir.y"
{
(yyval.invo) = invoke(lexer, CALL_YIELD);
set_invocation_args((yyval.invo), (yyvsp[(2) -
(3)].argm));
@@ -4120,47 +4120,47 @@
break;
case 289:
-#line 1888 "pir.y"
+#line 1864 "pir.y"
{ (yyval.argm) = (yyvsp[(2) - (3)].argm); ;}
break;
case 290:
-#line 1892 "pir.y"
+#line 1868 "pir.y"
{ (yyval.argm) = NULL; ;}
break;
case 291:
-#line 1894 "pir.y"
+#line 1870 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
case 292:
-#line 1898 "pir.y"
+#line 1874 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
case 293:
-#line 1900 "pir.y"
+#line 1876 "pir.y"
{ (yyval.argm) = add_arg((yyvsp[(1) - (3)].argm), (yyvsp[(3) -
(3)].argm)); ;}
break;
case 296:
-#line 1908 "pir.y"
+#line 1884 "pir.y"
{ (yyval.argm) = set_arg_alias(lexer, (yyvsp[(1) - (3)].sval)); ;}
break;
case 297:
-#line 1912 "pir.y"
+#line 1888 "pir.y"
{ (yyval.argm) = set_arg_flag((yyval.argm), (yyvsp[(2) - (2)].ival)); ;}
break;
case 298:
-#line 1916 "pir.y"
+#line 1892 "pir.y"
{ (yyval.argm) = set_curarg(lexer, new_argument(lexer, (yyvsp[(1) -
(1)].expr))); ;}
break;
case 299:
-#line 1922 "pir.y"
+#line 1898 "pir.y"
{
(yyval.invo) = invoke(lexer, CALL_RETURN);
set_invocation_args((yyval.invo), (yyvsp[(3) -
(5)].argm));
@@ -4168,7 +4168,7 @@
break;
case 300:
-#line 1931 "pir.y"
+#line 1907 "pir.y"
{
(yyval.invo) = invoke(lexer, CALL_YIELD);
set_invocation_args((yyval.invo), (yyvsp[(3) -
(5)].argm));
@@ -4176,72 +4176,72 @@
break;
case 301:
-#line 1938 "pir.y"
+#line 1914 "pir.y"
{ (yyval.argm) = NULL; ;}
break;
case 302:
-#line 1940 "pir.y"
+#line 1916 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
case 303:
-#line 1945 "pir.y"
+#line 1921 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
case 304:
-#line 1947 "pir.y"
+#line 1923 "pir.y"
{ (yyval.argm) = add_arg((yyvsp[(1) - (2)].argm), (yyvsp[(2) -
(2)].argm)); ;}
break;
case 305:
-#line 1952 "pir.y"
+#line 1928 "pir.y"
{ (yyval.argm) = (yyvsp[(2) - (3)].argm); ;}
break;
case 306:
-#line 1956 "pir.y"
+#line 1932 "pir.y"
{ (yyval.argm) = NULL; ;}
break;
case 307:
-#line 1958 "pir.y"
+#line 1934 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
case 308:
-#line 1962 "pir.y"
+#line 1938 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
case 309:
-#line 1964 "pir.y"
+#line 1940 "pir.y"
{ (yyval.argm) = add_arg((yyvsp[(1) - (2)].argm), (yyvsp[(2) -
(2)].argm)); ;}
break;
case 310:
-#line 1968 "pir.y"
+#line 1944 "pir.y"
{ (yyval.argm) = (yyvsp[(2) - (3)].argm); ;}
break;
case 311:
-#line 1973 "pir.y"
+#line 1949 "pir.y"
{ (yyval.ival) = 0; ;}
break;
case 312:
-#line 1975 "pir.y"
+#line 1951 "pir.y"
{ SET_FLAG((yyval.ival), (yyvsp[(2) - (2)].ival)); ;}
break;
case 313:
-#line 1979 "pir.y"
+#line 1955 "pir.y"
{ (yyval.ival) = ARG_FLAG_FLAT; ;}
break;
case 314:
-#line 1981 "pir.y"
+#line 1957 "pir.y"
{
(yyval.ival) = ARG_FLAG_NAMED;
set_arg_alias(lexer, (yyvsp[(2) - (2)].sval));
@@ -4249,132 +4249,132 @@
break;
case 315:
-#line 1988 "pir.y"
+#line 1964 "pir.y"
{ (yyval.sval) = NULL; ;}
break;
case 316:
-#line 1990 "pir.y"
+#line 1966 "pir.y"
{ (yyval.sval) = (yyvsp[(1) - (1)].sval); ;}
break;
case 317:
-#line 1994 "pir.y"
+#line 1970 "pir.y"
{ (yyval.sval) = (yyvsp[(2) - (3)].sval); ;}
break;
case 321:
-#line 2005 "pir.y"
+#line 1981 "pir.y"
{ store_global_constant(lexer, (yyvsp[(2) - (2)].cval)); ;}
break;
case 322:
-#line 2009 "pir.y"
+#line 1985 "pir.y"
{ /* XXX is .globalconst to be kept? */ ;}
break;
case 323:
-#line 2013 "pir.y"
+#line 1989 "pir.y"
{ (yyval.cval) = new_named_const(lexer, INT_TYPE, (yyvsp[(2) - (4)].sval),
(yyvsp[(4) - (4)].ival)); ;}
break;
case 324:
-#line 2015 "pir.y"
+#line 1991 "pir.y"
{ (yyval.cval) = new_named_const(lexer, NUM_TYPE, (yyvsp[(2) - (4)].sval),
(yyvsp[(4) - (4)].dval)); ;}
break;
case 325:
-#line 2017 "pir.y"
+#line 1993 "pir.y"
{ (yyval.cval) = new_named_const(lexer, STRING_TYPE, (yyvsp[(2) -
(4)].sval), (yyvsp[(4) - (4)].sval)); ;}
break;
case 326:
-#line 2019 "pir.y"
+#line 1995 "pir.y"
{ (yyval.cval) = new_pmc_const((yyvsp[(1) - (4)].sval), (yyvsp[(2) -
(4)].sval), (yyvsp[(4) - (4)].cval)); ;}
break;
case 327:
-#line 2026 "pir.y"
+#line 2002 "pir.y"
{ (yyval.expr) = expr_from_target(lexer, (yyvsp[(1) - (1)].targ)); ;}
break;
case 328:
-#line 2027 "pir.y"
+#line 2003 "pir.y"
{ (yyval.expr) = expr_from_const(lexer, (yyvsp[(1) - (1)].cval)); ;}
break;
case 329:
-#line 2031 "pir.y"
+#line 2007 "pir.y"
{ (yyval.cval) = new_const(lexer, STRING_TYPE, (yyvsp[(1) - (1)].sval)); ;}
break;
case 330:
-#line 2032 "pir.y"
+#line 2008 "pir.y"
{ (yyval.cval) = new_const(lexer, INT_TYPE, (yyvsp[(1) - (1)].ival)); ;}
break;
case 331:
-#line 2033 "pir.y"
+#line 2009 "pir.y"
{ (yyval.cval) = new_const(lexer, NUM_TYPE, (yyvsp[(1) - (1)].dval)); ;}
break;
case 332:
-#line 2036 "pir.y"
+#line 2012 "pir.y"
{ (yyval.ival) = OP_NE; ;}
break;
case 333:
-#line 2037 "pir.y"
+#line 2013 "pir.y"
{ (yyval.ival) = OP_EQ; ;}
break;
case 334:
-#line 2038 "pir.y"
+#line 2014 "pir.y"
{ (yyval.ival) = OP_LT; ;}
break;
case 335:
-#line 2039 "pir.y"
+#line 2015 "pir.y"
{ (yyval.ival) = OP_LE; ;}
break;
case 336:
-#line 2040 "pir.y"
+#line 2016 "pir.y"
{ (yyval.ival) = OP_GE; ;}
break;
case 337:
-#line 2041 "pir.y"
+#line 2017 "pir.y"
{ (yyval.ival) = OP_GT; ;}
break;
case 338:
-#line 2044 "pir.y"
+#line 2020 "pir.y"
{ (yyval.ival) = INT_TYPE; ;}
break;
case 339:
-#line 2045 "pir.y"
+#line 2021 "pir.y"
{ (yyval.ival) = NUM_TYPE; ;}
break;
case 340:
-#line 2046 "pir.y"
+#line 2022 "pir.y"
{ (yyval.ival) = PMC_TYPE; ;}
break;
case 341:
-#line 2047 "pir.y"
+#line 2023 "pir.y"
{ (yyval.ival) = STRING_TYPE; ;}
break;
case 342:
-#line 2055 "pir.y"
+#line 2031 "pir.y"
{ set_curtarget(lexer, (yyvsp[(1) - (1)].targ)); ;}
break;
case 344:
-#line 2059 "pir.y"
+#line 2035 "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) {
@@ -4388,277 +4388,277 @@
break;
case 345:
-#line 2071 "pir.y"
+#line 2047 "pir.y"
{ (yyval.targ) = new_reg(lexer, PMC_TYPE, (yyvsp[(1) - (1)].ival)); ;}
break;
case 346:
-#line 2072 "pir.y"
+#line 2048 "pir.y"
{ (yyval.targ) = new_reg(lexer, NUM_TYPE, (yyvsp[(1) - (1)].ival)); ;}
break;
case 347:
-#line 2073 "pir.y"
+#line 2049 "pir.y"
{ (yyval.targ) = new_reg(lexer, INT_TYPE, (yyvsp[(1) - (1)].ival)); ;}
break;
case 348:
-#line 2074 "pir.y"
+#line 2050 "pir.y"
{ (yyval.targ) = new_reg(lexer, STRING_TYPE, (yyvsp[(1) - (1)].ival)); ;}
break;
case 351:
-#line 2082 "pir.y"
+#line 2058 "pir.y"
{ (yyval.sval) = "if"; ;}
break;
case 352:
-#line 2083 "pir.y"
+#line 2059 "pir.y"
{ (yyval.sval) = "unless"; ;}
break;
case 353:
-#line 2084 "pir.y"
+#line 2060 "pir.y"
{ (yyval.sval) = "goto"; ;}
break;
case 354:
-#line 2085 "pir.y"
+#line 2061 "pir.y"
{ (yyval.sval) = "int"; ;}
break;
case 355:
-#line 2086 "pir.y"
+#line 2062 "pir.y"
{ (yyval.sval) = "num"; ;}
break;
case 356:
-#line 2087 "pir.y"
+#line 2063 "pir.y"
{ (yyval.sval) = "string"; ;}
break;
case 357:
-#line 2088 "pir.y"
+#line 2064 "pir.y"
{ (yyval.sval) = "pmc"; ;}
break;
case 358:
-#line 2089 "pir.y"
+#line 2065 "pir.y"
{ (yyval.sval) = "null"; ;}
break;
case 359:
-#line 2092 "pir.y"
+#line 2068 "pir.y"
{ (yyval.sval) = "neg"; ;}
break;
case 360:
-#line 2093 "pir.y"
+#line 2069 "pir.y"
{ (yyval.sval) = "not"; ;}
break;
case 361:
-#line 2094 "pir.y"
+#line 2070 "pir.y"
{ (yyval.sval) = "bnot"; ;}
break;
case 362:
-#line 2097 "pir.y"
+#line 2073 "pir.y"
{ (yyval.ival) = OP_ADD; ;}
break;
case 363:
-#line 2098 "pir.y"
+#line 2074 "pir.y"
{ (yyval.ival) = OP_SUB; ;}
break;
case 364:
-#line 2099 "pir.y"
+#line 2075 "pir.y"
{ (yyval.ival) = OP_DIV; ;}
break;
case 365:
-#line 2100 "pir.y"
+#line 2076 "pir.y"
{ (yyval.ival) = OP_MUL; ;}
break;
case 366:
-#line 2101 "pir.y"
+#line 2077 "pir.y"
{ (yyval.ival) = OP_MOD; ;}
break;
case 367:
-#line 2102 "pir.y"
+#line 2078 "pir.y"
{ (yyval.ival) = OP_BOR; ;}
break;
case 368:
-#line 2103 "pir.y"
+#line 2079 "pir.y"
{ (yyval.ival) = OP_BAND; ;}
break;
case 369:
-#line 2104 "pir.y"
+#line 2080 "pir.y"
{ (yyval.ival) = OP_BXOR; ;}
break;
case 370:
-#line 2105 "pir.y"
+#line 2081 "pir.y"
{ (yyval.ival) = OP_POW; ;}
break;
case 371:
-#line 2106 "pir.y"
+#line 2082 "pir.y"
{ (yyval.ival) = OP_CONCAT; ;}
break;
case 372:
-#line 2107 "pir.y"
+#line 2083 "pir.y"
{ (yyval.ival) = OP_LSR; ;}
break;
case 373:
-#line 2108 "pir.y"
+#line 2084 "pir.y"
{ (yyval.ival) = OP_SHR; ;}
break;
case 374:
-#line 2109 "pir.y"
+#line 2085 "pir.y"
{ (yyval.ival) = OP_SHL; ;}
break;
case 375:
-#line 2110 "pir.y"
+#line 2086 "pir.y"
{ (yyval.ival) = OP_OR; ;}
break;
case 376:
-#line 2111 "pir.y"
+#line 2087 "pir.y"
{ (yyval.ival) = OP_AND; ;}
break;
case 377:
-#line 2112 "pir.y"
+#line 2088 "pir.y"
{ (yyval.ival) = OP_FDIV; ;}
break;
case 378:
-#line 2113 "pir.y"
+#line 2089 "pir.y"
{ (yyval.ival) = OP_XOR; ;}
break;
case 379:
-#line 2114 "pir.y"
+#line 2090 "pir.y"
{ (yyval.ival) = OP_ISEQ; ;}
break;
case 380:
-#line 2115 "pir.y"
+#line 2091 "pir.y"
{ (yyval.ival) = OP_ISLE; ;}
break;
case 381:
-#line 2116 "pir.y"
+#line 2092 "pir.y"
{ (yyval.ival) = OP_ISLT; ;}
break;
case 382:
-#line 2117 "pir.y"
+#line 2093 "pir.y"
{ (yyval.ival) = OP_ISGE; ;}
break;
case 383:
-#line 2118 "pir.y"
+#line 2094 "pir.y"
{ (yyval.ival) = OP_ISGT; ;}
break;
case 384:
-#line 2119 "pir.y"
+#line 2095 "pir.y"
{ (yyval.ival) = OP_ISNE; ;}
break;
case 385:
-#line 2125 "pir.y"
+#line 2101 "pir.y"
{ (yyval.ival) = OP_MUL; ;}
break;
case 386:
-#line 2126 "pir.y"
+#line 2102 "pir.y"
{ (yyval.ival) = OP_MOD; ;}
break;
case 387:
-#line 2127 "pir.y"
+#line 2103 "pir.y"
{ (yyval.ival) = OP_POW; ;}
break;
case 388:
-#line 2128 "pir.y"
+#line 2104 "pir.y"
{ (yyval.ival) = OP_DIV; ;}
break;
case 389:
-#line 2129 "pir.y"
+#line 2105 "pir.y"
{ (yyval.ival) = OP_FDIV; ;}
break;
case 390:
-#line 2130 "pir.y"
+#line 2106 "pir.y"
{ (yyval.ival) = OP_BOR; ;}
break;
case 391:
-#line 2131 "pir.y"
+#line 2107 "pir.y"
{ (yyval.ival) = OP_BAND; ;}
break;
case 392:
-#line 2132 "pir.y"
+#line 2108 "pir.y"
{ (yyval.ival) = OP_BXOR; ;}
break;
case 393:
-#line 2133 "pir.y"
+#line 2109 "pir.y"
{ (yyval.ival) = OP_CONCAT; ;}
break;
case 394:
-#line 2134 "pir.y"
+#line 2110 "pir.y"
{ (yyval.ival) = OP_SHR; ;}
break;
case 395:
-#line 2135 "pir.y"
+#line 2111 "pir.y"
{ (yyval.ival) = OP_SHL; ;}
break;
case 396:
-#line 2136 "pir.y"
+#line 2112 "pir.y"
{ (yyval.ival) = OP_LSR; ;}
break;
case 398:
-#line 2157 "pir.y"
+#line 2133 "pir.y"
{ new_subr(lexer, "@start"); ;}
break;
case 407:
-#line 2173 "pir.y"
+#line 2149 "pir.y"
{ set_label(lexer, (yyvsp[(1) - (2)].sval)); ;}
break;
case 412:
-#line 2183 "pir.y"
+#line 2159 "pir.y"
{ set_sub_name(lexer, (yyvsp[(3) - (3)].sval)); ;}
break;
case 413:
-#line 2187 "pir.y"
+#line 2163 "pir.y"
{ new_subr(lexer, NULL); ;}
break;
case 414:
-#line 2192 "pir.y"
+#line 2168 "pir.y"
{
if (is_parrot_op(lexer, (yyvsp[(1) -
(3)].sval)))
get_opinfo(yyscanner);
@@ -4884,7 +4884,7 @@
}
-#line 2203 "pir.y"
+#line 2179 "pir.y"