diff options
author | Russ Cox <rsc@golang.org> | 2013-07-18 15:38:19 -0400 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2013-07-18 15:38:19 -0400 |
commit | e77921592506ee6fc3b2d70933010a448d609abe (patch) | |
tree | 9bb540885e9c4b6feeb01b2381b0ffd25f65fa20 /src/cmd/8a | |
parent | d73a900230c5740dc887c01392ae711ad4a27f09 (diff) | |
download | go-e77921592506ee6fc3b2d70933010a448d609abe.tar.gz |
cmd/6a, cmd/6l: make FUNCDATA work
R=ken2
CC=golang-dev
https://codereview.appspot.com/11397043
Diffstat (limited to 'src/cmd/8a')
-rw-r--r-- | src/cmd/8a/a.y | 20 | ||||
-rw-r--r-- | src/cmd/8a/lex.c | 1 | ||||
-rw-r--r-- | src/cmd/8a/y.tab.c | 1055 | ||||
-rw-r--r-- | src/cmd/8a/y.tab.h | 64 |
4 files changed, 593 insertions, 547 deletions
diff --git a/src/cmd/8a/a.y b/src/cmd/8a/a.y index a9c92af03..0feadcd08 100644 --- a/src/cmd/8a/a.y +++ b/src/cmd/8a/a.y @@ -54,7 +54,7 @@ %left '*' '/' '%' %token <lval> LTYPE0 LTYPE1 LTYPE2 LTYPE3 LTYPE4 %token <lval> LTYPEC LTYPED LTYPEN LTYPER LTYPET LTYPES LTYPEM LTYPEI LTYPEG LTYPEXC -%token <lval> LTYPEX LTYPEPC LCONST LFP LPC LSB +%token <lval> LTYPEX LTYPEPC LTYPEF LCONST LFP LPC LSB %token <lval> LBREG LLREG LSREG LFREG LXREG %token <dval> LFCONST %token <sval> LSCONST LSP @@ -63,7 +63,7 @@ %type <con2> con2 %type <gen> mem imm imm2 reg nam rel rem rim rom omem nmem %type <gen2> nonnon nonrel nonrem rimnon rimrem remrim -%type <gen2> spec1 spec2 spec3 spec4 spec5 spec6 spec7 spec8 spec9 spec10 spec11 +%type <gen2> spec1 spec2 spec3 spec4 spec5 spec6 spec7 spec8 spec9 spec10 spec11 spec12 %% prog: | prog @@ -119,6 +119,7 @@ inst: | LTYPEXC spec9 { outcode($1, &$2); } | LTYPEX spec10 { outcode($1, &$2); } | LTYPEPC spec11 { outcode($1, &$2); } +| LTYPEF spec12 { outcode($1, &$2); } nonnon: { @@ -309,12 +310,25 @@ spec10: /* PINSRD */ } spec11: /* PCDATA */ - imm ',' imm + rim ',' rim { + if($1.type != D_CONST || $3.type != D_CONST) + yyerror("arguments to PCDATA must be integer constants"); $$.from = $1; $$.to = $3; } +spec12: /* FUNCDATA */ + rim ',' rim + { + if($1.type != D_CONST) + yyerror("index for FUNCDATA must be integer constant"); + if($3.type != D_EXTERN && $3.type != D_STATIC) + yyerror("value for FUNCDATA must be symbol reference"); + $$.from = $1; + $$.to = $3; + } + rem: reg | mem diff --git a/src/cmd/8a/lex.c b/src/cmd/8a/lex.c index 45ba55592..474f965b3 100644 --- a/src/cmd/8a/lex.c +++ b/src/cmd/8a/lex.c @@ -800,6 +800,7 @@ struct "XORPS", LTYPE3, AXORPS, "USEFIELD", LTYPEN, AUSEFIELD, "PCDATA", LTYPEPC, APCDATA, + "FUNCDATA", LTYPEF, AFUNCDATA, 0 }; diff --git a/src/cmd/8a/y.tab.c b/src/cmd/8a/y.tab.c index 96a362f19..72086ec58 100644 --- a/src/cmd/8a/y.tab.c +++ b/src/cmd/8a/y.tab.c @@ -83,21 +83,22 @@ LTYPEXC = 272, LTYPEX = 273, LTYPEPC = 274, - LCONST = 275, - LFP = 276, - LPC = 277, - LSB = 278, - LBREG = 279, - LLREG = 280, - LSREG = 281, - LFREG = 282, - LXREG = 283, - LFCONST = 284, - LSCONST = 285, - LSP = 286, - LNAME = 287, - LLAB = 288, - LVAR = 289 + LTYPEF = 275, + LCONST = 276, + LFP = 277, + LPC = 278, + LSB = 279, + LBREG = 280, + LLREG = 281, + LSREG = 282, + LFREG = 283, + LXREG = 284, + LFCONST = 285, + LSCONST = 286, + LSP = 287, + LNAME = 288, + LLAB = 289, + LVAR = 290 }; #endif /* Tokens. */ @@ -118,21 +119,22 @@ #define LTYPEXC 272 #define LTYPEX 273 #define LTYPEPC 274 -#define LCONST 275 -#define LFP 276 -#define LPC 277 -#define LSB 278 -#define LBREG 279 -#define LLREG 280 -#define LSREG 281 -#define LFREG 282 -#define LXREG 283 -#define LFCONST 284 -#define LSCONST 285 -#define LSP 286 -#define LNAME 287 -#define LLAB 288 -#define LVAR 289 +#define LTYPEF 275 +#define LCONST 276 +#define LFP 277 +#define LPC 278 +#define LSB 279 +#define LBREG 280 +#define LLREG 281 +#define LSREG 282 +#define LFREG 283 +#define LXREG 284 +#define LFCONST 285 +#define LSCONST 286 +#define LSP 287 +#define LNAME 288 +#define LLAB 289 +#define LVAR 290 @@ -180,7 +182,7 @@ typedef union YYSTYPE Gen2 gen2; } /* Line 193 of yacc.c. */ -#line 184 "y.tab.c" +#line 186 "y.tab.c" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -193,7 +195,7 @@ typedef union YYSTYPE /* Line 216 of yacc.c. */ -#line 197 "y.tab.c" +#line 199 "y.tab.c" #ifdef short # undef short @@ -408,20 +410,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 525 +#define YYLAST 546 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 53 +#define YYNTOKENS 54 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 40 +#define YYNNTS 41 /* YYNRULES -- Number of rules. */ -#define YYNRULES 133 +#define YYNRULES 135 /* YYNRULES -- Number of states. */ -#define YYNSTATES 271 +#define YYNSTATES 276 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 289 +#define YYMAXUTOK 290 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -432,16 +434,16 @@ static const yytype_uint8 yytranslate[] = 0, 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, - 2, 2, 2, 2, 2, 2, 51, 12, 5, 2, - 49, 50, 10, 8, 48, 9, 2, 11, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 45, 46, - 6, 47, 7, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 52, 12, 5, 2, + 50, 51, 10, 8, 49, 9, 2, 11, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 46, 47, + 6, 48, 7, 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, 2, 2, 4, 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, 3, 2, 52, 2, 2, 2, + 2, 2, 2, 2, 3, 2, 53, 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, 2, 2, 2, 2, @@ -457,7 +459,8 @@ static const yytype_uint8 yytranslate[] = 2, 2, 2, 2, 2, 2, 1, 2, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44 + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45 }; #if YYDEBUG @@ -468,68 +471,69 @@ static const yytype_uint16 yyprhs[] = 0, 0, 3, 4, 5, 9, 10, 15, 16, 21, 23, 26, 29, 33, 37, 40, 43, 46, 49, 52, 55, 58, 61, 64, 67, 70, 73, 76, 79, 82, - 85, 88, 89, 91, 95, 99, 102, 104, 107, 109, - 112, 114, 118, 124, 128, 134, 137, 139, 142, 144, - 146, 150, 156, 160, 166, 169, 171, 175, 179, 185, - 191, 197, 201, 203, 205, 207, 209, 212, 215, 217, - 219, 221, 223, 225, 230, 233, 236, 238, 240, 242, - 244, 246, 248, 251, 254, 257, 260, 265, 271, 275, - 278, 280, 283, 287, 292, 294, 296, 298, 303, 308, - 315, 325, 335, 339, 343, 348, 354, 363, 365, 372, - 378, 386, 387, 390, 393, 395, 397, 399, 401, 403, - 406, 409, 412, 416, 418, 422, 426, 430, 434, 438, - 443, 448, 452, 456 + 85, 88, 91, 92, 94, 98, 102, 105, 107, 110, + 112, 115, 117, 121, 127, 131, 137, 140, 142, 145, + 147, 149, 153, 159, 163, 169, 172, 174, 178, 182, + 188, 194, 200, 204, 208, 210, 212, 214, 216, 219, + 222, 224, 226, 228, 230, 232, 237, 240, 243, 245, + 247, 249, 251, 253, 255, 258, 261, 264, 267, 272, + 278, 282, 285, 287, 290, 294, 299, 301, 303, 305, + 310, 315, 322, 332, 342, 346, 350, 355, 361, 370, + 372, 379, 385, 393, 394, 397, 400, 402, 404, 406, + 408, 410, 413, 416, 419, 423, 425, 429, 433, 437, + 441, 445, 450, 455, 459, 463 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int8 yyrhs[] = { - 54, 0, -1, -1, -1, 54, 55, 56, -1, -1, - 43, 45, 57, 56, -1, -1, 42, 45, 58, 56, - -1, 46, -1, 59, 46, -1, 1, 46, -1, 42, - 47, 92, -1, 44, 47, 92, -1, 13, 60, -1, - 14, 64, -1, 15, 63, -1, 16, 61, -1, 17, - 62, -1, 21, 65, -1, 19, 66, -1, 22, 67, - -1, 18, 68, -1, 20, 69, -1, 23, 70, -1, - 24, 71, -1, 25, 72, -1, 26, 73, -1, 27, - 74, -1, 28, 75, -1, 29, 76, -1, -1, 48, - -1, 79, 48, 77, -1, 77, 48, 79, -1, 79, - 48, -1, 79, -1, 48, 77, -1, 77, -1, 48, - 80, -1, 80, -1, 82, 48, 80, -1, 88, 11, - 91, 48, 82, -1, 85, 48, 83, -1, 85, 48, - 91, 48, 83, -1, 48, 78, -1, 78, -1, 10, - 88, -1, 60, -1, 64, -1, 79, 48, 77, -1, - 79, 48, 77, 45, 35, -1, 79, 48, 77, -1, - 79, 48, 77, 45, 36, -1, 79, 48, -1, 79, - -1, 79, 48, 77, -1, 85, 48, 82, -1, 85, - 48, 91, 48, 82, -1, 81, 48, 77, 48, 91, - -1, 82, 48, 77, 48, 81, -1, 82, 48, 82, - -1, 81, -1, 85, -1, 80, -1, 87, -1, 10, - 81, -1, 10, 86, -1, 81, -1, 86, -1, 82, - -1, 77, -1, 82, -1, 91, 49, 32, 50, -1, - 42, 89, -1, 43, 89, -1, 34, -1, 37, -1, - 35, -1, 38, -1, 41, -1, 36, -1, 51, 91, - -1, 51, 88, -1, 51, 40, -1, 51, 39, -1, - 51, 49, 39, 50, -1, 51, 49, 9, 39, 50, - -1, 51, 9, 39, -1, 51, 84, -1, 30, -1, - 9, 30, -1, 30, 9, 30, -1, 9, 30, 9, - 30, -1, 86, -1, 87, -1, 91, -1, 91, 49, - 35, 50, -1, 91, 49, 41, 50, -1, 91, 49, - 35, 10, 91, 50, -1, 91, 49, 35, 50, 49, - 35, 10, 91, 50, -1, 91, 49, 35, 50, 49, - 36, 10, 91, 50, -1, 49, 35, 50, -1, 49, - 41, 50, -1, 91, 49, 36, 50, -1, 49, 35, - 10, 91, 50, -1, 49, 35, 50, 49, 35, 10, - 91, 50, -1, 88, -1, 88, 49, 35, 10, 91, - 50, -1, 42, 89, 49, 90, 50, -1, 42, 6, - 7, 89, 49, 33, 50, -1, -1, 8, 91, -1, - 9, 91, -1, 33, -1, 41, -1, 31, -1, 30, - -1, 44, -1, 9, 91, -1, 8, 91, -1, 52, - 91, -1, 49, 92, 50, -1, 91, -1, 92, 8, - 92, -1, 92, 9, 92, -1, 92, 10, 92, -1, - 92, 11, 92, -1, 92, 12, 92, -1, 92, 6, - 6, 92, -1, 92, 7, 7, 92, -1, 92, 5, - 92, -1, 92, 4, 92, -1, 92, 3, 92, -1 + 55, 0, -1, -1, -1, 55, 56, 57, -1, -1, + 44, 46, 58, 57, -1, -1, 43, 46, 59, 57, + -1, 47, -1, 60, 47, -1, 1, 47, -1, 43, + 48, 94, -1, 45, 48, 94, -1, 13, 61, -1, + 14, 65, -1, 15, 64, -1, 16, 62, -1, 17, + 63, -1, 21, 66, -1, 19, 67, -1, 22, 68, + -1, 18, 69, -1, 20, 70, -1, 23, 71, -1, + 24, 72, -1, 25, 73, -1, 26, 74, -1, 27, + 75, -1, 28, 76, -1, 29, 77, -1, 30, 78, + -1, -1, 49, -1, 81, 49, 79, -1, 79, 49, + 81, -1, 81, 49, -1, 81, -1, 49, 79, -1, + 79, -1, 49, 82, -1, 82, -1, 84, 49, 82, + -1, 90, 11, 93, 49, 84, -1, 87, 49, 85, + -1, 87, 49, 93, 49, 85, -1, 49, 80, -1, + 80, -1, 10, 90, -1, 61, -1, 65, -1, 81, + 49, 79, -1, 81, 49, 79, 46, 36, -1, 81, + 49, 79, -1, 81, 49, 79, 46, 37, -1, 81, + 49, -1, 81, -1, 81, 49, 79, -1, 87, 49, + 84, -1, 87, 49, 93, 49, 84, -1, 83, 49, + 79, 49, 93, -1, 84, 49, 79, 49, 83, -1, + 81, 49, 81, -1, 81, 49, 81, -1, 83, -1, + 87, -1, 82, -1, 89, -1, 10, 83, -1, 10, + 88, -1, 83, -1, 88, -1, 84, -1, 79, -1, + 84, -1, 93, 50, 33, 51, -1, 43, 91, -1, + 44, 91, -1, 35, -1, 38, -1, 36, -1, 39, + -1, 42, -1, 37, -1, 52, 93, -1, 52, 90, + -1, 52, 41, -1, 52, 40, -1, 52, 50, 40, + 51, -1, 52, 50, 9, 40, 51, -1, 52, 9, + 40, -1, 52, 86, -1, 31, -1, 9, 31, -1, + 31, 9, 31, -1, 9, 31, 9, 31, -1, 88, + -1, 89, -1, 93, -1, 93, 50, 36, 51, -1, + 93, 50, 42, 51, -1, 93, 50, 36, 10, 93, + 51, -1, 93, 50, 36, 51, 50, 36, 10, 93, + 51, -1, 93, 50, 36, 51, 50, 37, 10, 93, + 51, -1, 50, 36, 51, -1, 50, 42, 51, -1, + 93, 50, 37, 51, -1, 50, 36, 10, 93, 51, + -1, 50, 36, 51, 50, 36, 10, 93, 51, -1, + 90, -1, 90, 50, 36, 10, 93, 51, -1, 43, + 91, 50, 92, 51, -1, 43, 6, 7, 91, 50, + 34, 51, -1, -1, 8, 93, -1, 9, 93, -1, + 34, -1, 42, -1, 32, -1, 31, -1, 45, -1, + 9, 93, -1, 8, 93, -1, 53, 93, -1, 50, + 94, 51, -1, 93, -1, 94, 8, 94, -1, 94, + 9, 94, -1, 94, 10, 94, -1, 94, 11, 94, + -1, 94, 12, 94, -1, 94, 6, 6, 94, -1, + 94, 7, 7, 94, -1, 94, 5, 94, -1, 94, + 4, 94, -1, 94, 3, 94, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -538,17 +542,17 @@ static const yytype_uint16 yyrline[] = 0, 68, 68, 70, 69, 77, 76, 84, 83, 89, 90, 91, 94, 99, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 124, 128, 135, 142, 149, 154, 161, 166, 173, - 178, 183, 190, 198, 203, 211, 216, 221, 230, 231, - 234, 239, 249, 254, 264, 269, 274, 281, 286, 294, - 302, 312, 319, 320, 323, 324, 325, 329, 333, 334, - 335, 338, 339, 342, 348, 357, 366, 371, 376, 381, - 386, 391, 398, 404, 415, 421, 427, 433, 439, 447, - 456, 461, 466, 475, 486, 487, 490, 496, 502, 508, - 517, 526, 535, 540, 545, 551, 559, 569, 573, 582, - 589, 598, 601, 605, 611, 612, 616, 619, 620, 624, - 628, 632, 636, 642, 643, 647, 651, 655, 659, 663, - 667, 671, 675, 679 + 121, 122, 125, 129, 136, 143, 150, 155, 162, 167, + 174, 179, 184, 191, 199, 204, 212, 217, 222, 231, + 232, 235, 240, 250, 255, 265, 270, 275, 282, 287, + 295, 303, 313, 322, 333, 334, 337, 338, 339, 343, + 347, 348, 349, 352, 353, 356, 362, 371, 380, 385, + 390, 395, 400, 405, 412, 418, 429, 435, 441, 447, + 453, 461, 470, 475, 480, 489, 500, 501, 504, 510, + 516, 522, 531, 540, 549, 554, 559, 565, 573, 583, + 587, 596, 603, 612, 615, 619, 625, 626, 630, 633, + 634, 638, 642, 646, 650, 656, 657, 661, 665, 669, + 673, 677, 681, 685, 689, 693 }; #endif @@ -560,14 +564,14 @@ static const char *const yytname[] = "$end", "error", "$undefined", "'|'", "'^'", "'&'", "'<'", "'>'", "'+'", "'-'", "'*'", "'/'", "'%'", "LTYPE0", "LTYPE1", "LTYPE2", "LTYPE3", "LTYPE4", "LTYPEC", "LTYPED", "LTYPEN", "LTYPER", "LTYPET", "LTYPES", - "LTYPEM", "LTYPEI", "LTYPEG", "LTYPEXC", "LTYPEX", "LTYPEPC", "LCONST", - "LFP", "LPC", "LSB", "LBREG", "LLREG", "LSREG", "LFREG", "LXREG", - "LFCONST", "LSCONST", "LSP", "LNAME", "LLAB", "LVAR", "':'", "';'", - "'='", "','", "'('", "')'", "'$'", "'~'", "$accept", "prog", "@1", + "LTYPEM", "LTYPEI", "LTYPEG", "LTYPEXC", "LTYPEX", "LTYPEPC", "LTYPEF", + "LCONST", "LFP", "LPC", "LSB", "LBREG", "LLREG", "LSREG", "LFREG", + "LXREG", "LFCONST", "LSCONST", "LSP", "LNAME", "LLAB", "LVAR", "':'", + "';'", "'='", "','", "'('", "')'", "'$'", "'~'", "$accept", "prog", "@1", "line", "@2", "@3", "inst", "nonnon", "rimrem", "remrim", "rimnon", "nonrem", "nonrel", "spec1", "spec2", "spec3", "spec4", "spec5", "spec6", - "spec7", "spec8", "spec9", "spec10", "spec11", "rem", "rom", "rim", - "rel", "reg", "imm", "imm2", "con2", "mem", "omem", "nmem", "nam", + "spec7", "spec8", "spec9", "spec10", "spec11", "spec12", "rem", "rom", + "rim", "rel", "reg", "imm", "imm2", "con2", "mem", "omem", "nmem", "nam", "offset", "pointer", "con", "expr", 0 }; #endif @@ -581,28 +585,28 @@ static const yytype_uint16 yytoknum[] = 42, 47, 37, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 58, 59, 61, 44, 40, - 41, 36, 126 + 285, 286, 287, 288, 289, 290, 58, 59, 61, 44, + 40, 41, 36, 126 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 53, 54, 55, 54, 57, 56, 58, 56, 56, - 56, 56, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 60, 60, 61, 62, 63, 63, 64, 64, 65, - 65, 65, 66, 67, 67, 68, 68, 68, 69, 69, - 70, 70, 71, 71, 72, 72, 72, 73, 73, 74, - 75, 76, 77, 77, 78, 78, 78, 78, 78, 78, - 78, 79, 79, 80, 80, 80, 81, 81, 81, 81, - 81, 81, 82, 82, 82, 82, 82, 82, 82, 83, - 84, 84, 84, 84, 85, 85, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 87, 87, 88, - 88, 89, 89, 89, 90, 90, 90, 91, 91, 91, - 91, 91, 91, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92 + 0, 54, 55, 56, 55, 58, 57, 59, 57, 57, + 57, 57, 60, 60, 60, 60, 60, 60, 60, 60, + 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, + 60, 60, 61, 61, 62, 63, 64, 64, 65, 65, + 66, 66, 66, 67, 68, 68, 69, 69, 69, 70, + 70, 71, 71, 72, 72, 73, 73, 73, 74, 74, + 75, 76, 77, 78, 79, 79, 80, 80, 80, 80, + 80, 80, 80, 81, 81, 82, 82, 82, 83, 83, + 83, 83, 83, 83, 84, 84, 84, 84, 84, 84, + 84, 85, 86, 86, 86, 86, 87, 87, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 89, + 89, 90, 90, 91, 91, 91, 92, 92, 92, 93, + 93, 93, 93, 93, 93, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -611,17 +615,17 @@ static const yytype_uint8 yyr2[] = 0, 2, 0, 0, 3, 0, 4, 0, 4, 1, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 0, 1, 3, 3, 2, 1, 2, 1, 2, - 1, 3, 5, 3, 5, 2, 1, 2, 1, 1, - 3, 5, 3, 5, 2, 1, 3, 3, 5, 5, - 5, 3, 1, 1, 1, 1, 2, 2, 1, 1, - 1, 1, 1, 4, 2, 2, 1, 1, 1, 1, - 1, 1, 2, 2, 2, 2, 4, 5, 3, 2, - 1, 2, 3, 4, 1, 1, 1, 4, 4, 6, - 9, 9, 3, 3, 4, 5, 8, 1, 6, 5, - 7, 0, 2, 2, 1, 1, 1, 1, 1, 2, - 2, 2, 3, 1, 3, 3, 3, 3, 3, 4, - 4, 3, 3, 3 + 2, 2, 0, 1, 3, 3, 2, 1, 2, 1, + 2, 1, 3, 5, 3, 5, 2, 1, 2, 1, + 1, 3, 5, 3, 5, 2, 1, 3, 3, 5, + 5, 5, 3, 3, 1, 1, 1, 1, 2, 2, + 1, 1, 1, 1, 1, 4, 2, 2, 1, 1, + 1, 1, 1, 1, 2, 2, 2, 2, 4, 5, + 3, 2, 1, 2, 3, 4, 1, 1, 1, 4, + 4, 6, 9, 9, 3, 3, 4, 5, 8, 1, + 6, 5, 7, 0, 2, 2, 1, 1, 1, 1, + 1, 2, 2, 2, 3, 1, 3, 3, 3, 3, + 3, 4, 4, 3, 3, 3 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -629,87 +633,89 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint8 yydefact[] = { - 2, 3, 1, 0, 0, 31, 0, 0, 0, 0, - 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 9, 4, 0, 11, 32, - 14, 0, 0, 117, 76, 78, 81, 77, 79, 80, - 111, 118, 0, 0, 0, 15, 38, 62, 63, 94, - 95, 107, 96, 0, 16, 71, 36, 72, 17, 0, - 18, 0, 0, 111, 111, 0, 22, 46, 64, 68, - 70, 69, 65, 96, 20, 0, 32, 48, 49, 23, - 111, 0, 0, 19, 40, 0, 0, 21, 0, 24, - 0, 25, 0, 26, 55, 27, 0, 28, 0, 29, - 0, 30, 0, 7, 0, 5, 0, 10, 120, 119, - 0, 0, 0, 0, 37, 0, 0, 123, 0, 121, - 0, 0, 0, 85, 84, 0, 83, 82, 35, 0, - 0, 66, 67, 47, 74, 75, 0, 45, 0, 0, - 74, 39, 0, 0, 0, 0, 0, 54, 0, 0, - 0, 0, 0, 12, 0, 13, 111, 112, 113, 0, - 0, 102, 103, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 122, 0, 0, 0, 0, 88, 0, - 0, 33, 34, 0, 0, 41, 0, 43, 0, 50, - 52, 56, 57, 0, 0, 0, 61, 8, 6, 0, - 116, 114, 115, 0, 0, 0, 133, 132, 131, 0, - 0, 124, 125, 126, 127, 128, 0, 0, 97, 104, - 98, 0, 86, 73, 0, 0, 90, 89, 0, 0, - 0, 0, 0, 0, 0, 109, 105, 0, 129, 130, - 0, 0, 0, 87, 42, 91, 0, 44, 51, 53, - 58, 59, 60, 0, 0, 108, 99, 0, 0, 0, - 92, 110, 0, 0, 0, 93, 106, 0, 0, 100, - 101 + 2, 3, 1, 0, 0, 32, 0, 0, 0, 0, + 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 9, 4, 0, 11, + 33, 14, 0, 0, 119, 78, 80, 83, 79, 81, + 82, 113, 120, 0, 0, 0, 15, 39, 64, 65, + 96, 97, 109, 98, 0, 16, 73, 37, 74, 17, + 0, 18, 0, 0, 113, 113, 0, 22, 47, 66, + 70, 72, 71, 67, 98, 20, 0, 33, 49, 50, + 23, 113, 0, 0, 19, 41, 0, 0, 21, 0, + 24, 0, 25, 0, 26, 56, 27, 0, 28, 0, + 29, 0, 30, 0, 31, 0, 7, 0, 5, 0, + 10, 122, 121, 0, 0, 0, 0, 38, 0, 0, + 125, 0, 123, 0, 0, 0, 87, 86, 0, 85, + 84, 36, 0, 0, 68, 69, 48, 76, 77, 0, + 46, 0, 0, 76, 40, 0, 0, 0, 0, 0, + 55, 0, 0, 0, 0, 0, 0, 12, 0, 13, + 113, 114, 115, 0, 0, 104, 105, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 0, 0, + 0, 0, 90, 0, 0, 34, 35, 0, 0, 42, + 0, 44, 0, 51, 53, 57, 58, 0, 0, 0, + 62, 63, 8, 6, 0, 118, 116, 117, 0, 0, + 0, 135, 134, 133, 0, 0, 126, 127, 128, 129, + 130, 0, 0, 99, 106, 100, 0, 88, 75, 0, + 0, 92, 91, 0, 0, 0, 0, 0, 0, 0, + 111, 107, 0, 131, 132, 0, 0, 0, 89, 43, + 93, 0, 45, 52, 54, 59, 60, 61, 0, 0, + 110, 101, 0, 0, 0, 94, 112, 0, 0, 0, + 95, 108, 0, 0, 102, 103 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 3, 26, 154, 152, 27, 30, 58, 60, - 54, 45, 83, 74, 87, 66, 79, 89, 91, 93, - 95, 97, 99, 101, 55, 67, 56, 68, 47, 57, - 187, 227, 48, 49, 50, 51, 113, 203, 52, 118 + -1, 1, 3, 27, 158, 156, 28, 31, 59, 61, + 55, 46, 84, 75, 88, 67, 80, 90, 92, 94, + 96, 98, 100, 102, 104, 56, 68, 57, 69, 48, + 58, 191, 232, 49, 50, 51, 52, 116, 208, 53, + 121 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -89 +#define YYPACT_NINF -104 static const yytype_int16 yypact[] = { - -89, 35, -89, 213, -42, 21, 283, 306, 306, 352, - 237, 12, 329, 390, 159, 306, 306, 306, 159, 4, - 7, 7, 46, 5, 32, -89, -89, 51, -89, -89, - -89, 455, 455, -89, -89, -89, -89, -89, -89, -89, - 40, -89, 352, 421, 455, -89, -89, -89, -89, -89, - -89, 55, 60, 406, -89, -89, 72, -89, -89, 76, - -89, 77, 352, 40, 57, 260, -89, -89, -89, -89, - -89, -89, -89, 79, -89, 115, 352, -89, -89, -89, - 57, 43, 455, -89, -89, 82, 87, -89, 89, -89, - 93, -89, 94, -89, 98, -89, 108, -89, 109, -89, - 116, -89, 117, -89, 455, -89, 455, -89, -89, -89, - 156, 455, 455, 132, -89, 10, 133, -89, 167, -89, - 147, 64, 59, -89, -89, 444, -89, -89, -89, 352, - 306, -89, -89, -89, 132, -89, 375, -89, 78, 455, - -89, -89, 43, 152, 136, 352, 352, 352, 417, 352, - 352, 7, 213, 505, 213, 505, 57, -89, -89, -4, - 455, 137, -89, 455, 455, 455, 196, 197, 455, 455, - 455, 455, 455, -89, 195, 13, 160, 162, -89, 451, - 163, -89, -89, 165, 161, -89, 6, -89, 170, 174, - 175, -89, -89, 173, 177, 210, -89, -89, -89, 194, - -89, -89, -89, 226, 227, 247, 186, 513, 254, 455, - 455, 106, 106, -89, -89, -89, 455, 455, 234, -89, - -89, 243, -89, -89, 7, 257, 275, -89, 248, 265, - 269, 7, 455, 4, 273, -89, -89, 297, 240, 240, - 258, 266, 71, -89, -89, 301, 292, -89, -89, -89, - -89, -89, -89, 276, 455, -89, -89, 313, 318, 299, - -89, -89, 280, 455, 455, -89, -89, 284, 289, -89, - -89 + -104, 4, -104, 173, -26, -25, 277, 297, 297, 349, + 225, -14, 329, 396, 18, 297, 297, 297, 18, 171, + -20, 297, 297, 2, -4, 26, -104, -104, 43, -104, + -104, -104, 478, 478, -104, -104, -104, -104, -104, -104, + -104, 111, -104, 349, 402, 478, -104, -104, -104, -104, + -104, -104, -12, -5, 83, -104, -104, 44, -104, -104, + 46, -104, 49, 349, 111, 113, 245, -104, -104, -104, + -104, -104, -104, -104, 50, -104, 100, 349, -104, -104, + -104, 113, 420, 478, -104, -104, 64, 66, -104, 78, + -104, 80, -104, 85, -104, 89, -104, 93, -104, 98, + -104, 101, -104, 112, -104, 121, -104, 478, -104, 478, + -104, -104, -104, 153, 478, 478, 135, -104, 8, 163, + -104, 74, -104, 179, 52, 427, -104, -104, 445, -104, + -104, -104, 349, 297, -104, -104, -104, 135, -104, 381, + -104, 33, 478, -104, -104, 420, 186, 451, 349, 349, + 349, 460, 349, 349, 297, 297, 173, 172, 173, 172, + 113, -104, -104, 5, 478, 180, -104, 478, 478, 478, + 226, 224, 478, 478, 478, 478, 478, -104, 235, 36, + 195, 196, -104, 466, 197, -104, -104, 199, 202, -104, + 21, -104, 203, 211, 219, -104, -104, 217, 222, 223, + -104, -104, -104, -104, 229, -104, -104, -104, 240, 241, + 237, 232, 527, 534, 478, 478, 134, 134, -104, -104, + -104, 478, 478, 243, -104, -104, 248, -104, -104, -20, + 263, 287, -104, 249, 264, 265, -20, 478, 171, 269, + -104, -104, 294, 214, 214, 256, 258, 119, -104, -104, + 301, 280, -104, -104, -104, -104, -104, -104, 266, 478, + -104, -104, 308, 311, 292, -104, -104, 273, 478, 478, + -104, -104, 274, 278, -104, -104 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -89, -89, -89, -64, -89, -89, -89, 321, -89, -89, - -89, 333, -89, -89, -89, -89, -89, -89, -89, -89, - -89, -89, -89, -89, 2, 281, 9, -7, -9, -8, - 121, -89, 14, -3, -1, 8, -33, -89, -10, -88 + -104, -104, -104, -103, -104, -104, -104, 319, -104, -104, + -104, 331, -104, -104, -104, -104, -104, -104, -104, -104, + -104, -104, -104, -104, -104, 19, 275, -2, -6, -9, + -8, 115, -104, 22, 1, -1, -3, -48, -104, -10, + -66 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -719,150 +725,154 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -1 static const yytype_uint16 yytable[] = { - 73, 69, 70, 86, 28, 85, 84, 71, 46, 72, - 98, 61, 100, 102, 46, 225, 153, 59, 155, 75, - 160, 108, 109, 217, 90, 92, 94, 200, 88, 201, - 134, 135, 96, 117, 119, 2, 226, 202, 34, 35, - 36, 37, 38, 127, 114, 39, 110, 140, 111, 112, - 105, 31, 32, 131, 40, 73, 69, 70, 53, 132, - 161, 126, 71, 218, 72, 111, 112, 31, 32, 29, - 133, 86, 117, 33, 141, 206, 207, 208, 114, 106, - 211, 212, 213, 214, 215, 80, 64, 41, 197, 33, - 198, 103, 82, 104, 117, 44, 117, 107, 178, 175, - 176, 157, 158, 41, 120, 177, 257, 258, 82, 121, - 183, 44, 109, 175, 176, 117, 170, 171, 172, 177, - 128, 238, 239, 199, 129, 130, 139, 131, 138, 184, - 142, 181, 86, 132, 188, 185, 143, 144, 193, 182, - 192, 145, 146, 196, 31, 32, 147, 189, 190, 191, - 204, 194, 195, 117, 117, 117, 148, 149, 117, 117, - 117, 117, 117, 156, 150, 151, 33, 31, 32, 109, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 41, 159, 174, 162, 183, 82, 205, 186, 44, 33, - 164, 165, 166, 167, 168, 169, 170, 171, 172, 117, - 117, 40, 209, 41, 210, 216, 240, 241, 43, 224, - 219, 44, 220, 222, 4, 223, 244, 173, 228, 229, - 230, 231, 251, 250, 252, 232, 5, 6, 7, 8, + 74, 70, 71, 87, 2, 86, 60, 85, 76, 73, + 99, 72, 101, 91, 93, 95, 137, 138, 164, 103, + 105, 29, 111, 112, 30, 47, 32, 33, 62, 41, + 230, 47, 54, 143, 120, 122, 89, 205, 123, 206, + 97, 157, 108, 159, 130, 124, 222, 207, 106, 34, + 107, 129, 231, 202, 134, 203, 74, 70, 71, 165, + 136, 41, 117, 42, 135, 73, 187, 72, 44, 179, + 180, 45, 87, 120, 109, 181, 144, 167, 168, 169, + 170, 171, 172, 173, 174, 175, 176, 223, 179, 180, + 110, 32, 125, 131, 181, 132, 117, 120, 133, 120, + 141, 211, 212, 213, 161, 162, 216, 217, 218, 219, + 220, 142, 204, 145, 34, 112, 146, 113, 120, 114, + 115, 114, 115, 126, 127, 177, 41, 147, 42, 148, + 134, 186, 188, 128, 149, 87, 45, 192, 150, 189, + 135, 197, 151, 196, 174, 175, 176, 152, 243, 244, + 153, 185, 200, 201, 209, 262, 263, 120, 120, 120, + 160, 154, 120, 120, 120, 120, 120, 193, 194, 195, + 155, 198, 199, 112, 4, 167, 168, 169, 170, 171, + 172, 173, 174, 175, 176, 163, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 234, 262, 31, 32, 62, 168, 169, - 170, 171, 172, 267, 268, 22, 23, 24, 233, 25, - 166, 167, 168, 169, 170, 171, 172, 33, 31, 32, - 136, 34, 35, 36, 37, 38, 235, 236, 39, 63, - 64, 41, 237, 242, 246, 65, 43, 245, 53, 44, - 33, 31, 32, 243, 34, 35, 36, 37, 38, 186, - 248, 39, 63, 64, 41, 249, 253, 254, 255, 43, - 259, 53, 44, 33, 31, 32, 256, 34, 35, 36, - 37, 38, 260, 263, 39, 40, 261, 41, 264, 265, - 266, 42, 43, 77, 269, 44, 33, 31, 32, 270, - 34, 35, 36, 37, 38, 78, 137, 39, 40, 247, - 41, 0, 0, 0, 0, 43, 0, 53, 44, 33, - 31, 32, 0, 34, 35, 36, 37, 38, 0, 0, - 39, 40, 0, 41, 0, 0, 0, 76, 43, 0, - 0, 44, 33, 31, 32, 0, 34, 35, 36, 37, - 38, 0, 0, 39, 40, 0, 41, 0, 31, 32, - 0, 43, 0, 0, 44, 33, 0, 0, 0, 34, - 35, 36, 37, 38, 31, 122, 39, 0, 0, 41, - 33, 0, 0, 0, 43, 31, 32, 44, 0, 31, - 32, 0, 80, 64, 41, 0, 33, 0, 81, 82, - 0, 53, 44, 0, 0, 123, 124, 33, 40, 0, - 41, 33, 31, 179, 0, 125, 115, 0, 44, 31, - 32, 41, 116, 31, 32, 41, 82, 0, 53, 44, - 82, 0, 0, 44, 33, 0, 0, 0, 0, 0, - 0, 33, 0, 180, 0, 33, 0, 0, 41, 0, - 221, 0, 0, 82, 0, 41, 44, 0, 0, 41, - 82, 0, 0, 44, 82, 0, 0, 44, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 165, 166, - 167, 168, 169, 170, 171, 172 + 19, 20, 21, 22, 120, 120, 35, 36, 37, 38, + 39, 245, 246, 40, 166, 178, 23, 24, 25, 187, + 26, 249, 172, 173, 174, 175, 176, 256, 255, 257, + 210, 215, 214, 32, 33, 63, 168, 169, 170, 171, + 172, 173, 174, 175, 176, 221, 224, 225, 227, 267, + 228, 229, 233, 32, 33, 139, 34, 234, 272, 273, + 35, 36, 37, 38, 39, 235, 236, 40, 64, 65, + 42, 237, 238, 242, 66, 44, 34, 54, 45, 239, + 35, 36, 37, 38, 39, 32, 33, 40, 64, 65, + 42, 240, 241, 247, 250, 44, 251, 54, 45, 248, + 253, 190, 254, 258, 259, 32, 33, 260, 34, 261, + 264, 265, 35, 36, 37, 38, 39, 266, 268, 40, + 41, 269, 42, 270, 271, 274, 43, 44, 34, 275, + 45, 78, 35, 36, 37, 38, 39, 32, 33, 40, + 41, 140, 42, 79, 0, 0, 0, 44, 252, 54, + 45, 0, 0, 0, 0, 0, 0, 32, 33, 0, + 34, 0, 0, 0, 35, 36, 37, 38, 39, 0, + 0, 40, 41, 0, 42, 0, 0, 0, 77, 44, + 34, 0, 45, 0, 35, 36, 37, 38, 39, 32, + 33, 40, 41, 0, 42, 0, 0, 0, 0, 44, + 0, 0, 45, 0, 32, 33, 0, 0, 0, 0, + 32, 33, 34, 0, 0, 0, 35, 36, 37, 38, + 39, 0, 0, 40, 0, 0, 42, 34, 32, 33, + 0, 44, 0, 34, 45, 32, 33, 0, 118, 81, + 65, 42, 0, 0, 119, 82, 83, 42, 54, 45, + 0, 34, 83, 32, 183, 45, 0, 0, 34, 32, + 33, 0, 0, 81, 65, 42, 0, 182, 32, 33, + 83, 0, 42, 45, 32, 33, 34, 83, 0, 0, + 45, 0, 34, 0, 0, 184, 32, 33, 0, 0, + 42, 34, 0, 0, 0, 83, 42, 34, 45, 0, + 0, 83, 0, 190, 45, 42, 226, 0, 0, 34, + 83, 42, 54, 45, 0, 0, 83, 0, 0, 45, + 0, 0, 0, 42, 0, 0, 0, 0, 83, 0, + 0, 45, 169, 170, 171, 172, 173, 174, 175, 176, + 170, 171, 172, 173, 174, 175, 176 }; static const yytype_int16 yycheck[] = { - 10, 10, 10, 13, 46, 13, 13, 10, 6, 10, - 19, 9, 20, 21, 12, 9, 104, 8, 106, 11, - 10, 31, 32, 10, 15, 16, 17, 31, 14, 33, - 63, 64, 18, 43, 44, 0, 30, 41, 34, 35, - 36, 37, 38, 53, 42, 41, 6, 80, 8, 9, - 45, 8, 9, 62, 42, 65, 65, 65, 51, 62, - 50, 53, 65, 50, 65, 8, 9, 8, 9, 48, - 62, 81, 82, 30, 81, 163, 164, 165, 76, 47, - 168, 169, 170, 171, 172, 42, 43, 44, 152, 30, - 154, 45, 49, 47, 104, 52, 106, 46, 39, 35, - 36, 111, 112, 44, 49, 41, 35, 36, 49, 49, - 32, 52, 122, 35, 36, 125, 10, 11, 12, 41, - 48, 209, 210, 156, 48, 48, 11, 136, 49, 139, - 48, 129, 142, 136, 144, 142, 49, 48, 148, 130, - 148, 48, 48, 151, 8, 9, 48, 145, 146, 147, - 160, 149, 150, 163, 164, 165, 48, 48, 168, 169, - 170, 171, 172, 7, 48, 48, 30, 8, 9, 179, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 44, 49, 35, 50, 32, 49, 49, 51, 52, 30, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 209, - 210, 42, 6, 44, 7, 10, 216, 217, 49, 48, - 50, 52, 50, 50, 1, 50, 224, 50, 48, 45, - 45, 48, 232, 231, 233, 48, 13, 14, 15, 16, + 10, 10, 10, 13, 0, 13, 8, 13, 11, 10, + 19, 10, 20, 15, 16, 17, 64, 65, 10, 21, + 22, 47, 32, 33, 49, 6, 8, 9, 9, 43, + 9, 12, 52, 81, 44, 45, 14, 32, 50, 34, + 18, 107, 46, 109, 54, 50, 10, 42, 46, 31, + 48, 54, 31, 156, 63, 158, 66, 66, 66, 51, + 63, 43, 43, 45, 63, 66, 33, 66, 50, 36, + 37, 53, 82, 83, 48, 42, 82, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 51, 36, 37, + 47, 8, 9, 49, 42, 49, 77, 107, 49, 109, + 50, 167, 168, 169, 114, 115, 172, 173, 174, 175, + 176, 11, 160, 49, 31, 125, 50, 6, 128, 8, + 9, 8, 9, 40, 41, 51, 43, 49, 45, 49, + 139, 133, 142, 50, 49, 145, 53, 147, 49, 145, + 139, 151, 49, 151, 10, 11, 12, 49, 214, 215, + 49, 132, 154, 155, 164, 36, 37, 167, 168, 169, + 7, 49, 172, 173, 174, 175, 176, 148, 149, 150, + 49, 152, 153, 183, 1, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 50, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 49, 254, 8, 9, 10, 8, 9, - 10, 11, 12, 263, 264, 42, 43, 44, 48, 46, - 6, 7, 8, 9, 10, 11, 12, 30, 8, 9, - 10, 34, 35, 36, 37, 38, 50, 50, 41, 42, - 43, 44, 35, 49, 9, 48, 49, 30, 51, 52, - 30, 8, 9, 50, 34, 35, 36, 37, 38, 51, - 35, 41, 42, 43, 44, 36, 33, 10, 50, 49, - 9, 51, 52, 30, 8, 9, 50, 34, 35, 36, - 37, 38, 30, 10, 41, 42, 50, 44, 10, 30, - 50, 48, 49, 12, 50, 52, 30, 8, 9, 50, - 34, 35, 36, 37, 38, 12, 65, 41, 42, 228, - 44, -1, -1, -1, -1, 49, -1, 51, 52, 30, - 8, 9, -1, 34, 35, 36, 37, 38, -1, -1, - 41, 42, -1, 44, -1, -1, -1, 48, 49, -1, - -1, 52, 30, 8, 9, -1, 34, 35, 36, 37, - 38, -1, -1, 41, 42, -1, 44, -1, 8, 9, - -1, 49, -1, -1, 52, 30, -1, -1, -1, 34, - 35, 36, 37, 38, 8, 9, 41, -1, -1, 44, - 30, -1, -1, -1, 49, 8, 9, 52, -1, 8, - 9, -1, 42, 43, 44, -1, 30, -1, 48, 49, - -1, 51, 52, -1, -1, 39, 40, 30, 42, -1, - 44, 30, 8, 9, -1, 49, 35, -1, 52, 8, - 9, 44, 41, 8, 9, 44, 49, -1, 51, 52, - 49, -1, -1, 52, 30, -1, -1, -1, -1, -1, - -1, 30, -1, 39, -1, 30, -1, -1, 44, -1, - 39, -1, -1, 49, -1, 44, 52, -1, -1, 44, - 49, -1, -1, 52, 49, -1, -1, 52, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 5, 6, - 7, 8, 9, 10, 11, 12 + 27, 28, 29, 30, 214, 215, 35, 36, 37, 38, + 39, 221, 222, 42, 51, 36, 43, 44, 45, 33, + 47, 229, 8, 9, 10, 11, 12, 237, 236, 238, + 50, 7, 6, 8, 9, 10, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 10, 51, 51, 51, 259, + 51, 49, 49, 8, 9, 10, 31, 46, 268, 269, + 35, 36, 37, 38, 39, 46, 49, 42, 43, 44, + 45, 49, 49, 36, 49, 50, 31, 52, 53, 50, + 35, 36, 37, 38, 39, 8, 9, 42, 43, 44, + 45, 51, 51, 50, 31, 50, 9, 52, 53, 51, + 36, 52, 37, 34, 10, 8, 9, 51, 31, 51, + 9, 31, 35, 36, 37, 38, 39, 51, 10, 42, + 43, 10, 45, 31, 51, 51, 49, 50, 31, 51, + 53, 12, 35, 36, 37, 38, 39, 8, 9, 42, + 43, 66, 45, 12, -1, -1, -1, 50, 233, 52, + 53, -1, -1, -1, -1, -1, -1, 8, 9, -1, + 31, -1, -1, -1, 35, 36, 37, 38, 39, -1, + -1, 42, 43, -1, 45, -1, -1, -1, 49, 50, + 31, -1, 53, -1, 35, 36, 37, 38, 39, 8, + 9, 42, 43, -1, 45, -1, -1, -1, -1, 50, + -1, -1, 53, -1, 8, 9, -1, -1, -1, -1, + 8, 9, 31, -1, -1, -1, 35, 36, 37, 38, + 39, -1, -1, 42, -1, -1, 45, 31, 8, 9, + -1, 50, -1, 31, 53, 8, 9, -1, 36, 43, + 44, 45, -1, -1, 42, 49, 50, 45, 52, 53, + -1, 31, 50, 8, 9, 53, -1, -1, 31, 8, + 9, -1, -1, 43, 44, 45, -1, 40, 8, 9, + 50, -1, 45, 53, 8, 9, 31, 50, -1, -1, + 53, -1, 31, -1, -1, 40, 8, 9, -1, -1, + 45, 31, -1, -1, -1, 50, 45, 31, 53, -1, + -1, 50, -1, 52, 53, 45, 40, -1, -1, 31, + 50, 45, 52, 53, -1, -1, 50, -1, -1, 53, + -1, -1, -1, 45, -1, -1, -1, -1, 50, -1, + -1, 53, 5, 6, 7, 8, 9, 10, 11, 12, + 6, 7, 8, 9, 10, 11, 12 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 54, 0, 55, 1, 13, 14, 15, 16, 17, + 0, 55, 0, 56, 1, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 42, 43, 44, 46, 56, 59, 46, 48, - 60, 8, 9, 30, 34, 35, 36, 37, 38, 41, - 42, 44, 48, 49, 52, 64, 77, 81, 85, 86, - 87, 88, 91, 51, 63, 77, 79, 82, 61, 79, - 62, 77, 10, 42, 43, 48, 68, 78, 80, 81, - 82, 86, 87, 91, 66, 88, 48, 60, 64, 69, - 42, 48, 49, 65, 80, 82, 91, 67, 85, 70, - 79, 71, 79, 72, 79, 73, 85, 74, 81, 75, - 82, 76, 82, 45, 47, 45, 47, 46, 91, 91, - 6, 8, 9, 89, 77, 35, 41, 91, 92, 91, - 49, 49, 9, 39, 40, 49, 88, 91, 48, 48, - 48, 81, 86, 88, 89, 89, 10, 78, 49, 11, - 89, 80, 48, 49, 48, 48, 48, 48, 48, 48, - 48, 48, 58, 92, 57, 92, 7, 91, 91, 49, - 10, 50, 50, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 50, 35, 35, 36, 41, 39, 9, - 39, 77, 79, 32, 91, 80, 51, 83, 91, 77, - 77, 77, 82, 91, 77, 77, 82, 56, 56, 89, - 31, 33, 41, 90, 91, 49, 92, 92, 92, 6, - 7, 92, 92, 92, 92, 92, 10, 10, 50, 50, - 50, 39, 50, 50, 48, 9, 30, 84, 48, 45, - 45, 48, 48, 48, 49, 50, 50, 35, 92, 92, - 91, 91, 49, 50, 82, 30, 9, 83, 35, 36, - 82, 91, 81, 33, 10, 50, 50, 35, 36, 9, - 30, 50, 91, 10, 10, 30, 50, 91, 91, 50, - 50 + 28, 29, 30, 43, 44, 45, 47, 57, 60, 47, + 49, 61, 8, 9, 31, 35, 36, 37, 38, 39, + 42, 43, 45, 49, 50, 53, 65, 79, 83, 87, + 88, 89, 90, 93, 52, 64, 79, 81, 84, 62, + 81, 63, 79, 10, 43, 44, 49, 69, 80, 82, + 83, 84, 88, 89, 93, 67, 90, 49, 61, 65, + 70, 43, 49, 50, 66, 82, 84, 93, 68, 87, + 71, 81, 72, 81, 73, 81, 74, 87, 75, 83, + 76, 84, 77, 81, 78, 81, 46, 48, 46, 48, + 47, 93, 93, 6, 8, 9, 91, 79, 36, 42, + 93, 94, 93, 50, 50, 9, 40, 41, 50, 90, + 93, 49, 49, 49, 83, 88, 90, 91, 91, 10, + 80, 50, 11, 91, 82, 49, 50, 49, 49, 49, + 49, 49, 49, 49, 49, 49, 59, 94, 58, 94, + 7, 93, 93, 50, 10, 51, 51, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 51, 36, 36, + 37, 42, 40, 9, 40, 79, 81, 33, 93, 82, + 52, 85, 93, 79, 79, 79, 84, 93, 79, 79, + 81, 81, 57, 57, 91, 32, 34, 42, 92, 93, + 50, 94, 94, 94, 6, 7, 94, 94, 94, 94, + 94, 10, 10, 51, 51, 51, 40, 51, 51, 49, + 9, 31, 86, 49, 46, 46, 49, 49, 49, 50, + 51, 51, 36, 94, 94, 93, 93, 50, 51, 84, + 31, 9, 85, 36, 37, 84, 93, 83, 34, 10, + 51, 51, 36, 37, 9, 31, 51, 93, 10, 10, + 31, 51, 93, 93, 51, 51 }; #define yyerrok (yyerrstatus = 0) @@ -1803,95 +1813,100 @@ yyreduce: break; case 31: -#line 124 "a.y" +#line 122 "a.y" + { outcode((yyvsp[(1) - (2)].lval), &(yyvsp[(2) - (2)].gen2)); } + break; + + case 32: +#line 125 "a.y" { (yyval.gen2).from = nullgen; (yyval.gen2).to = nullgen; } break; - case 32: -#line 129 "a.y" + case 33: +#line 130 "a.y" { (yyval.gen2).from = nullgen; (yyval.gen2).to = nullgen; } break; - case 33: -#line 136 "a.y" + case 34: +#line 137 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (3)].gen); (yyval.gen2).to = (yyvsp[(3) - (3)].gen); } break; - case 34: -#line 143 "a.y" + case 35: +#line 144 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (3)].gen); (yyval.gen2).to = (yyvsp[(3) - (3)].gen); } break; - case 35: -#line 150 "a.y" + case 36: +#line 151 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (2)].gen); (yyval.gen2).to = nullgen; } break; - case 36: -#line 155 "a.y" + case 37: +#line 156 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (1)].gen); (yyval.gen2).to = nullgen; } break; - case 37: -#line 162 "a.y" + case 38: +#line 163 "a.y" { (yyval.gen2).from = nullgen; (yyval.gen2).to = (yyvsp[(2) - (2)].gen); } break; - case 38: -#line 167 "a.y" + case 39: +#line 168 "a.y" { (yyval.gen2).from = nullgen; (yyval.gen2).to = (yyvsp[(1) - (1)].gen); } break; - case 39: -#line 174 "a.y" + case 40: +#line 175 "a.y" { (yyval.gen2).from = nullgen; (yyval.gen2).to = (yyvsp[(2) - (2)].gen); } break; - case 40: -#line 179 "a.y" + case 41: +#line 180 "a.y" { (yyval.gen2).from = nullgen; (yyval.gen2).to = (yyvsp[(1) - (1)].gen); } break; - case 41: -#line 184 "a.y" + case 42: +#line 185 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (3)].gen); (yyval.gen2).to = (yyvsp[(3) - (3)].gen); } break; - case 42: -#line 191 "a.y" + case 43: +#line 192 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (5)].gen); (yyval.gen2).from.scale = (yyvsp[(3) - (5)].lval); @@ -1899,16 +1914,16 @@ yyreduce: } break; - case 43: -#line 199 "a.y" + case 44: +#line 200 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (3)].gen); (yyval.gen2).to = (yyvsp[(3) - (3)].gen); } break; - case 44: -#line 204 "a.y" + case 45: +#line 205 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (5)].gen); (yyval.gen2).from.scale = (yyvsp[(3) - (5)].lval); @@ -1916,24 +1931,24 @@ yyreduce: } break; - case 45: -#line 212 "a.y" + case 46: +#line 213 "a.y" { (yyval.gen2).from = nullgen; (yyval.gen2).to = (yyvsp[(2) - (2)].gen); } break; - case 46: -#line 217 "a.y" + case 47: +#line 218 "a.y" { (yyval.gen2).from = nullgen; (yyval.gen2).to = (yyvsp[(1) - (1)].gen); } break; - case 47: -#line 222 "a.y" + case 48: +#line 223 "a.y" { (yyval.gen2).from = nullgen; (yyval.gen2).to = (yyvsp[(2) - (2)].gen); @@ -1942,16 +1957,16 @@ yyreduce: } break; - case 50: -#line 235 "a.y" + case 51: +#line 236 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (3)].gen); (yyval.gen2).to = (yyvsp[(3) - (3)].gen); } break; - case 51: -#line 240 "a.y" + case 52: +#line 241 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (5)].gen); (yyval.gen2).to = (yyvsp[(3) - (5)].gen); @@ -1961,16 +1976,16 @@ yyreduce: } break; - case 52: -#line 250 "a.y" + case 53: +#line 251 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (3)].gen); (yyval.gen2).to = (yyvsp[(3) - (3)].gen); } break; - case 53: -#line 255 "a.y" + case 54: +#line 256 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (5)].gen); (yyval.gen2).to = (yyvsp[(3) - (5)].gen); @@ -1980,40 +1995,40 @@ yyreduce: } break; - case 54: -#line 265 "a.y" + case 55: +#line 266 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (2)].gen); (yyval.gen2).to = nullgen; } break; - case 55: -#line 270 "a.y" + case 56: +#line 271 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (1)].gen); (yyval.gen2).to = nullgen; } break; - case 56: -#line 275 "a.y" + case 57: +#line 276 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (3)].gen); (yyval.gen2).to = (yyvsp[(3) - (3)].gen); } break; - case 57: -#line 282 "a.y" + case 58: +#line 283 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (3)].gen); (yyval.gen2).to = (yyvsp[(3) - (3)].gen); } break; - case 58: -#line 287 "a.y" + case 59: +#line 288 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (5)].gen); (yyval.gen2).from.scale = (yyvsp[(3) - (5)].lval); @@ -2021,8 +2036,8 @@ yyreduce: } break; - case 59: -#line 295 "a.y" + case 60: +#line 296 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (5)].gen); (yyval.gen2).to = (yyvsp[(3) - (5)].gen); @@ -2030,8 +2045,8 @@ yyreduce: } break; - case 60: -#line 303 "a.y" + case 61: +#line 304 "a.y" { (yyval.gen2).from = (yyvsp[(3) - (5)].gen); (yyval.gen2).to = (yyvsp[(5) - (5)].gen); @@ -2041,30 +2056,44 @@ yyreduce: } break; - case 61: -#line 313 "a.y" + case 62: +#line 314 "a.y" { + if((yyvsp[(1) - (3)].gen).type != D_CONST || (yyvsp[(3) - (3)].gen).type != D_CONST) + yyerror("arguments to PCDATA must be integer constants"); (yyval.gen2).from = (yyvsp[(1) - (3)].gen); (yyval.gen2).to = (yyvsp[(3) - (3)].gen); } break; - case 66: -#line 326 "a.y" + case 63: +#line 323 "a.y" + { + if((yyvsp[(1) - (3)].gen).type != D_CONST) + yyerror("index for FUNCDATA must be integer constant"); + if((yyvsp[(3) - (3)].gen).type != D_EXTERN && (yyvsp[(3) - (3)].gen).type != D_STATIC) + yyerror("value for FUNCDATA must be symbol reference"); + (yyval.gen2).from = (yyvsp[(1) - (3)].gen); + (yyval.gen2).to = (yyvsp[(3) - (3)].gen); + } + break; + + case 68: +#line 340 "a.y" { (yyval.gen) = (yyvsp[(2) - (2)].gen); } break; - case 67: -#line 330 "a.y" + case 69: +#line 344 "a.y" { (yyval.gen) = (yyvsp[(2) - (2)].gen); } break; - case 73: -#line 343 "a.y" + case 75: +#line 357 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_BRANCH; @@ -2072,8 +2101,8 @@ yyreduce: } break; - case 74: -#line 349 "a.y" + case 76: +#line 363 "a.y" { (yyval.gen) = nullgen; if(pass == 2) @@ -2084,8 +2113,8 @@ yyreduce: } break; - case 75: -#line 358 "a.y" + case 77: +#line 372 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_BRANCH; @@ -2094,56 +2123,56 @@ yyreduce: } break; - case 76: -#line 367 "a.y" + case 78: +#line 381 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = (yyvsp[(1) - (1)].lval); } break; - case 77: -#line 372 "a.y" + case 79: +#line 386 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = (yyvsp[(1) - (1)].lval); } break; - case 78: -#line 377 "a.y" + case 80: +#line 391 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = (yyvsp[(1) - (1)].lval); } break; - case 79: -#line 382 "a.y" + case 81: +#line 396 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = (yyvsp[(1) - (1)].lval); } break; - case 80: -#line 387 "a.y" + case 82: +#line 401 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_SP; } break; - case 81: -#line 392 "a.y" + case 83: +#line 406 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = (yyvsp[(1) - (1)].lval); } break; - case 82: -#line 399 "a.y" + case 84: +#line 413 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_CONST; @@ -2151,8 +2180,8 @@ yyreduce: } break; - case 83: -#line 405 "a.y" + case 85: +#line 419 "a.y" { (yyval.gen) = (yyvsp[(2) - (2)].gen); (yyval.gen).index = (yyvsp[(2) - (2)].gen).type; @@ -2165,8 +2194,8 @@ yyreduce: } break; - case 84: -#line 416 "a.y" + case 86: +#line 430 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_SCONST; @@ -2174,8 +2203,8 @@ yyreduce: } break; - case 85: -#line 422 "a.y" + case 87: +#line 436 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_FCONST; @@ -2183,8 +2212,8 @@ yyreduce: } break; - case 86: -#line 428 "a.y" + case 88: +#line 442 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_FCONST; @@ -2192,8 +2221,8 @@ yyreduce: } break; - case 87: -#line 434 "a.y" + case 89: +#line 448 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_FCONST; @@ -2201,8 +2230,8 @@ yyreduce: } break; - case 88: -#line 440 "a.y" + case 90: +#line 454 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_FCONST; @@ -2210,8 +2239,8 @@ yyreduce: } break; - case 89: -#line 448 "a.y" + case 91: +#line 462 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_CONST2; @@ -2220,24 +2249,24 @@ yyreduce: } break; - case 90: -#line 457 "a.y" + case 92: +#line 471 "a.y" { (yyval.con2).v1 = (yyvsp[(1) - (1)].lval); (yyval.con2).v2 = 0; } break; - case 91: -#line 462 "a.y" + case 93: +#line 476 "a.y" { (yyval.con2).v1 = -(yyvsp[(2) - (2)].lval); (yyval.con2).v2 = 0; } break; - case 92: -#line 467 "a.y" + case 94: +#line 481 "a.y" { // Change explicit 0 argument size to 1 // so that we can distinguish it from missing. @@ -2248,8 +2277,8 @@ yyreduce: } break; - case 93: -#line 476 "a.y" + case 95: +#line 490 "a.y" { // Change explicit 0 argument size to 1 // so that we can distinguish it from missing. @@ -2260,8 +2289,8 @@ yyreduce: } break; - case 96: -#line 491 "a.y" + case 98: +#line 505 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_INDIR+D_NONE; @@ -2269,8 +2298,8 @@ yyreduce: } break; - case 97: -#line 497 "a.y" + case 99: +#line 511 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_INDIR+(yyvsp[(3) - (4)].lval); @@ -2278,8 +2307,8 @@ yyreduce: } break; - case 98: -#line 503 "a.y" + case 100: +#line 517 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_INDIR+D_SP; @@ -2287,8 +2316,8 @@ yyreduce: } break; - case 99: -#line 509 "a.y" + case 101: +#line 523 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_INDIR+D_NONE; @@ -2299,8 +2328,8 @@ yyreduce: } break; - case 100: -#line 518 "a.y" + case 102: +#line 532 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_INDIR+(yyvsp[(3) - (9)].lval); @@ -2311,8 +2340,8 @@ yyreduce: } break; - case 101: -#line 527 "a.y" + case 103: +#line 541 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_INDIR+(yyvsp[(3) - (9)].lval); @@ -2323,24 +2352,24 @@ yyreduce: } break; - case 102: -#line 536 "a.y" + case 104: +#line 550 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_INDIR+(yyvsp[(2) - (3)].lval); } break; - case 103: -#line 541 "a.y" + case 105: +#line 555 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_INDIR+D_SP; } break; - case 104: -#line 546 "a.y" + case 106: +#line 560 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_INDIR+(yyvsp[(3) - (4)].lval); @@ -2348,8 +2377,8 @@ yyreduce: } break; - case 105: -#line 552 "a.y" + case 107: +#line 566 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_INDIR+D_NONE; @@ -2359,8 +2388,8 @@ yyreduce: } break; - case 106: -#line 560 "a.y" + case 108: +#line 574 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_INDIR+(yyvsp[(2) - (8)].lval); @@ -2370,15 +2399,15 @@ yyreduce: } break; - case 107: -#line 570 "a.y" + case 109: +#line 584 "a.y" { (yyval.gen) = (yyvsp[(1) - (1)].gen); } break; - case 108: -#line 574 "a.y" + case 110: +#line 588 "a.y" { (yyval.gen) = (yyvsp[(1) - (6)].gen); (yyval.gen).index = (yyvsp[(3) - (6)].lval); @@ -2387,8 +2416,8 @@ yyreduce: } break; - case 109: -#line 583 "a.y" + case 111: +#line 597 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = (yyvsp[(4) - (5)].lval); @@ -2397,8 +2426,8 @@ yyreduce: } break; - case 110: -#line 590 "a.y" + case 112: +#line 604 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_STATIC; @@ -2407,134 +2436,134 @@ yyreduce: } break; - case 111: -#line 598 "a.y" + case 113: +#line 612 "a.y" { (yyval.lval) = 0; } break; - case 112: -#line 602 "a.y" + case 114: +#line 616 "a.y" { (yyval.lval) = (yyvsp[(2) - (2)].lval); } break; - case 113: -#line 606 "a.y" + case 115: +#line 620 "a.y" { (yyval.lval) = -(yyvsp[(2) - (2)].lval); } break; - case 115: -#line 613 "a.y" + case 117: +#line 627 "a.y" { (yyval.lval) = D_AUTO; } break; - case 118: -#line 621 "a.y" + case 120: +#line 635 "a.y" { (yyval.lval) = (yyvsp[(1) - (1)].sym)->value; } break; - case 119: -#line 625 "a.y" + case 121: +#line 639 "a.y" { (yyval.lval) = -(yyvsp[(2) - (2)].lval); } break; - case 120: -#line 629 "a.y" + case 122: +#line 643 "a.y" { (yyval.lval) = (yyvsp[(2) - (2)].lval); } break; - case 121: -#line 633 "a.y" + case 123: +#line 647 "a.y" { (yyval.lval) = ~(yyvsp[(2) - (2)].lval); } break; - case 122: -#line 637 "a.y" + case 124: +#line 651 "a.y" { (yyval.lval) = (yyvsp[(2) - (3)].lval); } break; - case 124: -#line 644 "a.y" + case 126: +#line 658 "a.y" { (yyval.lval) = (yyvsp[(1) - (3)].lval) + (yyvsp[(3) - (3)].lval); } break; - case 125: -#line 648 "a.y" + case 127: +#line 662 "a.y" { (yyval.lval) = (yyvsp[(1) - (3)].lval) - (yyvsp[(3) - (3)].lval); } break; - case 126: -#line 652 "a.y" + case 128: +#line 666 "a.y" { (yyval.lval) = (yyvsp[(1) - (3)].lval) * (yyvsp[(3) - (3)].lval); } break; - case 127: -#line 656 "a.y" + case 129: +#line 670 "a.y" { (yyval.lval) = (yyvsp[(1) - (3)].lval) / (yyvsp[(3) - (3)].lval); } break; - case 128: -#line 660 "a.y" + case 130: +#line 674 "a.y" { (yyval.lval) = (yyvsp[(1) - (3)].lval) % (yyvsp[(3) - (3)].lval); } break; - case 129: -#line 664 "a.y" + case 131: +#line 678 "a.y" { (yyval.lval) = (yyvsp[(1) - (4)].lval) << (yyvsp[(4) - (4)].lval); } break; - case 130: -#line 668 "a.y" + case 132: +#line 682 "a.y" { (yyval.lval) = (yyvsp[(1) - (4)].lval) >> (yyvsp[(4) - (4)].lval); } break; - case 131: -#line 672 "a.y" + case 133: +#line 686 "a.y" { (yyval.lval) = (yyvsp[(1) - (3)].lval) & (yyvsp[(3) - (3)].lval); } break; - case 132: -#line 676 "a.y" + case 134: +#line 690 "a.y" { (yyval.lval) = (yyvsp[(1) - (3)].lval) ^ (yyvsp[(3) - (3)].lval); } break; - case 133: -#line 680 "a.y" + case 135: +#line 694 "a.y" { (yyval.lval) = (yyvsp[(1) - (3)].lval) | (yyvsp[(3) - (3)].lval); } @@ -2542,7 +2571,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 2546 "y.tab.c" +#line 2575 "y.tab.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); diff --git a/src/cmd/8a/y.tab.h b/src/cmd/8a/y.tab.h index cb572f7b3..8ed61a9f8 100644 --- a/src/cmd/8a/y.tab.h +++ b/src/cmd/8a/y.tab.h @@ -56,21 +56,22 @@ LTYPEXC = 272, LTYPEX = 273, LTYPEPC = 274, - LCONST = 275, - LFP = 276, - LPC = 277, - LSB = 278, - LBREG = 279, - LLREG = 280, - LSREG = 281, - LFREG = 282, - LXREG = 283, - LFCONST = 284, - LSCONST = 285, - LSP = 286, - LNAME = 287, - LLAB = 288, - LVAR = 289 + LTYPEF = 275, + LCONST = 276, + LFP = 277, + LPC = 278, + LSB = 279, + LBREG = 280, + LLREG = 281, + LSREG = 282, + LFREG = 283, + LXREG = 284, + LFCONST = 285, + LSCONST = 286, + LSP = 287, + LNAME = 288, + LLAB = 289, + LVAR = 290 }; #endif /* Tokens. */ @@ -91,21 +92,22 @@ #define LTYPEXC 272 #define LTYPEX 273 #define LTYPEPC 274 -#define LCONST 275 -#define LFP 276 -#define LPC 277 -#define LSB 278 -#define LBREG 279 -#define LLREG 280 -#define LSREG 281 -#define LFREG 282 -#define LXREG 283 -#define LFCONST 284 -#define LSCONST 285 -#define LSP 286 -#define LNAME 287 -#define LLAB 288 -#define LVAR 289 +#define LTYPEF 275 +#define LCONST 276 +#define LFP 277 +#define LPC 278 +#define LSB 279 +#define LBREG 280 +#define LLREG 281 +#define LSREG 282 +#define LFREG 283 +#define LXREG 284 +#define LFCONST 285 +#define LSCONST 286 +#define LSP 287 +#define LNAME 288 +#define LLAB 289 +#define LVAR 290 @@ -126,7 +128,7 @@ typedef union YYSTYPE Gen2 gen2; } /* Line 1529 of yacc.c. */ -#line 130 "y.tab.h" +#line 132 "y.tab.h" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 |