|
|
Author: kjs
Date: Wed Jul 30 03:22:20 2008
New Revision: 29872
Modified:
trunk/compilers/pirc/new/pir.y
trunk/compilers/pirc/new/pirparser.c
Log:
[pirc/new] update parser a bit based on revision of pdd19.
Modified: trunk/compilers/pirc/new/pir.y
==============================================================================
--- trunk/compilers/pirc/new/pir.y (original)
+++ trunk/compilers/pirc/new/pir.y Wed Jul 30 03:22:20 2008
@@ -231,7 +231,6 @@
opt_target_list
opt_list
target_list
- param_def
local_id
local_id_list
@@ -366,24 +365,24 @@
/* HLL stuff */
-hll_specifier : ".HLL" TK_STRINGC ',' TK_STRINGC
- { set_hll($2, $4); }
+hll_specifier : ".HLL" TK_STRINGC
+ { /*set_hll($2, $4);*/ }
;
-hll_mapping : ".HLL_map" TK_STRINGC ',' TK_STRINGC
+hll_mapping : ".HLL_map" TK_STRINGC '=' TK_STRINGC
{ set_hll_map($2, $4); }
;
/* Namespaces */
-namespace_decl : ".namespace" opt_namespace_id
+namespace_decl : ".namespace" '[' opt_namespace_id ']'
;
opt_namespace_id : /* empty */
{ $$ = NULL; }
- | '[' namespace_id ']'
- { $$ = $2; }
+ | namespace_id
+ { $$ = $1; }
;
namespace_id : TK_STRINGC
@@ -449,17 +448,13 @@
| parameters parameter
;
-parameter : ".param" param_def param_flags "\n"
- { set_param_flag($2, $3);
+parameter : ".param" type identifier param_flags "\n"
+ { /* set_param_flag($2, $3);
IF_NAMED_PARAM_SET_ALIAS($2, $3);
+ */
}
;
-param_def : type identifier
- { $$ = add_param(lexer, $1, $2); }
- | type TK_STRINGC "=>" identifier
- { $$ = add_param_named(lexer, $1, $4, $2); }
- ;
/* Instructions */
Modified: trunk/compilers/pirc/new/pirparser.c
==============================================================================
--- trunk/compilers/pirc/new/pirparser.c (original)
+++ trunk/compilers/pirc/new/pirparser.c Wed Jul 30 03:22:20 2008
@@ -619,16 +619,16 @@
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 4
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 541
+#define YYLAST 472
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 120
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 117
+#define YYNNTS 116
/* YYNRULES -- Number of rules. */
-#define YYNRULES 281
+#define YYNRULES 279
/* YYNRULES -- Number of states. */
-#define YYNSTATES 422
+#define YYNSTATES 416
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -644,9 +644,9 @@
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 111, 2, 2, 2, 116, 118, 2,
- 106, 107, 115, 113, 102, 110, 109, 114, 2, 2,
+ 106, 107, 115, 113, 108, 110, 109, 114, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 105,
- 2, 108, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 102, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 103, 2, 104, 2, 2, 2, 2, 2, 2,
@@ -684,146 +684,143 @@
static const yytype_uint16 yyprhs[] =
{
0, 0, 3, 7, 8, 10, 12, 16, 18, 20,
- 22, 24, 26, 28, 30, 34, 37, 42, 47, 50,
- 51, 55, 57, 61, 62, 63, 73, 75, 77, 78,
- 81, 83, 85, 87, 89, 91, 93, 95, 97, 99,
- 104, 107, 110, 112, 114, 116, 118, 119, 122, 127,
- 130, 135, 136, 137, 141, 144, 147, 149, 151, 153,
- 155, 157, 159, 161, 163, 165, 167, 169, 171, 173,
- 175, 178, 182, 187, 191, 194, 198, 201, 205, 208,
- 211, 213, 217, 220, 222, 223, 227, 228, 230, 233,
- 235, 236, 240, 242, 244, 248, 250, 254, 260, 266,
- 268, 270, 273, 276, 278, 280, 282, 286, 290, 295,
- 297, 301, 304, 305, 307, 313, 315, 317, 326, 327,
- 329, 331, 334, 338, 342, 345, 351, 352, 355, 356,
- 358, 360, 363, 367, 369, 374, 379, 382, 384, 386,
- 391, 394, 396, 398, 400, 402, 404, 406, 408, 410,
- 412, 414, 418, 419, 421, 423, 427, 430, 431, 434,
- 436, 438, 440, 442, 445, 446, 449, 451, 453, 458,
- 460, 462, 464, 466, 470, 474, 478, 482, 483, 485,
- 487, 491, 493, 495, 499, 502, 508, 514, 515, 517,
- 519, 522, 526, 527, 529, 531, 534, 538, 539, 542,
- 544, 547, 548, 550, 554, 557, 560, 564, 569, 574,
- 579, 584, 586, 588, 590, 592, 594, 596, 598, 600,
- 602, 604, 606, 608, 610, 612, 614, 616, 618, 620,
- 622, 624, 626, 628, 630, 632, 634, 636, 638, 640,
- 642, 644, 646, 648, 650, 652, 654, 656, 658, 660,
- 662, 664, 666, 668, 670, 672, 674, 676, 678, 680,
- 682, 684, 686, 688, 690, 692, 694, 696, 698, 700,
- 702, 704, 706, 708, 710, 712, 714, 716, 718, 720,
- 722, 724
+ 22, 24, 26, 28, 30, 34, 37, 40, 45, 50,
+ 51, 53, 55, 59, 60, 61, 71, 73, 75, 76,
+ 79, 81, 83, 85, 87, 89, 91, 93, 95, 97,
+ 102, 105, 108, 110, 112, 114, 116, 117, 120, 126,
+ 127, 128, 132, 135, 138, 140, 142, 144, 146, 148,
+ 150, 152, 154, 156, 158, 160, 162, 164, 166, 169,
+ 173, 178, 182, 185, 189, 192, 196, 199, 202, 204,
+ 208, 211, 213, 214, 218, 219, 221, 224, 226, 227,
+ 231, 233, 235, 239, 241, 245, 251, 257, 259, 261,
+ 264, 267, 269, 271, 273, 277, 281, 286, 288, 292,
+ 295, 296, 298, 304, 306, 308, 317, 318, 320, 322,
+ 325, 329, 333, 336, 342, 343, 346, 347, 349, 351,
+ 354, 358, 360, 365, 370, 373, 375, 377, 382, 385,
+ 387, 389, 391, 393, 395, 397, 399, 401, 403, 405,
+ 409, 410, 412, 414, 418, 421, 422, 425, 427, 429,
+ 431, 433, 436, 437, 440, 442, 444, 449, 451, 453,
+ 455, 457, 461, 465, 469, 473, 474, 476, 478, 482,
+ 484, 486, 490, 493, 499, 505, 506, 508, 510, 513,
+ 517, 518, 520, 522, 525, 529, 530, 533, 535, 538,
+ 539, 541, 545, 548, 551, 555, 560, 565, 570, 575,
+ 577, 579, 581, 583, 585, 587, 589, 591, 593, 595,
+ 597, 599, 601, 603, 605, 607, 609, 611, 613, 615,
+ 617, 619, 621, 623, 625, 627, 629, 631, 633, 635,
+ 637, 639, 641, 643, 645, 647, 649, 651, 653, 655,
+ 657, 659, 661, 663, 665, 667, 669, 671, 673, 675,
+ 677, 679, 681, 683, 685, 687, 689, 691, 693, 695,
+ 697, 699, 701, 703, 705, 707, 709, 711, 713, 715
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
121, 0, -1, 122, 123, 122, -1, -1, 4, -1,
- 124, -1, 123, 4, 124, -1, 132, -1, 222, -1,
+ 124, -1, 123, 4, 124, -1, 132, -1, 221, -1,
129, -1, 127, -1, 128, -1, 126, -1, 125, -1,
- 8, 7, 35, -1, 9, 34, -1, 5, 34, 102,
- 34, -1, 6, 34, 102, 34, -1, 15, 130, -1,
- -1, 103, 131, 104, -1, 34, -1, 131, 105, 34,
- -1, -1, -1, 10, 135, 133, 136, 4, 134, 139,
- 142, 11, -1, 233, -1, 34, -1, -1, 136, 137,
- -1, 86, -1, 83, -1, 84, -1, 85, -1, 87,
- -1, 90, -1, 92, -1, 93, -1, 91, -1, 88,
- 106, 135, 107, -1, 89, 220, -1, 94, 221, -1,
- 233, -1, 34, -1, 160, -1, 229, -1, -1, 139,
- 140, -1, 12, 141, 197, 4, -1, 229, 233, -1,
- 229, 34, 54, 233, -1, -1, -1, 142, 143, 144,
- -1, 3, 4, -1, 3, 145, -1, 145, -1, 162,
- -1, 167, -1, 168, -1, 172, -1, 223, -1, 200,
- -1, 201, -1, 173, -1, 150, -1, 149, -1, 148,
- -1, 147, -1, 146, -1, 1, 4, -1, 52, 230,
- 4, -1, 230, 108, 52, 4, -1, 28, 191, 4,
- -1, 153, 4, -1, 230, 151, 4, -1, 236, 226,
- -1, 160, 108, 226, -1, 108, 152, -1, 234, 226,
- -1, 225, -1, 226, 235, 226, -1, 230, 160, -1,
- 153, -1, -1, 45, 154, 155, -1, -1, 156, -1,
- 157, 158, -1, 226, -1, -1, 158, 102, 159, -1,
- 226, -1, 160, -1, 103, 161, 104, -1, 226, -1,
- 161, 105, 226, -1, 163, 166, 165, 233, 4, -1,
- 164, 226, 165, 233, 4, -1, 50, -1, 51, -1,
- 50, 52, -1, 51, 52, -1, 53, -1, 102, -1,
- 226, -1, 226, 228, 226, -1, 53, 233, 4, -1,
- 14, 229, 169, 4, -1, 170, -1, 169, 102, 170,
- -1, 233, 171, -1, -1, 95, -1, 13, 34, 102,
- 230, 4, -1, 174, -1, 183, -1, 26, 4, 175,
- 178, 4, 180, 27, 4, -1, -1, 176, -1, 177,
- -1, 176, 177, -1, 30, 209, 4, -1, 29, 189,
- 179, -1, 32, 189, -1, 16, 189, 4, 17, 188,
- -1, -1, 102, 189, -1, -1, 181, -1, 182, -1,
- 181, 182, -1, 31, 194, 4, -1, 168, -1, 191,
- 108, 184, 4, -1, 230, 108, 184, 4, -1, 184,
- 4, -1, 186, -1, 185, -1, 189, 109, 188, 204,
- -1, 187, 204, -1, 189, -1, 34, -1, 189, -1,
- 190, -1, 233, -1, 41, -1, 37, -1, 34, -1,
- 43, -1, 39, -1, 106, 192, 107, -1, -1, 193,
- -1, 194, -1, 193, 102, 194, -1, 230, 195, -1,
- -1, 195, 196, -1, 99, -1, 100, -1, 97, -1,
- 95, -1, 96, 220, -1, -1, 197, 198, -1, 196,
- -1, 199, -1, 101, 106, 138, 107, -1, 202, -1,
- 210, -1, 203, -1, 211, -1, 20, 204, 4, -1,
- 20, 184, 4, -1, 21, 204, 4, -1, 106, 205,
- 107, -1, -1, 206, -1, 207, -1, 206, 102, 207,
- -1, 209, -1, 208, -1, 34, 54, 226, -1, 226,
- 218, -1, 24, 4, 215, 25, 4, -1, 22, 4,
- 212, 23, 4, -1, -1, 213, -1, 214, -1, 213,
- 214, -1, 21, 209, 4, -1, -1, 216, -1, 217,
- -1, 216, 217, -1, 20, 209, 4, -1, -1, 218,
- 219, -1, 98, -1, 96, 220, -1, -1, 221, -1,
- 106, 34, 107, -1, 19, 224, -1, 222, 4, -1,
- 18, 224, 4, -1, 46, 233, 108, 35, -1, 47,
- 233, 108, 36, -1, 48, 233, 108, 34, -1, 49,
- 233, 108, 34, -1, 227, -1, 231, -1, 33, -1,
- 230, -1, 227, -1, 34, -1, 35, -1, 36, -1,
- 55, -1, 56, -1, 57, -1, 58, -1, 60, -1,
- 59, -1, 46, -1, 47, -1, 48, -1, 49, -1,
- 231, -1, 233, -1, 41, -1, 42, -1, 44, -1,
- 43, -1, 232, -1, 37, -1, 38, -1, 40, -1,
- 39, -1, 33, -1, 45, -1, 110, -1, 111, -1,
- 112, -1, 113, -1, 110, -1, 114, -1, 115, -1,
- 116, -1, 117, -1, 118, -1, 112, -1, 119, -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, 72, -1,
- 73, -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
+ 8, 7, 35, -1, 9, 34, -1, 5, 34, -1,
+ 6, 34, 102, 34, -1, 15, 103, 130, 104, -1,
+ -1, 131, -1, 34, -1, 131, 105, 34, -1, -1,
+ -1, 10, 135, 133, 136, 4, 134, 139, 141, 11,
+ -1, 232, -1, 34, -1, -1, 136, 137, -1, 86,
+ -1, 83, -1, 84, -1, 85, -1, 87, -1, 90,
+ -1, 92, -1, 93, -1, 91, -1, 88, 106, 135,
+ 107, -1, 89, 219, -1, 94, 220, -1, 232, -1,
+ 34, -1, 159, -1, 228, -1, -1, 139, 140, -1,
+ 12, 228, 232, 196, 4, -1, -1, -1, 141, 142,
+ 143, -1, 3, 4, -1, 3, 144, -1, 144, -1,
+ 161, -1, 166, -1, 167, -1, 171, -1, 222, -1,
+ 199, -1, 200, -1, 172, -1, 149, -1, 148, -1,
+ 147, -1, 146, -1, 145, -1, 1, 4, -1, 52,
+ 229, 4, -1, 229, 102, 52, 4, -1, 28, 190,
+ 4, -1, 152, 4, -1, 229, 150, 4, -1, 235,
+ 225, -1, 159, 102, 225, -1, 102, 151, -1, 233,
+ 225, -1, 224, -1, 225, 234, 225, -1, 229, 159,
+ -1, 152, -1, -1, 45, 153, 154, -1, -1, 155,
+ -1, 156, 157, -1, 225, -1, -1, 157, 108, 158,
+ -1, 225, -1, 159, -1, 103, 160, 104, -1, 225,
+ -1, 160, 105, 225, -1, 162, 165, 164, 232, 4,
+ -1, 163, 225, 164, 232, 4, -1, 50, -1, 51,
+ -1, 50, 52, -1, 51, 52, -1, 53, -1, 108,
+ -1, 225, -1, 225, 227, 225, -1, 53, 232, 4,
+ -1, 14, 228, 168, 4, -1, 169, -1, 168, 108,
+ 169, -1, 232, 170, -1, -1, 95, -1, 13, 34,
+ 108, 229, 4, -1, 173, -1, 182, -1, 26, 4,
+ 174, 177, 4, 179, 27, 4, -1, -1, 175, -1,
+ 176, -1, 175, 176, -1, 30, 208, 4, -1, 29,
+ 188, 178, -1, 32, 188, -1, 16, 188, 4, 17,
+ 187, -1, -1, 108, 188, -1, -1, 180, -1, 181,
+ -1, 180, 181, -1, 31, 193, 4, -1, 167, -1,
+ 190, 102, 183, 4, -1, 229, 102, 183, 4, -1,
+ 183, 4, -1, 185, -1, 184, -1, 188, 109, 187,
+ 203, -1, 186, 203, -1, 188, -1, 34, -1, 188,
+ -1, 189, -1, 232, -1, 41, -1, 37, -1, 34,
+ -1, 43, -1, 39, -1, 106, 191, 107, -1, -1,
+ 192, -1, 193, -1, 192, 108, 193, -1, 229, 194,
+ -1, -1, 194, 195, -1, 99, -1, 100, -1, 97,
+ -1, 95, -1, 96, 219, -1, -1, 196, 197, -1,
+ 195, -1, 198, -1, 101, 106, 138, 107, -1, 201,
+ -1, 209, -1, 202, -1, 210, -1, 20, 203, 4,
+ -1, 20, 183, 4, -1, 21, 203, 4, -1, 106,
+ 204, 107, -1, -1, 205, -1, 206, -1, 205, 108,
+ 206, -1, 208, -1, 207, -1, 34, 54, 225, -1,
+ 225, 217, -1, 24, 4, 214, 25, 4, -1, 22,
+ 4, 211, 23, 4, -1, -1, 212, -1, 213, -1,
+ 212, 213, -1, 21, 208, 4, -1, -1, 215, -1,
+ 216, -1, 215, 216, -1, 20, 208, 4, -1, -1,
+ 217, 218, -1, 98, -1, 96, 219, -1, -1, 220,
+ -1, 106, 34, 107, -1, 19, 223, -1, 221, 4,
+ -1, 18, 223, 4, -1, 46, 232, 102, 35, -1,
+ 47, 232, 102, 36, -1, 48, 232, 102, 34, -1,
+ 49, 232, 102, 34, -1, 226, -1, 230, -1, 33,
+ -1, 229, -1, 226, -1, 34, -1, 35, -1, 36,
+ -1, 55, -1, 56, -1, 57, -1, 58, -1, 60,
+ -1, 59, -1, 46, -1, 47, -1, 48, -1, 49,
+ -1, 230, -1, 232, -1, 41, -1, 42, -1, 44,
+ -1, 43, -1, 231, -1, 37, -1, 38, -1, 40,
+ -1, 39, -1, 33, -1, 45, -1, 110, -1, 111,
+ -1, 112, -1, 113, -1, 110, -1, 114, -1, 115,
+ -1, 116, -1, 117, -1, 118, -1, 112, -1, 119,
+ -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, 72,
+ -1, 73, -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
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 337, 337, 342, 343, 346, 347, 350, 351, 352,
- 353, 354, 355, 356, 359, 363, 369, 373, 380, 384,
- 385, 389, 391, 398, 399, 398, 405, 406, 410, 411,
- 415, 417, 419, 421, 423, 425, 427, 429, 431, 433,
- 435, 437, 442, 443, 444, 445, 448, 449, 452, 458,
- 460, 467, 468, 468, 473, 475, 477, 480, 481, 482,
- 483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
- 495, 504, 508, 514, 520, 523, 548, 550, 552, 556,
- 558, 560, 562, 564, 569, 569, 573, 574, 577, 581,
- 587, 588, 592, 593, 596, 600, 602, 606, 613, 620,
- 621, 625, 627, 631, 632, 636, 640, 648, 654, 658,
- 660, 664, 668, 669, 674, 681, 682, 685, 698, 699,
- 703, 705, 709, 713, 715, 717, 723, 724, 731, 732,
- 736, 738, 742, 744, 748, 750, 752, 757, 758, 761,
- 768, 774, 776, 780, 781, 784, 786, 788, 792, 794,
- 796, 801, 806, 807, 811, 813, 817, 826, 827, 831,
- 833, 835, 837, 839, 846, 847, 851, 852, 855, 862,
- 863, 866, 867, 870, 874, 878, 884, 889, 890, 894,
- 896, 900, 901, 904, 910, 918, 926, 935, 936, 941,
- 943, 948, 953, 954, 958, 960, 964, 970, 971, 975,
- 977, 984, 985, 989, 993, 997, 998, 1002, 1004, 1006,
- 1008, 1018, 1019, 1020, 1023, 1024, 1027, 1028, 1029, 1032,
- 1033, 1034, 1035, 1036, 1037, 1040, 1041, 1042, 1043, 1046,
- 1047, 1050, 1051, 1052, 1053, 1054, 1057, 1058, 1059, 1060,
- 1063, 1064, 1067, 1068, 1069, 1072, 1073, 1074, 1075, 1076,
- 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086,
- 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1098, 1099,
- 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109,
- 1110, 1111
+ 0, 336, 336, 341, 342, 345, 346, 349, 350, 351,
+ 352, 353, 354, 355, 358, 362, 368, 372, 379, 383,
+ 384, 388, 390, 397, 398, 397, 404, 405, 409, 410,
+ 414, 416, 418, 420, 422, 424, 426, 428, 430, 432,
+ 434, 436, 441, 442, 443, 444, 447, 448, 451, 462,
+ 463, 463, 468, 470, 472, 475, 476, 477, 478, 479,
+ 480, 481, 482, 483, 484, 485, 486, 487, 490, 499,
+ 503, 509, 515, 518, 543, 545, 547, 551, 553, 555,
+ 557, 559, 564, 564, 568, 569, 572, 576, 582, 583,
+ 587, 588, 591, 595, 597, 601, 608, 615, 616, 620,
+ 622, 626, 627, 631, 635, 643, 649, 653, 655, 659,
+ 663, 664, 669, 676, 677, 680, 693, 694, 698, 700,
+ 704, 708, 710, 712, 718, 719, 726, 727, 731, 733,
+ 737, 739, 743, 745, 747, 752, 753, 756, 763, 769,
+ 771, 775, 776, 779, 781, 783, 787, 789, 791, 796,
+ 801, 802, 806, 808, 812, 821, 822, 826, 828, 830,
+ 832, 834, 841, 842, 846, 847, 850, 857, 858, 861,
+ 862, 865, 869, 873, 879, 884, 885, 889, 891, 895,
+ 896, 899, 905, 913, 921, 930, 931, 936, 938, 943,
+ 948, 949, 953, 955, 959, 965, 966, 970, 972, 979,
+ 980, 984, 988, 992, 993, 997, 999, 1001, 1003, 1013,
+ 1014, 1015, 1018, 1019, 1022, 1023, 1024, 1027, 1028, 1029,
+ 1030, 1031, 1032, 1035, 1036, 1037, 1038, 1041, 1042, 1045,
+ 1046, 1047, 1048, 1049, 1052, 1053, 1054, 1055, 1058, 1059,
+ 1062, 1063, 1064, 1067, 1068, 1069, 1070, 1071, 1072, 1073,
+ 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083,
+ 1084, 1085, 1086, 1087, 1088, 1089, 1093, 1094, 1095, 1096,
+ 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106
};
#endif
@@ -854,14 +851,14 @@
"\":method\"", "\":outer\"", "\":vtable\"", "\":lex\"", "\":multi\"",
"\":postcomp\"", "\":immediate\"", "\":lexid\"", "\":unique_reg\"",
"\":named\"", "\":slurpy\"", "\":flat\"", "\":optional\"",
- "\":opt_flag\"", "\":invocant\"", "','", "'['", "']'", "';'", "'('",
- "')'", "'='", "'.'", "'-'", "'!'", "'~'", "'+'", "'/'", "'*'", "'%'",
+ "\":opt_flag\"", "\":invocant\"", "'='", "'['", "']'", "';'", "'('",
+ "')'", "','", "'.'", "'-'", "'!'", "'~'", "'+'", "'/'", "'*'", "'%'",
"'|'", "'&'", "\"**\"", "$accept", "TOP", "opt_nl", "pir_chunks",
"pir_chunk", "pir_pragma", "loadlib", "hll_specifier", "hll_mapping",
"namespace_decl", "opt_namespace_id", "namespace_id", "sub_def", "@1",
"@2", "sub_id", "sub_flags", "sub_flag", "multi_type", "parameters",
- "parameter", "param_def", "instructions", "@3", "instruction",
- "statement", "error_stat", "null_stat", "getresults_stat", "parrot_stat",
+ "parameter", "instructions", "@3", "instruction", "statement",
+ "error_stat", "null_stat", "getresults_stat", "parrot_stat",
"assignment_stat", "assign_tail", "assign_expr", "parrot_instruction",
"@4", "opt_parrot_op_args", "parrot_op_args", "first_op_arg",
"other_op_args", "other_op_arg", "keylist", "keys", "conditional_stat",
@@ -901,7 +898,7 @@
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 44, 91, 93, 59, 40, 41, 61, 46,
+ 355, 356, 61, 91, 93, 59, 40, 41, 44, 46,
45, 33, 126, 43, 47, 42, 37, 124, 38, 357
};
# endif
@@ -914,64 +911,62 @@
130, 131, 131, 133, 134, 132, 135, 135, 136, 136,
137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
137, 137, 138, 138, 138, 138, 139, 139, 140, 141,
- 141, 142, 143, 142, 144, 144, 144, 145, 145, 145,
- 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
- 146, 147, 147, 148, 149, 150, 151, 151, 151, 152,
- 152, 152, 152, 152, 154, 153, 155, 155, 156, 157,
- 158, 158, 159, 159, 160, 161, 161, 162, 162, 163,
- 163, 164, 164, 165, 165, 166, 166, 167, 168, 169,
- 169, 170, 171, 171, 172, 173, 173, 174, 175, 175,
- 176, 176, 177, 178, 178, 178, 179, 179, 180, 180,
- 181, 181, 182, 182, 183, 183, 183, 184, 184, 185,
- 186, 187, 187, 188, 188, 189, 189, 189, 190, 190,
- 190, 191, 192, 192, 193, 193, 194, 195, 195, 196,
- 196, 196, 196, 196, 197, 197, 198, 198, 199, 200,
- 200, 201, 201, 202, 202, 203, 204, 205, 205, 206,
- 206, 207, 207, 208, 209, 210, 211, 212, 212, 213,
- 213, 214, 215, 215, 216, 216, 217, 218, 218, 219,
- 219, 220, 220, 221, 222, 223, 223, 224, 224, 224,
- 224, 225, 225, 225, 226, 226, 227, 227, 227, 228,
- 228, 228, 228, 228, 228, 229, 229, 229, 229, 230,
- 230, 231, 231, 231, 231, 231, 232, 232, 232, 232,
- 233, 233, 234, 234, 234, 235, 235, 235, 235, 235,
- 235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
- 235, 235, 235, 235, 235, 235, 235, 235, 236, 236,
- 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
- 236, 236
+ 142, 141, 143, 143, 143, 144, 144, 144, 144, 144,
+ 144, 144, 144, 144, 144, 144, 144, 144, 145, 146,
+ 146, 147, 148, 149, 150, 150, 150, 151, 151, 151,
+ 151, 151, 153, 152, 154, 154, 155, 156, 157, 157,
+ 158, 158, 159, 160, 160, 161, 161, 162, 162, 163,
+ 163, 164, 164, 165, 165, 166, 167, 168, 168, 169,
+ 170, 170, 171, 172, 172, 173, 174, 174, 175, 175,
+ 176, 177, 177, 177, 178, 178, 179, 179, 180, 180,
+ 181, 181, 182, 182, 182, 183, 183, 184, 185, 186,
+ 186, 187, 187, 188, 188, 188, 189, 189, 189, 190,
+ 191, 191, 192, 192, 193, 194, 194, 195, 195, 195,
+ 195, 195, 196, 196, 197, 197, 198, 199, 199, 200,
+ 200, 201, 201, 202, 203, 204, 204, 205, 205, 206,
+ 206, 207, 208, 209, 210, 211, 211, 212, 212, 213,
+ 214, 214, 215, 215, 216, 217, 217, 218, 218, 219,
+ 219, 220, 221, 222, 222, 223, 223, 223, 223, 224,
+ 224, 224, 225, 225, 226, 226, 226, 227, 227, 227,
+ 227, 227, 227, 228, 228, 228, 228, 229, 229, 230,
+ 230, 230, 230, 230, 231, 231, 231, 231, 232, 232,
+ 233, 233, 233, 234, 234, 234, 234, 234, 234, 234,
+ 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
+ 234, 234, 234, 234, 234, 234, 235, 235, 235, 235,
+ 235, 235, 235, 235, 235, 235, 235, 235, 235, 235
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
static const yytype_uint8 yyr2[] =
{
0, 2, 3, 0, 1, 1, 3, 1, 1, 1,
- 1, 1, 1, 1, 3, 2, 4, 4, 2, 0,
- 3, 1, 3, 0, 0, 9, 1, 1, 0, 2,
+ 1, 1, 1, 1, 3, 2, 2, 4, 4, 0,
+ 1, 1, 3, 0, 0, 9, 1, 1, 0, 2,
1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
- 2, 2, 1, 1, 1, 1, 0, 2, 4, 2,
- 4, 0, 0, 3, 2, 2, 1, 1, 1, 1,
+ 2, 2, 1, 1, 1, 1, 0, 2, 5, 0,
+ 0, 3, 2, 2, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
+ 4, 3, 2, 3, 2, 3, 2, 2, 1, 3,
+ 2, 1, 0, 3, 0, 1, 2, 1, 0, 3,
+ 1, 1, 3, 1, 3, 5, 5, 1, 1, 2,
+ 2, 1, 1, 1, 3, 3, 4, 1, 3, 2,
+ 0, 1, 5, 1, 1, 8, 0, 1, 1, 2,
+ 3, 3, 2, 5, 0, 2, 0, 1, 1, 2,
+ 3, 1, 4, 4, 2, 1, 1, 4, 2, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
+ 0, 1, 1, 3, 2, 0, 2, 1, 1, 1,
+ 1, 2, 0, 2, 1, 1, 4, 1, 1, 1,
+ 1, 3, 3, 3, 3, 0, 1, 1, 3, 1,
+ 1, 3, 2, 5, 5, 0, 1, 1, 2, 3,
+ 0, 1, 1, 2, 3, 0, 2, 1, 2, 0,
+ 1, 3, 2, 2, 3, 4, 4, 4, 4, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 2, 3, 4, 3, 2, 3, 2, 3, 2, 2,
- 1, 3, 2, 1, 0, 3, 0, 1, 2, 1,
- 0, 3, 1, 1, 3, 1, 3, 5, 5, 1,
- 1, 2, 2, 1, 1, 1, 3, 3, 4, 1,
- 3, 2, 0, 1, 5, 1, 1, 8, 0, 1,
- 1, 2, 3, 3, 2, 5, 0, 2, 0, 1,
- 1, 2, 3, 1, 4, 4, 2, 1, 1, 4,
- 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 3, 0, 1, 1, 3, 2, 0, 2, 1,
- 1, 1, 1, 2, 0, 2, 1, 1, 4, 1,
- 1, 1, 1, 3, 3, 3, 3, 0, 1, 1,
- 3, 1, 1, 3, 2, 5, 5, 0, 1, 1,
- 2, 3, 0, 1, 1, 2, 3, 0, 2, 1,
- 2, 0, 1, 3, 2, 2, 3, 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, 1
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -980,255 +975,239 @@
static const yytype_uint16 yydefact[] =
{
3, 4, 0, 0, 1, 0, 0, 0, 0, 0,
- 19, 0, 3, 5, 13, 12, 10, 11, 9, 7,
- 8, 0, 0, 0, 15, 240, 27, 241, 23, 26,
- 0, 18, 0, 0, 0, 0, 204, 4, 2, 0,
- 0, 14, 28, 21, 0, 0, 0, 0, 0, 6,
- 16, 17, 0, 20, 0, 0, 0, 0, 0, 24,
- 31, 32, 33, 30, 34, 0, 201, 35, 38, 36,
- 37, 0, 29, 22, 207, 208, 209, 210, 46, 0,
- 0, 40, 202, 41, 51, 0, 0, 0, 47, 52,
- 39, 203, 225, 226, 227, 228, 164, 0, 25, 0,
- 0, 0, 49, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 142, 236, 237, 239, 238, 231,
- 232, 234, 233, 241, 99, 100, 0, 0, 152, 53,
- 56, 69, 68, 67, 66, 65, 0, 57, 0, 0,
- 58, 59, 60, 64, 115, 116, 0, 138, 137, 0,
- 141, 0, 62, 63, 169, 171, 170, 172, 0, 61,
- 0, 229, 235, 230, 48, 162, 201, 161, 159, 160,
- 0, 166, 165, 167, 0, 70, 54, 55, 0, 0,
- 0, 147, 146, 177, 0, 0, 145, 0, 187, 192,
- 118, 0, 86, 101, 102, 236, 231, 0, 230, 0,
- 0, 153, 154, 157, 74, 216, 217, 218, 0, 105,
- 215, 214, 0, 136, 140, 0, 0, 205, 281, 279,
- 280, 268, 269, 270, 271, 272, 273, 275, 276, 274,
- 277, 278, 0, 0, 0, 0, 0, 163, 0, 50,
- 0, 0, 109, 112, 206, 216, 0, 178, 179, 182,
- 181, 197, 174, 173, 175, 0, 0, 188, 189, 0,
- 0, 193, 194, 0, 0, 119, 120, 73, 85, 87,
- 90, 89, 71, 107, 151, 0, 156, 103, 104, 0,
- 219, 220, 221, 222, 224, 223, 0, 0, 148, 150,
- 149, 0, 143, 144, 0, 0, 95, 240, 216, 0,
- 242, 243, 244, 78, 83, 0, 80, 0, 215, 214,
- 229, 0, 75, 0, 76, 43, 0, 44, 45, 42,
- 0, 108, 0, 113, 111, 0, 176, 0, 184, 0,
- 0, 190, 0, 0, 195, 0, 0, 0, 0, 0,
- 121, 88, 155, 158, 0, 106, 0, 139, 134, 94,
- 0, 72, 135, 267, 262, 264, 263, 266, 265, 255,
- 256, 257, 260, 258, 259, 261, 254, 246, 252, 245,
- 247, 248, 249, 250, 251, 253, 0, 82, 79, 77,
- 168, 114, 110, 183, 180, 201, 199, 198, 191, 186,
- 196, 185, 122, 0, 126, 124, 128, 0, 97, 98,
- 96, 81, 200, 0, 0, 123, 0, 133, 0, 129,
- 130, 91, 93, 92, 0, 127, 0, 0, 131, 125,
- 132, 117
+ 0, 0, 3, 5, 13, 12, 10, 11, 9, 7,
+ 8, 16, 0, 0, 15, 238, 27, 239, 23, 26,
+ 19, 0, 0, 0, 0, 202, 4, 2, 0, 14,
+ 28, 21, 0, 20, 0, 0, 0, 0, 6, 17,
+ 0, 18, 0, 0, 0, 0, 0, 24, 31, 32,
+ 33, 30, 34, 0, 199, 35, 38, 36, 37, 0,
+ 29, 22, 205, 206, 207, 208, 46, 0, 0, 40,
+ 200, 41, 49, 0, 0, 0, 47, 50, 39, 201,
+ 223, 224, 225, 226, 0, 25, 0, 162, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 140,
+ 234, 235, 237, 236, 229, 230, 232, 231, 239, 97,
+ 98, 0, 0, 150, 51, 54, 67, 66, 65, 64,
+ 63, 0, 55, 0, 0, 56, 57, 58, 62, 113,
+ 114, 0, 136, 135, 0, 139, 0, 60, 61, 167,
+ 169, 168, 170, 0, 59, 0, 227, 233, 228, 0,
+ 68, 52, 53, 0, 0, 0, 145, 144, 175, 0,
+ 0, 143, 0, 185, 190, 116, 0, 84, 99, 100,
+ 234, 229, 0, 228, 0, 0, 151, 152, 155, 72,
+ 214, 215, 216, 0, 103, 213, 212, 0, 134, 138,
+ 0, 0, 203, 279, 277, 278, 266, 267, 268, 269,
+ 270, 271, 273, 274, 272, 275, 276, 0, 0, 0,
+ 0, 0, 48, 160, 199, 159, 157, 158, 0, 164,
+ 163, 165, 0, 0, 107, 110, 204, 214, 0, 176,
+ 177, 180, 179, 195, 172, 171, 173, 0, 0, 186,
+ 187, 0, 0, 191, 192, 0, 0, 117, 118, 71,
+ 83, 85, 88, 87, 69, 105, 149, 0, 154, 101,
+ 102, 0, 217, 218, 219, 220, 222, 221, 0, 0,
+ 146, 148, 147, 0, 141, 142, 0, 238, 214, 0,
+ 240, 241, 242, 76, 81, 0, 78, 0, 213, 212,
+ 227, 0, 0, 93, 73, 0, 74, 161, 0, 0,
+ 106, 0, 111, 109, 0, 174, 0, 182, 0, 0,
+ 188, 0, 0, 193, 0, 0, 0, 0, 0, 119,
+ 86, 153, 156, 0, 104, 0, 137, 132, 70, 133,
+ 265, 260, 262, 261, 264, 263, 253, 254, 255, 258,
+ 256, 257, 259, 252, 244, 250, 243, 245, 246, 247,
+ 248, 249, 251, 0, 80, 77, 92, 0, 75, 43,
+ 0, 44, 45, 42, 112, 108, 181, 178, 199, 197,
+ 196, 189, 184, 194, 183, 120, 0, 124, 122, 126,
+ 0, 95, 96, 79, 94, 166, 198, 0, 0, 121,
+ 0, 131, 0, 127, 128, 89, 91, 90, 0, 125,
+ 0, 0, 129, 123, 130, 115
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 2, 3, 12, 13, 14, 15, 16, 17, 18,
- 31, 44, 19, 42, 78, 28, 52, 72, 316, 84,
- 88, 96, 89, 99, 129, 130, 131, 132, 133, 134,
- 135, 234, 303, 136, 192, 268, 269, 270, 341, 411,
- 235, 295, 137, 138, 139, 279, 208, 140, 141, 241,
- 242, 324, 142, 143, 144, 264, 265, 266, 339, 405,
- 408, 409, 410, 145, 146, 147, 148, 149, 291, 150,
- 293, 151, 200, 201, 202, 276, 171, 100, 172, 173,
- 152, 153, 154, 155, 185, 246, 247, 248, 249, 250,
- 156, 157, 256, 257, 258, 260, 261, 262, 328, 387,
- 81, 82, 20, 159, 36, 306, 251, 210, 286, 97,
- 211, 161, 162, 198, 311, 376, 236
+ 42, 43, 19, 40, 76, 28, 50, 70, 370, 82,
+ 86, 87, 96, 124, 125, 126, 127, 128, 129, 130,
+ 219, 293, 131, 177, 260, 261, 262, 330, 405, 220,
+ 302, 132, 133, 134, 271, 193, 135, 136, 233, 234,
+ 313, 137, 138, 139, 256, 257, 258, 328, 399, 402,
+ 403, 404, 140, 141, 142, 143, 144, 283, 145, 285,
+ 146, 185, 186, 187, 268, 229, 159, 230, 231, 147,
+ 148, 149, 150, 170, 238, 239, 240, 241, 242, 151,
+ 152, 248, 249, 250, 252, 253, 254, 317, 380, 79,
+ 80, 20, 154, 35, 296, 243, 195, 278, 94, 196,
+ 156, 157, 183, 301, 363, 221
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -370
+#define YYPACT_NINF -377
static const yytype_int16 yypact[] =
{
- 34, -370, 66, 36, -370, 43, 50, 80, 60, -16,
- -7, 125, 96, -370, -370, -370, -370, -370, -370, -370,
- -370, 0, 13, 82, -370, -370, -370, -370, -370, -370,
- 88, -370, 3, 3, 3, 3, -370, 36, -370, 89,
- 91, -370, -370, -370, -46, 28, 29, 31, 32, -370,
- -370, -370, 69, -370, 113, 115, 128, 132, 134, -370,
- -370, -370, -370, -370, -370, 63, 85, -370, -370, -370,
- -370, 85, -370, -370, -370, -370, -370, -370, -370, -16,
- 154, -370, -370, -370, 180, 86, 92, 149, -370, 189,
- -370, -370, -370, -370, -370, -370, -370, 58, -370, 247,
- 10, 147, -370, 198, 317, 169, 149, 125, -2, 99,
- 204, 205, 206, 105, -370, -87, -370, -370, -370, -53,
- -370, -370, -370, 418, 160, 161, 142, 3, 142, -370,
- -370, -370, -370, -370, -370, -370, 210, -370, 470, 470,
- -370, -370, -370, -370, -370, -370, 212, -370, -370, 99,
- 108, 110, -370, -370, -370, -370, -370, -370, 215, -370,
- 420, -370, -370, -23, -370, -370, 85, -370, -370, -370,
- 114, -370, -370, -370, 3, -370, -370, -370, 120, 3,
- 219, -370, -370, 496, 221, 222, -370, 223, 207, 211,
- 200, 228, 470, -370, -370, -370, -370, 229, -370, 230,
- 129, 133, -370, -370, -370, -370, -370, -370, -42, 74,
- -370, -370, -42, -370, -370, 35, 48, -370, -370, -370,
- -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
- -370, -370, 470, 338, 233, 130, 470, -370, 16, -370,
- 142, 6, -370, 144, -370, 186, 135, 141, -370, -370,
- -370, -370, -370, -370, -370, 470, 224, 207, -370, 470,
- 220, 211, -370, 470, 5, 200, -370, -370, -370, -370,
- -370, -370, -370, -370, -370, 142, 49, -370, -370, 3,
- -370, -370, -370, -370, -370, -370, 470, 3, -370, -370,
- -370, 99, -370, -370, 240, 9, -370, 242, 143, 248,
- -370, -370, -370, -370, -370, 249, -370, 369, 250, 148,
- 251, 470, -370, 470, -370, -370, 150, -370, -370, -370,
- 252, -370, 3, -370, -370, 470, -370, 496, -44, 254,
- 255, -370, 259, 260, -370, 268, 79, 79, 79, 270,
- -370, 174, -370, -370, 273, -370, 275, -370, -370, -370,
- 470, -370, -370, -370, -370, -370, -370, -370, -370, -370,
- -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
- -370, -370, -370, -370, -370, -370, 470, -370, -370, -370,
- -370, -370, -370, -370, -370, 85, -370, -370, -370, -370,
- -370, -370, -370, 278, 181, -370, 2, 373, -370, -370,
- -370, -370, -370, 276, 79, -370, 142, -370, 267, 2,
- -370, -370, -370, -370, 35, -370, 291, 292, -370, -370,
- -370, -370
+ 13, -377, 31, 130, -377, 4, 6, 45, 33, 41,
+ -34, 219, 67, -377, -377, -377, -377, -377, -377, -377,
+ -377, -377, -29, 48, -377, -377, -377, -377, -377, -377,
+ 64, -13, -13, -13, -13, -377, 130, -377, 66, -377,
+ -377, -377, 14, 16, 17, 21, 23, 24, -377, -377,
+ 159, -377, 99, 106, 98, 109, 110, -377, -377, -377,
+ -377, -377, -377, 47, 55, -377, -377, -377, -377, 55,
+ -377, -377, -377, -377, -377, -377, -377, 41, 120, -377,
+ -377, -377, 144, 58, 60, 265, -377, 146, -377, -377,
+ -377, -377, -377, -377, -13, -377, 183, -377, 165, 306,
+ 137, 265, 219, -4, 68, 169, 172, 173, 72, -377,
+ -67, -377, -377, -377, -28, -377, -377, -377, 392, 128,
+ 129, 253, -13, 253, -377, -377, -377, -377, -377, -377,
+ -377, 179, -377, 341, 341, -377, -377, -377, -377, -377,
+ -377, 181, -377, -377, 68, 78, 87, -377, -377, -377,
+ -377, -377, -377, 186, -377, 369, -377, -377, -10, 10,
+ -377, -377, -377, 85, -13, 190, -377, -377, 419, 191,
+ 194, -377, 195, 185, 193, 184, 211, 341, -377, -377,
+ -377, -377, 214, -377, 215, 122, 123, -377, -377, -377,
+ -377, -377, -377, -38, 199, -377, -377, -38, -377, -377,
+ 125, 43, -377, -377, -377, -377, -377, -377, -377, -377,
+ -377, -377, -377, -377, -377, -377, -377, 20, 341, 226,
+ 136, 341, -377, -377, 55, -377, -377, -377, 126, -377,
+ -377, -377, 253, 7, -377, 145, -377, 206, 132, 153,
+ -377, -377, -377, -377, -377, -377, -377, 341, 240, 185,
+ -377, 341, 244, 193, -377, 341, 50, 184, -377, -377,
+ -377, -377, -377, -377, -377, -377, -377, 253, 51, -377,
+ -377, -13, -377, -377, -377, -377, -377, -377, 341, -13,
+ -377, -377, -377, 68, -377, -377, 280, 281, 182, 283,
+ -377, -377, -377, -377, -377, 296, -377, 305, 297, 200,
+ 300, 341, -60, -377, -377, 341, -377, -377, 1, 302,
+ -377, -13, -377, -377, 341, -377, 419, -80, 304, 311,
+ -377, 317, 318, -377, 319, 56, 56, 56, 325, -377,
+ 201, -377, -377, 327, -377, 329, -377, -377, -377, -377,
+ -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
+ -377, -377, -377, -377, -377, -377, -377, -377, -377, -377,
+ -377, -377, -377, 341, -377, -377, -377, 341, -377, -377,
+ 228, -377, -377, -377, -377, -377, -377, -377, 55, -377,
+ -377, -377, -377, -377, -377, -377, 332, 229, -377, 5,
+ 238, -377, -377, -377, -377, -377, -377, 321, 56, -377,
+ 253, -377, 315, 5, -377, -377, -377, -377, 125, -377,
+ 348, 349, -377, -377, -377, -377
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -370, -370, 289, -370, 265, -370, -370, -370, -370, -370,
- -370, -370, -370, -370, -370, 225, -370, -370, -370, -370,
- -370, -370, -370, -370, -370, 199, -370, -370, -370, -370,
- -370, -370, -370, 72, -370, -370, -370, -370, -370, -370,
- -230, -370, -370, -370, -370, 94, -370, -370, -369, -370,
- -15, -370, -370, -370, -370, -370, -370, 44, -370, -370,
- -370, -370, -99, -370, -95, -370, -370, -370, -103, -210,
- -370, 201, -370, -370, -263, -370, 39, -370, -370, -370,
- -370, -370, -370, -370, -102, -370, -370, -11, -370, -188,
- -370, -370, -370, -370, 55, -370, -370, 56, -370, -370,
- -164, 253, -84, -370, 213, -370, -135, 90, -370, -97,
- -98, 93, -370, -9, -370, -370, -370
+ -377, -377, 342, -377, 351, -377, -377, -377, -377, -377,
+ -377, -377, -377, -377, -377, 278, -377, -377, -377, -377,
+ -377, -377, -377, -377, 289, -377, -377, -377, -377, -377,
+ -377, -377, 174, -377, -377, -377, -377, -377, -377, -287,
+ -377, -377, -377, -377, 196, -377, -377, -376, -377, 79,
+ -377, -377, -377, -377, -377, -377, 135, -377, -377, -377,
+ -377, -8, -377, -93, -377, -377, -377, -14, -198, -377,
+ 290, -377, -377, -258, -377, 133, -377, -377, -377, -377,
+ -377, -377, -377, -101, -377, -377, 81, -377, -135, -377,
+ -377, -377, -377, 151, -377, -377, 149, -377, -377, -218,
+ 334, 18, -377, 303, -377, -126, 187, -377, -96, -95,
+ 189, -377, -9, -377, -377, -377
};
/* 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 -214
+#define YYTABLE_NINF -212
static const yytype_int16 yytable[] =
{
- 29, 160, 237, 209, 212, 292, 160, 187, 317, 179,
- 321, 277, 342, 184, 164, 158, 106, 25, 26, -147,
- 158, 336, -147, 45, 46, 47, 48, 407, 197, 27,
- 203, 25, 114, 406, 337, 181, 25, 338, 1, 182,
- 407, 5, 6, 27, 7, 8, 9, 214, 27, 25,
- 315, 10, 385, -146, 386, 11, -146, 271, 53, 54,
- 278, 27, 92, 93, 94, 95, 4, 329, 25, 288,
- 29, 332, 181, 59, 289, 335, 182, 21, 290, 377,
- 27, 25, 114, -145, 22, 181, -145, 23, 102, 182,
- 163, 25, 101, 27, 24, 163, 30, 296, 307, 186,
- 37, 314, 39, 27, 183, 165, 166, 167, 322, 168,
- 169, 170, 25, 349, 350, 40, 181, 41, 199, 232,
- 182, 294, 43, 50, 27, 51, 393, 394, 395, 280,
- 281, 282, 283, 284, 285, 309, 55, 56, 305, 57,
- 58, 318, 320, 416, 165, 166, 167, 73, 168, 169,
- 74, 345, 60, 61, 62, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 75, 239, 76, 412, 77, 79,
- 243, 32, 33, 34, 35, 25, 378, 203, 379, 195,
- 116, 117, 118, 196, 120, 121, 122, 27, 86, 347,
- 383, 80, 87, 90, 415, 92, 93, 94, 95, 91,
- 98, 174, 175, 178, 292, 183, 186, 186, 188, 189,
- 190, 128, 193, 194, 204, 400, 213, 215, 216, 217,
- 238, 402, 240, 244, 163, 252, 253, 254, 255, 319,
- 263, 259, 267, 272, 273, 275, 274, 312, 313, 323,
- 325, 401, 326, 327, 348, 333, -213, 330, 103, -142,
- 104, 232, 351, 352, -211, -212, 381, 380, 388, 389,
- 105, 106, 413, 390, 391, 107, 11, 108, 109, 110,
- 344, 111, 392, 112, 396, 113, 397, 398, 346, 399,
- 25, 114, 403, 404, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 414, 417, 420, 421, 124, 125, 126,
- 127, 38, 49, 177, 85, 304, 287, 382, 203, 340,
- 418, 419, 331, 243, 191, 343, 384, 334, 103, 0,
- 180, 176, 0, 308, 83, 0, 310, 186, 186, 186,
- 105, 106, 0, 0, 0, 107, 11, 108, 109, 110,
- 0, 111, 0, 112, 0, 113, 0, 0, 0, 0,
- 25, 114, 0, 128, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 0, 0, 0, 0, 124, 125, 126,
- 127, 297, 298, 206, 207, 115, 116, 117, 118, 119,
- 120, 121, 122, 123, 0, 0, 0, 0, 0, 0,
- 299, 0, 0, 0, 0, 186, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 186, 25, 205, 206, 207,
- 195, 116, 117, 118, 196, 120, 121, 122, 27, 0,
- 0, 0, -84, 128, 353, 354, 355, 356, 357, 358,
- 359, 360, 361, 362, 363, 364, 365, 366, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 300, 301,
- 302, -84, -84, -84, -84, -84, -84, -84, -84, -84,
- -84, -84, -84, -84, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 232, 0, 0, 367,
- 0, 368, 369, 370, 371, 372, 373, 374, 375, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
- 229, 230, 231, 25, 205, 206, 207, 195, 116, 117,
- 118, 196, 120, 121, 122, 27, 0, 0, 0, 0,
- 0, 0, 0, 232, 0, 0, 0, 0, 233, 25,
- 245, 206, 207, 195, 116, 117, 118, 196, 120, 121,
- 122, 27
+ 29, 155, 284, 172, 155, 164, 307, 194, 197, 331,
+ 169, 310, 364, 401, 222, 269, 378, 1, 379, 101,
+ 25, 371, 44, 45, 46, 47, 182, 401, 188, 25,
+ 109, 4, 27, 166, 25, 369, 400, 167, 21, -145,
+ 22, 27, -145, 199, 366, 367, 27, 90, 91, 92,
+ 93, 263, 23, 287, 288, 191, 192, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, 325, 24, 29, 30,
+ 270, 36, 289, 38, 25, 26, 25, 109, -144, 326,
+ 166, -144, 327, 39, 167, 97, 27, 158, 27, 25,
+ 158, 297, 303, 166, 171, 306, -143, 167, 41, -143,
+ 49, 27, 168, 406, 218, 223, 224, 225, 286, 226,
+ 227, 228, 318, 184, 153, 311, 321, 153, 51, 53,
+ 324, 52, 299, 54, 295, 55, 56, 386, 387, 388,
+ 290, 291, 292, 71, 73, 5, 6, 309, 7, 8,
+ 9, 72, 410, 74, 75, 10, 223, 224, 225, 11,
+ 226, 227, 334, 77, 84, 235, 85, 95, 25, 280,
+ 396, 78, 166, 57, 281, 88, 167, 89, 282, 160,
+ 27, 163, 188, 173, 168, 365, 174, 175, 123, 368,
+ 178, 179, 336, 189, 98, 198, 99, 200, 376, 201,
+ 202, 171, 171, 232, 236, 244, 100, 101, 245, 246,
+ 409, 102, 11, 103, 104, 105, 247, 106, 158, 107,
+ 284, 108, 372, 251, 255, 259, 25, 109, 264, 265,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 266,
+ 304, 267, 308, 119, 120, 121, 122, 393, 305, 315,
+ 312, 394, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 272, 273, 274, 275, 276, 277,
+ 314, 316, 333, 319, 407, 31, 32, 33, 34, 322,
+ 335, 25, 190, 191, 192, 180, 111, 112, 113, 181,
+ 115, 116, 117, 27, 337, -211, 25, 338, -140, 123,
+ 180, 111, 112, 113, 181, 115, 116, 117, 27, 373,
+ 339, -209, 235, 218, -210, 188, 374, 98, 381, 390,
+ 161, 90, 91, 92, 93, 382, 171, 171, 171, 100,
+ 101, 383, 384, 385, 102, 11, 103, 104, 105, 389,
+ 106, 391, 107, 392, 108, 395, 397, 398, 408, 25,
+ 109, 218, 411, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, 414, 415, 37, 83, 119, 120, 121, 122,
+ 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
+ 350, 351, 352, 353, 25, 190, 191, 192, 180, 111,
+ 112, 113, 181, 115, 116, 117, 27, 48, 162, 171,
+ 375, 294, 329, 279, 413, 412, -82, 377, 176, 171,
+ 320, 332, 323, 81, 298, 165, 300, 0, 0, 0,
+ 0, 0, 123, 0, 0, 354, 0, 355, 356, 357,
+ 358, 359, 360, 361, 362, -82, -82, -82, -82, -82,
+ -82, -82, -82, -82, -82, -82, -82, -82, 203, 204,
+ 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
+ 215, 216, 25, 237, 191, 192, 180, 111, 112, 113,
+ 181, 115, 116, 117, 27, 0, 0, 0, 0, 0,
+ 0, 217, 218
};
static const yytype_int16 yycheck[] =
{
- 9, 99, 166, 138, 139, 215, 104, 109, 238, 106,
- 4, 53, 275, 108, 4, 99, 14, 33, 34, 106,
- 104, 16, 109, 32, 33, 34, 35, 396, 126, 45,
- 128, 33, 34, 31, 29, 37, 33, 32, 4, 41,
- 409, 5, 6, 45, 8, 9, 10, 149, 45, 33,
- 34, 15, 96, 106, 98, 19, 109, 192, 104, 105,
- 102, 45, 46, 47, 48, 49, 0, 255, 33, 34,
- 79, 259, 37, 4, 39, 263, 41, 34, 43, 309,
- 45, 33, 34, 106, 34, 37, 109, 7, 97, 41,
- 99, 33, 34, 45, 34, 104, 103, 232, 233, 108,
- 4, 236, 102, 45, 106, 95, 96, 97, 102, 99,
- 100, 101, 33, 104, 105, 102, 37, 35, 127, 103,
- 41, 216, 34, 34, 45, 34, 336, 337, 338, 55,
- 56, 57, 58, 59, 60, 233, 108, 108, 233, 108,
- 108, 238, 240, 406, 95, 96, 97, 34, 99, 100,
- 35, 286, 83, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 36, 174, 34, 397, 34, 106,
- 179, 46, 47, 48, 49, 33, 311, 275, 313, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 34, 291,
- 325, 106, 12, 107, 404, 46, 47, 48, 49, 107,
- 11, 54, 4, 34, 414, 106, 215, 216, 4, 4,
- 4, 106, 52, 52, 4, 350, 4, 109, 108, 4,
- 106, 385, 102, 4, 233, 4, 4, 4, 21, 238,
- 30, 20, 4, 4, 4, 102, 107, 4, 108, 95,
- 54, 376, 107, 102, 4, 25, 4, 23, 1, 106,
- 3, 103, 4, 4, 4, 4, 4, 107, 4, 4,
- 13, 14, 397, 4, 4, 18, 19, 20, 21, 22,
- 279, 24, 4, 26, 4, 28, 102, 4, 287, 4,
- 33, 34, 4, 102, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 17, 27, 4, 4, 50, 51, 52,
- 53, 12, 37, 104, 79, 233, 212, 322, 406, 265,
- 409, 414, 257, 322, 113, 276, 327, 261, 1, -1,
- 107, 4, -1, 233, 71, -1, 233, 336, 337, 338,
- 13, 14, -1, -1, -1, 18, 19, 20, 21, 22,
- -1, 24, -1, 26, -1, 28, -1, -1, -1, -1,
- 33, 34, -1, 106, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, -1, -1, -1, -1, 50, 51, 52,
- 53, 33, 34, 35, 36, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, -1, -1, -1, -1, -1, -1,
- 52, -1, -1, -1, -1, 404, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 414, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, -1,
- -1, -1, 4, 106, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 110, 111,
- 112, 33, 34, 35, 36, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 103, -1, -1, 110,
- -1, 112, 113, 114, 115, 116, 117, 118, 119, 69,
- 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, -1, -1, -1, -1,
- -1, -1, -1, 103, -1, -1, -1, -1, 108, 33,
- 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
- 44, 45
+ 9, 96, 200, 104, 99, 101, 224, 133, 134, 267,
+ 103, 4, 299, 389, 4, 53, 96, 4, 98, 14,
+ 33, 308, 31, 32, 33, 34, 121, 403, 123, 33,
+ 34, 0, 45, 37, 33, 34, 31, 41, 34, 106,
+ 34, 45, 109, 144, 104, 105, 45, 46, 47, 48,
+ 49, 177, 7, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 16, 34, 77, 103,
+ 108, 4, 52, 102, 33, 34, 33, 34, 106, 29,
+ 37, 109, 32, 35, 41, 94, 45, 96, 45, 33,
+ 99, 217, 218, 37, 103, 221, 106, 41, 34, 109,
+ 34, 45, 106, 390, 103, 95, 96, 97, 201, 99,
+ 100, 101, 247, 122, 96, 108, 251, 99, 104, 102,
+ 255, 105, 217, 102, 217, 102, 102, 325, 326, 327,
+ 110, 111, 112, 34, 36, 5, 6, 232, 8, 9,
+ 10, 35, 400, 34, 34, 15, 95, 96, 97, 19,
+ 99, 100, 278, 106, 34, 164, 12, 11, 33, 34,
+ 378, 106, 37, 4, 39, 107, 41, 107, 43, 4,
+ 45, 34, 267, 4, 106, 301, 4, 4, 106, 305,
+ 52, 52, 283, 4, 1, 4, 3, 109, 314, 102,
+ 4, 200, 201, 108, 4, 4, 13, 14, 4, 4,
+ 398, 18, 19, 20, 21, 22, 21, 24, 217, 26,
+ 408, 28, 308, 20, 30, 4, 33, 34, 4, 4,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 107,
+ 4, 108, 106, 50, 51, 52, 53, 363, 102, 107,
+ 95, 367, 83, 84, 85, 86, 87, 88, 89, 90,
+ 91, 92, 93, 94, 55, 56, 57, 58, 59, 60,
+ 54, 108, 271, 23, 390, 46, 47, 48, 49, 25,
+ 279, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 4, 4, 33, 4, 106, 106,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 308,
+ 4, 4, 311, 103, 4, 400, 4, 1, 4, 108,
+ 4, 46, 47, 48, 49, 4, 325, 326, 327, 13,
+ 14, 4, 4, 4, 18, 19, 20, 21, 22, 4,
+ 24, 4, 26, 4, 28, 107, 4, 108, 17, 33,
+ 34, 103, 27, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 4, 4, 12, 77, 50, 51, 52, 53,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 36, 99, 398,
+ 311, 217, 257, 197, 408, 403, 4, 316, 108, 408,
+ 249, 268, 253, 69, 217, 102, 217, -1, -1, -1,
+ -1, -1, 106, -1, -1, 110, -1, 112, 113, 114,
+ 115, 116, 117, 118, 119, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 69, 70,
+ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, -1, -1, -1, -1, -1,
+ -1, 102, 103
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1237,47 +1216,46 @@
{
0, 4, 121, 122, 0, 5, 6, 8, 9, 10,
15, 19, 123, 124, 125, 126, 127, 128, 129, 132,
- 222, 34, 34, 7, 34, 33, 34, 45, 135, 233,
- 103, 130, 46, 47, 48, 49, 224, 4, 122, 102,
- 102, 35, 133, 34, 131, 233, 233, 233, 233, 124,
- 34, 34, 136, 104, 105, 108, 108, 108, 108, 4,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 137, 34, 35, 36, 34, 34, 134, 106,
- 106, 220, 221, 221, 139, 135, 34, 12, 140, 142,
- 107, 107, 46, 47, 48, 49, 141, 229, 11, 143,
- 197, 34, 233, 1, 3, 13, 14, 18, 20, 21,
- 22, 24, 26, 28, 34, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 50, 51, 52, 53, 106, 144,
- 145, 146, 147, 148, 149, 150, 153, 162, 163, 164,
- 167, 168, 172, 173, 174, 183, 184, 185, 186, 187,
- 189, 191, 200, 201, 202, 203, 210, 211, 222, 223,
- 230, 231, 232, 233, 4, 95, 96, 97, 99, 100,
- 101, 196, 198, 199, 54, 4, 4, 145, 34, 229,
- 224, 37, 41, 106, 184, 204, 233, 204, 4, 4,
- 4, 191, 154, 52, 52, 37, 41, 230, 233, 233,
- 192, 193, 194, 230, 4, 34, 35, 36, 166, 226,
- 227, 230, 226, 4, 204, 109, 108, 4, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 103, 108, 151, 160, 236, 220, 106, 233,
- 102, 169, 170, 233, 4, 34, 205, 206, 207, 208,
- 209, 226, 4, 4, 4, 21, 212, 213, 214, 20,
- 215, 216, 217, 30, 175, 176, 177, 4, 155, 156,
- 157, 226, 4, 4, 107, 102, 195, 53, 102, 165,
- 55, 56, 57, 58, 59, 60, 228, 165, 34, 39,
- 43, 188, 189, 190, 184, 161, 226, 33, 34, 52,
- 110, 111, 112, 152, 153, 184, 225, 226, 227, 230,
- 231, 234, 4, 108, 226, 34, 138, 160, 229, 233,
- 230, 4, 102, 95, 171, 54, 107, 102, 218, 209,
- 23, 214, 209, 25, 217, 209, 16, 29, 32, 178,
- 177, 158, 194, 196, 233, 226, 233, 204, 4, 104,
- 105, 4, 4, 55, 56, 57, 58, 59, 60, 61,
- 62, 63, 64, 65, 66, 67, 68, 110, 112, 113,
- 114, 115, 116, 117, 118, 119, 235, 160, 226, 226,
- 107, 4, 170, 226, 207, 96, 98, 219, 4, 4,
- 4, 4, 4, 189, 189, 189, 4, 102, 4, 4,
- 226, 226, 220, 4, 102, 179, 31, 168, 180, 181,
- 182, 159, 160, 226, 17, 189, 194, 27, 182, 188,
- 4, 4
+ 221, 34, 34, 7, 34, 33, 34, 45, 135, 232,
+ 103, 46, 47, 48, 49, 223, 4, 122, 102, 35,
+ 133, 34, 130, 131, 232, 232, 232, 232, 124, 34,
+ 136, 104, 105, 102, 102, 102, 102, 4, 83, 84,
+ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
+ 137, 34, 35, 36, 34, 34, 134, 106, 106, 219,
+ 220, 220, 139, 135, 34, 12, 140, 141, 107, 107,
+ 46, 47, 48, 49, 228, 11, 142, 232, 1, 3,
+ 13, 14, 18, 20, 21, 22, 24, 26, 28, 34,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 50,
+ 51, 52, 53, 106, 143, 144, 145, 146, 147, 148,
+ 149, 152, 161, 162, 163, 166, 167, 171, 172, 173,
+ 182, 183, 184, 185, 186, 188, 190, 199, 200, 201,
+ 202, 209, 210, 221, 222, 229, 230, 231, 232, 196,
+ 4, 4, 144, 34, 228, 223, 37, 41, 106, 183,
+ 203, 232, 203, 4, 4, 4, 190, 153, 52, 52,
+ 37, 41, 229, 232, 232, 191, 192, 193, 229, 4,
+ 34, 35, 36, 165, 225, 226, 229, 225, 4, 203,
+ 109, 102, 4, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 102, 103, 150,
+ 159, 235, 4, 95, 96, 97, 99, 100, 101, 195,
+ 197, 198, 108, 168, 169, 232, 4, 34, 204, 205,
+ 206, 207, 208, 225, 4, 4, 4, 21, 211, 212,
+ 213, 20, 214, 215, 216, 30, 174, 175, 176, 4,
+ 154, 155, 156, 225, 4, 4, 107, 108, 194, 53,
+ 108, 164, 55, 56, 57, 58, 59, 60, 227, 164,
+ 34, 39, 43, 187, 188, 189, 183, 33, 34, 52,
+ 110, 111, 112, 151, 152, 183, 224, 225, 226, 229,
+ 230, 233, 160, 225, 4, 102, 225, 219, 106, 229,
+ 4, 108, 95, 170, 54, 107, 108, 217, 208, 23,
+ 213, 208, 25, 216, 208, 16, 29, 32, 177, 176,
+ 157, 193, 195, 232, 225, 232, 203, 4, 4, 4,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 110, 112, 113, 114, 115, 116,
+ 117, 118, 119, 234, 159, 225, 104, 105, 225, 34,
+ 138, 159, 228, 232, 4, 169, 225, 206, 96, 98,
+ 218, 4, 4, 4, 4, 4, 188, 188, 188, 4,
+ 108, 4, 4, 225, 225, 107, 219, 4, 108, 178,
+ 31, 167, 179, 180, 181, 158, 159, 225, 17, 188,
+ 193, 27, 181, 187, 4, 4
};
#define yyerrok (yyerrstatus = 0)
@@ -2105,159 +2083,150 @@
switch (yyn)
{
case 14:
-#line 360 "pir.y"
+#line 359 "pir.y"
{ set_pragma(PRAGMA_N_OPERATORS, (yyvsp[(3) - (3)].ival)); ;}
break;
case 15:
-#line 364 "pir.y"
+#line 363 "pir.y"
{ load_library(lexer, (yyvsp[(2) - (2)].sval)); ;}
break;
case 16:
-#line 370 "pir.y"
- { set_hll((yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].sval)); ;}
+#line 369 "pir.y"
+ { /*set_hll($2, $4);*/ ;}
break;
case 17:
-#line 374 "pir.y"
+#line 373 "pir.y"
{ set_hll_map((yyvsp[(2) - (4)].sval), (yyvsp[(4) - (4)].sval)); ;}
break;
case 19:
-#line 384 "pir.y"
+#line 383 "pir.y"
{ (yyval.fixme) = NULL; ;}
break;
case 20:
-#line 386 "pir.y"
- { (yyval.fixme) = (yyvsp[(2) - (3)].fixme); ;}
+#line 385 "pir.y"
+ { (yyval.fixme) = (yyvsp[(1) - (1)].fixme); ;}
break;
case 21:
-#line 390 "pir.y"
+#line 389 "pir.y"
{ (yyval.fixme) = (yyvsp[(1) - (1)].sval); ;}
break;
case 22:
-#line 392 "pir.y"
+#line 391 "pir.y"
{ ;}
break;
case 23:
-#line 398 "pir.y"
+#line 397 "pir.y"
{ new_subr(lexer, (yyvsp[(2) - (2)].sval)); ;}
break;
case 24:
-#line 399 "pir.y"
+#line 398 "pir.y"
{ set_sub_flag(lexer, (yyvsp[(4) - (5)].ival)); ;}
break;
case 28:
-#line 410 "pir.y"
+#line 409 "pir.y"
{ (yyval.ival) = 0; ;}
break;
case 29:
-#line 412 "pir.y"
+#line 411 "pir.y"
{ (yyval.ival) |= (yyvsp[(2) - (2)].ival); ;}
break;
case 30:
-#line 416 "pir.y"
+#line 415 "pir.y"
{ (yyval.ival) = SUB_FLAG_ANON;;}
break;
case 31:
-#line 418 "pir.y"
+#line 417 "pir.y"
{ (yyval.ival) = SUB_FLAG_INIT; ;}
break;
case 32:
-#line 420 "pir.y"
+#line 419 "pir.y"
{ (yyval.ival) = SUB_FLAG_LOAD; ;}
break;
case 33:
-#line 422 "pir.y"
+#line 421 "pir.y"
{ (yyval.ival) = SUB_FLAG_MAIN; ;}
break;
case 34:
-#line 424 "pir.y"
+#line 423 "pir.y"
{ (yyval.ival) = SUB_FLAG_METHOD; ;}
break;
case 35:
-#line 426 "pir.y"
+#line 425 "pir.y"
{ (yyval.ival) = SUB_FLAG_LEX; ;}
break;
case 36:
-#line 428 "pir.y"
+#line 427 "pir.y"
{ (yyval.ival) = SUB_FLAG_POSTCOMP; ;}
break;
case 37:
-#line 430 "pir.y"
+#line 429 "pir.y"
{ (yyval.ival) = SUB_FLAG_IMMEDIATE; ;}
break;
case 38:
-#line 432 "pir.y"
+#line 431 "pir.y"
{ (yyval.ival) = SUB_FLAG_MULTI; ;}
break;
case 39:
-#line 434 "pir.y"
+#line 433 "pir.y"
{ (yyval.ival) = SUB_FLAG_OUTER; set_sub_outer(lexer, (yyvsp[(3) -
(4)].sval)); ;}
break;
case 40:
-#line 436 "pir.y"
+#line 435 "pir.y"
{ (yyval.ival) = SUB_FLAG_VTABLE; set_sub_vtable(lexer, (yyvsp[(2) -
(2)].sval)); ;}
break;
case 41:
-#line 438 "pir.y"
+#line 437 "pir.y"
{ (yyval.ival) = SUB_FLAG_LEXID; /* do something with this */ ;}
break;
case 48:
-#line 453 "pir.y"
- { set_param_flag((yyvsp[(2) - (4)].targ), (yyvsp[(3) - (4)].ival));
- IF_NAMED_PARAM_SET_ALIAS((yyvsp[(2) - (4)].targ),
(yyvsp[(3) - (4)].ival));
+#line 452 "pir.y"
+ { /* set_param_flag($2, $3);
+ IF_NAMED_PARAM_SET_ALIAS($2, $3);
+ */
;}
break;
- case 49:
-#line 459 "pir.y"
- { (yyval.targ) = add_param(lexer, (yyvsp[(1) - (2)].ival), (yyvsp[(2) -
(2)].sval)); ;}
- break;
-
case 50:
-#line 461 "pir.y"
- { (yyval.targ) = add_param_named(lexer, (yyvsp[(1) - (4)].ival),
(yyvsp[(4) - (4)].sval), (yyvsp[(2) - (4)].sval)); ;}
- break;
-
- case 52:
-#line 468 "pir.y"
+#line 463 "pir.y"
{ new_instr(lexer); ;}
break;
- case 54:
-#line 474 "pir.y"
+ case 52:
+#line 469 "pir.y"
{ set_label(lexer, (yyvsp[(1) - (2)].sval)); ;}
break;
- case 55:
-#line 476 "pir.y"
+ case 53:
+#line 471 "pir.y"
{ set_label(lexer, (yyvsp[(1) - (2)].sval)); ;}
break;
- case 70:
-#line 496 "pir.y"
+ case 68:
+#line 491 "pir.y"
{ if (lexer->parse_errors > MAX_NUM_ERRORS) {
fprintf(stderr, "Too many errors. Compilation
aborted.\n");
exit(EXIT_FAILURE); /* fix: bail out and free()
all memory */
@@ -2266,109 +2235,109 @@
;}
break;
- case 71:
-#line 505 "pir.y"
+ case 69:
+#line 500 "pir.y"
{ set_instr(lexer, "null");
add_operand(lexer, expr_from_target((yyvsp[(2) -
(3)].targ)));
;}
break;
- case 72:
-#line 509 "pir.y"
+ case 70:
+#line 504 "pir.y"
{ set_instr(lexer, "null");
add_operand(lexer, expr_from_target((yyvsp[(1) -
(4)].targ)));
;}
break;
- case 73:
-#line 515 "pir.y"
+ case 71:
+#line 510 "pir.y"
{ set_instr(lexer, "get_results");
add_operand(lexer, expr_from_target((yyvsp[(2) -
(3)].targ)));
;}
break;
- case 75:
-#line 524 "pir.y"
+ case 73:
+#line 519 "pir.y"
{ add_first_operand(lexer, expr_from_target((yyvsp[(1) - (3)].targ))); ;}
break;
- case 76:
-#line 549 "pir.y"
+ case 74:
+#line 544 "pir.y"
{ assign(lexer, RHS_AUGMENT, (yyvsp[(1) - (2)].sval), (yyvsp[(2) -
(2)].expr)); ;}
break;
- case 77:
-#line 551 "pir.y"
+ case 75:
+#line 546 "pir.y"
{ assign(lexer, RHS_SETKEYED, (yyvsp[(1) - (3)].expr), (yyvsp[(3) -
(3)].expr)); ;}
break;
- case 78:
-#line 553 "pir.y"
+ case 76:
+#line 548 "pir.y"
{ /* nothing to do */ ;}
break;
- case 79:
-#line 557 "pir.y"
+ case 77:
+#line 552 "pir.y"
{ assign(lexer, RHS_UNOP, (yyvsp[(1) - (2)].sval), (yyvsp[(2) -
(2)].expr)); ;}
break;
- case 80:
-#line 559 "pir.y"
+ case 78:
+#line 554 "pir.y"
{ assign(lexer, RHS_SIMPLE, (yyvsp[(1) - (1)].expr)); ;}
break;
- case 81:
-#line 561 "pir.y"
+ case 79:
+#line 556 "pir.y"
{ assign(lexer, RHS_BINOP, (yyvsp[(2) - (3)].sval), (yyvsp[(1) -
(3)].expr), (yyvsp[(3) - (3)].expr)); ;}
break;
- case 82:
-#line 563 "pir.y"
+ case 80:
+#line 558 "pir.y"
{ assign(lexer, RHS_GETKEYED, (yyvsp[(1) - (2)].targ), (yyvsp[(2) -
(2)].expr)); ;}
break;
- case 83:
-#line 565 "pir.y"
+ case 81:
+#line 560 "pir.y"
{ /* nothing to do */ ;}
break;
- case 84:
-#line 569 "pir.y"
+ case 82:
+#line 564 "pir.y"
{ set_instr(lexer, (yyvsp[(1) - (1)].sval)); ;}
break;
- case 89:
-#line 582 "pir.y"
+ case 87:
+#line 577 "pir.y"
{ add_operand(lexer, (yyvsp[(1) - (1)].expr)); ;}
break;
- case 90:
-#line 587 "pir.y"
+ case 88:
+#line 582 "pir.y"
{ /* nothing to do */;}
break;
- case 91:
-#line 589 "pir.y"
+ case 89:
+#line 584 "pir.y"
{ add_operand(lexer, (yyvsp[(3) - (3)].expr)); ;}
break;
- case 94:
-#line 597 "pir.y"
+ case 92:
+#line 592 "pir.y"
{ (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
break;
- case 95:
-#line 601 "pir.y"
+ case 93:
+#line 596 "pir.y"
{ (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
break;
- case 96:
-#line 603 "pir.y"
+ case 94:
+#line 598 "pir.y"
{ (yyval.expr) = add_key((yyvsp[(1) - (3)].expr), (yyvsp[(3) -
(3)].expr)); ;}
break;
- case 97:
-#line 607 "pir.y"
+ case 95:
+#line 602 "pir.y"
{ /* it was "unless", so "invert" the opcode */
if ((yyvsp[(1) - (5)].ival) > 0) {
invert_instr(lexer);
@@ -2377,93 +2346,93 @@
;}
break;
- case 98:
-#line 614 "pir.y"
+ case 96:
+#line 609 "pir.y"
{ set_instr(lexer, (yyvsp[(1) - (5)].sval));
add_operand(lexer, (yyvsp[(2) - (5)].expr));
add_operand(lexer, expr_from_ident((yyvsp[(4) -
(5)].sval)));
;}
break;
- case 99:
-#line 620 "pir.y"
+ case 97:
+#line 615 "pir.y"
{ (yyval.ival) = 0; /* no need to invert */ ;}
break;
- case 100:
-#line 621 "pir.y"
+ case 98:
+#line 616 "pir.y"
{ (yyval.ival) = 1; /* yes, invert opname */ ;}
break;
- case 101:
-#line 626 "pir.y"
+ case 99:
+#line 621 "pir.y"
{ (yyval.sval) = "if_null"; ;}
break;
- case 102:
-#line 628 "pir.y"
+ case 100:
+#line 623 "pir.y"
{ (yyval.sval) = "unless_null"; ;}
break;
- case 105:
-#line 637 "pir.y"
+ case 103:
+#line 632 "pir.y"
{ set_instr(lexer, "if");
add_operand(lexer, (yyvsp[(1) - (1)].expr));
;}
break;
- case 106:
-#line 641 "pir.y"
+ case 104:
+#line 636 "pir.y"
{ set_instr(lexer, (yyvsp[(2) - (3)].sval));
add_operand(lexer, (yyvsp[(1) - (3)].expr));
add_operand(lexer, (yyvsp[(3) - (3)].expr));
;}
break;
- case 107:
-#line 649 "pir.y"
+ case 105:
+#line 644 "pir.y"
{ set_instr(lexer, "branch");
add_operand(lexer, expr_from_ident((yyvsp[(2) -
(3)].sval)));
;}
break;
- case 108:
-#line 655 "pir.y"
+ case 106:
+#line 650 "pir.y"
{ declare_local(lexer, (yyvsp[(2) - (4)].ival), (yyvsp[(3) - (4)].targ));
;}
break;
- case 109:
-#line 659 "pir.y"
+ case 107:
+#line 654 "pir.y"
{ (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
break;
- case 110:
-#line 661 "pir.y"
+ case 108:
+#line 656 "pir.y"
{ (yyval.targ) = add_local((yyvsp[(1) - (3)].targ), (yyvsp[(3) -
(3)].targ)); ;}
break;
- case 111:
-#line 665 "pir.y"
+ case 109:
+#line 660 "pir.y"
{ (yyval.targ) = new_local((yyvsp[(1) - (2)].sval), (yyvsp[(2) -
(2)].ival)); ;}
break;
- case 112:
-#line 668 "pir.y"
+ case 110:
+#line 663 "pir.y"
{ (yyval.ival) = 0; ;}
break;
- case 113:
-#line 669 "pir.y"
+ case 111:
+#line 664 "pir.y"
{ (yyval.ival) = 1; ;}
break;
- case 114:
-#line 675 "pir.y"
+ case 112:
+#line 670 "pir.y"
{ set_lex_flag((yyvsp[(4) - (5)].targ), (yyvsp[(2) - (5)].sval)); ;}
break;
- case 117:
-#line 690 "pir.y"
+ case 115:
+#line 685 "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));
@@ -2471,182 +2440,182 @@
;}
break;
- case 118:
-#line 698 "pir.y"
+ case 116:
+#line 693 "pir.y"
{ (yyval.argm) = NULL; ;}
break;
- case 119:
-#line 700 "pir.y"
+ case 117:
+#line 695 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
- case 120:
-#line 704 "pir.y"
+ case 118:
+#line 699 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
- case 121:
-#line 706 "pir.y"
+ case 119:
+#line 701 "pir.y"
{ (yyval.argm) = add_arg((yyvsp[(1) - (2)].argm), (yyvsp[(2) -
(2)].argm)); ;}
break;
- case 122:
-#line 710 "pir.y"
+ case 120:
+#line 705 "pir.y"
{ (yyval.argm) = (yyvsp[(2) - (3)].argm); ;}
break;
- case 123:
-#line 714 "pir.y"
+ case 121:
+#line 709 "pir.y"
{ (yyval.invo) = invoke(lexer, CALL_PCC, (yyvsp[(2) - (3)].targ),
(yyvsp[(3) - (3)].targ)); ;}
break;
- case 124:
-#line 716 "pir.y"
+ case 122:
+#line 711 "pir.y"
{ (yyval.invo) = invoke(lexer, CALL_NCI, (yyvsp[(2) - (2)].targ)); ;}
break;
- case 125:
-#line 719 "pir.y"
+ case 123:
+#line 714 "pir.y"
{ (yyval.invo) = invoke(lexer, CALL_METH, (yyvsp[(2) - (5)].targ),
(yyvsp[(5) - (5)].targ)); ;}
break;
- case 126:
-#line 723 "pir.y"
+ case 124:
+#line 718 "pir.y"
{ (yyval.targ) = NULL; ;}
break;
- case 127:
-#line 725 "pir.y"
+ case 125:
+#line 720 "pir.y"
{ (yyval.targ) = (yyvsp[(2) - (2)].targ); ;}
break;
- case 128:
-#line 731 "pir.y"
+ case 126:
+#line 726 "pir.y"
{ (yyval.targ) = NULL; ;}
break;
- case 129:
-#line 733 "pir.y"
+ case 127:
+#line 728 "pir.y"
{ (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
break;
- case 130:
-#line 737 "pir.y"
+ case 128:
+#line 732 "pir.y"
{ (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
break;
- case 131:
-#line 739 "pir.y"
+ case 129:
+#line 734 "pir.y"
{ (yyval.targ) = add_target(lexer, (yyvsp[(1) - (2)].targ), (yyvsp[(2) -
(2)].targ)); ;}
break;
- case 132:
-#line 743 "pir.y"
+ case 130:
+#line 738 "pir.y"
{ (yyval.targ) = (yyvsp[(2) - (3)].targ); ;}
break;
- case 133:
-#line 745 "pir.y"
+ case 131:
+#line 740 "pir.y"
{ (yyval.targ) = NULL; ;}
break;
- case 134:
-#line 749 "pir.y"
+ case 132:
+#line 744 "pir.y"
{ set_invocation_results((yyvsp[(3) - (4)].invo), (yyvsp[(1) -
(4)].targ)); ;}
break;
- case 135:
-#line 751 "pir.y"
+ case 133:
+#line 746 "pir.y"
{ set_invocation_results((yyvsp[(3) - (4)].invo), (yyvsp[(1) -
(4)].targ)); ;}
break;
- case 136:
-#line 753 "pir.y"
+ case 134:
+#line 748 "pir.y"
{ set_invocation_results((yyvsp[(1) - (2)].invo), NULL); ;}
break;
- case 139:
-#line 762 "pir.y"
+ case 137:
+#line 757 "pir.y"
{ (yyval.invo) = invoke(lexer, CALL_METH, (yyvsp[(1) - (4)].targ),
(yyvsp[(3) - (4)].targ));
set_invocation_args((yyval.invo), (yyvsp[(4) -
(4)].argm));
;}
break;
- case 140:
-#line 769 "pir.y"
+ case 138:
+#line 764 "pir.y"
{ (yyval.invo) = invoke(lexer, CALL_PCC, (yyvsp[(1) - (2)].targ), NULL);
set_invocation_args((yyval.invo), (yyvsp[(2) -
(2)].argm));
;}
break;
- case 141:
-#line 775 "pir.y"
+ case 139:
+#line 770 "pir.y"
{ (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
break;
- case 142:
-#line 777 "pir.y"
+ case 140:
+#line 772 "pir.y"
{ (yyval.targ) = target_from_string((yyvsp[(1) - (1)].sval)); ;}
break;
- case 145:
-#line 785 "pir.y"
+ case 143:
+#line 780 "pir.y"
{ (yyval.targ) = target_from_ident((yyvsp[(1) - (1)].sval)); ;}
break;
- case 146:
-#line 787 "pir.y"
+ case 144:
+#line 782 "pir.y"
{ (yyval.targ) = reg(PMC_TYPE, (yyvsp[(1) - (1)].ival), !IS_PASM_REG); ;}
break;
- case 147:
-#line 789 "pir.y"
+ case 145:
+#line 784 "pir.y"
{ (yyval.targ) = reg(PMC_TYPE, (yyvsp[(1) - (1)].ival), IS_PASM_REG); ;}
break;
- case 148:
-#line 793 "pir.y"
+ case 146:
+#line 788 "pir.y"
{ (yyval.targ) = target_from_string((yyvsp[(1) - (1)].sval)); ;}
break;
- case 149:
-#line 795 "pir.y"
+ case 147:
+#line 790 "pir.y"
{ (yyval.targ) = reg(STRING_TYPE, (yyvsp[(1) - (1)].ival), !IS_PASM_REG);
;}
break;
- case 150:
-#line 797 "pir.y"
+ case 148:
+#line 792 "pir.y"
{ (yyval.targ) = reg(STRING_TYPE, (yyvsp[(1) - (1)].ival), IS_PASM_REG); ;}
break;
- case 151:
-#line 802 "pir.y"
+ case 149:
+#line 797 "pir.y"
{ (yyval.targ) = (yyvsp[(2) - (3)].targ); ;}
break;
- case 152:
-#line 806 "pir.y"
+ case 150:
+#line 801 "pir.y"
{ (yyval.targ) = NULL; ;}
break;
- case 153:
-#line 808 "pir.y"
+ case 151:
+#line 803 "pir.y"
{ (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
break;
- case 154:
-#line 812 "pir.y"
+ case 152:
+#line 807 "pir.y"
{ (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
break;
- case 155:
-#line 814 "pir.y"
+ case 153:
+#line 809 "pir.y"
{ (yyval.targ) = add_target(lexer, (yyvsp[(1) - (3)].targ), (yyvsp[(3) -
(3)].targ)); ;}
break;
- case 156:
-#line 818 "pir.y"
+ case 154:
+#line 813 "pir.y"
{ (yyval.targ) = (yyvsp[(1) - (2)].targ);
set_param_flag((yyvsp[(1) - (2)].targ),
(yyvsp[(2) - (2)].ival));
/* get the :named argument if necessary */
@@ -2654,591 +2623,591 @@
;}
break;
- case 157:
-#line 826 "pir.y"
+ case 155:
+#line 821 "pir.y"
{ (yyval.ival) = 0; ;}
break;
- case 158:
-#line 828 "pir.y"
+ case 156:
+#line 823 "pir.y"
{ SET_FLAG((yyval.ival), (yyvsp[(2) - (2)].ival)); ;}
break;
- case 159:
-#line 832 "pir.y"
+ case 157:
+#line 827 "pir.y"
{ (yyval.ival) = TARGET_FLAG_OPTIONAL; ;}
break;
- case 160:
-#line 834 "pir.y"
+ case 158:
+#line 829 "pir.y"
{ (yyval.ival) = TARGET_FLAG_OPT_FLAG; ;}
break;
- case 161:
-#line 836 "pir.y"
+ case 159:
+#line 831 "pir.y"
{ (yyval.ival) = TARGET_FLAG_SLURPY; ;}
break;
- case 162:
-#line 838 "pir.y"
+ case 160:
+#line 833 "pir.y"
{ (yyval.ival) = TARGET_FLAG_UNIQUE_REG; ;}
break;
- case 163:
-#line 840 "pir.y"
+ case 161:
+#line 835 "pir.y"
{ (yyval.ival) = TARGET_FLAG_NAMED;
STORE_NAMED_ALIAS((yyvsp[(2) - (2)].sval));
;}
break;
- case 164:
-#line 846 "pir.y"
+ case 162:
+#line 841 "pir.y"
{ (yyval.ival) = 0; ;}
break;
- case 165:
-#line 848 "pir.y"
+ case 163:
+#line 843 "pir.y"
{ SET_FLAG((yyval.ival), (yyvsp[(2) - (2)].ival)); ;}
break;
- case 168:
-#line 856 "pir.y"
+ case 166:
+#line 851 "pir.y"
{ (yyval.ival) = TARGET_FLAG_INVOCANT; ;}
break;
- case 173:
-#line 871 "pir.y"
+ case 171:
+#line 866 "pir.y"
{ (yyval.fixme) = invoke(lexer, CALL_RET);
set_invocation_args((yyval.fixme), (yyvsp[(2) -
(3)].argm));
;}
break;
- case 174:
-#line 875 "pir.y"
+ case 172:
+#line 870 "pir.y"
{ set_invocation_type((yyvsp[(2) - (3)].invo), CALL_TAIL); ;}
break;
- case 175:
-#line 879 "pir.y"
+ case 173:
+#line 874 "pir.y"
{ (yyval.invo) = invoke(lexer, CALL_YIELD);
set_invocation_args((yyval.invo), (yyvsp[(2) -
(3)].argm));
;}
break;
- case 176:
-#line 885 "pir.y"
+ case 174:
+#line 880 "pir.y"
{ (yyval.argm) = (yyvsp[(2) - (3)].argm); ;}
break;
- case 177:
-#line 889 "pir.y"
+ case 175:
+#line 884 "pir.y"
{ (yyval.argm) = NULL; ;}
break;
- case 178:
-#line 891 "pir.y"
+ case 176:
+#line 886 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
- case 179:
-#line 895 "pir.y"
+ case 177:
+#line 890 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
- case 180:
-#line 897 "pir.y"
+ case 178:
+#line 892 "pir.y"
{ (yyval.argm) = add_arg((yyvsp[(1) - (3)].argm), (yyvsp[(3) -
(3)].argm)); ;}
break;
- case 183:
-#line 905 "pir.y"
+ case 181:
+#line 900 "pir.y"
{ (yyval.argm) = new_argument((yyvsp[(3) - (3)].expr));
set_arg_named((yyval.argm), (yyvsp[(1) -
(3)].sval));
;}
break;
- case 184:
-#line 911 "pir.y"
+ case 182:
+#line 906 "pir.y"
{ (yyval.argm) = new_argument((yyvsp[(1) - (2)].expr));
set_arg_flag((yyval.argm), (yyvsp[(2) -
(2)].ival));
IF_NAMED_ARG_SET_ALIAS((yyval.argm), (yyvsp[(2)
- (2)].ival));
;}
break;
- case 185:
-#line 921 "pir.y"
+ case 183:
+#line 916 "pir.y"
{ (yyval.invo) = invoke(lexer, CALL_RET);
set_invocation_args((yyval.invo), (yyvsp[(3) -
(5)].argm));
;}
break;
- case 186:
-#line 929 "pir.y"
+ case 184:
+#line 924 "pir.y"
{ (yyval.invo) = invoke(lexer, CALL_YIELD);
set_invocation_args((yyval.invo), (yyvsp[(3) -
(5)].argm));
;}
break;
- case 187:
-#line 935 "pir.y"
+ case 185:
+#line 930 "pir.y"
{ (yyval.argm) = NULL; ;}
break;
- case 188:
-#line 937 "pir.y"
+ case 186:
+#line 932 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
- case 189:
-#line 942 "pir.y"
+ case 187:
+#line 937 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
- case 190:
-#line 944 "pir.y"
+ case 188:
+#line 939 "pir.y"
{ (yyval.argm) = add_arg((yyvsp[(1) - (2)].argm), (yyvsp[(2) -
(2)].argm)); ;}
break;
- case 191:
-#line 949 "pir.y"
+ case 189:
+#line 944 "pir.y"
{ (yyval.argm) = (yyvsp[(2) - (3)].argm); ;}
break;
- case 192:
-#line 953 "pir.y"
+ case 190:
+#line 948 "pir.y"
{ (yyval.argm) = NULL; ;}
break;
- case 193:
-#line 955 "pir.y"
+ case 191:
+#line 950 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
- case 194:
-#line 959 "pir.y"
+ case 192:
+#line 954 "pir.y"
{ (yyval.argm) = (yyvsp[(1) - (1)].argm); ;}
break;
- case 195:
-#line 961 "pir.y"
+ case 193:
+#line 956 "pir.y"
{ (yyval.argm) = add_arg((yyvsp[(1) - (2)].argm), (yyvsp[(2) -
(2)].argm)); ;}
break;
- case 196:
-#line 965 "pir.y"
+ case 194:
+#line 960 "pir.y"
{ (yyval.argm) = (yyvsp[(2) - (3)].argm); ;}
break;
- case 197:
-#line 970 "pir.y"
+ case 195:
+#line 965 "pir.y"
{ (yyval.ival) = 0; ;}
break;
- case 198:
-#line 972 "pir.y"
+ case 196:
+#line 967 "pir.y"
{ SET_FLAG((yyval.ival), (yyvsp[(2) - (2)].ival)); ;}
break;
- case 199:
-#line 976 "pir.y"
+ case 197:
+#line 971 "pir.y"
{ (yyval.ival) = ARG_FLAG_FLAT; ;}
break;
- case 200:
-#line 978 "pir.y"
+ case 198:
+#line 973 "pir.y"
{ (yyval.ival) = ARG_FLAG_NAMED;
STORE_NAMED_ALIAS((yyvsp[(2) - (2)].sval));
;}
break;
- case 201:
-#line 984 "pir.y"
+ case 199:
+#line 979 "pir.y"
{ (yyval.sval) = NULL; ;}
break;
- case 202:
-#line 986 "pir.y"
+ case 200:
+#line 981 "pir.y"
{ (yyval.sval) = (yyvsp[(1) - (1)].sval); ;}
break;
- case 203:
-#line 990 "pir.y"
+ case 201:
+#line 985 "pir.y"
{ (yyval.sval) = (yyvsp[(2) - (3)].sval); ;}
break;
- case 204:
-#line 994 "pir.y"
+ case 202:
+#line 989 "pir.y"
{ define_const(lexer, (yyvsp[(2) - (2)].constval), !GLOBALCONST); ;}
break;
- case 206:
-#line 999 "pir.y"
+ case 204:
+#line 994 "pir.y"
{ define_const(lexer, (yyvsp[(2) - (3)].constval), GLOBALCONST); ;}
break;
- case 207:
-#line 1003 "pir.y"
+ case 205:
+#line 998 "pir.y"
{ (yyval.constval) = new_const(INT_TYPE, (yyvsp[(2) - (4)].sval),
(yyvsp[(4) - (4)].ival)); ;}
break;
- case 208:
-#line 1005 "pir.y"
+ case 206:
+#line 1000 "pir.y"
{ (yyval.constval) = new_const(NUM_TYPE, (yyvsp[(2) - (4)].sval),
(yyvsp[(4) - (4)].dval)); ;}
break;
- case 209:
-#line 1007 "pir.y"
+ case 207:
+#line 1002 "pir.y"
{ (yyval.constval) = new_const(PMC_TYPE, (yyvsp[(2) - (4)].sval),
(yyvsp[(4) - (4)].sval)); ;}
break;
- case 210:
-#line 1009 "pir.y"
+ case 208:
+#line 1004 "pir.y"
{ (yyval.constval) = new_const(STRING_TYPE, (yyvsp[(2) - (4)].sval),
(yyvsp[(4) - (4)].sval)); ;}
break;
- case 211:
-#line 1018 "pir.y"
+ case 209:
+#line 1013 "pir.y"
{ (yyval.expr) = expr_from_const((yyvsp[(1) - (1)].constval)); ;}
break;
- case 212:
-#line 1019 "pir.y"
+ case 210:
+#line 1014 "pir.y"
{ (yyval.expr) = expr_from_target((yyvsp[(1) - (1)].targ)); ;}
break;
- case 213:
-#line 1020 "pir.y"
+ case 211:
+#line 1015 "pir.y"
{ (yyval.expr) = expr_from_ident((yyvsp[(1) - (1)].sval)); ;}
break;
- case 214:
-#line 1023 "pir.y"
+ case 212:
+#line 1018 "pir.y"
{ (yyval.expr) = expr_from_target((yyvsp[(1) - (1)].targ)); ;}
break;
- case 215:
-#line 1024 "pir.y"
+ case 213:
+#line 1019 "pir.y"
{ (yyval.expr) = expr_from_const((yyvsp[(1) - (1)].constval)); ;}
break;
- case 216:
-#line 1027 "pir.y"
+ case 214:
+#line 1022 "pir.y"
{ (yyval.constval) = new_const(STRING_TYPE, NULL, (yyvsp[(1) -
(1)].sval)); ;}
break;
- case 217:
-#line 1028 "pir.y"
+ case 215:
+#line 1023 "pir.y"
{ (yyval.constval) = new_const(INT_TYPE, NULL, (yyvsp[(1) - (1)].ival)); ;}
break;
- case 218:
-#line 1029 "pir.y"
+ case 216:
+#line 1024 "pir.y"
{ (yyval.constval) = new_const(NUM_TYPE, NULL, (yyvsp[(1) - (1)].dval)); ;}
break;
- case 219:
-#line 1032 "pir.y"
+ case 217:
+#line 1027 "pir.y"
{ (yyval.sval) = "ne"; ;}
break;
- case 220:
-#line 1033 "pir.y"
+ case 218:
+#line 1028 "pir.y"
{ (yyval.sval) = "eq"; ;}
break;
- case 221:
-#line 1034 "pir.y"
+ case 219:
+#line 1029 "pir.y"
{ (yyval.sval) = "lt"; ;}
break;
- case 222:
-#line 1035 "pir.y"
+ case 220:
+#line 1030 "pir.y"
{ (yyval.sval) = "le"; ;}
break;
- case 223:
-#line 1036 "pir.y"
+ case 221:
+#line 1031 "pir.y"
{ (yyval.sval) = "ge"; ;}
break;
- case 224:
-#line 1037 "pir.y"
+ case 222:
+#line 1032 "pir.y"
{ (yyval.sval) = "gt"; ;}
break;
- case 225:
-#line 1040 "pir.y"
+ case 223:
+#line 1035 "pir.y"
{ (yyval.ival) = INT_TYPE; ;}
break;
- case 226:
-#line 1041 "pir.y"
+ case 224:
+#line 1036 "pir.y"
{ (yyval.ival) = NUM_TYPE; ;}
break;
- case 227:
-#line 1042 "pir.y"
+ case 225:
+#line 1037 "pir.y"
{ (yyval.ival) = PMC_TYPE; ;}
break;
- case 228:
-#line 1043 "pir.y"
+ case 226:
+#line 1038 "pir.y"
{ (yyval.ival) = STRING_TYPE; ;}
break;
- case 229:
-#line 1046 "pir.y"
+ case 227:
+#line 1041 "pir.y"
{ (yyval.targ) = (yyvsp[(1) - (1)].targ); ;}
break;
- case 230:
-#line 1047 "pir.y"
+ case 228:
+#line 1042 "pir.y"
{ (yyval.targ) = new_target(UNKNOWN_TYPE, (yyvsp[(1) - (1)].sval)); ;}
break;
- case 231:
-#line 1050 "pir.y"
+ case 229:
+#line 1045 "pir.y"
{ (yyval.targ) = reg(PMC_TYPE, (yyvsp[(1) - (1)].ival), !IS_PASM_REG); ;}
break;
- case 232:
-#line 1051 "pir.y"
+ case 230:
+#line 1046 "pir.y"
{ (yyval.targ) = reg(NUM_TYPE, (yyvsp[(1) - (1)].ival), !IS_PASM_REG); ;}
break;
- case 233:
-#line 1052 "pir.y"
+ case 231:
+#line 1047 "pir.y"
{ (yyval.targ) = reg(INT_TYPE, (yyvsp[(1) - (1)].ival), !IS_PASM_REG); ;}
break;
- case 234:
-#line 1053 "pir.y"
+ case 232:
+#line 1048 "pir.y"
{ (yyval.targ) = reg(STRING_TYPE, (yyvsp[(1) - (1)].ival), !IS_PASM_REG);
;}
break;
- case 236:
-#line 1057 "pir.y"
+ case 234:
+#line 1052 "pir.y"
{ (yyval.targ) = reg(PMC_TYPE, (yyvsp[(1) - (1)].ival), IS_PASM_REG); ;}
break;
- case 237:
-#line 1058 "pir.y"
+ case 235:
+#line 1053 "pir.y"
{ (yyval.targ) = reg(NUM_TYPE, (yyvsp[(1) - (1)].ival), IS_PASM_REG); ;}
break;
- case 238:
-#line 1059 "pir.y"
+ case 236:
+#line 1054 "pir.y"
{ (yyval.targ) = reg(INT_TYPE, (yyvsp[(1) - (1)].ival), IS_PASM_REG); ;}
break;
- case 239:
-#line 1060 "pir.y"
+ case 237:
+#line 1055 "pir.y"
{ (yyval.targ) = reg(STRING_TYPE, (yyvsp[(1) - (1)].ival), IS_PASM_REG); ;}
break;
- case 242:
-#line 1067 "pir.y"
+ case 240:
+#line 1062 "pir.y"
{ (yyval.sval) = "neg"; ;}
break;
- case 243:
-#line 1068 "pir.y"
+ case 241:
+#line 1063 "pir.y"
{ (yyval.sval) = "not"; ;}
break;
- case 244:
-#line 1069 "pir.y"
+ case 242:
+#line 1064 "pir.y"
{ (yyval.sval) = "bnot"; ;}
break;
- case 245:
-#line 1072 "pir.y"
+ case 243:
+#line 1067 "pir.y"
{ (yyval.sval) = "add"; ;}
break;
- case 246:
-#line 1073 "pir.y"
+ case 244:
+#line 1068 "pir.y"
{ (yyval.sval) = "sub"; ;}
break;
- case 247:
-#line 1074 "pir.y"
+ case 245:
+#line 1069 "pir.y"
{ (yyval.sval) = "div"; ;}
break;
- case 248:
-#line 1075 "pir.y"
+ case 246:
+#line 1070 "pir.y"
{ (yyval.sval) = "mul"; ;}
break;
- case 249:
-#line 1076 "pir.y"
+ case 247:
+#line 1071 "pir.y"
{ (yyval.sval) = "mod"; ;}
break;
- case 250:
-#line 1077 "pir.y"
+ case 248:
+#line 1072 "pir.y"
{ (yyval.sval) = "bor"; ;}
break;
- case 251:
-#line 1078 "pir.y"
+ case 249:
+#line 1073 "pir.y"
{ (yyval.sval) = "band"; ;}
break;
- case 252:
-#line 1079 "pir.y"
+ case 250:
+#line 1074 "pir.y"
{ (yyval.sval) = "bxor"; ;}
break;
- case 253:
-#line 1080 "pir.y"
+ case 251:
+#line 1075 "pir.y"
{ (yyval.sval) = "pow"; ;}
break;
- case 254:
-#line 1081 "pir.y"
+ case 252:
+#line 1076 "pir.y"
{ (yyval.sval) = "concat"; ;}
break;
- case 255:
-#line 1082 "pir.y"
+ case 253:
+#line 1077 "pir.y"
{ (yyval.sval) = "lsr"; ;}
break;
- case 256:
-#line 1083 "pir.y"
+ case 254:
+#line 1078 "pir.y"
{ (yyval.sval) = "shr"; ;}
break;
- case 257:
-#line 1084 "pir.y"
+ case 255:
+#line 1079 "pir.y"
{ (yyval.sval) = "shl"; ;}
break;
- case 258:
-#line 1085 "pir.y"
+ case 256:
+#line 1080 "pir.y"
{ (yyval.sval) = "or"; ;}
break;
- case 259:
-#line 1086 "pir.y"
+ case 257:
+#line 1081 "pir.y"
{ (yyval.sval) = "and"; ;}
break;
- case 260:
-#line 1087 "pir.y"
+ case 258:
+#line 1082 "pir.y"
{ (yyval.sval) = "fdiv"; ;}
break;
- case 261:
-#line 1088 "pir.y"
+ case 259:
+#line 1083 "pir.y"
{ (yyval.sval) = "xor"; ;}
break;
- case 262:
-#line 1089 "pir.y"
+ case 260:
+#line 1084 "pir.y"
{ (yyval.sval) = "iseq"; ;}
break;
- case 263:
-#line 1090 "pir.y"
+ case 261:
+#line 1085 "pir.y"
{ (yyval.sval) = "isle"; ;}
break;
- case 264:
-#line 1091 "pir.y"
+ case 262:
+#line 1086 "pir.y"
{ (yyval.sval) = "islt"; ;}
break;
- case 265:
-#line 1092 "pir.y"
+ case 263:
+#line 1087 "pir.y"
{ (yyval.sval) = "isge"; ;}
break;
- case 266:
-#line 1093 "pir.y"
+ case 264:
+#line 1088 "pir.y"
{ (yyval.sval) = "isgt"; ;}
break;
- case 267:
-#line 1094 "pir.y"
+ case 265:
+#line 1089 "pir.y"
{ (yyval.sval) = "isne"; ;}
break;
- case 268:
-#line 1098 "pir.y"
+ case 266:
+#line 1093 "pir.y"
{ (yyval.sval) = "add"; ;}
break;
- case 269:
-#line 1099 "pir.y"
+ case 267:
+#line 1094 "pir.y"
{ (yyval.sval) = "sub"; ;}
break;
- case 270:
-#line 1100 "pir.y"
+ case 268:
+#line 1095 "pir.y"
{ (yyval.sval) = "mul"; ;}
break;
- case 271:
-#line 1101 "pir.y"
+ case 269:
+#line 1096 "pir.y"
{ (yyval.sval) = "mod"; ;}
break;
- case 272:
-#line 1102 "pir.y"
+ case 270:
+#line 1097 "pir.y"
{ (yyval.sval) = "pow"; ;}
break;
- case 273:
-#line 1103 "pir.y"
+ case 271:
+#line 1098 "pir.y"
{ (yyval.sval) = "div"; ;}
break;
- case 274:
-#line 1104 "pir.y"
+ case 272:
+#line 1099 "pir.y"
{ (yyval.sval) = "fdiv"; ;}
break;
- case 275:
-#line 1105 "pir.y"
+ case 273:
+#line 1100 "pir.y"
{ (yyval.sval) = "bor"; ;}
break;
- case 276:
-#line 1106 "pir.y"
+ case 274:
+#line 1101 "pir.y"
{ (yyval.sval) = "band" ;}
break;
- case 277:
-#line 1107 "pir.y"
+ case 275:
+#line 1102 "pir.y"
{ (yyval.sval) = "bxor"; ;}
break;
- case 278:
-#line 1108 "pir.y"
+ case 276:
+#line 1103 "pir.y"
{ (yyval.sval) = "concat"; ;}
break;
- case 279:
-#line 1109 "pir.y"
+ case 277:
+#line 1104 "pir.y"
{ (yyval.sval) = "shr"; ;}
break;
- case 280:
-#line 1110 "pir.y"
+ case 278:
+#line 1105 "pir.y"
{ (yyval.sval) = "shl"; ;}
break;
- case 281:
-#line 1111 "pir.y"
+ case 279:
+#line 1106 "pir.y"
{ (yyval.sval) = "lsr"; ;}
break;
/* Line 1267 of yacc.c. */
-#line 3242 "pirparser.c"
+#line 3211 "pirparser.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -3452,7 +3421,7 @@
}
-#line 1113 "pir.y"
+#line 1108 "pir.y"
|
|