diff options
author | Russ Cox <rsc@golang.org> | 2013-07-16 16:23:28 -0400 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2013-07-16 16:23:28 -0400 |
commit | 7dd62ca3f63f849dc9394ef8d0caaba1aaa15a67 (patch) | |
tree | c6b9bbbfeffbf3b6aefc61ee4308e09ce7330bb4 /src/cmd/6a | |
parent | ba306ff2abbc5c53e5799c2bafe893704400c0f1 (diff) | |
download | go-7dd62ca3f63f849dc9394ef8d0caaba1aaa15a67.tar.gz |
cmd/5a, cmd/6a, cmd/8a: parse PCDATA
In cmd/5a, also add support for argument size in TEXT instruction.
R=ken2
CC=golang-dev
https://codereview.appspot.com/11357044
Diffstat (limited to 'src/cmd/6a')
-rw-r--r-- | src/cmd/6a/a.y | 20 | ||||
-rw-r--r-- | src/cmd/6a/lex.c | 2 | ||||
-rw-r--r-- | src/cmd/6a/y.tab.c | 1084 | ||||
-rw-r--r-- | src/cmd/6a/y.tab.h | 92 |
4 files changed, 616 insertions, 582 deletions
diff --git a/src/cmd/6a/a.y b/src/cmd/6a/a.y index 42af65e35..4f2672842 100644 --- a/src/cmd/6a/a.y +++ b/src/cmd/6a/a.y @@ -49,7 +49,7 @@ %left '+' '-' %left '*' '/' '%' %token <lval> LTYPE0 LTYPE1 LTYPE2 LTYPE3 LTYPE4 -%token <lval> LTYPEC LTYPED LTYPEN LTYPER LTYPET LTYPEG +%token <lval> LTYPEC LTYPED LTYPEN LTYPER LTYPET LTYPEG LTYPEPC %token <lval> LTYPES LTYPEM LTYPEI LTYPEXC LTYPEX LTYPERT %token <lval> LCONST LFP LPC LSB %token <lval> LBREG LLREG LSREG LFREG LMREG LXREG @@ -58,7 +58,7 @@ %token <sym> LNAME LLAB LVAR %type <lval> con con2 expr pointer offset %type <gen> mem imm imm2 reg nam rel rem rim rom omem nmem -%type <gen2> nonnon nonrel nonrem rimnon rimrem remrim spec10 spec11 +%type <gen2> nonnon nonrel nonrem rimnon rimrem remrim spec10 spec11 spec12 %type <gen2> spec1 spec2 spec3 spec4 spec5 spec6 spec7 spec8 spec9 %% prog: @@ -115,6 +115,7 @@ inst: | LTYPEX spec9 { outcode($1, &$2); } | LTYPERT spec10 { outcode($1, &$2); } | LTYPEG spec11 { outcode($1, &$2); } +| LTYPEPC spec12 { outcode($1, &$2); } nonnon: { @@ -308,6 +309,13 @@ spec11: /* GLOBL */ $$.to = $5; } +spec12: /* PCDATA */ + imm ',' imm + { + $$.from = $1; + $$.to = $3; + } + rem: reg | mem @@ -605,11 +613,19 @@ con2: } | LCONST '-' LCONST { + // Change explicit 0 argument size to 1 + // so that we can distinguish it from missing. + if($3 == 0) + $3 = 1; $$ = ($1 & 0xffffffffLL) + (($3 & 0xffffLL) << 32); } | '-' LCONST '-' LCONST { + // Change explicit 0 argument size to 1 + // so that we can distinguish it from missing. + if($4 == 0) + $4 = 1; $$ = (-$2 & 0xffffffffLL) + (($4 & 0xffffLL) << 32); } diff --git a/src/cmd/6a/lex.c b/src/cmd/6a/lex.c index 290785c55..46e5342c3 100644 --- a/src/cmd/6a/lex.c +++ b/src/cmd/6a/lex.c @@ -1020,7 +1020,7 @@ struct "PSHUFD", LTYPEX, APSHUFD, "USEFIELD", LTYPEN, AUSEFIELD, "PCLMULQDQ", LTYPEX, APCLMULQDQ, - + "PCDATA", LTYPEPC, APCDATA, 0 }; diff --git a/src/cmd/6a/y.tab.c b/src/cmd/6a/y.tab.c index 75c4ad5ea..4e1faa6b9 100644 --- a/src/cmd/6a/y.tab.c +++ b/src/cmd/6a/y.tab.c @@ -77,28 +77,29 @@ LTYPER = 266, LTYPET = 267, LTYPEG = 268, - LTYPES = 269, - LTYPEM = 270, - LTYPEI = 271, - LTYPEXC = 272, - LTYPEX = 273, - LTYPERT = 274, - LCONST = 275, - LFP = 276, - LPC = 277, - LSB = 278, - LBREG = 279, - LLREG = 280, - LSREG = 281, - LFREG = 282, - LMREG = 283, - LXREG = 284, - LFCONST = 285, - LSCONST = 286, - LSP = 287, - LNAME = 288, - LLAB = 289, - LVAR = 290 + LTYPEPC = 269, + LTYPES = 270, + LTYPEM = 271, + LTYPEI = 272, + LTYPEXC = 273, + LTYPEX = 274, + LTYPERT = 275, + LCONST = 276, + LFP = 277, + LPC = 278, + LSB = 279, + LBREG = 280, + LLREG = 281, + LSREG = 282, + LFREG = 283, + LMREG = 284, + LXREG = 285, + LFCONST = 286, + LSCONST = 287, + LSP = 288, + LNAME = 289, + LLAB = 290, + LVAR = 291 }; #endif /* Tokens. */ @@ -113,28 +114,29 @@ #define LTYPER 266 #define LTYPET 267 #define LTYPEG 268 -#define LTYPES 269 -#define LTYPEM 270 -#define LTYPEI 271 -#define LTYPEXC 272 -#define LTYPEX 273 -#define LTYPERT 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 LMREG 283 -#define LXREG 284 -#define LFCONST 285 -#define LSCONST 286 -#define LSP 287 -#define LNAME 288 -#define LLAB 289 -#define LVAR 290 +#define LTYPEPC 269 +#define LTYPES 270 +#define LTYPEM 271 +#define LTYPEI 272 +#define LTYPEXC 273 +#define LTYPEX 274 +#define LTYPERT 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 LMREG 284 +#define LXREG 285 +#define LFCONST 286 +#define LSCONST 287 +#define LSP 288 +#define LNAME 289 +#define LLAB 290 +#define LVAR 291 @@ -178,7 +180,7 @@ typedef union YYSTYPE Gen2 gen2; } /* Line 193 of yacc.c. */ -#line 182 "y.tab.c" +#line 184 "y.tab.c" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -191,7 +193,7 @@ typedef union YYSTYPE /* Line 216 of yacc.c. */ -#line 195 "y.tab.c" +#line 197 "y.tab.c" #ifdef short # undef short @@ -406,20 +408,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 554 +#define YYLAST 543 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 54 +#define YYNTOKENS 55 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 40 +#define YYNNTS 41 /* YYNRULES -- Number of rules. */ -#define YYNRULES 132 +#define YYNRULES 134 /* YYNRULES -- Number of states. */ -#define YYNSTATES 263 +#define YYNSTATES 268 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 290 +#define YYMAXUTOK 291 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -430,16 +432,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, 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, 53, 12, 5, 2, + 51, 52, 10, 8, 50, 9, 2, 11, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 47, 48, + 6, 49, 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, 53, 2, 2, 2, + 2, 2, 2, 2, 3, 2, 54, 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, @@ -456,7 +458,7 @@ static const yytype_uint8 yytranslate[] = 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, - 45 + 45, 46 }; #if YYDEBUG @@ -467,67 +469,68 @@ 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, 141, 143, - 147, 153, 157, 163, 166, 168, 172, 178, 184, 185, - 187, 191, 197, 199, 201, 203, 205, 208, 211, 213, - 215, 217, 219, 224, 227, 230, 232, 234, 236, 238, - 240, 242, 244, 247, 250, 253, 256, 259, 264, 270, - 274, 276, 278, 280, 285, 290, 295, 302, 312, 316, - 320, 326, 335, 337, 344, 350, 358, 359, 362, 365, - 367, 369, 371, 373, 375, 378, 381, 384, 388, 390, - 393, 397, 402, 404, 408, 412, 416, 420, 424, 429, - 434, 438, 442 + 85, 88, 91, 92, 94, 98, 102, 105, 107, 110, + 112, 115, 117, 121, 127, 131, 137, 140, 142, 144, + 146, 150, 156, 160, 166, 169, 171, 175, 181, 187, + 188, 190, 194, 200, 204, 206, 208, 210, 212, 215, + 218, 220, 222, 224, 226, 231, 234, 237, 239, 241, + 243, 245, 247, 249, 251, 254, 257, 260, 263, 266, + 271, 277, 281, 283, 285, 287, 292, 297, 302, 309, + 319, 323, 327, 333, 342, 344, 351, 357, 365, 366, + 369, 372, 374, 376, 378, 380, 382, 385, 388, 391, + 395, 397, 400, 404, 409, 411, 415, 419, 423, 427, + 431, 436, 441, 445, 449 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int8 yyrhs[] = { - 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, 93, -1, 45, 48, 93, -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, 24, 71, -1, - 25, 72, -1, 26, 73, -1, 27, 74, -1, 28, - 75, -1, 29, 76, -1, 23, 77, -1, -1, 49, - -1, 80, 49, 78, -1, 78, 49, 80, -1, 80, - 49, -1, 80, -1, 49, 78, -1, 78, -1, 49, - 81, -1, 81, -1, 84, 49, 81, -1, 88, 11, - 91, 49, 84, -1, 85, 49, 83, -1, 85, 49, - 91, 49, 83, -1, 49, 79, -1, 79, -1, 61, - -1, 65, -1, 80, 49, 78, -1, 80, 49, 78, - 46, 35, -1, 80, 49, 78, -1, 80, 49, 78, - 46, 36, -1, 80, 49, -1, 80, -1, 80, 49, - 78, -1, 82, 49, 78, 49, 91, -1, 84, 49, - 78, 49, 82, -1, -1, 84, -1, 85, 49, 84, - -1, 85, 49, 91, 49, 84, -1, 82, -1, 85, - -1, 81, -1, 87, -1, 10, 82, -1, 10, 86, - -1, 82, -1, 86, -1, 78, -1, 84, -1, 91, - 50, 32, 51, -1, 43, 89, -1, 44, 89, -1, - 34, -1, 37, -1, 35, -1, 38, -1, 42, -1, - 36, -1, 39, -1, 52, 92, -1, 52, 91, -1, - 52, 88, -1, 52, 41, -1, 52, 40, -1, 52, - 50, 40, 51, -1, 52, 50, 9, 40, 51, -1, - 52, 9, 40, -1, 86, -1, 87, -1, 91, -1, - 91, 50, 35, 51, -1, 91, 50, 42, 51, -1, - 91, 50, 36, 51, -1, 91, 50, 35, 10, 91, - 51, -1, 91, 50, 35, 51, 50, 35, 10, 91, - 51, -1, 50, 35, 51, -1, 50, 42, 51, -1, - 50, 35, 10, 91, 51, -1, 50, 35, 51, 50, - 35, 10, 91, 51, -1, 88, -1, 88, 50, 35, - 10, 91, 51, -1, 43, 89, 50, 90, 51, -1, - 43, 6, 7, 89, 50, 33, 51, -1, -1, 8, - 91, -1, 9, 91, -1, 33, -1, 42, -1, 31, - -1, 30, -1, 45, -1, 9, 91, -1, 8, 91, - -1, 53, 91, -1, 50, 93, 51, -1, 30, -1, - 9, 30, -1, 30, 9, 30, -1, 9, 30, 9, - 30, -1, 91, -1, 93, 8, 93, -1, 93, 9, - 93, -1, 93, 10, 93, -1, 93, 11, 93, -1, - 93, 12, 93, -1, 93, 6, 6, 93, -1, 93, - 7, 7, 93, -1, 93, 5, 93, -1, 93, 4, - 93, -1, 93, 3, 93, -1 + 56, 0, -1, -1, -1, 56, 57, 58, -1, -1, + 45, 47, 59, 58, -1, -1, 44, 47, 60, 58, + -1, 48, -1, 61, 48, -1, 1, 48, -1, 44, + 49, 95, -1, 46, 49, 95, -1, 13, 62, -1, + 14, 66, -1, 15, 65, -1, 16, 63, -1, 17, + 64, -1, 21, 67, -1, 19, 68, -1, 22, 69, + -1, 18, 70, -1, 20, 71, -1, 25, 72, -1, + 26, 73, -1, 27, 74, -1, 28, 75, -1, 29, + 76, -1, 30, 77, -1, 23, 78, -1, 24, 79, + -1, -1, 50, -1, 82, 50, 80, -1, 80, 50, + 82, -1, 82, 50, -1, 82, -1, 50, 80, -1, + 80, -1, 50, 83, -1, 83, -1, 86, 50, 83, + -1, 90, 11, 93, 50, 86, -1, 87, 50, 85, + -1, 87, 50, 93, 50, 85, -1, 50, 81, -1, + 81, -1, 62, -1, 66, -1, 82, 50, 80, -1, + 82, 50, 80, 47, 36, -1, 82, 50, 80, -1, + 82, 50, 80, 47, 37, -1, 82, 50, -1, 82, + -1, 82, 50, 80, -1, 84, 50, 80, 50, 93, + -1, 86, 50, 80, 50, 84, -1, -1, 86, -1, + 87, 50, 86, -1, 87, 50, 93, 50, 86, -1, + 86, 50, 86, -1, 84, -1, 87, -1, 83, -1, + 89, -1, 10, 84, -1, 10, 88, -1, 84, -1, + 88, -1, 80, -1, 86, -1, 93, 51, 33, 52, + -1, 44, 91, -1, 45, 91, -1, 35, -1, 38, + -1, 36, -1, 39, -1, 43, -1, 37, -1, 40, + -1, 53, 94, -1, 53, 93, -1, 53, 90, -1, + 53, 42, -1, 53, 41, -1, 53, 51, 41, 52, + -1, 53, 51, 9, 41, 52, -1, 53, 9, 41, + -1, 88, -1, 89, -1, 93, -1, 93, 51, 36, + 52, -1, 93, 51, 43, 52, -1, 93, 51, 37, + 52, -1, 93, 51, 36, 10, 93, 52, -1, 93, + 51, 36, 52, 51, 36, 10, 93, 52, -1, 51, + 36, 52, -1, 51, 43, 52, -1, 51, 36, 10, + 93, 52, -1, 51, 36, 52, 51, 36, 10, 93, + 52, -1, 90, -1, 90, 51, 36, 10, 93, 52, + -1, 44, 91, 51, 92, 52, -1, 44, 6, 7, + 91, 51, 34, 52, -1, -1, 8, 93, -1, 9, + 93, -1, 34, -1, 43, -1, 32, -1, 31, -1, + 46, -1, 9, 93, -1, 8, 93, -1, 54, 93, + -1, 51, 95, 52, -1, 31, -1, 9, 31, -1, + 31, 9, 31, -1, 9, 31, 9, 31, -1, 93, + -1, 95, 8, 95, -1, 95, 9, 95, -1, 95, + 10, 95, -1, 95, 11, 95, -1, 95, 12, 95, + -1, 95, 6, 6, 95, -1, 95, 7, 7, 95, + -1, 95, 5, 95, -1, 95, 4, 95, -1, 95, + 3, 95, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -536,17 +539,17 @@ static const yytype_uint16 yyrline[] = 0, 64, 64, 66, 65, 73, 72, 80, 79, 85, 86, 87, 90, 95, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 120, 124, 131, 138, 145, 150, 157, 162, 169, - 174, 179, 186, 194, 199, 207, 212, 219, 220, 223, - 228, 238, 243, 253, 258, 263, 270, 278, 288, 292, - 299, 304, 312, 313, 316, 317, 318, 322, 326, 327, - 330, 331, 334, 340, 349, 358, 363, 368, 373, 378, - 383, 388, 394, 402, 408, 419, 425, 431, 437, 443, - 451, 452, 455, 461, 467, 473, 479, 488, 497, 502, - 507, 515, 525, 529, 538, 545, 554, 557, 561, 567, - 568, 572, 575, 576, 580, 584, 588, 592, 598, 602, - 606, 611, 618, 619, 623, 627, 631, 635, 639, 643, - 647, 651, 655 + 117, 118, 121, 125, 132, 139, 146, 151, 158, 163, + 170, 175, 180, 187, 195, 200, 208, 213, 220, 221, + 224, 229, 239, 244, 254, 259, 264, 271, 279, 289, + 293, 300, 305, 313, 320, 321, 324, 325, 326, 330, + 334, 335, 338, 339, 342, 348, 357, 366, 371, 376, + 381, 386, 391, 396, 402, 410, 416, 427, 433, 439, + 445, 451, 459, 460, 463, 469, 475, 481, 487, 496, + 505, 510, 515, 523, 533, 537, 546, 553, 562, 565, + 569, 575, 576, 580, 583, 584, 588, 592, 596, 600, + 606, 610, 614, 619, 626, 627, 631, 635, 639, 643, + 647, 651, 655, 659, 663 }; #endif @@ -558,15 +561,15 @@ static const char *const yytname[] = "$end", "error", "$undefined", "'|'", "'^'", "'&'", "'<'", "'>'", "'+'", "'-'", "'*'", "'/'", "'%'", "LTYPE0", "LTYPE1", "LTYPE2", "LTYPE3", "LTYPE4", "LTYPEC", "LTYPED", "LTYPEN", "LTYPER", "LTYPET", "LTYPEG", - "LTYPES", "LTYPEM", "LTYPEI", "LTYPEXC", "LTYPEX", "LTYPERT", "LCONST", - "LFP", "LPC", "LSB", "LBREG", "LLREG", "LSREG", "LFREG", "LMREG", - "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", "imm2", "imm", "mem", "omem", "nmem", "nam", "offset", - "pointer", "con", "con2", "expr", 0 + "LTYPEPC", "LTYPES", "LTYPEM", "LTYPEI", "LTYPEXC", "LTYPEX", "LTYPERT", + "LCONST", "LFP", "LPC", "LSB", "LBREG", "LLREG", "LSREG", "LFREG", + "LMREG", "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", + "spec12", "rem", "rom", "rim", "rel", "reg", "imm2", "imm", "mem", + "omem", "nmem", "nam", "offset", "pointer", "con", "con2", "expr", 0 }; #endif @@ -579,28 +582,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, 290, 58, 59, 61, 44, - 40, 41, 36, 126 + 285, 286, 287, 288, 289, 290, 291, 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, 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, 61, 61, 62, 63, 64, 64, 65, 65, 66, - 66, 66, 67, 68, 68, 69, 69, 70, 70, 71, - 71, 72, 72, 73, 73, 73, 74, 75, 76, 76, - 77, 77, 78, 78, 79, 79, 79, 79, 79, 79, - 80, 80, 81, 81, 81, 82, 82, 82, 82, 82, - 82, 82, 83, 84, 84, 84, 84, 84, 84, 84, - 85, 85, 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, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 93 + 0, 55, 56, 57, 56, 59, 58, 60, 58, 58, + 58, 58, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 62, 62, 63, 64, 65, 65, 66, 66, + 67, 67, 67, 68, 69, 69, 70, 70, 71, 71, + 72, 72, 73, 73, 74, 74, 74, 75, 76, 77, + 77, 78, 78, 79, 80, 80, 81, 81, 81, 81, + 81, 81, 82, 82, 83, 83, 83, 84, 84, 84, + 84, 84, 84, 84, 85, 86, 86, 86, 86, 86, + 86, 86, 87, 87, 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, 95, 95, 95, 95, 95, 95, + 95, 95, 95, 95, 95 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -609,17 +612,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, 1, 1, 3, - 5, 3, 5, 2, 1, 3, 5, 5, 0, 1, - 3, 5, 1, 1, 1, 1, 2, 2, 1, 1, - 1, 1, 4, 2, 2, 1, 1, 1, 1, 1, - 1, 1, 2, 2, 2, 2, 2, 4, 5, 3, - 1, 1, 1, 4, 4, 4, 6, 9, 3, 3, - 5, 8, 1, 6, 5, 7, 0, 2, 2, 1, - 1, 1, 1, 1, 2, 2, 2, 3, 1, 2, - 3, 4, 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, 1, 1, + 3, 5, 3, 5, 2, 1, 3, 5, 5, 0, + 1, 3, 5, 3, 1, 1, 1, 1, 2, 2, + 1, 1, 1, 1, 4, 2, 2, 1, 1, 1, + 1, 1, 1, 1, 2, 2, 2, 2, 2, 4, + 5, 3, 1, 1, 1, 4, 4, 4, 6, 9, + 3, 3, 5, 8, 1, 6, 5, 7, 0, 2, + 2, 1, 1, 1, 1, 1, 2, 2, 2, 3, + 1, 2, 3, 4, 1, 3, 3, 3, 3, 3, + 4, 4, 3, 3, 3 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -627,85 +630,87 @@ 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, 58, 0, 0, 0, 9, 4, 0, 11, 32, - 14, 0, 0, 112, 75, 77, 80, 76, 78, 81, - 79, 106, 113, 0, 0, 0, 15, 38, 62, 63, - 90, 91, 102, 92, 0, 16, 70, 36, 71, 17, - 0, 18, 0, 0, 106, 106, 0, 22, 46, 64, - 68, 69, 65, 92, 20, 0, 32, 47, 48, 23, - 106, 0, 0, 19, 40, 0, 0, 21, 0, 30, - 0, 24, 0, 25, 0, 26, 54, 27, 0, 28, - 0, 29, 59, 7, 0, 5, 0, 10, 115, 114, - 0, 0, 0, 0, 37, 0, 0, 122, 0, 116, - 0, 0, 0, 86, 85, 0, 84, 83, 35, 0, - 0, 66, 67, 73, 74, 45, 0, 0, 73, 39, - 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, - 12, 0, 13, 106, 107, 108, 0, 0, 98, 99, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 117, 0, 0, 0, 0, 89, 0, 0, 33, 34, - 0, 0, 41, 0, 43, 0, 60, 0, 49, 51, - 55, 0, 0, 8, 6, 0, 111, 109, 110, 0, - 0, 0, 132, 131, 130, 0, 0, 123, 124, 125, - 126, 127, 0, 0, 93, 95, 94, 0, 87, 72, - 0, 0, 118, 82, 0, 0, 0, 0, 0, 0, - 0, 104, 100, 0, 128, 129, 0, 0, 0, 88, - 42, 119, 0, 44, 61, 50, 52, 56, 57, 0, - 0, 103, 96, 0, 0, 120, 105, 0, 0, 121, - 101, 0, 97 + 2, 3, 1, 0, 0, 32, 0, 0, 0, 0, + 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 59, 0, 0, 0, 9, 4, 0, 11, + 33, 14, 0, 0, 114, 77, 79, 82, 78, 80, + 83, 81, 108, 115, 0, 0, 0, 15, 39, 64, + 65, 92, 93, 104, 94, 0, 16, 72, 37, 73, + 17, 0, 18, 0, 0, 108, 108, 0, 22, 47, + 66, 70, 71, 67, 94, 20, 0, 33, 48, 49, + 23, 108, 0, 0, 19, 41, 0, 0, 21, 0, + 30, 0, 31, 0, 24, 0, 25, 0, 26, 55, + 27, 0, 28, 0, 29, 60, 7, 0, 5, 0, + 10, 117, 116, 0, 0, 0, 0, 38, 0, 0, + 124, 0, 118, 0, 0, 0, 88, 87, 0, 86, + 85, 36, 0, 0, 68, 69, 75, 76, 46, 0, + 0, 75, 40, 0, 0, 0, 0, 0, 0, 0, + 54, 0, 0, 0, 12, 0, 13, 108, 109, 110, + 0, 0, 100, 101, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 119, 0, 0, 0, 0, 91, + 0, 0, 34, 35, 0, 0, 42, 0, 44, 0, + 61, 0, 63, 50, 52, 56, 0, 0, 8, 6, + 0, 113, 111, 112, 0, 0, 0, 134, 133, 132, + 0, 0, 125, 126, 127, 128, 129, 0, 0, 95, + 97, 96, 0, 89, 74, 0, 0, 120, 84, 0, + 0, 0, 0, 0, 0, 0, 106, 102, 0, 130, + 131, 0, 0, 0, 90, 43, 121, 0, 45, 62, + 51, 53, 57, 58, 0, 0, 105, 98, 0, 0, + 122, 107, 0, 0, 123, 103, 0, 99 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 3, 26, 151, 149, 27, 30, 59, 61, - 55, 46, 83, 74, 87, 67, 79, 91, 93, 95, - 97, 99, 101, 89, 56, 68, 57, 69, 48, 184, - 58, 49, 50, 51, 52, 113, 199, 53, 223, 118 + -1, 1, 3, 27, 155, 153, 28, 31, 60, 62, + 56, 47, 84, 75, 88, 68, 80, 94, 96, 98, + 100, 102, 104, 90, 92, 57, 69, 58, 70, 49, + 188, 59, 50, 51, 52, 53, 116, 204, 54, 228, + 121 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -97 +#define YYPACT_NINF -110 static const yytype_int16 yypact[] = { - -97, 40, -97, 208, 5, -4, 140, 295, 295, 343, - 233, 15, 319, 381, 91, 91, 295, 295, 295, 222, - 24, 24, -15, 22, 14, -97, -97, 30, -97, -97, - -97, 486, 486, -97, -97, -97, -97, -97, -97, -97, - -97, 42, -97, 343, 406, 486, -97, -97, -97, -97, - -97, -97, 45, 48, 399, -97, -97, 20, -97, -97, - 67, -97, 68, 367, 42, 19, 271, -97, -97, -97, - -97, -97, -97, 87, -97, 127, 343, -97, -97, -97, - 19, 437, 486, -97, -97, 90, 92, -97, 94, -97, - 96, -97, 104, -97, 105, -97, 111, -97, 118, -97, - 119, -97, -97, -97, 486, -97, 486, -97, -97, -97, - 133, 486, 486, 121, -97, 8, 122, -97, 80, -97, - 134, 78, 413, -97, -97, 446, -97, -97, -97, 343, - 295, -97, -97, 121, -97, -97, 7, 486, -97, -97, - 437, 148, 453, 462, 343, 343, 343, 343, 343, 208, - 284, 208, 284, 19, -97, -97, -1, 486, 131, -97, - 486, 486, 486, 166, 177, 486, 486, 486, 486, 486, - -97, 176, 10, 136, 137, -97, 480, 141, -97, -97, - 143, 142, -97, 16, -97, 149, -97, 150, 151, 154, - -97, 152, 155, -97, -97, 156, -97, -97, -97, 157, - 159, 170, 99, 535, 542, 486, 486, 26, 26, -97, - -97, -97, 486, 486, 161, -97, -97, 162, -97, -97, - 24, 184, 198, -97, 163, 24, 181, 183, 486, 222, - 205, -97, -97, 229, 114, 114, 193, 194, 211, -97, - -97, 238, 219, -97, -97, -97, -97, -97, -97, 199, - 486, -97, -97, 244, 232, -97, -97, 214, 486, -97, - -97, 215, -97 + -110, 40, -110, 165, -1, 15, 253, 274, 274, 328, + 196, 12, 307, 372, 411, 411, 7, 274, 274, 274, + 73, 7, 7, -21, 20, 19, -110, -110, 22, -110, + -110, -110, 462, 462, -110, -110, -110, -110, -110, -110, + -110, -110, 24, -110, 328, 378, 462, -110, -110, -110, + -110, -110, -110, 23, 28, 397, -110, -110, 45, -110, + -110, 46, -110, 50, 361, 24, 42, 220, -110, -110, + -110, -110, -110, -110, 47, -110, 92, 328, -110, -110, + -110, 42, 98, 462, -110, -110, 64, 66, -110, 69, + -110, 70, -110, 78, -110, 87, -110, 90, -110, 91, + -110, 100, -110, 103, -110, -110, -110, 462, -110, 462, + -110, -110, -110, 141, 462, 462, 107, -110, 2, 112, + -110, 82, -110, 129, 16, 422, -110, -110, 428, -110, + -110, -110, 328, 274, -110, -110, 107, -110, -110, 6, + 462, -110, -110, 98, 134, 441, 452, 7, 328, 328, + 328, 328, 328, 165, 514, 165, 514, 42, -110, -110, + -5, 462, 117, -110, 462, 462, 462, 163, 164, 462, + 462, 462, 462, 462, -110, 162, 14, 144, 145, -110, + 458, 146, -110, -110, 147, 152, -110, 10, -110, 153, + -110, 166, -110, 167, 168, -110, 169, 170, -110, -110, + 161, -110, -110, -110, 172, 174, 182, 523, 531, 269, + 462, 462, 135, 135, -110, -110, -110, 462, 462, 186, + -110, -110, 191, -110, -110, 7, 190, 229, -110, 195, + 7, 208, 212, 462, 73, 218, -110, -110, 244, 115, + 115, 215, 216, 233, -110, -110, 261, 241, -110, -110, + -110, -110, -110, -110, 221, 462, -110, -110, 275, 255, + -110, -110, 235, 462, -110, -110, 242, -110 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -97, -97, -97, -96, -97, -97, -97, 261, -97, -97, - -97, 262, -97, -97, -97, -97, -97, -97, -97, -97, - -97, -97, -97, -97, 17, 218, -2, -11, -9, 61, - -8, 51, 1, -3, -7, -56, -97, -10, -97, -87 + -110, -110, -110, -109, -110, -110, -110, 283, -110, -110, + -110, 286, -110, -110, -110, -110, -110, -110, -110, -110, + -110, -110, -110, -110, -110, 25, 234, -2, -11, -9, + 71, -8, 48, -3, 11, -7, -56, -110, -10, -110, + -89 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -715,155 +720,153 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -1 static const yytype_uint16 yytable[] = { - 73, 70, 84, 86, 75, 85, 60, 72, 133, 134, - 98, 71, 100, 102, 92, 94, 96, 150, 157, 152, - 213, 108, 109, 47, 138, 221, 62, 111, 112, 47, - 196, 103, 197, 104, 117, 119, 167, 168, 169, 180, - 2, 198, 172, 173, 127, 29, 222, 126, 110, 174, - 111, 112, 28, 193, 131, 194, 73, 70, 41, 158, - 114, 214, 106, 72, 132, 88, 90, 71, 105, 128, - 139, 86, 117, 202, 203, 204, 54, 107, 207, 208, - 209, 210, 211, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 114, 117, 120, 117, 195, 121, 31, - 32, 154, 155, 161, 162, 163, 164, 165, 166, 167, - 168, 169, 109, 172, 173, 117, 129, 130, 234, 235, - 174, 33, 165, 166, 167, 168, 169, 181, 179, 182, - 86, 170, 185, 187, 41, 186, 42, 136, 137, 140, - 153, 44, 141, 142, 45, 143, 178, 200, 31, 32, - 117, 117, 117, 144, 145, 117, 117, 117, 117, 117, - 146, 188, 189, 190, 191, 192, 109, 147, 148, 171, - 33, 156, 205, 159, 34, 35, 36, 37, 38, 39, - 180, 201, 40, 41, 206, 42, 212, 215, 216, 43, - 44, 220, 218, 45, 219, 117, 117, 226, 224, 225, - 227, 228, 236, 237, 229, 233, 230, 242, 231, 4, - 232, 238, 240, 239, 241, 183, 245, 244, 247, 246, - 248, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 249, 250, - 257, 31, 32, 63, 251, 252, 253, 254, 261, 255, - 256, 22, 23, 24, 258, 25, 34, 35, 36, 37, - 38, 39, 259, 33, 40, 260, 262, 34, 35, 36, - 37, 38, 39, 77, 78, 40, 64, 65, 42, 31, - 32, 63, 66, 44, 135, 243, 45, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 0, 0, 0, - 0, 33, 0, 31, 32, 34, 35, 36, 37, 38, - 39, 0, 0, 40, 64, 65, 42, 0, 0, 0, - 0, 44, 0, 0, 45, 33, 0, 31, 32, 34, - 35, 36, 37, 38, 39, 0, 0, 40, 41, 0, - 42, 0, 0, 0, 0, 44, 0, 54, 45, 33, - 0, 31, 32, 34, 35, 36, 37, 38, 39, 0, - 0, 40, 41, 0, 42, 0, 0, 0, 76, 44, - 0, 0, 45, 33, 0, 31, 32, 34, 35, 36, - 37, 38, 39, 0, 0, 40, 41, 0, 42, 31, - 32, 0, 0, 44, 0, 0, 45, 33, 0, 0, - 0, 34, 35, 36, 37, 38, 39, 31, 122, 40, - 0, 33, 42, 0, 31, 32, 0, 44, 0, 0, - 45, 31, 32, 0, 80, 65, 42, 0, 0, 33, - 81, 82, 0, 54, 45, 0, 33, 0, 0, 123, - 124, 115, 41, 33, 42, 31, 32, 0, 116, 125, - 0, 42, 45, 175, 31, 176, 82, 0, 42, 45, - 0, 31, 32, 82, 0, 0, 45, 33, 0, 0, - 31, 32, 0, 0, 0, 0, 33, 0, 0, 0, - 80, 65, 42, 33, 0, 0, 177, 82, 31, 32, - 45, 42, 33, 0, 31, 32, 82, 0, 42, 45, - 0, 0, 0, 82, 0, 183, 45, 42, 0, 0, - 33, 0, 82, 0, 54, 45, 33, 0, 0, 0, - 217, 0, 0, 0, 0, 42, 0, 0, 0, 0, - 82, 42, 0, 45, 0, 0, 82, 0, 0, 45, - 162, 163, 164, 165, 166, 167, 168, 169, 163, 164, - 165, 166, 167, 168, 169 + 74, 71, 85, 87, 76, 86, 61, 72, 93, 136, + 137, 101, 161, 103, 105, 95, 97, 99, 154, 226, + 156, 73, 111, 112, 218, 141, 106, 201, 107, 202, + 113, 48, 114, 115, 63, 120, 122, 48, 203, 184, + 2, 227, 176, 177, 198, 130, 199, 29, 129, 178, + 114, 115, 176, 177, 162, 134, 42, 74, 71, 178, + 55, 135, 89, 91, 72, 30, 219, 108, 109, 117, + 110, 142, 87, 120, 123, 207, 208, 209, 73, 124, + 212, 213, 214, 215, 216, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 131, 132, 120, 139, 120, + 133, 200, 117, 140, 158, 159, 32, 33, 35, 36, + 37, 38, 39, 40, 143, 112, 41, 144, 120, 145, + 146, 239, 240, 169, 170, 171, 172, 173, 147, 34, + 185, 183, 186, 87, 174, 189, 191, 148, 190, 192, + 149, 150, 81, 66, 43, 171, 172, 173, 157, 83, + 151, 205, 46, 152, 120, 120, 120, 182, 160, 120, + 120, 120, 120, 120, 163, 175, 4, 184, 206, 210, + 112, 211, 217, 193, 194, 195, 196, 197, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 220, 221, 223, 224, + 120, 120, 225, 229, 32, 33, 64, 241, 242, 23, + 24, 25, 235, 26, 231, 232, 230, 245, 238, 233, + 234, 246, 249, 252, 236, 253, 237, 34, 32, 33, + 64, 35, 36, 37, 38, 39, 40, 243, 247, 41, + 65, 66, 43, 244, 250, 262, 67, 45, 187, 251, + 46, 34, 254, 266, 255, 35, 36, 37, 38, 39, + 40, 32, 33, 41, 65, 66, 43, 256, 257, 258, + 259, 45, 260, 261, 46, 167, 168, 169, 170, 171, + 172, 173, 32, 33, 34, 263, 264, 265, 35, 36, + 37, 38, 39, 40, 267, 78, 41, 42, 79, 43, + 248, 138, 0, 44, 45, 34, 0, 46, 0, 35, + 36, 37, 38, 39, 40, 32, 33, 41, 42, 0, + 43, 0, 0, 0, 0, 45, 0, 55, 46, 0, + 0, 0, 0, 0, 0, 0, 32, 33, 34, 0, + 0, 0, 35, 36, 37, 38, 39, 40, 0, 0, + 41, 42, 0, 43, 0, 0, 0, 77, 45, 34, + 0, 46, 0, 35, 36, 37, 38, 39, 40, 32, + 33, 41, 42, 0, 43, 0, 0, 0, 0, 45, + 32, 33, 46, 0, 0, 0, 32, 33, 0, 0, + 0, 0, 34, 0, 0, 0, 35, 36, 37, 38, + 39, 40, 0, 34, 41, 32, 125, 43, 0, 34, + 0, 0, 45, 0, 118, 46, 81, 66, 43, 32, + 33, 119, 82, 83, 43, 55, 46, 0, 34, 83, + 32, 33, 46, 0, 0, 0, 32, 180, 126, 127, + 0, 42, 34, 43, 0, 0, 0, 0, 128, 32, + 33, 46, 0, 34, 0, 42, 0, 43, 0, 34, + 32, 33, 45, 179, 0, 46, 32, 33, 43, 181, + 32, 33, 34, 83, 43, 0, 46, 0, 0, 83, + 0, 0, 46, 34, 0, 0, 0, 43, 0, 34, + 0, 0, 83, 34, 187, 46, 0, 0, 43, 222, + 0, 0, 0, 83, 43, 55, 46, 0, 43, 83, + 0, 0, 46, 83, 0, 0, 46, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 166, 167, 168, 169, + 170, 171, 172, 173 }; static const yytype_int16 yycheck[] = { - 10, 10, 13, 13, 11, 13, 8, 10, 64, 65, - 19, 10, 20, 21, 16, 17, 18, 104, 10, 106, - 10, 31, 32, 6, 80, 9, 9, 8, 9, 12, - 31, 46, 33, 48, 44, 45, 10, 11, 12, 32, - 0, 42, 35, 36, 54, 49, 30, 54, 6, 42, - 8, 9, 47, 149, 63, 151, 66, 66, 43, 51, - 43, 51, 48, 66, 63, 14, 15, 66, 46, 49, - 81, 81, 82, 160, 161, 162, 52, 47, 165, 166, - 167, 168, 169, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 76, 104, 50, 106, 153, 50, 8, - 9, 111, 112, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 122, 35, 36, 125, 49, 49, 205, 206, - 42, 30, 8, 9, 10, 11, 12, 137, 130, 140, - 140, 51, 142, 143, 43, 143, 45, 50, 11, 49, - 7, 50, 50, 49, 53, 49, 129, 157, 8, 9, - 160, 161, 162, 49, 49, 165, 166, 167, 168, 169, - 49, 144, 145, 146, 147, 148, 176, 49, 49, 35, - 30, 50, 6, 51, 34, 35, 36, 37, 38, 39, - 32, 50, 42, 43, 7, 45, 10, 51, 51, 49, - 50, 49, 51, 53, 51, 205, 206, 46, 49, 49, - 46, 49, 212, 213, 49, 35, 50, 9, 51, 1, - 51, 50, 220, 51, 30, 52, 35, 225, 228, 36, - 229, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 33, 10, - 250, 8, 9, 10, 51, 51, 35, 9, 258, 30, - 51, 43, 44, 45, 10, 47, 34, 35, 36, 37, - 38, 39, 30, 30, 42, 51, 51, 34, 35, 36, - 37, 38, 39, 12, 12, 42, 43, 44, 45, 8, - 9, 10, 49, 50, 66, 224, 53, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, -1, -1, -1, - -1, 30, -1, 8, 9, 34, 35, 36, 37, 38, - 39, -1, -1, 42, 43, 44, 45, -1, -1, -1, - -1, 50, -1, -1, 53, 30, -1, 8, 9, 34, - 35, 36, 37, 38, 39, -1, -1, 42, 43, -1, - 45, -1, -1, -1, -1, 50, -1, 52, 53, 30, - -1, 8, 9, 34, 35, 36, 37, 38, 39, -1, - -1, 42, 43, -1, 45, -1, -1, -1, 49, 50, - -1, -1, 53, 30, -1, 8, 9, 34, 35, 36, - 37, 38, 39, -1, -1, 42, 43, -1, 45, 8, - 9, -1, -1, 50, -1, -1, 53, 30, -1, -1, - -1, 34, 35, 36, 37, 38, 39, 8, 9, 42, - -1, 30, 45, -1, 8, 9, -1, 50, -1, -1, - 53, 8, 9, -1, 43, 44, 45, -1, -1, 30, - 49, 50, -1, 52, 53, -1, 30, -1, -1, 40, - 41, 35, 43, 30, 45, 8, 9, -1, 42, 50, - -1, 45, 53, 40, 8, 9, 50, -1, 45, 53, - -1, 8, 9, 50, -1, -1, 53, 30, -1, -1, - 8, 9, -1, -1, -1, -1, 30, -1, -1, -1, - 43, 44, 45, 30, -1, -1, 40, 50, 8, 9, - 53, 45, 30, -1, 8, 9, 50, -1, 45, 53, - -1, -1, -1, 50, -1, 52, 53, 45, -1, -1, - 30, -1, 50, -1, 52, 53, 30, -1, -1, -1, - 40, -1, -1, -1, -1, 45, -1, -1, -1, -1, - 50, 45, -1, 53, -1, -1, 50, -1, -1, 53, - 5, 6, 7, 8, 9, 10, 11, 12, 6, 7, - 8, 9, 10, 11, 12 + 10, 10, 13, 13, 11, 13, 8, 10, 16, 65, + 66, 20, 10, 21, 22, 17, 18, 19, 107, 9, + 109, 10, 32, 33, 10, 81, 47, 32, 49, 34, + 6, 6, 8, 9, 9, 45, 46, 12, 43, 33, + 0, 31, 36, 37, 153, 55, 155, 48, 55, 43, + 8, 9, 36, 37, 52, 64, 44, 67, 67, 43, + 53, 64, 14, 15, 67, 50, 52, 47, 49, 44, + 48, 82, 82, 83, 51, 164, 165, 166, 67, 51, + 169, 170, 171, 172, 173, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 50, 50, 107, 51, 109, + 50, 157, 77, 11, 114, 115, 8, 9, 35, 36, + 37, 38, 39, 40, 50, 125, 43, 51, 128, 50, + 50, 210, 211, 8, 9, 10, 11, 12, 50, 31, + 140, 133, 143, 143, 52, 145, 146, 50, 146, 147, + 50, 50, 44, 45, 46, 10, 11, 12, 7, 51, + 50, 161, 54, 50, 164, 165, 166, 132, 51, 169, + 170, 171, 172, 173, 52, 36, 1, 33, 51, 6, + 180, 7, 10, 148, 149, 150, 151, 152, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 52, 52, 52, 52, + 210, 211, 50, 50, 8, 9, 10, 217, 218, 44, + 45, 46, 51, 48, 47, 47, 50, 225, 36, 50, + 50, 31, 230, 233, 52, 234, 52, 31, 8, 9, + 10, 35, 36, 37, 38, 39, 40, 51, 9, 43, + 44, 45, 46, 52, 36, 255, 50, 51, 53, 37, + 54, 31, 34, 263, 10, 35, 36, 37, 38, 39, + 40, 8, 9, 43, 44, 45, 46, 52, 52, 36, + 9, 51, 31, 52, 54, 6, 7, 8, 9, 10, + 11, 12, 8, 9, 31, 10, 31, 52, 35, 36, + 37, 38, 39, 40, 52, 12, 43, 44, 12, 46, + 229, 67, -1, 50, 51, 31, -1, 54, -1, 35, + 36, 37, 38, 39, 40, 8, 9, 43, 44, -1, + 46, -1, -1, -1, -1, 51, -1, 53, 54, -1, + -1, -1, -1, -1, -1, -1, 8, 9, 31, -1, + -1, -1, 35, 36, 37, 38, 39, 40, -1, -1, + 43, 44, -1, 46, -1, -1, -1, 50, 51, 31, + -1, 54, -1, 35, 36, 37, 38, 39, 40, 8, + 9, 43, 44, -1, 46, -1, -1, -1, -1, 51, + 8, 9, 54, -1, -1, -1, 8, 9, -1, -1, + -1, -1, 31, -1, -1, -1, 35, 36, 37, 38, + 39, 40, -1, 31, 43, 8, 9, 46, -1, 31, + -1, -1, 51, -1, 36, 54, 44, 45, 46, 8, + 9, 43, 50, 51, 46, 53, 54, -1, 31, 51, + 8, 9, 54, -1, -1, -1, 8, 9, 41, 42, + -1, 44, 31, 46, -1, -1, -1, -1, 51, 8, + 9, 54, -1, 31, -1, 44, -1, 46, -1, 31, + 8, 9, 51, 41, -1, 54, 8, 9, 46, 41, + 8, 9, 31, 51, 46, -1, 54, -1, -1, 51, + -1, -1, 54, 31, -1, -1, -1, 46, -1, 31, + -1, -1, 51, 31, 53, 54, -1, -1, 46, 41, + -1, -1, -1, 51, 46, 53, 54, -1, 46, 51, + -1, -1, 54, 51, -1, -1, 54, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 5, 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, 55, 0, 56, 1, 13, 14, 15, 16, 17, + 0, 56, 0, 57, 1, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 43, 44, 45, 47, 57, 60, 47, 49, - 61, 8, 9, 30, 34, 35, 36, 37, 38, 39, - 42, 43, 45, 49, 50, 53, 65, 78, 82, 85, - 86, 87, 88, 91, 52, 64, 78, 80, 84, 62, - 80, 63, 78, 10, 43, 44, 49, 69, 79, 81, - 82, 86, 87, 91, 67, 88, 49, 61, 65, 70, - 43, 49, 50, 66, 81, 84, 91, 68, 85, 77, - 85, 71, 80, 72, 80, 73, 80, 74, 82, 75, - 84, 76, 84, 46, 48, 46, 48, 47, 91, 91, - 6, 8, 9, 89, 78, 35, 42, 91, 93, 91, - 50, 50, 9, 40, 41, 50, 88, 91, 49, 49, - 49, 82, 86, 89, 89, 79, 50, 11, 89, 81, - 49, 50, 49, 49, 49, 49, 49, 49, 49, 59, - 93, 58, 93, 7, 91, 91, 50, 10, 51, 51, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 51, 35, 35, 36, 42, 40, 9, 40, 78, 80, - 32, 91, 81, 52, 83, 91, 84, 91, 78, 78, - 78, 78, 78, 57, 57, 89, 31, 33, 42, 90, - 91, 50, 93, 93, 93, 6, 7, 93, 93, 93, - 93, 93, 10, 10, 51, 51, 51, 40, 51, 51, - 49, 9, 30, 92, 49, 49, 46, 46, 49, 49, - 50, 51, 51, 35, 93, 93, 91, 91, 50, 51, - 84, 30, 9, 83, 84, 35, 36, 91, 82, 33, - 10, 51, 51, 35, 9, 30, 51, 91, 10, 30, - 51, 91, 51 + 28, 29, 30, 44, 45, 46, 48, 58, 61, 48, + 50, 62, 8, 9, 31, 35, 36, 37, 38, 39, + 40, 43, 44, 46, 50, 51, 54, 66, 80, 84, + 87, 88, 89, 90, 93, 53, 65, 80, 82, 86, + 63, 82, 64, 80, 10, 44, 45, 50, 70, 81, + 83, 84, 88, 89, 93, 68, 90, 50, 62, 66, + 71, 44, 50, 51, 67, 83, 86, 93, 69, 87, + 78, 87, 79, 86, 72, 82, 73, 82, 74, 82, + 75, 84, 76, 86, 77, 86, 47, 49, 47, 49, + 48, 93, 93, 6, 8, 9, 91, 80, 36, 43, + 93, 95, 93, 51, 51, 9, 41, 42, 51, 90, + 93, 50, 50, 50, 84, 88, 91, 91, 81, 51, + 11, 91, 83, 50, 51, 50, 50, 50, 50, 50, + 50, 50, 50, 60, 95, 59, 95, 7, 93, 93, + 51, 10, 52, 52, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 52, 36, 36, 37, 43, 41, + 9, 41, 80, 82, 33, 93, 83, 53, 85, 93, + 86, 93, 86, 80, 80, 80, 80, 80, 58, 58, + 91, 32, 34, 43, 92, 93, 51, 95, 95, 95, + 6, 7, 95, 95, 95, 95, 95, 10, 10, 52, + 52, 52, 41, 52, 52, 50, 9, 31, 94, 50, + 50, 47, 47, 50, 50, 51, 52, 52, 36, 95, + 95, 93, 93, 51, 52, 86, 31, 9, 85, 86, + 36, 37, 93, 84, 34, 10, 52, 52, 36, 9, + 31, 52, 93, 10, 31, 52, 93, 52 }; #define yyerrok (yyerrstatus = 0) @@ -1804,95 +1807,100 @@ yyreduce: break; case 31: -#line 120 "a.y" +#line 118 "a.y" + { outcode((yyvsp[(1) - (2)].lval), &(yyvsp[(2) - (2)].gen2)); } + break; + + case 32: +#line 121 "a.y" { (yyval.gen2).from = nullgen; (yyval.gen2).to = nullgen; } break; - case 32: -#line 125 "a.y" + case 33: +#line 126 "a.y" { (yyval.gen2).from = nullgen; (yyval.gen2).to = nullgen; } break; - case 33: -#line 132 "a.y" + case 34: +#line 133 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (3)].gen); (yyval.gen2).to = (yyvsp[(3) - (3)].gen); } break; - case 34: -#line 139 "a.y" + case 35: +#line 140 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (3)].gen); (yyval.gen2).to = (yyvsp[(3) - (3)].gen); } break; - case 35: -#line 146 "a.y" + case 36: +#line 147 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (2)].gen); (yyval.gen2).to = nullgen; } break; - case 36: -#line 151 "a.y" + case 37: +#line 152 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (1)].gen); (yyval.gen2).to = nullgen; } break; - case 37: -#line 158 "a.y" + case 38: +#line 159 "a.y" { (yyval.gen2).from = nullgen; (yyval.gen2).to = (yyvsp[(2) - (2)].gen); } break; - case 38: -#line 163 "a.y" + case 39: +#line 164 "a.y" { (yyval.gen2).from = nullgen; (yyval.gen2).to = (yyvsp[(1) - (1)].gen); } break; - case 39: -#line 170 "a.y" + case 40: +#line 171 "a.y" { (yyval.gen2).from = nullgen; (yyval.gen2).to = (yyvsp[(2) - (2)].gen); } break; - case 40: -#line 175 "a.y" + case 41: +#line 176 "a.y" { (yyval.gen2).from = nullgen; (yyval.gen2).to = (yyvsp[(1) - (1)].gen); } break; - case 41: -#line 180 "a.y" + case 42: +#line 181 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (3)].gen); (yyval.gen2).to = (yyvsp[(3) - (3)].gen); } break; - case 42: -#line 187 "a.y" + case 43: +#line 188 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (5)].gen); (yyval.gen2).from.scale = (yyvsp[(3) - (5)].lval); @@ -1900,16 +1908,16 @@ yyreduce: } break; - case 43: -#line 195 "a.y" + case 44: +#line 196 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (3)].gen); (yyval.gen2).to = (yyvsp[(3) - (3)].gen); } break; - case 44: -#line 200 "a.y" + case 45: +#line 201 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (5)].gen); (yyval.gen2).from.scale = (yyvsp[(3) - (5)].lval); @@ -1917,32 +1925,32 @@ yyreduce: } break; - case 45: -#line 208 "a.y" + case 46: +#line 209 "a.y" { (yyval.gen2).from = nullgen; (yyval.gen2).to = (yyvsp[(2) - (2)].gen); } break; - case 46: -#line 213 "a.y" + case 47: +#line 214 "a.y" { (yyval.gen2).from = nullgen; (yyval.gen2).to = (yyvsp[(1) - (1)].gen); } break; - case 49: -#line 224 "a.y" + case 50: +#line 225 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (3)].gen); (yyval.gen2).to = (yyvsp[(3) - (3)].gen); } break; - case 50: -#line 229 "a.y" + case 51: +#line 230 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (5)].gen); (yyval.gen2).to = (yyvsp[(3) - (5)].gen); @@ -1952,16 +1960,16 @@ yyreduce: } break; - case 51: -#line 239 "a.y" + case 52: +#line 240 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (3)].gen); (yyval.gen2).to = (yyvsp[(3) - (3)].gen); } break; - case 52: -#line 244 "a.y" + case 53: +#line 245 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (5)].gen); (yyval.gen2).to = (yyvsp[(3) - (5)].gen); @@ -1971,32 +1979,32 @@ yyreduce: } break; - case 53: -#line 254 "a.y" + case 54: +#line 255 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (2)].gen); (yyval.gen2).to = nullgen; } break; - case 54: -#line 259 "a.y" + case 55: +#line 260 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (1)].gen); (yyval.gen2).to = nullgen; } break; - case 55: -#line 264 "a.y" + case 56: +#line 265 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (3)].gen); (yyval.gen2).to = (yyvsp[(3) - (3)].gen); } break; - case 56: -#line 271 "a.y" + case 57: +#line 272 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (5)].gen); (yyval.gen2).to = (yyvsp[(3) - (5)].gen); @@ -2004,8 +2012,8 @@ yyreduce: } break; - case 57: -#line 279 "a.y" + case 58: +#line 280 "a.y" { (yyval.gen2).from = (yyvsp[(3) - (5)].gen); (yyval.gen2).to = (yyvsp[(5) - (5)].gen); @@ -2015,32 +2023,32 @@ yyreduce: } break; - case 58: -#line 288 "a.y" + case 59: +#line 289 "a.y" { (yyval.gen2).from = nullgen; (yyval.gen2).to = nullgen; } break; - case 59: -#line 293 "a.y" + case 60: +#line 294 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (1)].gen); (yyval.gen2).to = nullgen; } break; - case 60: -#line 300 "a.y" + case 61: +#line 301 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (3)].gen); (yyval.gen2).to = (yyvsp[(3) - (3)].gen); } break; - case 61: -#line 305 "a.y" + case 62: +#line 306 "a.y" { (yyval.gen2).from = (yyvsp[(1) - (5)].gen); (yyval.gen2).from.scale = (yyvsp[(3) - (5)].lval); @@ -2048,22 +2056,30 @@ yyreduce: } break; - case 66: -#line 319 "a.y" + case 63: +#line 314 "a.y" + { + (yyval.gen2).from = (yyvsp[(1) - (3)].gen); + (yyval.gen2).to = (yyvsp[(3) - (3)].gen); + } + break; + + case 68: +#line 327 "a.y" { (yyval.gen) = (yyvsp[(2) - (2)].gen); } break; - case 67: -#line 323 "a.y" + case 69: +#line 331 "a.y" { (yyval.gen) = (yyvsp[(2) - (2)].gen); } break; - case 72: -#line 335 "a.y" + case 74: +#line 343 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_BRANCH; @@ -2071,8 +2087,8 @@ yyreduce: } break; - case 73: -#line 341 "a.y" + case 75: +#line 349 "a.y" { (yyval.gen) = nullgen; if(pass == 2) @@ -2083,8 +2099,8 @@ yyreduce: } break; - case 74: -#line 350 "a.y" + case 76: +#line 358 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_BRANCH; @@ -2093,64 +2109,64 @@ yyreduce: } break; - case 75: -#line 359 "a.y" + case 77: +#line 367 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = (yyvsp[(1) - (1)].lval); } break; - case 76: -#line 364 "a.y" + case 78: +#line 372 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = (yyvsp[(1) - (1)].lval); } break; - case 77: -#line 369 "a.y" + case 79: +#line 377 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = (yyvsp[(1) - (1)].lval); } break; - case 78: -#line 374 "a.y" + case 80: +#line 382 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = (yyvsp[(1) - (1)].lval); } break; - case 79: -#line 379 "a.y" + case 81: +#line 387 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_SP; } break; - case 80: -#line 384 "a.y" + case 82: +#line 392 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = (yyvsp[(1) - (1)].lval); } break; - case 81: -#line 389 "a.y" + case 83: +#line 397 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = (yyvsp[(1) - (1)].lval); } break; - case 82: -#line 395 "a.y" + case 84: +#line 403 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_CONST; @@ -2158,8 +2174,8 @@ yyreduce: } break; - case 83: -#line 403 "a.y" + case 85: +#line 411 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_CONST; @@ -2167,8 +2183,8 @@ yyreduce: } break; - case 84: -#line 409 "a.y" + case 86: +#line 417 "a.y" { (yyval.gen) = (yyvsp[(2) - (2)].gen); (yyval.gen).index = (yyvsp[(2) - (2)].gen).type; @@ -2181,8 +2197,8 @@ yyreduce: } break; - case 85: -#line 420 "a.y" + case 87: +#line 428 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_SCONST; @@ -2190,8 +2206,8 @@ yyreduce: } break; - case 86: -#line 426 "a.y" + case 88: +#line 434 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_FCONST; @@ -2199,8 +2215,8 @@ yyreduce: } break; - case 87: -#line 432 "a.y" + case 89: +#line 440 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_FCONST; @@ -2208,8 +2224,8 @@ yyreduce: } break; - case 88: -#line 438 "a.y" + case 90: +#line 446 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_FCONST; @@ -2217,8 +2233,8 @@ yyreduce: } break; - case 89: -#line 444 "a.y" + case 91: +#line 452 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_FCONST; @@ -2226,8 +2242,8 @@ yyreduce: } break; - case 92: -#line 456 "a.y" + case 94: +#line 464 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_INDIR+D_NONE; @@ -2235,8 +2251,8 @@ yyreduce: } break; - case 93: -#line 462 "a.y" + case 95: +#line 470 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_INDIR+(yyvsp[(3) - (4)].lval); @@ -2244,8 +2260,8 @@ yyreduce: } break; - case 94: -#line 468 "a.y" + case 96: +#line 476 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_INDIR+D_SP; @@ -2253,8 +2269,8 @@ yyreduce: } break; - case 95: -#line 474 "a.y" + case 97: +#line 482 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_INDIR+(yyvsp[(3) - (4)].lval); @@ -2262,8 +2278,8 @@ yyreduce: } break; - case 96: -#line 480 "a.y" + case 98: +#line 488 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_INDIR+D_NONE; @@ -2274,8 +2290,8 @@ yyreduce: } break; - case 97: -#line 489 "a.y" + case 99: +#line 497 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_INDIR+(yyvsp[(3) - (9)].lval); @@ -2286,24 +2302,24 @@ yyreduce: } break; - case 98: -#line 498 "a.y" + case 100: +#line 506 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_INDIR+(yyvsp[(2) - (3)].lval); } break; - case 99: -#line 503 "a.y" + case 101: +#line 511 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_INDIR+D_SP; } break; - case 100: -#line 508 "a.y" + case 102: +#line 516 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_INDIR+D_NONE; @@ -2313,8 +2329,8 @@ yyreduce: } break; - case 101: -#line 516 "a.y" + case 103: +#line 524 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_INDIR+(yyvsp[(2) - (8)].lval); @@ -2324,15 +2340,15 @@ yyreduce: } break; - case 102: -#line 526 "a.y" + case 104: +#line 534 "a.y" { (yyval.gen) = (yyvsp[(1) - (1)].gen); } break; - case 103: -#line 530 "a.y" + case 105: +#line 538 "a.y" { (yyval.gen) = (yyvsp[(1) - (6)].gen); (yyval.gen).index = (yyvsp[(3) - (6)].lval); @@ -2341,8 +2357,8 @@ yyreduce: } break; - case 104: -#line 539 "a.y" + case 106: +#line 547 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = (yyvsp[(4) - (5)].lval); @@ -2351,8 +2367,8 @@ yyreduce: } break; - case 105: -#line 546 "a.y" + case 107: +#line 554 "a.y" { (yyval.gen) = nullgen; (yyval.gen).type = D_STATIC; @@ -2361,164 +2377,164 @@ yyreduce: } break; - case 106: -#line 554 "a.y" + case 108: +#line 562 "a.y" { (yyval.lval) = 0; } break; - case 107: -#line 558 "a.y" + case 109: +#line 566 "a.y" { (yyval.lval) = (yyvsp[(2) - (2)].lval); } break; - case 108: -#line 562 "a.y" + case 110: +#line 570 "a.y" { (yyval.lval) = -(yyvsp[(2) - (2)].lval); } break; - case 110: -#line 569 "a.y" + case 112: +#line 577 "a.y" { (yyval.lval) = D_AUTO; } break; - case 113: -#line 577 "a.y" + case 115: +#line 585 "a.y" { (yyval.lval) = (yyvsp[(1) - (1)].sym)->value; } break; - case 114: -#line 581 "a.y" + case 116: +#line 589 "a.y" { (yyval.lval) = -(yyvsp[(2) - (2)].lval); } break; - case 115: -#line 585 "a.y" + case 117: +#line 593 "a.y" { (yyval.lval) = (yyvsp[(2) - (2)].lval); } break; - case 116: -#line 589 "a.y" + case 118: +#line 597 "a.y" { (yyval.lval) = ~(yyvsp[(2) - (2)].lval); } break; - case 117: -#line 593 "a.y" + case 119: +#line 601 "a.y" { (yyval.lval) = (yyvsp[(2) - (3)].lval); } break; - case 118: -#line 599 "a.y" + case 120: +#line 607 "a.y" { (yyval.lval) = (yyvsp[(1) - (1)].lval) & 0xffffffffLL; } break; - case 119: -#line 603 "a.y" + case 121: +#line 611 "a.y" { (yyval.lval) = -(yyvsp[(2) - (2)].lval) & 0xffffffffLL; } break; - case 120: -#line 607 "a.y" + case 122: +#line 615 "a.y" { (yyval.lval) = ((yyvsp[(1) - (3)].lval) & 0xffffffffLL) + (((yyvsp[(3) - (3)].lval) & 0xffffLL) << 32); } break; - case 121: -#line 612 "a.y" + case 123: +#line 620 "a.y" { (yyval.lval) = (-(yyvsp[(2) - (4)].lval) & 0xffffffffLL) + (((yyvsp[(4) - (4)].lval) & 0xffffLL) << 32); } break; - case 123: -#line 620 "a.y" + case 125: +#line 628 "a.y" { (yyval.lval) = (yyvsp[(1) - (3)].lval) + (yyvsp[(3) - (3)].lval); } break; - case 124: -#line 624 "a.y" + case 126: +#line 632 "a.y" { (yyval.lval) = (yyvsp[(1) - (3)].lval) - (yyvsp[(3) - (3)].lval); } break; - case 125: -#line 628 "a.y" + case 127: +#line 636 "a.y" { (yyval.lval) = (yyvsp[(1) - (3)].lval) * (yyvsp[(3) - (3)].lval); } break; - case 126: -#line 632 "a.y" + case 128: +#line 640 "a.y" { (yyval.lval) = (yyvsp[(1) - (3)].lval) / (yyvsp[(3) - (3)].lval); } break; - case 127: -#line 636 "a.y" + case 129: +#line 644 "a.y" { (yyval.lval) = (yyvsp[(1) - (3)].lval) % (yyvsp[(3) - (3)].lval); } break; - case 128: -#line 640 "a.y" + case 130: +#line 648 "a.y" { (yyval.lval) = (yyvsp[(1) - (4)].lval) << (yyvsp[(4) - (4)].lval); } break; - case 129: -#line 644 "a.y" + case 131: +#line 652 "a.y" { (yyval.lval) = (yyvsp[(1) - (4)].lval) >> (yyvsp[(4) - (4)].lval); } break; - case 130: -#line 648 "a.y" + case 132: +#line 656 "a.y" { (yyval.lval) = (yyvsp[(1) - (3)].lval) & (yyvsp[(3) - (3)].lval); } break; - case 131: -#line 652 "a.y" + case 133: +#line 660 "a.y" { (yyval.lval) = (yyvsp[(1) - (3)].lval) ^ (yyvsp[(3) - (3)].lval); } break; - case 132: -#line 656 "a.y" + case 134: +#line 664 "a.y" { (yyval.lval) = (yyvsp[(1) - (3)].lval) | (yyvsp[(3) - (3)].lval); } @@ -2526,7 +2542,7 @@ yyreduce: /* Line 1267 of yacc.c. */ -#line 2530 "y.tab.c" +#line 2546 "y.tab.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); diff --git a/src/cmd/6a/y.tab.h b/src/cmd/6a/y.tab.h index 3cca766d3..bb529b828 100644 --- a/src/cmd/6a/y.tab.h +++ b/src/cmd/6a/y.tab.h @@ -50,28 +50,29 @@ LTYPER = 266, LTYPET = 267, LTYPEG = 268, - LTYPES = 269, - LTYPEM = 270, - LTYPEI = 271, - LTYPEXC = 272, - LTYPEX = 273, - LTYPERT = 274, - LCONST = 275, - LFP = 276, - LPC = 277, - LSB = 278, - LBREG = 279, - LLREG = 280, - LSREG = 281, - LFREG = 282, - LMREG = 283, - LXREG = 284, - LFCONST = 285, - LSCONST = 286, - LSP = 287, - LNAME = 288, - LLAB = 289, - LVAR = 290 + LTYPEPC = 269, + LTYPES = 270, + LTYPEM = 271, + LTYPEI = 272, + LTYPEXC = 273, + LTYPEX = 274, + LTYPERT = 275, + LCONST = 276, + LFP = 277, + LPC = 278, + LSB = 279, + LBREG = 280, + LLREG = 281, + LSREG = 282, + LFREG = 283, + LMREG = 284, + LXREG = 285, + LFCONST = 286, + LSCONST = 287, + LSP = 288, + LNAME = 289, + LLAB = 290, + LVAR = 291 }; #endif /* Tokens. */ @@ -86,28 +87,29 @@ #define LTYPER 266 #define LTYPET 267 #define LTYPEG 268 -#define LTYPES 269 -#define LTYPEM 270 -#define LTYPEI 271 -#define LTYPEXC 272 -#define LTYPEX 273 -#define LTYPERT 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 LMREG 283 -#define LXREG 284 -#define LFCONST 285 -#define LSCONST 286 -#define LSP 287 -#define LNAME 288 -#define LLAB 289 -#define LVAR 290 +#define LTYPEPC 269 +#define LTYPES 270 +#define LTYPEM 271 +#define LTYPEI 272 +#define LTYPEXC 273 +#define LTYPEX 274 +#define LTYPERT 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 LMREG 284 +#define LXREG 285 +#define LFCONST 286 +#define LSCONST 287 +#define LSP 288 +#define LNAME 289 +#define LLAB 290 +#define LVAR 291 @@ -124,7 +126,7 @@ typedef union YYSTYPE Gen2 gen2; } /* Line 1529 of yacc.c. */ -#line 128 "y.tab.h" +#line 130 "y.tab.h" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 |