Commit a293c7e6 authored by Russ Cox's avatar Russ Cox

cmd/9a: fix GLOBL instruction

Because it was lumped in with the TEXT instruction,
the high 32 bits of the 64-bit constant holding the size
were always set to 0x80000000 (ArgsSizeUnknown).
This only worked because cmd/9l was reading the 64-bit
value into an int32.

While we're here, fix 5a.
It wasn't as much of a problem there because
the two values were being stored in two different fields.
But it was still wrong.

Change-Id: I69a2214c7be939530d499e29cfdc3b26720ac05a
Reviewed-on: https://go-review.googlesource.com/3570Reviewed-by: default avatarAustin Clements <austin@google.com>
parent eaa87200
......@@ -51,7 +51,7 @@
%left '*' '/' '%'
%token <lval> LTYPE1 LTYPE2 LTYPE3 LTYPE4 LTYPE5
%token <lval> LTYPE6 LTYPE7 LTYPE8 LTYPE9 LTYPEA
%token <lval> LTYPEB LTYPEC LTYPED LTYPEE
%token <lval> LTYPEB LGLOBL LTYPEC LTYPED LTYPEE
%token <lval> LTYPEG LTYPEH LTYPEI LTYPEJ LTYPEK
%token <lval> LTYPEL LTYPEM LTYPEN LTYPEBX LTYPEPLD
%token <lval> LCONST LSP LSB LFP LPC
......@@ -210,7 +210,7 @@ inst:
outcode($1, $2, &nullgen, 0, &nullgen);
}
/*
* TEXT/GLOBL
* TEXT
*/
| LTYPEB name ',' imm
{
......@@ -233,6 +233,19 @@ inst:
$6.u.argsize = $8;
outcode($1, Always, &$2, $4, &$6);
}
/*
* GLOBL
*/
| LGLOBL name ',' imm
{
settext($2.sym);
outcode($1, Always, &$2, 0, &$4);
}
| LGLOBL name ',' con ',' imm
{
settext($2.sym);
outcode($1, Always, &$2, $4, &$6);
}
/*
* DATA
*/
......
......@@ -406,7 +406,7 @@ struct
"RFE", LTYPEA, ARFE,
"TEXT", LTYPEB, ATEXT,
"GLOBL", LTYPEB, AGLOBL,
"GLOBL", LGLOBL, AGLOBL,
"DATA", LTYPEC, ADATA,
"CASE", LTYPED, ACASE,
"END", LTYPEE, AEND,
......
......@@ -77,43 +77,44 @@
LTYPE9 = 266,
LTYPEA = 267,
LTYPEB = 268,
LTYPEC = 269,
LTYPED = 270,
LTYPEE = 271,
LTYPEG = 272,
LTYPEH = 273,
LTYPEI = 274,
LTYPEJ = 275,
LTYPEK = 276,
LTYPEL = 277,
LTYPEM = 278,
LTYPEN = 279,
LTYPEBX = 280,
LTYPEPLD = 281,
LCONST = 282,
LSP = 283,
LSB = 284,
LFP = 285,
LPC = 286,
LTYPEX = 287,
LTYPEPC = 288,
LTYPEF = 289,
LR = 290,
LREG = 291,
LF = 292,
LFREG = 293,
LC = 294,
LCREG = 295,
LPSR = 296,
LFCR = 297,
LCOND = 298,
LS = 299,
LAT = 300,
LFCONST = 301,
LSCONST = 302,
LNAME = 303,
LLAB = 304,
LVAR = 305
LGLOBL = 269,
LTYPEC = 270,
LTYPED = 271,
LTYPEE = 272,
LTYPEG = 273,
LTYPEH = 274,
LTYPEI = 275,
LTYPEJ = 276,
LTYPEK = 277,
LTYPEL = 278,
LTYPEM = 279,
LTYPEN = 280,
LTYPEBX = 281,
LTYPEPLD = 282,
LCONST = 283,
LSP = 284,
LSB = 285,
LFP = 286,
LPC = 287,
LTYPEX = 288,
LTYPEPC = 289,
LTYPEF = 290,
LR = 291,
LREG = 292,
LF = 293,
LFREG = 294,
LC = 295,
LCREG = 296,
LPSR = 297,
LFCR = 298,
LCOND = 299,
LS = 300,
LAT = 301,
LFCONST = 302,
LSCONST = 303,
LNAME = 304,
LLAB = 305,
LVAR = 306
};
#endif
/* Tokens. */
......@@ -128,43 +129,44 @@
#define LTYPE9 266
#define LTYPEA 267
#define LTYPEB 268
#define LTYPEC 269
#define LTYPED 270
#define LTYPEE 271
#define LTYPEG 272
#define LTYPEH 273
#define LTYPEI 274
#define LTYPEJ 275
#define LTYPEK 276
#define LTYPEL 277
#define LTYPEM 278
#define LTYPEN 279
#define LTYPEBX 280
#define LTYPEPLD 281
#define LCONST 282
#define LSP 283
#define LSB 284
#define LFP 285
#define LPC 286
#define LTYPEX 287
#define LTYPEPC 288
#define LTYPEF 289
#define LR 290
#define LREG 291
#define LF 292
#define LFREG 293
#define LC 294
#define LCREG 295
#define LPSR 296
#define LFCR 297
#define LCOND 298
#define LS 299
#define LAT 300
#define LFCONST 301
#define LSCONST 302
#define LNAME 303
#define LLAB 304
#define LVAR 305
#define LGLOBL 269
#define LTYPEC 270
#define LTYPED 271
#define LTYPEE 272
#define LTYPEG 273
#define LTYPEH 274
#define LTYPEI 275
#define LTYPEJ 276
#define LTYPEK 277
#define LTYPEL 278
#define LTYPEM 279
#define LTYPEN 280
#define LTYPEBX 281
#define LTYPEPLD 282
#define LCONST 283
#define LSP 284
#define LSB 285
#define LFP 286
#define LPC 287
#define LTYPEX 288
#define LTYPEPC 289
#define LTYPEF 290
#define LR 291
#define LREG 292
#define LF 293
#define LFREG 294
#define LC 295
#define LCREG 296
#define LPSR 297
#define LFCR 298
#define LCOND 299
#define LS 300
#define LAT 301
#define LFCONST 302
#define LSCONST 303
#define LNAME 304
#define LLAB 305
#define LVAR 306
......@@ -208,7 +210,7 @@ typedef union YYSTYPE
Addr addr;
}
/* Line 193 of yacc.c. */
#line 212 "y.tab.c"
#line 214 "y.tab.c"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
......@@ -221,7 +223,7 @@ typedef union YYSTYPE
/* Line 216 of yacc.c. */
#line 225 "y.tab.c"
#line 227 "y.tab.c"
#ifdef short
# undef short
......@@ -436,20 +438,20 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 2
/* YYLAST -- Last index in YYTABLE. */
#define YYLAST 624
#define YYLAST 636
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 71
#define YYNTOKENS 72
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 34
/* YYNRULES -- Number of rules. */
#define YYNRULES 129
#define YYNRULES 131
/* YYNRULES -- Number of states. */
#define YYNSTATES 330
#define YYNSTATES 337
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 305
#define YYMAXUTOK 306
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
......@@ -460,16 +462,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, 69, 12, 5, 2,
67, 68, 10, 8, 64, 9, 2, 11, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 61, 63,
6, 62, 7, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 70, 12, 5, 2,
68, 69, 10, 8, 65, 9, 2, 11, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 62, 64,
6, 63, 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, 65, 2, 66, 4, 2, 2, 2, 2, 2,
2, 66, 2, 67, 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, 70, 2, 2, 2,
2, 2, 2, 2, 3, 2, 71, 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,
......@@ -487,7 +489,7 @@ static const yytype_uint8 yytranslate[] =
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, 56, 57, 58, 59, 60
55, 56, 57, 58, 59, 60, 61
};
#if YYDEBUG
......@@ -498,72 +500,75 @@ static const yytype_uint16 yyprhs[] =
0, 0, 3, 4, 5, 9, 10, 15, 20, 25,
27, 30, 33, 41, 48, 54, 60, 66, 71, 76,
80, 84, 89, 96, 104, 112, 120, 127, 134, 138,
143, 150, 159, 166, 171, 175, 181, 187, 195, 202,
215, 223, 233, 236, 241, 246, 249, 250, 253, 256,
257, 260, 265, 268, 271, 274, 277, 279, 282, 286,
288, 292, 296, 298, 300, 302, 307, 309, 311, 313,
315, 317, 319, 321, 325, 327, 332, 334, 339, 341,
343, 345, 347, 350, 352, 358, 363, 368, 373, 378,
380, 382, 384, 386, 391, 393, 395, 397, 402, 404,
406, 408, 413, 418, 424, 432, 433, 436, 439, 441,
443, 445, 447, 449, 452, 455, 458, 462, 463, 466,
468, 472, 476, 480, 484, 488, 493, 498, 502, 506
143, 150, 159, 164, 171, 178, 183, 187, 193, 199,
207, 214, 227, 235, 245, 248, 253, 258, 261, 262,
265, 268, 269, 272, 277, 280, 283, 286, 289, 291,
294, 298, 300, 304, 308, 310, 312, 314, 319, 321,
323, 325, 327, 329, 331, 333, 337, 339, 344, 346,
351, 353, 355, 357, 359, 362, 364, 370, 375, 380,
385, 390, 392, 394, 396, 398, 403, 405, 407, 409,
414, 416, 418, 420, 425, 430, 436, 444, 445, 448,
451, 453, 455, 457, 459, 461, 464, 467, 470, 474,
475, 478, 480, 484, 488, 492, 496, 500, 505, 510,
514, 518
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int8 yyrhs[] =
{
72, 0, -1, -1, -1, 72, 73, 74, -1, -1,
58, 61, 75, 74, -1, 58, 62, 104, 63, -1,
60, 62, 104, 63, -1, 63, -1, 76, 63, -1,
1, 63, -1, 13, 77, 88, 64, 95, 64, 90,
-1, 13, 77, 88, 64, 95, 64, -1, 13, 77,
88, 64, 90, -1, 14, 77, 88, 64, 90, -1,
15, 77, 83, 64, 83, -1, 16, 77, 78, 79,
-1, 16, 77, 78, 84, -1, 35, 78, 85, -1,
17, 78, 79, -1, 18, 77, 78, 83, -1, 19,
77, 88, 64, 95, 78, -1, 20, 77, 86, 64,
65, 82, 66, -1, 20, 77, 65, 82, 66, 64,
86, -1, 21, 77, 90, 64, 85, 64, 90, -1,
21, 77, 90, 64, 85, 78, -1, 21, 77, 78,
85, 64, 90, -1, 22, 77, 78, -1, 23, 99,
64, 89, -1, 23, 99, 64, 102, 64, 89, -1,
23, 99, 64, 102, 64, 89, 9, 102, -1, 24,
99, 11, 102, 64, 80, -1, 25, 77, 90, 78,
-1, 28, 78, 80, -1, 29, 77, 98, 64, 98,
-1, 31, 77, 97, 64, 98, -1, 31, 77, 97,
64, 48, 64, 98, -1, 32, 77, 98, 64, 98,
78, -1, 30, 77, 102, 64, 104, 64, 95, 64,
96, 64, 96, 103, -1, 33, 77, 90, 64, 90,
64, 91, -1, 34, 77, 90, 64, 90, 64, 90,
64, 95, -1, 36, 87, -1, 43, 83, 64, 83,
-1, 44, 83, 64, 83, -1, 26, 78, -1, -1,
77, 53, -1, 77, 54, -1, -1, 64, 78, -1,
102, 67, 41, 68, -1, 58, 100, -1, 69, 102,
-1, 69, 87, -1, 69, 57, -1, 81, -1, 69,
56, -1, 69, 9, 56, -1, 95, -1, 95, 9,
95, -1, 95, 78, 82, -1, 90, -1, 80, -1,
92, -1, 92, 67, 95, 68, -1, 51, -1, 52,
-1, 102, -1, 87, -1, 98, -1, 85, -1, 99,
-1, 67, 95, 68, -1, 85, -1, 102, 67, 94,
68, -1, 99, -1, 99, 67, 94, 68, -1, 86,
-1, 90, -1, 89, -1, 92, -1, 69, 102, -1,
95, -1, 67, 95, 64, 95, 68, -1, 95, 6,
6, 93, -1, 95, 7, 7, 93, -1, 95, 9,
7, 93, -1, 95, 55, 7, 93, -1, 95, -1,
102, -1, 46, -1, 41, -1, 45, 67, 104, 68,
-1, 94, -1, 38, -1, 50, -1, 49, 67, 104,
68, -1, 98, -1, 81, -1, 48, -1, 47, 67,
102, 68, -1, 102, 67, 101, 68, -1, 58, 100,
67, 101, 68, -1, 58, 6, 7, 100, 67, 39,
68, -1, -1, 8, 102, -1, 9, 102, -1, 39,
-1, 38, -1, 40, -1, 37, -1, 60, -1, 9,
102, -1, 8, 102, -1, 70, 102, -1, 67, 104,
68, -1, -1, 64, 104, -1, 102, -1, 104, 8,
104, -1, 104, 9, 104, -1, 104, 10, 104, -1,
104, 11, 104, -1, 104, 12, 104, -1, 104, 6,
6, 104, -1, 104, 7, 7, 104, -1, 104, 5,
104, -1, 104, 4, 104, -1, 104, 3, 104, -1
73, 0, -1, -1, -1, 73, 74, 75, -1, -1,
59, 62, 76, 75, -1, 59, 63, 105, 64, -1,
61, 63, 105, 64, -1, 64, -1, 77, 64, -1,
1, 64, -1, 13, 78, 89, 65, 96, 65, 91,
-1, 13, 78, 89, 65, 96, 65, -1, 13, 78,
89, 65, 91, -1, 14, 78, 89, 65, 91, -1,
15, 78, 84, 65, 84, -1, 16, 78, 79, 80,
-1, 16, 78, 79, 85, -1, 36, 79, 86, -1,
17, 79, 80, -1, 18, 78, 79, 84, -1, 19,
78, 89, 65, 96, 79, -1, 20, 78, 87, 65,
66, 83, 67, -1, 20, 78, 66, 83, 67, 65,
87, -1, 21, 78, 91, 65, 86, 65, 91, -1,
21, 78, 91, 65, 86, 79, -1, 21, 78, 79,
86, 65, 91, -1, 22, 78, 79, -1, 23, 100,
65, 90, -1, 23, 100, 65, 103, 65, 90, -1,
23, 100, 65, 103, 65, 90, 9, 103, -1, 24,
100, 65, 90, -1, 24, 100, 65, 103, 65, 90,
-1, 25, 100, 11, 103, 65, 81, -1, 26, 78,
91, 79, -1, 29, 79, 81, -1, 30, 78, 99,
65, 99, -1, 32, 78, 98, 65, 99, -1, 32,
78, 98, 65, 49, 65, 99, -1, 33, 78, 99,
65, 99, 79, -1, 31, 78, 103, 65, 105, 65,
96, 65, 97, 65, 97, 104, -1, 34, 78, 91,
65, 91, 65, 92, -1, 35, 78, 91, 65, 91,
65, 91, 65, 96, -1, 37, 88, -1, 44, 84,
65, 84, -1, 45, 84, 65, 84, -1, 27, 79,
-1, -1, 78, 54, -1, 78, 55, -1, -1, 65,
79, -1, 103, 68, 42, 69, -1, 59, 101, -1,
70, 103, -1, 70, 88, -1, 70, 58, -1, 82,
-1, 70, 57, -1, 70, 9, 57, -1, 96, -1,
96, 9, 96, -1, 96, 79, 83, -1, 91, -1,
81, -1, 93, -1, 93, 68, 96, 69, -1, 52,
-1, 53, -1, 103, -1, 88, -1, 99, -1, 86,
-1, 100, -1, 68, 96, 69, -1, 86, -1, 103,
68, 95, 69, -1, 100, -1, 100, 68, 95, 69,
-1, 87, -1, 91, -1, 90, -1, 93, -1, 70,
103, -1, 96, -1, 68, 96, 65, 96, 69, -1,
96, 6, 6, 94, -1, 96, 7, 7, 94, -1,
96, 9, 7, 94, -1, 96, 56, 7, 94, -1,
96, -1, 103, -1, 47, -1, 42, -1, 46, 68,
105, 69, -1, 95, -1, 39, -1, 51, -1, 50,
68, 105, 69, -1, 99, -1, 82, -1, 49, -1,
48, 68, 103, 69, -1, 103, 68, 102, 69, -1,
59, 101, 68, 102, 69, -1, 59, 6, 7, 101,
68, 40, 69, -1, -1, 8, 103, -1, 9, 103,
-1, 40, -1, 39, -1, 41, -1, 38, -1, 61,
-1, 9, 103, -1, 8, 103, -1, 71, 103, -1,
68, 105, 69, -1, -1, 65, 105, -1, 103, -1,
105, 8, 105, -1, 105, 9, 105, -1, 105, 10,
105, -1, 105, 11, 105, -1, 105, 12, 105, -1,
105, 6, 6, 105, -1, 105, 7, 7, 105, -1,
105, 5, 105, -1, 105, 4, 105, -1, 105, 3,
105, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
......@@ -572,16 +577,17 @@ static const yytype_uint16 yyrline[] =
0, 68, 68, 70, 69, 77, 76, 85, 90, 96,
97, 98, 104, 108, 112, 119, 126, 133, 137, 144,
151, 158, 165, 172, 181, 193, 197, 201, 208, 215,
222, 229, 239, 246, 253, 260, 264, 268, 272, 279,
301, 309, 318, 325, 334, 345, 351, 354, 358, 363,
364, 367, 373, 383, 389, 394, 400, 403, 409, 417,
421, 430, 436, 437, 438, 439, 444, 450, 456, 462,
463, 466, 467, 475, 484, 485, 494, 495, 501, 504,
505, 506, 508, 516, 524, 533, 539, 545, 551, 559,
565, 573, 574, 578, 586, 587, 593, 594, 602, 603,
606, 612, 620, 628, 636, 646, 649, 653, 659, 660,
661, 664, 665, 669, 673, 677, 681, 687, 690, 696,
697, 701, 705, 709, 713, 717, 721, 725, 729, 733
222, 229, 239, 244, 252, 259, 266, 273, 277, 281,
285, 292, 314, 322, 331, 338, 347, 358, 364, 367,
371, 376, 377, 380, 386, 396, 402, 407, 413, 416,
422, 430, 434, 443, 449, 450, 451, 452, 457, 463,
469, 475, 476, 479, 480, 488, 497, 498, 507, 508,
514, 517, 518, 519, 521, 529, 537, 546, 552, 558,
564, 572, 578, 586, 587, 591, 599, 600, 606, 607,
615, 616, 619, 625, 633, 641, 649, 659, 662, 666,
672, 673, 674, 677, 678, 682, 686, 690, 694, 700,
703, 709, 710, 714, 718, 722, 726, 730, 734, 738,
742, 746
};
#endif
......@@ -593,16 +599,16 @@ static const char *const yytname[] =
"$end", "error", "$undefined", "'|'", "'^'", "'&'", "'<'", "'>'", "'+'",
"'-'", "'*'", "'/'", "'%'", "LTYPE1", "LTYPE2", "LTYPE3", "LTYPE4",
"LTYPE5", "LTYPE6", "LTYPE7", "LTYPE8", "LTYPE9", "LTYPEA", "LTYPEB",
"LTYPEC", "LTYPED", "LTYPEE", "LTYPEG", "LTYPEH", "LTYPEI", "LTYPEJ",
"LTYPEK", "LTYPEL", "LTYPEM", "LTYPEN", "LTYPEBX", "LTYPEPLD", "LCONST",
"LSP", "LSB", "LFP", "LPC", "LTYPEX", "LTYPEPC", "LTYPEF", "LR", "LREG",
"LF", "LFREG", "LC", "LCREG", "LPSR", "LFCR", "LCOND", "LS", "LAT",
"LFCONST", "LSCONST", "LNAME", "LLAB", "LVAR", "':'", "'='", "';'",
"','", "'['", "']'", "'('", "')'", "'$'", "'~'", "$accept", "prog", "@1",
"line", "@2", "inst", "cond", "comma", "rel", "ximm", "fcon", "reglist",
"gen", "nireg", "ireg", "ioreg", "oreg", "imsr", "imm", "reg", "regreg",
"shift", "rcon", "sreg", "spreg", "creg", "frcon", "freg", "name",
"offset", "pointer", "con", "oexpr", "expr", 0
"LGLOBL", "LTYPEC", "LTYPED", "LTYPEE", "LTYPEG", "LTYPEH", "LTYPEI",
"LTYPEJ", "LTYPEK", "LTYPEL", "LTYPEM", "LTYPEN", "LTYPEBX", "LTYPEPLD",
"LCONST", "LSP", "LSB", "LFP", "LPC", "LTYPEX", "LTYPEPC", "LTYPEF",
"LR", "LREG", "LF", "LFREG", "LC", "LCREG", "LPSR", "LFCR", "LCOND",
"LS", "LAT", "LFCONST", "LSCONST", "LNAME", "LLAB", "LVAR", "':'", "'='",
"';'", "','", "'['", "']'", "'('", "')'", "'$'", "'~'", "$accept",
"prog", "@1", "line", "@2", "inst", "cond", "comma", "rel", "ximm",
"fcon", "reglist", "gen", "nireg", "ireg", "ioreg", "oreg", "imsr",
"imm", "reg", "regreg", "shift", "rcon", "sreg", "spreg", "creg",
"frcon", "freg", "name", "offset", "pointer", "con", "oexpr", "expr", 0
};
#endif
......@@ -617,27 +623,28 @@ static const yytype_uint16 yytoknum[] =
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, 58, 61, 59, 44, 91, 93, 40, 41, 36,
126
305, 306, 58, 61, 59, 44, 91, 93, 40, 41,
36, 126
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
0, 71, 72, 73, 72, 75, 74, 74, 74, 74,
74, 74, 76, 76, 76, 76, 76, 76, 76, 76,
76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
76, 76, 76, 76, 76, 76, 77, 77, 77, 78,
78, 79, 79, 80, 80, 80, 80, 81, 81, 82,
82, 82, 83, 83, 83, 83, 83, 83, 83, 83,
83, 84, 84, 85, 86, 86, 87, 87, 87, 88,
88, 88, 89, 90, 91, 92, 92, 92, 92, 93,
93, 94, 94, 94, 95, 95, 96, 96, 97, 97,
98, 98, 99, 99, 99, 100, 100, 100, 101, 101,
101, 102, 102, 102, 102, 102, 102, 103, 103, 104,
104, 104, 104, 104, 104, 104, 104, 104, 104, 104
0, 72, 73, 74, 73, 76, 75, 75, 75, 75,
75, 75, 77, 77, 77, 77, 77, 77, 77, 77,
77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
77, 77, 77, 77, 77, 77, 77, 77, 78, 78,
78, 79, 79, 80, 80, 81, 81, 81, 81, 82,
82, 83, 83, 83, 84, 84, 84, 84, 84, 84,
84, 84, 84, 85, 85, 86, 87, 87, 88, 88,
88, 89, 89, 89, 90, 91, 92, 93, 93, 93,
93, 94, 94, 95, 95, 95, 96, 96, 97, 97,
98, 98, 99, 99, 100, 100, 100, 101, 101, 101,
102, 102, 102, 103, 103, 103, 103, 103, 103, 104,
104, 105, 105, 105, 105, 105, 105, 105, 105, 105,
105, 105
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
......@@ -646,16 +653,17 @@ static const yytype_uint8 yyr2[] =
0, 2, 0, 0, 3, 0, 4, 4, 4, 1,
2, 2, 7, 6, 5, 5, 5, 4, 4, 3,
3, 4, 6, 7, 7, 7, 6, 6, 3, 4,
6, 8, 6, 4, 3, 5, 5, 7, 6, 12,
7, 9, 2, 4, 4, 2, 0, 2, 2, 0,
2, 4, 2, 2, 2, 2, 1, 2, 3, 1,
3, 3, 1, 1, 1, 4, 1, 1, 1, 1,
1, 1, 1, 3, 1, 4, 1, 4, 1, 1,
1, 1, 2, 1, 5, 4, 4, 4, 4, 1,
1, 1, 1, 4, 1, 1, 1, 4, 1, 1,
1, 4, 4, 5, 7, 0, 2, 2, 1, 1,
1, 1, 1, 2, 2, 2, 3, 0, 2, 1,
3, 3, 3, 3, 3, 4, 4, 3, 3, 3
6, 8, 4, 6, 6, 4, 3, 5, 5, 7,
6, 12, 7, 9, 2, 4, 4, 2, 0, 2,
2, 0, 2, 4, 2, 2, 2, 2, 1, 2,
3, 1, 3, 3, 1, 1, 1, 4, 1, 1,
1, 1, 1, 1, 1, 3, 1, 4, 1, 4,
1, 1, 1, 1, 2, 1, 5, 4, 4, 4,
4, 1, 1, 1, 1, 4, 1, 1, 1, 4,
1, 1, 1, 4, 4, 5, 7, 0, 2, 2,
1, 1, 1, 1, 1, 2, 2, 2, 3, 0,
2, 1, 3, 3, 3, 3, 3, 4, 4, 3,
3, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
......@@ -663,275 +671,280 @@ static const yytype_uint8 yyr2[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
2, 3, 1, 0, 0, 46, 46, 46, 46, 49,
46, 46, 46, 46, 46, 0, 0, 46, 49, 49,
46, 46, 46, 46, 46, 46, 49, 0, 0, 0,
0, 0, 9, 4, 0, 11, 0, 0, 0, 49,
49, 0, 49, 0, 0, 49, 49, 0, 0, 111,
105, 112, 0, 0, 0, 0, 0, 0, 45, 0,
0, 0, 0, 0, 0, 0, 0, 0, 74, 78,
42, 76, 0, 95, 92, 0, 91, 0, 100, 66,
67, 0, 63, 56, 0, 69, 62, 64, 94, 83,
70, 68, 0, 5, 0, 0, 10, 47, 48, 0,
0, 80, 79, 81, 0, 0, 0, 50, 105, 20,
0, 0, 0, 0, 0, 0, 0, 0, 83, 28,
114, 113, 0, 0, 0, 0, 119, 0, 115, 0,
0, 0, 49, 34, 0, 0, 0, 99, 0, 98,
0, 0, 0, 0, 19, 0, 0, 0, 0, 0,
0, 57, 55, 54, 53, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 82, 0, 0, 0, 105,
17, 18, 71, 72, 0, 52, 0, 21, 0, 0,
49, 0, 0, 0, 0, 105, 106, 107, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 116,
29, 0, 109, 108, 110, 0, 0, 33, 0, 0,
0, 0, 0, 0, 0, 73, 0, 0, 0, 0,
58, 43, 0, 0, 0, 0, 0, 44, 6, 7,
8, 14, 83, 15, 16, 52, 0, 0, 49, 0,
0, 0, 0, 0, 49, 0, 0, 129, 128, 127,
0, 0, 120, 121, 122, 123, 124, 0, 102, 0,
35, 0, 100, 36, 49, 0, 0, 77, 75, 93,
101, 65, 85, 89, 90, 86, 87, 88, 13, 51,
22, 0, 60, 61, 0, 27, 49, 26, 0, 103,
125, 126, 30, 32, 0, 0, 38, 0, 0, 12,
24, 23, 25, 0, 0, 0, 37, 0, 40, 0,
104, 31, 0, 0, 0, 0, 96, 0, 0, 41,
0, 0, 0, 0, 117, 84, 97, 0, 39, 118
2, 3, 1, 0, 0, 48, 48, 48, 48, 51,
48, 48, 48, 48, 48, 0, 0, 0, 48, 51,
51, 48, 48, 48, 48, 48, 48, 51, 0, 0,
0, 0, 0, 9, 4, 0, 11, 0, 0, 0,
51, 51, 0, 51, 0, 0, 51, 51, 0, 0,
113, 107, 114, 0, 0, 0, 0, 0, 0, 0,
47, 0, 0, 0, 0, 0, 0, 0, 0, 0,
76, 80, 44, 78, 0, 97, 94, 0, 93, 0,
102, 68, 69, 0, 65, 58, 0, 71, 64, 66,
96, 85, 72, 70, 0, 5, 0, 0, 10, 49,
50, 0, 0, 82, 81, 83, 0, 0, 0, 52,
107, 20, 0, 0, 0, 0, 0, 0, 0, 0,
85, 28, 116, 115, 0, 0, 0, 0, 121, 0,
117, 0, 0, 0, 0, 51, 36, 0, 0, 0,
101, 0, 100, 0, 0, 0, 0, 19, 0, 0,
0, 0, 0, 0, 59, 57, 56, 55, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 84, 0,
0, 0, 107, 17, 18, 73, 74, 0, 54, 0,
21, 0, 0, 51, 0, 0, 0, 0, 107, 108,
109, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 118, 29, 0, 111, 110, 112, 0, 32,
0, 0, 35, 0, 0, 0, 0, 0, 0, 0,
75, 0, 0, 0, 0, 60, 45, 0, 0, 0,
0, 0, 46, 6, 7, 8, 14, 85, 15, 16,
54, 0, 0, 51, 0, 0, 0, 0, 0, 51,
0, 0, 131, 130, 129, 0, 0, 122, 123, 124,
125, 126, 0, 104, 0, 0, 37, 0, 102, 38,
51, 0, 0, 79, 77, 95, 103, 67, 87, 91,
92, 88, 89, 90, 13, 53, 22, 0, 62, 63,
0, 27, 51, 26, 0, 105, 127, 128, 30, 33,
34, 0, 0, 40, 0, 0, 12, 24, 23, 25,
0, 0, 0, 39, 0, 42, 0, 106, 31, 0,
0, 0, 0, 98, 0, 0, 43, 0, 0, 0,
0, 119, 86, 99, 0, 41, 120
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 1, 3, 33, 162, 34, 36, 107, 109, 82,
83, 179, 84, 171, 68, 69, 85, 100, 101, 86,
308, 87, 272, 88, 118, 317, 138, 90, 71, 125,
205, 126, 328, 127
-1, 1, 3, 34, 165, 35, 37, 109, 111, 84,
85, 182, 86, 174, 70, 71, 87, 102, 103, 88,
315, 89, 278, 90, 120, 324, 141, 92, 73, 127,
208, 128, 335, 129
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
#define YYPACT_NINF -124
#define YYPACT_NINF -99
static const yytype_int16 yypact[] =
{
-124, 5, -124, 329, -61, -124, -124, -124, -124, -57,
-124, -124, -124, -124, -124, 157, 157, -124, -57, -57,
-124, -124, -124, -124, -124, -124, -57, 264, 385, 385,
-31, -22, -124, -124, -12, -124, 512, 512, 358, -16,
-57, 268, -16, 512, 191, 337, -16, 432, 432, -124,
164, -124, 432, 432, 0, 9, 58, 450, -124, 15,
172, 49, 235, 172, 450, 450, 11, 34, -124, -124,
-124, 14, 21, -124, -124, 32, -124, 46, -124, -124,
-124, 87, -124, -124, 59, -124, -124, 69, -124, 91,
-124, 21, 75, -124, 432, 432, -124, -124, -124, 432,
85, -124, -124, -124, 129, 141, 405, -124, 37, -124,
84, 385, 147, 80, 152, 151, 11, 178, -124, -124,
-124, -124, 236, 432, 432, 180, -124, 173, -124, 411,
231, 432, -57, -124, 185, 186, 18, -124, 189, -124,
193, 200, 201, 80, -124, 199, 107, 471, 432, 432,
430, -124, -124, -124, 21, 385, 80, 269, 273, 274,
277, 385, 329, 526, 536, -124, 80, 80, 385, 164,
-124, -124, -124, -124, 218, -124, 261, -124, 80, 243,
56, 260, 107, 263, 11, 37, -124, -124, 231, 432,
432, 432, 323, 326, 432, 432, 432, 432, 432, -124,
-124, 272, -124, -124, -124, 303, 276, -124, 44, 432,
281, 63, 44, 80, 80, -124, 306, 308, 288, 311,
-124, -124, 312, 34, 34, 34, 34, -124, -124, -124,
-124, -124, 317, -124, -124, 180, 148, 316, -57, 321,
80, 80, 80, 80, 322, 330, 320, 586, 605, 612,
432, 432, 296, 296, -124, -124, -124, 331, -124, 15,
-124, 516, 334, -124, -57, 338, 343, -124, -124, -124,
-124, -124, -124, -124, -124, -124, -124, -124, 80, -124,
-124, 448, -124, -124, 275, -124, 214, -124, 369, -124,
225, 225, 406, -124, 80, 44, -124, 350, 80, -124,
-124, -124, -124, 353, 432, 360, -124, 80, -124, 365,
-124, -124, 82, 370, 80, 368, -124, 380, 80, -124,
432, 82, 378, 309, 383, -124, -124, 432, -124, 597
-99, 8, -99, 307, -38, -99, -99, -99, -99, -37,
-99, -99, -99, -99, -99, 64, 64, 64, -99, -37,
-37, -99, -99, -99, -99, -99, -99, -37, 226, 364,
364, -8, -32, -99, -99, -29, -99, 514, 514, 337,
112, -37, 418, 112, 514, 386, 516, 112, 453, 453,
-99, 304, -99, 453, 453, -27, -24, -2, 30, 464,
-99, -3, 315, 410, 93, 315, 464, 464, -21, 53,
-99, -99, -99, 2, 33, -99, -99, 35, -99, 52,
-99, -99, -99, 392, -99, -99, 32, -99, -99, 54,
-99, 98, -99, 33, 61, -99, 453, 453, -99, -99,
-99, 453, 69, -99, -99, -99, 81, 88, 429, -99,
80, -99, 68, 364, 100, 272, 105, 110, -21, 154,
-99, -99, -99, -99, 216, 453, 453, 156, -99, 181,
-99, 434, 90, 434, 453, -37, -99, 171, 174, 12,
-99, 177, -99, 178, 184, 196, 272, -99, 193, 29,
227, 453, 453, 232, -99, -99, -99, 33, 364, 272,
240, 258, 264, 274, 364, 307, 530, 540, -99, 272,
272, 364, 304, -99, -99, -99, -99, 220, -99, 242,
-99, 272, 223, 20, 233, 29, 236, -21, 80, -99,
-99, 90, 453, 453, 453, 286, 291, 453, 453, 453,
453, 453, -99, -99, 250, -99, -99, -99, 266, -99,
300, 302, -99, 146, 453, 317, 159, 146, 272, 272,
-99, 309, 318, 194, 319, -99, -99, 324, 53, 53,
53, 53, -99, -99, -99, -99, -99, 312, -99, -99,
156, 308, 328, -37, 334, 272, 272, 272, 272, 339,
237, 340, 568, 617, 624, 453, 453, 221, 221, -99,
-99, -99, 344, -99, 344, -3, -99, 350, 355, -99,
-37, 356, 357, -99, -99, -99, -99, -99, -99, -99,
-99, -99, -99, -99, 272, -99, -99, 461, -99, -99,
361, -99, 183, -99, 389, -99, 267, 267, 422, -99,
-99, 272, 146, -99, 365, 272, -99, -99, -99, -99,
367, 453, 374, -99, 272, -99, 379, -99, -99, 62,
380, 272, 378, -99, 390, 272, -99, 453, 62, 397,
248, 393, -99, -99, 453, -99, 609
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
-124, -124, -124, 287, -124, -124, 562, 10, 344, -55,
389, -19, 3, -124, -43, -41, -15, -17, -123, 25,
-124, 132, 144, -122, -28, 137, -124, -49, 2, -92,
265, 6, -124, 12
-99, -99, -99, 294, -99, -99, 585, 37, 360, -44,
409, -86, -7, -99, -59, -42, -23, -22, -91, -1,
-99, 71, 151, -68, -19, 147, -99, -58, 36, -98,
283, -15, -99, -18
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */
#define YYTABLE_NINF -60
#define YYTABLE_NINF -62
static const yytype_int16 yytable[] =
{
89, 89, 35, 114, 133, 2, 200, 40, 89, 89,
89, 134, 70, 139, 140, 89, 175, 54, 56, 41,
104, 55, 55, 144, 216, 217, 112, 210, 58, 59,
93, 94, 92, 72, 91, 91, 66, 97, 98, 145,
95, 105, 47, 48, 91, 123, 124, 110, 40, 106,
115, 96, 111, 120, 121, 116, 119, 47, 48, 128,
217, 102, 102, 172, 129, 240, 153, 135, 102, 131,
117, 49, 73, 183, 151, 74, 130, 235, 143, 75,
76, 146, 132, 89, 81, 180, 49, 154, 147, 141,
142, 77, 78, 245, 51, 47, 150, 157, 158, 148,
159, 52, 97, 98, 53, 165, 163, 164, 173, 51,
77, 262, 174, 149, 177, 145, 52, 91, 73, 53,
40, 74, -59, 155, 49, 75, 76, 89, 222, 186,
187, 315, 316, 89, 292, 201, 156, 206, 232, 161,
89, 244, 207, 151, 152, 50, 160, 51, 74, 166,
238, 176, 75, 76, 67, 219, 121, 53, 221, 260,
218, 91, 263, 264, 227, 47, 48, 91, 103, 103,
122, 234, 123, 124, 91, 103, 189, 190, 191, 192,
193, 194, 195, 196, 197, 198, 202, 203, 204, 237,
241, 231, 233, 167, 49, 273, 273, 273, 273, 47,
48, 247, 248, 249, 293, 168, 252, 253, 254, 255,
256, 178, 282, 180, 180, 50, 181, 51, 182, 77,
78, 261, 283, 284, 52, 97, 98, 53, 49, 274,
274, 274, 274, 194, 195, 196, 197, 198, 265, 266,
300, 199, 184, 185, 97, 98, 306, 188, 280, 208,
209, 51, 73, 211, 287, 74, 113, 212, 67, 75,
76, 53, 290, 291, 213, 214, 305, 215, 285, 202,
203, 204, 47, 48, 296, 223, 47, 48, 40, 313,
224, 225, 77, 78, 226, 236, 319, 115, 97, 98,
322, 189, 190, 191, 192, 193, 194, 195, 196, 197,
198, 49, 237, 299, 136, 49, 196, 197, 198, 239,
311, 302, 189, 190, 191, 192, 193, 194, 195, 196,
197, 198, 50, 309, 51, 242, 108, 243, 51, 250,
4, 67, 323, 251, 53, 52, 257, 220, 53, 329,
259, 301, 5, 6, 7, 8, 9, 10, 11, 12,
13, 14, 15, 16, 17, 18, 269, 19, 20, 21,
22, 23, 24, 25, 26, 27, 47, 48, 275, 276,
277, 258, 28, 29, 267, 73, 268, 326, 74, 270,
271, 278, 75, 76, 279, 281, 286, 30, 289, 31,
97, 98, 32, 47, 48, 49, 73, 288, 295, 74,
99, 40, 297, 75, 76, 77, 78, 298, 303, 79,
80, 97, 98, 47, 48, 304, 50, 307, 51, 47,
48, 310, 49, 73, 312, 67, 74, 81, 53, 314,
75, 76, 77, 78, 318, 320, 79, 80, 47, 48,
47, 48, 49, 50, 321, 51, 325, 327, 49, 228,
170, 137, 67, 246, 81, 53, 47, 48, 324, 0,
0, 0, 0, 169, 0, 51, 0, 49, 0, 49,
0, 51, 67, 0, 0, 53, 0, 0, 52, 0,
99, 53, 0, 0, 0, 49, 220, 0, 73, 0,
51, 74, 51, 0, 0, 75, 76, 52, 0, 52,
53, 0, 53, 97, 98, 0, 0, 0, 51, 202,
203, 204, 74, 0, 0, 67, 75, 76, 53, 189,
190, 191, 192, 193, 194, 195, 196, 197, 198, 189,
190, 191, 192, 193, 194, 195, 196, 197, 198, 189,
190, 191, 192, 193, 194, 195, 196, 197, 198, 0,
73, 0, 0, 74, 0, 0, 0, 75, 76, 0,
0, 0, 0, 0, 0, 97, 98, 0, 37, 38,
39, 0, 42, 43, 44, 45, 46, 0, 0, 57,
294, 99, 60, 61, 62, 63, 64, 65, 0, 229,
190, 191, 192, 193, 194, 195, 196, 197, 198, 230,
189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
191, 192, 193, 194, 195, 196, 197, 198, 192, 193,
194, 195, 196, 197, 198
56, 56, 56, 116, 137, 72, 142, 143, 2, 147,
91, 91, 178, 74, 93, 93, 106, 136, 91, 91,
91, 215, 114, 94, 93, 91, 36, 112, 41, 245,
117, 97, 107, 122, 123, 98, 104, 104, 131, 130,
203, 134, 209, 104, 132, 119, 42, 146, 138, 175,
148, 55, 57, 58, 95, 96, 60, 61, 135, 186,
156, 48, 49, 133, 68, 144, 145, 83, 157, 154,
149, 76, 48, 49, 240, 77, 78, 108, 166, 167,
113, 221, 222, 118, 121, 41, 168, -61, 125, 126,
250, 50, 75, 177, 91, 76, 183, 158, 93, 77,
78, 150, 50, 151, 160, 161, 180, 162, 105, 105,
189, 190, 322, 323, 52, 105, 204, 222, 210, 211,
152, 53, 159, 51, 54, 52, 164, 148, 249, 205,
206, 207, 53, 223, 169, 54, 179, 224, 123, 91,
227, 79, 80, 93, 176, 91, 170, 99, 100, 93,
237, 226, 91, 171, 163, 266, 93, 232, 269, 270,
289, 290, 243, 139, 239, 181, 99, 100, 236, 238,
184, 298, 212, 299, 252, 253, 254, 41, 185, 257,
258, 259, 260, 261, 192, 193, 194, 195, 196, 197,
198, 199, 200, 201, 79, 80, 267, 192, 193, 194,
195, 196, 197, 198, 199, 200, 201, 79, 268, 279,
279, 279, 279, 280, 280, 280, 280, 271, 272, 187,
246, 300, 75, 188, 191, 76, 288, 183, 183, 77,
78, 199, 200, 201, 48, 49, 213, 296, 297, 214,
48, 49, 216, 217, 313, 307, 228, 291, 41, 218,
202, 192, 193, 194, 195, 196, 197, 198, 199, 200,
201, 219, 220, 275, 50, 229, 205, 206, 207, 76,
50, 230, 117, 77, 78, 197, 198, 199, 200, 201,
286, 231, 312, 306, 242, 51, 293, 52, 241, 225,
244, 309, 255, 52, 69, 320, 318, 54, 256, 247,
53, 248, 326, 54, 316, 294, 329, 303, 4, 330,
124, 75, 125, 126, 76, 262, 336, 333, 77, 78,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 263, 20, 21, 22, 23,
24, 25, 26, 27, 28, 48, 49, 205, 206, 207,
242, 29, 30, 192, 193, 194, 195, 196, 197, 198,
199, 200, 201, 79, 80, 264, 31, 265, 32, 99,
100, 33, 48, 49, 225, 50, 75, 284, 273, 76,
281, 282, 283, 77, 78, 79, 80, 274, 276, 81,
82, 99, 100, 277, 48, 49, 51, 285, 52, 287,
48, 153, 50, 75, 292, 69, 76, 83, 54, 295,
77, 78, 79, 80, 101, 301, 81, 82, 48, 49,
302, 304, 305, 51, 50, 52, 48, 49, 308, 310,
50, 311, 69, 314, 83, 54, 317, 48, 49, 319,
99, 100, 48, 49, 321, 325, 327, 52, 50, 154,
155, 51, 115, 52, 69, 328, 50, 54, 334, 233,
69, 48, 49, 54, 99, 100, 332, 50, 173, 48,
49, 52, 50, 140, 251, 331, 0, 110, 53, 52,
0, 54, 0, 0, 0, 0, 53, 0, 172, 54,
52, 50, 0, 0, 0, 52, 0, 69, 0, 50,
54, 0, 53, 75, 101, 54, 76, 0, 0, 0,
77, 78, 0, 0, 52, 0, 0, 0, 99, 100,
0, 53, 52, 0, 54, 0, 0, 0, 0, 69,
0, 0, 54, 192, 193, 194, 195, 196, 197, 198,
199, 200, 201, 192, 193, 194, 195, 196, 197, 198,
199, 200, 201, 75, 0, 75, 76, 0, 76, 0,
77, 78, 77, 78, 0, 0, 0, 0, 99, 100,
99, 100, 193, 194, 195, 196, 197, 198, 199, 200,
201, 41, 0, 0, 101, 0, 0, 0, 0, 0,
0, 38, 39, 40, 234, 43, 44, 45, 46, 47,
0, 0, 0, 59, 235, 0, 62, 63, 64, 65,
66, 67, 192, 193, 194, 195, 196, 197, 198, 199,
200, 201, 194, 195, 196, 197, 198, 199, 200, 201,
195, 196, 197, 198, 199, 200, 201
};
static const yytype_int16 yycheck[] =
{
28, 29, 63, 44, 59, 0, 129, 64, 36, 37,
38, 60, 27, 62, 63, 43, 108, 15, 16, 9,
37, 15, 16, 66, 146, 147, 43, 9, 18, 19,
61, 62, 29, 27, 28, 29, 26, 53, 54, 67,
62, 38, 8, 9, 38, 8, 9, 41, 64, 39,
44, 63, 42, 47, 48, 45, 46, 8, 9, 53,
182, 36, 37, 106, 64, 9, 81, 61, 43, 11,
45, 37, 38, 116, 56, 41, 67, 169, 67, 45,
46, 67, 57, 111, 69, 113, 37, 81, 67, 64,
65, 47, 48, 185, 60, 8, 9, 6, 7, 67,
9, 67, 53, 54, 70, 99, 94, 95, 106, 60,
47, 48, 106, 67, 111, 143, 67, 111, 38, 70,
64, 41, 66, 64, 37, 45, 46, 155, 156, 123,
124, 49, 50, 161, 257, 129, 67, 131, 166, 64,
168, 184, 132, 56, 57, 58, 55, 60, 41, 64,
178, 67, 45, 46, 67, 149, 150, 70, 155, 208,
148, 155, 211, 212, 161, 8, 9, 161, 36, 37,
6, 168, 8, 9, 168, 43, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12, 38, 39, 40, 41,
180, 166, 167, 64, 37, 223, 224, 225, 226, 8,
9, 189, 190, 191, 259, 64, 194, 195, 196, 197,
198, 64, 240, 241, 242, 58, 64, 60, 67, 47,
48, 209, 241, 242, 67, 53, 54, 70, 37, 223,
224, 225, 226, 8, 9, 10, 11, 12, 213, 214,
281, 68, 64, 7, 53, 54, 295, 67, 238, 64,
64, 60, 38, 64, 244, 41, 65, 64, 67, 45,
46, 70, 250, 251, 64, 64, 294, 68, 243, 38,
39, 40, 8, 9, 264, 6, 8, 9, 64, 307,
7, 7, 47, 48, 7, 67, 314, 281, 53, 54,
318, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 37, 41, 278, 69, 37, 10, 11, 12, 66,
304, 286, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 58, 298, 60, 65, 58, 64, 60, 6,
1, 67, 320, 7, 70, 67, 64, 56, 70, 327,
64, 66, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 68, 28, 29, 30,
31, 32, 33, 34, 35, 36, 8, 9, 224, 225,
226, 68, 43, 44, 68, 38, 68, 68, 41, 68,
68, 64, 45, 46, 68, 64, 64, 58, 68, 60,
53, 54, 63, 8, 9, 37, 38, 67, 64, 41,
69, 64, 64, 45, 46, 47, 48, 64, 39, 51,
52, 53, 54, 8, 9, 9, 58, 67, 60, 8,
9, 68, 37, 38, 64, 67, 41, 69, 70, 64,
45, 46, 47, 48, 64, 67, 51, 52, 8, 9,
8, 9, 37, 58, 64, 60, 68, 64, 37, 162,
106, 62, 67, 188, 69, 70, 8, 9, 321, -1,
-1, -1, -1, 58, -1, 60, -1, 37, -1, 37,
-1, 60, 67, -1, -1, 70, -1, -1, 67, -1,
69, 70, -1, -1, -1, 37, 56, -1, 38, -1,
60, 41, 60, -1, -1, 45, 46, 67, -1, 67,
70, -1, 70, 53, 54, -1, -1, -1, 60, 38,
39, 40, 41, -1, -1, 67, 45, 46, 70, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, -1,
38, -1, -1, 41, -1, -1, -1, 45, 46, -1,
-1, -1, -1, -1, -1, 53, 54, -1, 6, 7,
8, -1, 10, 11, 12, 13, 14, -1, -1, 17,
64, 69, 20, 21, 22, 23, 24, 25, -1, 63,
4, 5, 6, 7, 8, 9, 10, 11, 12, 63,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
5, 6, 7, 8, 9, 10, 11, 12, 6, 7,
8, 9, 10, 11, 12
15, 16, 17, 45, 62, 28, 64, 65, 0, 68,
29, 30, 110, 28, 29, 30, 38, 61, 37, 38,
39, 9, 44, 30, 39, 44, 64, 42, 65, 9,
45, 63, 39, 48, 49, 64, 37, 38, 65, 54,
131, 11, 133, 44, 68, 46, 9, 68, 63, 108,
69, 15, 16, 17, 62, 63, 19, 20, 59, 118,
83, 8, 9, 65, 27, 66, 67, 70, 83, 57,
68, 42, 8, 9, 172, 46, 47, 40, 96, 97,
43, 149, 150, 46, 47, 65, 101, 67, 8, 9,
188, 38, 39, 108, 113, 42, 115, 65, 113, 46,
47, 68, 38, 68, 6, 7, 113, 9, 37, 38,
125, 126, 50, 51, 61, 44, 131, 185, 133, 134,
68, 68, 68, 59, 71, 61, 65, 146, 187, 39,
40, 41, 68, 151, 65, 71, 68, 152, 153, 158,
159, 48, 49, 158, 108, 164, 65, 54, 55, 164,
169, 158, 171, 65, 56, 213, 171, 164, 216, 217,
246, 247, 181, 70, 171, 65, 54, 55, 169, 170,
65, 262, 135, 264, 192, 193, 194, 65, 68, 197,
198, 199, 200, 201, 3, 4, 5, 6, 7, 8,
9, 10, 11, 12, 48, 49, 214, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12, 48, 49, 228,
229, 230, 231, 228, 229, 230, 231, 218, 219, 65,
183, 265, 39, 7, 68, 42, 245, 246, 247, 46,
47, 10, 11, 12, 8, 9, 65, 255, 256, 65,
8, 9, 65, 65, 302, 287, 6, 248, 65, 65,
69, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 65, 69, 69, 38, 7, 39, 40, 41, 42,
38, 7, 287, 46, 47, 8, 9, 10, 11, 12,
243, 7, 301, 284, 42, 59, 249, 61, 68, 57,
67, 292, 6, 61, 68, 314, 311, 71, 7, 66,
68, 65, 321, 71, 305, 68, 325, 270, 1, 327,
6, 39, 8, 9, 42, 65, 334, 69, 46, 47,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 69, 29, 30, 31, 32,
33, 34, 35, 36, 37, 8, 9, 39, 40, 41,
42, 44, 45, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 48, 49, 65, 59, 65, 61, 54,
55, 64, 8, 9, 57, 38, 39, 65, 69, 42,
229, 230, 231, 46, 47, 48, 49, 69, 69, 52,
53, 54, 55, 69, 8, 9, 59, 69, 61, 65,
8, 9, 38, 39, 65, 68, 42, 70, 71, 69,
46, 47, 48, 49, 70, 65, 52, 53, 8, 9,
65, 65, 65, 59, 38, 61, 8, 9, 67, 40,
38, 9, 68, 68, 70, 71, 69, 8, 9, 65,
54, 55, 8, 9, 65, 65, 68, 61, 38, 57,
58, 59, 66, 61, 68, 65, 38, 71, 65, 165,
68, 8, 9, 71, 54, 55, 69, 38, 108, 8,
9, 61, 38, 64, 191, 328, -1, 59, 68, 61,
-1, 71, -1, -1, -1, -1, 68, -1, 59, 71,
61, 38, -1, -1, -1, 61, -1, 68, -1, 38,
71, -1, 68, 39, 70, 71, 42, -1, -1, -1,
46, 47, -1, -1, 61, -1, -1, -1, 54, 55,
-1, 68, 61, -1, 71, -1, -1, -1, -1, 68,
-1, -1, 71, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 39, -1, 39, 42, -1, 42, -1,
46, 47, 46, 47, -1, -1, -1, -1, 54, 55,
54, 55, 4, 5, 6, 7, 8, 9, 10, 11,
12, 65, -1, -1, 70, -1, -1, -1, -1, -1,
-1, 6, 7, 8, 64, 10, 11, 12, 13, 14,
-1, -1, -1, 18, 64, -1, 21, 22, 23, 24,
25, 26, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 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, 72, 0, 73, 1, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 28,
29, 30, 31, 32, 33, 34, 35, 36, 43, 44,
58, 60, 63, 74, 76, 63, 77, 77, 77, 77,
64, 78, 77, 77, 77, 77, 77, 8, 9, 37,
58, 60, 67, 70, 99, 102, 99, 77, 78, 78,
77, 77, 77, 77, 77, 77, 78, 67, 85, 86,
87, 99, 102, 38, 41, 45, 46, 47, 48, 51,
52, 69, 80, 81, 83, 87, 90, 92, 94, 95,
98, 102, 83, 61, 62, 62, 63, 53, 54, 69,
88, 89, 90, 92, 88, 83, 78, 78, 58, 79,
102, 78, 88, 65, 86, 102, 78, 90, 95, 78,
102, 102, 6, 8, 9, 100, 102, 104, 102, 64,
67, 11, 90, 80, 98, 102, 69, 81, 97, 98,
98, 90, 90, 67, 85, 95, 67, 67, 67, 67,
9, 56, 57, 87, 102, 64, 67, 6, 7, 9,
55, 64, 75, 104, 104, 102, 64, 64, 64, 58,
79, 84, 85, 99, 102, 100, 67, 83, 64, 82,
95, 64, 67, 85, 64, 7, 102, 102, 67, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 68,
89, 102, 38, 39, 40, 101, 102, 78, 64, 64,
9, 64, 64, 64, 64, 68, 94, 94, 104, 102,
56, 83, 95, 6, 7, 7, 7, 83, 74, 63,
63, 90, 95, 90, 83, 100, 67, 41, 95, 66,
9, 78, 65, 64, 85, 100, 101, 104, 104, 104,
6, 7, 104, 104, 104, 104, 104, 64, 68, 64,
98, 104, 48, 98, 98, 90, 90, 68, 68, 68,
68, 68, 93, 95, 102, 93, 93, 93, 64, 68,
78, 64, 95, 82, 82, 90, 64, 78, 67, 68,
104, 104, 89, 80, 64, 64, 78, 64, 64, 90,
86, 66, 90, 39, 9, 95, 98, 67, 91, 90,
68, 102, 64, 95, 64, 49, 50, 96, 64, 95,
67, 64, 95, 104, 96, 68, 68, 64, 103, 104
0, 73, 0, 74, 1, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
29, 30, 31, 32, 33, 34, 35, 36, 37, 44,
45, 59, 61, 64, 75, 77, 64, 78, 78, 78,
78, 65, 79, 78, 78, 78, 78, 78, 8, 9,
38, 59, 61, 68, 71, 100, 103, 100, 100, 78,
79, 79, 78, 78, 78, 78, 78, 78, 79, 68,
86, 87, 88, 100, 103, 39, 42, 46, 47, 48,
49, 52, 53, 70, 81, 82, 84, 88, 91, 93,
95, 96, 99, 103, 84, 62, 63, 63, 64, 54,
55, 70, 89, 90, 91, 93, 89, 84, 79, 79,
59, 80, 103, 79, 89, 66, 87, 103, 79, 91,
96, 79, 103, 103, 6, 8, 9, 101, 103, 105,
103, 65, 68, 65, 11, 91, 81, 99, 103, 70,
82, 98, 99, 99, 91, 91, 68, 86, 96, 68,
68, 68, 68, 9, 57, 58, 88, 103, 65, 68,
6, 7, 9, 56, 65, 76, 105, 105, 103, 65,
65, 65, 59, 80, 85, 86, 100, 103, 101, 68,
84, 65, 83, 96, 65, 68, 86, 65, 7, 103,
103, 68, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 69, 90, 103, 39, 40, 41, 102, 90,
103, 103, 79, 65, 65, 9, 65, 65, 65, 65,
69, 95, 95, 105, 103, 57, 84, 96, 6, 7,
7, 7, 84, 75, 64, 64, 91, 96, 91, 84,
101, 68, 42, 96, 67, 9, 79, 66, 65, 86,
101, 102, 105, 105, 105, 6, 7, 105, 105, 105,
105, 105, 65, 69, 65, 65, 99, 105, 49, 99,
99, 91, 91, 69, 69, 69, 69, 69, 94, 96,
103, 94, 94, 94, 65, 69, 79, 65, 96, 83,
83, 91, 65, 79, 68, 69, 105, 105, 90, 90,
81, 65, 65, 79, 65, 65, 91, 87, 67, 91,
40, 9, 96, 99, 68, 92, 91, 69, 103, 65,
96, 65, 50, 51, 97, 65, 96, 68, 65, 96,
105, 97, 69, 69, 65, 104, 105
};
#define yyerrok (yyerrstatus = 0)
......@@ -1942,54 +1955,70 @@ yyreduce:
case 32:
#line 240 "a.y"
{
outcode((yyvsp[(1) - (6)].lval), Always, &(yyvsp[(2) - (6)].addr), (yyvsp[(4) - (6)].lval), &(yyvsp[(6) - (6)].addr));
settext((yyvsp[(2) - (4)].addr).sym);
outcode((yyvsp[(1) - (4)].lval), Always, &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 33:
#line 247 "a.y"
#line 245 "a.y"
{
outcode((yyvsp[(1) - (4)].lval), (yyvsp[(2) - (4)].lval), &(yyvsp[(3) - (4)].addr), 0, &nullgen);
settext((yyvsp[(2) - (6)].addr).sym);
outcode((yyvsp[(1) - (6)].lval), Always, &(yyvsp[(2) - (6)].addr), (yyvsp[(4) - (6)].lval), &(yyvsp[(6) - (6)].addr));
}
break;
case 34:
#line 254 "a.y"
#line 253 "a.y"
{
outcode((yyvsp[(1) - (3)].lval), Always, &nullgen, 0, &(yyvsp[(3) - (3)].addr));
outcode((yyvsp[(1) - (6)].lval), Always, &(yyvsp[(2) - (6)].addr), (yyvsp[(4) - (6)].lval), &(yyvsp[(6) - (6)].addr));
}
break;
case 35:
#line 261 "a.y"
#line 260 "a.y"
{
outcode((yyvsp[(1) - (5)].lval), (yyvsp[(2) - (5)].lval), &(yyvsp[(3) - (5)].addr), 0, &(yyvsp[(5) - (5)].addr));
outcode((yyvsp[(1) - (4)].lval), (yyvsp[(2) - (4)].lval), &(yyvsp[(3) - (4)].addr), 0, &nullgen);
}
break;
case 36:
#line 265 "a.y"
#line 267 "a.y"
{
outcode((yyvsp[(1) - (5)].lval), (yyvsp[(2) - (5)].lval), &(yyvsp[(3) - (5)].addr), 0, &(yyvsp[(5) - (5)].addr));
outcode((yyvsp[(1) - (3)].lval), Always, &nullgen, 0, &(yyvsp[(3) - (3)].addr));
}
break;
case 37:
#line 269 "a.y"
#line 274 "a.y"
{
outcode((yyvsp[(1) - (7)].lval), (yyvsp[(2) - (7)].lval), &(yyvsp[(3) - (7)].addr), (yyvsp[(5) - (7)].lval), &(yyvsp[(7) - (7)].addr));
outcode((yyvsp[(1) - (5)].lval), (yyvsp[(2) - (5)].lval), &(yyvsp[(3) - (5)].addr), 0, &(yyvsp[(5) - (5)].addr));
}
break;
case 38:
#line 273 "a.y"
#line 278 "a.y"
{
outcode((yyvsp[(1) - (6)].lval), (yyvsp[(2) - (6)].lval), &(yyvsp[(3) - (6)].addr), (yyvsp[(5) - (6)].addr).reg, &nullgen);
outcode((yyvsp[(1) - (5)].lval), (yyvsp[(2) - (5)].lval), &(yyvsp[(3) - (5)].addr), 0, &(yyvsp[(5) - (5)].addr));
}
break;
case 39:
#line 280 "a.y"
#line 282 "a.y"
{
outcode((yyvsp[(1) - (7)].lval), (yyvsp[(2) - (7)].lval), &(yyvsp[(3) - (7)].addr), (yyvsp[(5) - (7)].lval), &(yyvsp[(7) - (7)].addr));
}
break;
case 40:
#line 286 "a.y"
{
outcode((yyvsp[(1) - (6)].lval), (yyvsp[(2) - (6)].lval), &(yyvsp[(3) - (6)].addr), (yyvsp[(5) - (6)].addr).reg, &nullgen);
}
break;
case 41:
#line 293 "a.y"
{
Addr g;
......@@ -2010,15 +2039,15 @@ yyreduce:
}
break;
case 40:
#line 302 "a.y"
case 42:
#line 315 "a.y"
{
outcode((yyvsp[(1) - (7)].lval), (yyvsp[(2) - (7)].lval), &(yyvsp[(3) - (7)].addr), (yyvsp[(5) - (7)].addr).reg, &(yyvsp[(7) - (7)].addr));
}
break;
case 41:
#line 310 "a.y"
case 43:
#line 323 "a.y"
{
(yyvsp[(7) - (9)].addr).type = TYPE_REGREG2;
(yyvsp[(7) - (9)].addr).offset = (yyvsp[(9) - (9)].lval);
......@@ -2026,15 +2055,15 @@ yyreduce:
}
break;
case 42:
#line 319 "a.y"
case 44:
#line 332 "a.y"
{
outcode((yyvsp[(1) - (2)].lval), Always, &(yyvsp[(2) - (2)].addr), 0, &nullgen);
}
break;
case 43:
#line 326 "a.y"
case 45:
#line 339 "a.y"
{
if((yyvsp[(2) - (4)].addr).type != TYPE_CONST || (yyvsp[(4) - (4)].addr).type != TYPE_CONST)
yyerror("arguments to PCDATA must be integer constants");
......@@ -2042,8 +2071,8 @@ yyreduce:
}
break;
case 44:
#line 335 "a.y"
case 46:
#line 348 "a.y"
{
if((yyvsp[(2) - (4)].addr).type != TYPE_CONST)
yyerror("index for FUNCDATA must be integer constant");
......@@ -2053,36 +2082,36 @@ yyreduce:
}
break;
case 45:
#line 346 "a.y"
case 47:
#line 359 "a.y"
{
outcode((yyvsp[(1) - (2)].lval), Always, &nullgen, 0, &nullgen);
}
break;
case 46:
#line 351 "a.y"
case 48:
#line 364 "a.y"
{
(yyval.lval) = Always;
}
break;
case 47:
#line 355 "a.y"
case 49:
#line 368 "a.y"
{
(yyval.lval) = ((yyvsp[(1) - (2)].lval) & ~C_SCOND) | (yyvsp[(2) - (2)].lval);
}
break;
case 48:
#line 359 "a.y"
case 50:
#line 372 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (2)].lval) | (yyvsp[(2) - (2)].lval);
}
break;
case 51:
#line 368 "a.y"
case 53:
#line 381 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_BRANCH;
......@@ -2090,8 +2119,8 @@ yyreduce:
}
break;
case 52:
#line 374 "a.y"
case 54:
#line 387 "a.y"
{
(yyvsp[(1) - (2)].sym) = labellookup((yyvsp[(1) - (2)].sym));
(yyval.addr) = nullgen;
......@@ -2102,8 +2131,8 @@ yyreduce:
}
break;
case 53:
#line 384 "a.y"
case 55:
#line 397 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_CONST;
......@@ -2111,16 +2140,16 @@ yyreduce:
}
break;
case 54:
#line 390 "a.y"
case 56:
#line 403 "a.y"
{
(yyval.addr) = (yyvsp[(2) - (2)].addr);
(yyval.addr).type = TYPE_CONST;
}
break;
case 55:
#line 395 "a.y"
case 57:
#line 408 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_SCONST;
......@@ -2128,8 +2157,8 @@ yyreduce:
}
break;
case 57:
#line 404 "a.y"
case 59:
#line 417 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_FCONST;
......@@ -2137,8 +2166,8 @@ yyreduce:
}
break;
case 58:
#line 410 "a.y"
case 60:
#line 423 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_FCONST;
......@@ -2146,15 +2175,15 @@ yyreduce:
}
break;
case 59:
#line 418 "a.y"
case 61:
#line 431 "a.y"
{
(yyval.lval) = 1 << (yyvsp[(1) - (1)].lval);
}
break;
case 60:
#line 422 "a.y"
case 62:
#line 435 "a.y"
{
int i;
(yyval.lval)=0;
......@@ -2165,23 +2194,23 @@ yyreduce:
}
break;
case 61:
#line 431 "a.y"
case 63:
#line 444 "a.y"
{
(yyval.lval) = (1<<(yyvsp[(1) - (3)].lval)) | (yyvsp[(3) - (3)].lval);
}
break;
case 65:
#line 440 "a.y"
case 67:
#line 453 "a.y"
{
(yyval.addr) = (yyvsp[(1) - (4)].addr);
(yyval.addr).reg = (yyvsp[(3) - (4)].lval);
}
break;
case 66:
#line 445 "a.y"
case 68:
#line 458 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
......@@ -2189,8 +2218,8 @@ yyreduce:
}
break;
case 67:
#line 451 "a.y"
case 69:
#line 464 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
......@@ -2198,8 +2227,8 @@ yyreduce:
}
break;
case 68:
#line 457 "a.y"
case 70:
#line 470 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_MEM;
......@@ -2207,8 +2236,8 @@ yyreduce:
}
break;
case 72:
#line 468 "a.y"
case 74:
#line 481 "a.y"
{
(yyval.addr) = (yyvsp[(1) - (1)].addr);
if((yyvsp[(1) - (1)].addr).name != NAME_EXTERN && (yyvsp[(1) - (1)].addr).name != NAME_STATIC) {
......@@ -2216,8 +2245,8 @@ yyreduce:
}
break;
case 73:
#line 476 "a.y"
case 75:
#line 489 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_MEM;
......@@ -2226,8 +2255,8 @@ yyreduce:
}
break;
case 75:
#line 486 "a.y"
case 77:
#line 499 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_MEM;
......@@ -2236,8 +2265,8 @@ yyreduce:
}
break;
case 77:
#line 496 "a.y"
case 79:
#line 509 "a.y"
{
(yyval.addr) = (yyvsp[(1) - (4)].addr);
(yyval.addr).type = TYPE_MEM;
......@@ -2245,8 +2274,8 @@ yyreduce:
}
break;
case 82:
#line 509 "a.y"
case 84:
#line 522 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_CONST;
......@@ -2254,8 +2283,8 @@ yyreduce:
}
break;
case 83:
#line 517 "a.y"
case 85:
#line 530 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
......@@ -2263,8 +2292,8 @@ yyreduce:
}
break;
case 84:
#line 525 "a.y"
case 86:
#line 538 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REGREG;
......@@ -2273,8 +2302,8 @@ yyreduce:
}
break;
case 85:
#line 534 "a.y"
case 87:
#line 547 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_SHIFT;
......@@ -2282,8 +2311,8 @@ yyreduce:
}
break;
case 86:
#line 540 "a.y"
case 88:
#line 553 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_SHIFT;
......@@ -2291,8 +2320,8 @@ yyreduce:
}
break;
case 87:
#line 546 "a.y"
case 89:
#line 559 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_SHIFT;
......@@ -2300,8 +2329,8 @@ yyreduce:
}
break;
case 88:
#line 552 "a.y"
case 90:
#line 565 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_SHIFT;
......@@ -2309,8 +2338,8 @@ yyreduce:
}
break;
case 89:
#line 560 "a.y"
case 91:
#line 573 "a.y"
{
if((yyval.lval) < REG_R0 || (yyval.lval) > REG_R15)
print("register value out of range in shift\n");
......@@ -2318,8 +2347,8 @@ yyreduce:
}
break;
case 90:
#line 566 "a.y"
case 92:
#line 579 "a.y"
{
if((yyval.lval) < 0 || (yyval.lval) >= 32)
print("shift value out of range\n");
......@@ -2327,15 +2356,15 @@ yyreduce:
}
break;
case 92:
#line 575 "a.y"
case 94:
#line 588 "a.y"
{
(yyval.lval) = REGPC;
}
break;
case 93:
#line 579 "a.y"
case 95:
#line 592 "a.y"
{
if((yyvsp[(3) - (4)].lval) < 0 || (yyvsp[(3) - (4)].lval) >= NREG)
print("register value out of range in R(...)\n");
......@@ -2343,15 +2372,15 @@ yyreduce:
}
break;
case 95:
#line 588 "a.y"
case 97:
#line 601 "a.y"
{
(yyval.lval) = REGSP;
}
break;
case 97:
#line 595 "a.y"
case 99:
#line 608 "a.y"
{
if((yyvsp[(3) - (4)].lval) < 0 || (yyvsp[(3) - (4)].lval) >= NREG)
print("register value out of range in C(...)\n");
......@@ -2359,8 +2388,8 @@ yyreduce:
}
break;
case 100:
#line 607 "a.y"
case 102:
#line 620 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
......@@ -2368,8 +2397,8 @@ yyreduce:
}
break;
case 101:
#line 613 "a.y"
case 103:
#line 626 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
......@@ -2377,8 +2406,8 @@ yyreduce:
}
break;
case 102:
#line 621 "a.y"
case 104:
#line 634 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_MEM;
......@@ -2388,8 +2417,8 @@ yyreduce:
}
break;
case 103:
#line 629 "a.y"
case 105:
#line 642 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_MEM;
......@@ -2399,8 +2428,8 @@ yyreduce:
}
break;
case 104:
#line 637 "a.y"
case 106:
#line 650 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_MEM;
......@@ -2410,141 +2439,141 @@ yyreduce:
}
break;
case 105:
#line 646 "a.y"
case 107:
#line 659 "a.y"
{
(yyval.lval) = 0;
}
break;
case 106:
#line 650 "a.y"
case 108:
#line 663 "a.y"
{
(yyval.lval) = (yyvsp[(2) - (2)].lval);
}
break;
case 107:
#line 654 "a.y"
case 109:
#line 667 "a.y"
{
(yyval.lval) = -(yyvsp[(2) - (2)].lval);
}
break;
case 112:
#line 666 "a.y"
case 114:
#line 679 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (1)].sym)->value;
}
break;
case 113:
#line 670 "a.y"
case 115:
#line 683 "a.y"
{
(yyval.lval) = -(yyvsp[(2) - (2)].lval);
}
break;
case 114:
#line 674 "a.y"
case 116:
#line 687 "a.y"
{
(yyval.lval) = (yyvsp[(2) - (2)].lval);
}
break;
case 115:
#line 678 "a.y"
case 117:
#line 691 "a.y"
{
(yyval.lval) = ~(yyvsp[(2) - (2)].lval);
}
break;
case 116:
#line 682 "a.y"
case 118:
#line 695 "a.y"
{
(yyval.lval) = (yyvsp[(2) - (3)].lval);
}
break;
case 117:
#line 687 "a.y"
case 119:
#line 700 "a.y"
{
(yyval.lval) = 0;
}
break;
case 118:
#line 691 "a.y"
case 120:
#line 704 "a.y"
{
(yyval.lval) = (yyvsp[(2) - (2)].lval);
}
break;
case 120:
#line 698 "a.y"
case 122:
#line 711 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) + (yyvsp[(3) - (3)].lval);
}
break;
case 121:
#line 702 "a.y"
case 123:
#line 715 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) - (yyvsp[(3) - (3)].lval);
}
break;
case 122:
#line 706 "a.y"
case 124:
#line 719 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) * (yyvsp[(3) - (3)].lval);
}
break;
case 123:
#line 710 "a.y"
case 125:
#line 723 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) / (yyvsp[(3) - (3)].lval);
}
break;
case 124:
#line 714 "a.y"
case 126:
#line 727 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) % (yyvsp[(3) - (3)].lval);
}
break;
case 125:
#line 718 "a.y"
case 127:
#line 731 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (4)].lval) << (yyvsp[(4) - (4)].lval);
}
break;
case 126:
#line 722 "a.y"
case 128:
#line 735 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (4)].lval) >> (yyvsp[(4) - (4)].lval);
}
break;
case 127:
#line 726 "a.y"
case 129:
#line 739 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) & (yyvsp[(3) - (3)].lval);
}
break;
case 128:
#line 730 "a.y"
case 130:
#line 743 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) ^ (yyvsp[(3) - (3)].lval);
}
break;
case 129:
#line 734 "a.y"
case 131:
#line 747 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) | (yyvsp[(3) - (3)].lval);
}
......@@ -2552,7 +2581,7 @@ yyreduce:
/* Line 1267 of yacc.c. */
#line 2556 "y.tab.c"
#line 2585 "y.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
......
......@@ -50,43 +50,44 @@
LTYPE9 = 266,
LTYPEA = 267,
LTYPEB = 268,
LTYPEC = 269,
LTYPED = 270,
LTYPEE = 271,
LTYPEG = 272,
LTYPEH = 273,
LTYPEI = 274,
LTYPEJ = 275,
LTYPEK = 276,
LTYPEL = 277,
LTYPEM = 278,
LTYPEN = 279,
LTYPEBX = 280,
LTYPEPLD = 281,
LCONST = 282,
LSP = 283,
LSB = 284,
LFP = 285,
LPC = 286,
LTYPEX = 287,
LTYPEPC = 288,
LTYPEF = 289,
LR = 290,
LREG = 291,
LF = 292,
LFREG = 293,
LC = 294,
LCREG = 295,
LPSR = 296,
LFCR = 297,
LCOND = 298,
LS = 299,
LAT = 300,
LFCONST = 301,
LSCONST = 302,
LNAME = 303,
LLAB = 304,
LVAR = 305
LGLOBL = 269,
LTYPEC = 270,
LTYPED = 271,
LTYPEE = 272,
LTYPEG = 273,
LTYPEH = 274,
LTYPEI = 275,
LTYPEJ = 276,
LTYPEK = 277,
LTYPEL = 278,
LTYPEM = 279,
LTYPEN = 280,
LTYPEBX = 281,
LTYPEPLD = 282,
LCONST = 283,
LSP = 284,
LSB = 285,
LFP = 286,
LPC = 287,
LTYPEX = 288,
LTYPEPC = 289,
LTYPEF = 290,
LR = 291,
LREG = 292,
LF = 293,
LFREG = 294,
LC = 295,
LCREG = 296,
LPSR = 297,
LFCR = 298,
LCOND = 299,
LS = 300,
LAT = 301,
LFCONST = 302,
LSCONST = 303,
LNAME = 304,
LLAB = 305,
LVAR = 306
};
#endif
/* Tokens. */
......@@ -101,43 +102,44 @@
#define LTYPE9 266
#define LTYPEA 267
#define LTYPEB 268
#define LTYPEC 269
#define LTYPED 270
#define LTYPEE 271
#define LTYPEG 272
#define LTYPEH 273
#define LTYPEI 274
#define LTYPEJ 275
#define LTYPEK 276
#define LTYPEL 277
#define LTYPEM 278
#define LTYPEN 279
#define LTYPEBX 280
#define LTYPEPLD 281
#define LCONST 282
#define LSP 283
#define LSB 284
#define LFP 285
#define LPC 286
#define LTYPEX 287
#define LTYPEPC 288
#define LTYPEF 289
#define LR 290
#define LREG 291
#define LF 292
#define LFREG 293
#define LC 294
#define LCREG 295
#define LPSR 296
#define LFCR 297
#define LCOND 298
#define LS 299
#define LAT 300
#define LFCONST 301
#define LSCONST 302
#define LNAME 303
#define LLAB 304
#define LVAR 305
#define LGLOBL 269
#define LTYPEC 270
#define LTYPED 271
#define LTYPEE 272
#define LTYPEG 273
#define LTYPEH 274
#define LTYPEI 275
#define LTYPEJ 276
#define LTYPEK 277
#define LTYPEL 278
#define LTYPEM 279
#define LTYPEN 280
#define LTYPEBX 281
#define LTYPEPLD 282
#define LCONST 283
#define LSP 284
#define LSB 285
#define LFP 286
#define LPC 287
#define LTYPEX 288
#define LTYPEPC 289
#define LTYPEF 290
#define LR 291
#define LREG 292
#define LF 293
#define LFREG 294
#define LC 295
#define LCREG 296
#define LPSR 297
#define LFCR 298
#define LCOND 299
#define LS 300
#define LAT 301
#define LFCONST 302
#define LSCONST 303
#define LNAME 304
#define LLAB 305
#define LVAR 306
......@@ -153,7 +155,7 @@ typedef union YYSTYPE
Addr addr;
}
/* Line 1529 of yacc.c. */
#line 157 "y.tab.h"
#line 159 "y.tab.h"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
......
......@@ -50,7 +50,7 @@
%left '*' '/' '%'
%token <lval> LMOVW LMOVB LABS LLOGW LSHW LADDW LCMP LCROP
%token <lval> LBRA LFMOV LFCONV LFCMP LFADD LFMA LTRAP LXORW
%token <lval> LNOP LEND LRETT LWORD LTEXT LDATA LRETRN
%token <lval> LNOP LEND LRETT LWORD LTEXT LGLOBL LDATA LRETRN
%token <lval> LCONST LSP LSB LFP LPC LCREG LFLUSH
%token <lval> LREG LFREG LR LCR LF LFPSCR
%token <lval> LLR LCTR LSPR LSPREG LSEG LMSR
......@@ -611,7 +611,7 @@ inst:
outcode($1, &nullgen, 0, &nullgen);
}
/*
* TEXT/GLOBL
* TEXT
*/
| LTEXT name ',' imm
{
......@@ -632,6 +632,20 @@ inst:
$6.offset |= ($8 & 0xffffffffull) << 32;
outcode($1, &$2, $4, &$6);
}
/*
* GLOBL
*/
| LGLOBL name ',' imm
{
settext($2.sym);
outcode($1, &$2, 0, &$4);
}
| LGLOBL name ',' con ',' imm
{
settext($2.sym);
outcode($1, &$2, $4, &$6);
}
/*
* DATA
*/
......
......@@ -454,7 +454,7 @@ struct
"FMOVS", LFMOV, AFMOVS,
"FMOVDCC", LFCONV, AFMOVDCC, /* fmr. */
"GLOBL", LTEXT, AGLOBL,
"GLOBL", LGLOBL, AGLOBL,
"MOVB", LMOVB, AMOVB,
"MOVBZ", LMOVB, AMOVBZ,
......
......@@ -87,45 +87,46 @@
LRETT = 276,
LWORD = 277,
LTEXT = 278,
LDATA = 279,
LRETRN = 280,
LCONST = 281,
LSP = 282,
LSB = 283,
LFP = 284,
LPC = 285,
LCREG = 286,
LFLUSH = 287,
LREG = 288,
LFREG = 289,
LR = 290,
LCR = 291,
LF = 292,
LFPSCR = 293,
LLR = 294,
LCTR = 295,
LSPR = 296,
LSPREG = 297,
LSEG = 298,
LMSR = 299,
LPCDAT = 300,
LFUNCDAT = 301,
LSCHED = 302,
LXLD = 303,
LXST = 304,
LXOP = 305,
LXMV = 306,
LRLWM = 307,
LMOVMW = 308,
LMOVEM = 309,
LMOVFL = 310,
LMTFSB = 311,
LMA = 312,
LFCONST = 313,
LSCONST = 314,
LNAME = 315,
LLAB = 316,
LVAR = 317
LGLOBL = 279,
LDATA = 280,
LRETRN = 281,
LCONST = 282,
LSP = 283,
LSB = 284,
LFP = 285,
LPC = 286,
LCREG = 287,
LFLUSH = 288,
LREG = 289,
LFREG = 290,
LR = 291,
LCR = 292,
LF = 293,
LFPSCR = 294,
LLR = 295,
LCTR = 296,
LSPR = 297,
LSPREG = 298,
LSEG = 299,
LMSR = 300,
LPCDAT = 301,
LFUNCDAT = 302,
LSCHED = 303,
LXLD = 304,
LXST = 305,
LXOP = 306,
LXMV = 307,
LRLWM = 308,
LMOVMW = 309,
LMOVEM = 310,
LMOVFL = 311,
LMTFSB = 312,
LMA = 313,
LFCONST = 314,
LSCONST = 315,
LNAME = 316,
LLAB = 317,
LVAR = 318
};
#endif
/* Tokens. */
......@@ -150,45 +151,46 @@
#define LRETT 276
#define LWORD 277
#define LTEXT 278
#define LDATA 279
#define LRETRN 280
#define LCONST 281
#define LSP 282
#define LSB 283
#define LFP 284
#define LPC 285
#define LCREG 286
#define LFLUSH 287
#define LREG 288
#define LFREG 289
#define LR 290
#define LCR 291
#define LF 292
#define LFPSCR 293
#define LLR 294
#define LCTR 295
#define LSPR 296
#define LSPREG 297
#define LSEG 298
#define LMSR 299
#define LPCDAT 300
#define LFUNCDAT 301
#define LSCHED 302
#define LXLD 303
#define LXST 304
#define LXOP 305
#define LXMV 306
#define LRLWM 307
#define LMOVMW 308
#define LMOVEM 309
#define LMOVFL 310
#define LMTFSB 311
#define LMA 312
#define LFCONST 313
#define LSCONST 314
#define LNAME 315
#define LLAB 316
#define LVAR 317
#define LGLOBL 279
#define LDATA 280
#define LRETRN 281
#define LCONST 282
#define LSP 283
#define LSB 284
#define LFP 285
#define LPC 286
#define LCREG 287
#define LFLUSH 288
#define LREG 289
#define LFREG 290
#define LR 291
#define LCR 292
#define LF 293
#define LFPSCR 294
#define LLR 295
#define LCTR 296
#define LSPR 297
#define LSPREG 298
#define LSEG 299
#define LMSR 300
#define LPCDAT 301
#define LFUNCDAT 302
#define LSCHED 303
#define LXLD 304
#define LXST 305
#define LXOP 306
#define LXMV 307
#define LRLWM 308
#define LMOVMW 309
#define LMOVEM 310
#define LMOVFL 311
#define LMTFSB 312
#define LMA 313
#define LFCONST 314
#define LSCONST 315
#define LNAME 316
#define LLAB 317
#define LVAR 318
......@@ -232,7 +234,7 @@ typedef union YYSTYPE
Addr addr;
}
/* Line 193 of yacc.c. */
#line 236 "y.tab.c"
#line 238 "y.tab.c"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
......@@ -245,7 +247,7 @@ typedef union YYSTYPE
/* Line 216 of yacc.c. */
#line 249 "y.tab.c"
#line 251 "y.tab.c"
#ifdef short
# undef short
......@@ -463,17 +465,17 @@ union yyalloc
#define YYLAST 862
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 81
#define YYNTOKENS 82
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 30
/* YYNRULES -- Number of rules. */
#define YYNRULES 181
#define YYNRULES 183
/* YYNRULES -- Number of states. */
#define YYNSTATES 448
#define YYNSTATES 455
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 317
#define YYMAXUTOK 318
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
......@@ -484,16 +486,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, 79, 12, 5, 2,
77, 78, 10, 8, 76, 9, 2, 11, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 73, 75,
6, 74, 7, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 80, 12, 5, 2,
78, 79, 10, 8, 77, 9, 2, 11, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 74, 76,
6, 75, 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, 80, 2, 2, 2,
2, 2, 2, 2, 3, 2, 81, 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,
......@@ -512,7 +514,7 @@ static const yytype_uint8 yytranslate[] =
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72
65, 66, 67, 68, 69, 70, 71, 72, 73
};
#if YYDEBUG
......@@ -532,102 +534,103 @@ static const yytype_uint16 yyprhs[] =
454, 459, 466, 473, 482, 491, 500, 509, 514, 519,
524, 531, 536, 543, 548, 553, 556, 559, 563, 567,
571, 575, 578, 582, 586, 591, 596, 599, 604, 611,
620, 627, 634, 641, 644, 649, 652, 654, 656, 658,
660, 662, 664, 666, 668, 673, 675, 677, 679, 684,
686, 691, 693, 697, 700, 703, 706, 710, 713, 715,
720, 724, 730, 732, 737, 742, 748, 756, 757, 759,
760, 763, 766, 768, 770, 772, 774, 776, 779, 782,
785, 789, 791, 795, 799, 803, 807, 811, 816, 821,
825, 829
620, 625, 632, 639, 646, 653, 656, 661, 664, 666,
668, 670, 672, 674, 676, 678, 680, 685, 687, 689,
691, 696, 698, 703, 705, 709, 712, 715, 718, 722,
725, 727, 732, 736, 742, 744, 749, 754, 760, 768,
769, 771, 772, 775, 778, 780, 782, 784, 786, 788,
791, 794, 797, 801, 803, 807, 811, 815, 819, 823,
828, 833, 837, 841
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int8 yyrhs[] =
{
82, 0, -1, -1, 82, 83, -1, -1, 70, 73,
84, 83, -1, 70, 74, 110, 75, -1, 72, 74,
110, 75, -1, 57, 75, -1, 75, -1, 85, 75,
-1, 1, 75, -1, 13, 87, 76, 87, -1, 13,
104, 76, 87, -1, 13, 103, 76, 87, -1, 14,
87, 76, 87, -1, 14, 104, 76, 87, -1, 14,
103, 76, 87, -1, 22, 104, 76, 95, -1, 22,
103, 76, 95, -1, 22, 100, 76, 95, -1, 22,
95, 76, 95, -1, 22, 95, 76, 104, -1, 22,
95, 76, 103, -1, 13, 87, 76, 104, -1, 13,
87, 76, 103, -1, 14, 87, 76, 104, -1, 14,
87, 76, 103, -1, 13, 95, 76, 104, -1, 13,
95, 76, 103, -1, 13, 94, 76, 95, -1, 13,
95, 76, 94, -1, 13, 95, 76, 101, 76, 94,
-1, 13, 94, 76, 96, -1, 66, 101, 76, 109,
-1, 13, 87, 76, 101, 76, 90, -1, 13, 87,
76, 96, -1, 13, 87, 76, 90, -1, 18, 87,
76, 102, 76, 87, -1, 18, 101, 76, 102, 76,
87, -1, 18, 87, 76, 101, 76, 87, -1, 18,
87, 76, 87, -1, 18, 101, 76, 87, -1, 16,
87, 76, 102, 76, 87, -1, 16, 87, 76, 87,
-1, 17, 87, 76, 102, 76, 87, -1, 17, 87,
76, 87, -1, 17, 101, 76, 102, 76, 87, -1,
17, 101, 76, 87, -1, 15, 87, 76, 87, -1,
15, 87, -1, 67, 87, 76, 102, 76, 87, -1,
13, 101, 76, 87, -1, 13, 99, 76, 87, -1,
20, 97, 76, 97, -1, 20, 97, 76, 109, 76,
97, -1, 13, 96, 76, 96, -1, 13, 93, 76,
96, -1, 13, 90, 76, 87, -1, 13, 93, 76,
87, -1, 13, 88, 76, 87, -1, 13, 87, 76,
88, -1, 13, 96, 76, 93, -1, 13, 87, 76,
93, -1, 21, 86, -1, 21, 104, -1, 21, 77,
88, 78, -1, 21, 76, 86, -1, 21, 76, 104,
-1, 21, 76, 77, 88, 78, -1, 21, 96, 76,
86, -1, 21, 96, 76, 104, -1, 21, 96, 76,
77, 88, 78, -1, 21, 109, 76, 86, -1, 21,
109, 76, 104, -1, 21, 109, 76, 77, 88, 78,
-1, 21, 109, 76, 109, 76, 86, -1, 21, 109,
76, 109, 76, 104, -1, 21, 109, 76, 109, 76,
77, 88, 78, -1, 27, 87, 76, 102, -1, 27,
101, 76, 102, -1, 27, 87, 106, -1, 27, 106,
-1, 23, 95, 76, 95, -1, 25, 95, 76, 95,
-1, 25, 95, 76, 95, 76, 95, -1, 26, 95,
76, 95, 76, 95, 76, 95, -1, 24, 95, 76,
95, -1, 24, 95, 76, 95, 76, 96, -1, 19,
87, 76, 87, -1, 19, 87, 76, 101, -1, 19,
87, 76, 87, 76, 96, -1, 19, 87, 76, 101,
76, 96, -1, 62, 101, 76, 87, 76, 101, 76,
87, -1, 62, 101, 76, 87, 76, 98, 76, 87,
-1, 62, 87, 76, 87, 76, 101, 76, 87, -1,
62, 87, 76, 87, 76, 98, 76, 87, -1, 63,
104, 76, 87, -1, 63, 87, 76, 104, -1, 58,
103, 76, 87, -1, 58, 103, 76, 101, 76, 87,
-1, 59, 87, 76, 103, -1, 59, 87, 76, 101,
76, 103, -1, 61, 103, 76, 87, -1, 61, 87,
76, 103, -1, 60, 103, -1, 29, 106, -1, 29,
87, 106, -1, 29, 95, 106, -1, 29, 76, 87,
-1, 29, 76, 95, -1, 29, 101, -1, 32, 101,
106, -1, 32, 99, 106, -1, 55, 101, 76, 101,
-1, 56, 101, 76, 104, -1, 30, 106, -1, 33,
105, 76, 101, -1, 33, 105, 76, 109, 76, 101,
-1, 33, 105, 76, 109, 76, 101, 9, 109, -1,
34, 105, 11, 109, 76, 101, -1, 34, 105, 11,
109, 76, 99, -1, 34, 105, 11, 109, 76, 100,
-1, 35, 106, -1, 109, 77, 40, 78, -1, 70,
107, -1, 102, -1, 89, -1, 91, -1, 49, -1,
46, -1, 50, -1, 54, -1, 52, -1, 51, 77,
109, 78, -1, 92, -1, 48, -1, 44, -1, 47,
77, 109, 78, -1, 41, -1, 46, 77, 109, 78,
-1, 109, -1, 109, 76, 109, -1, 79, 104, -1,
79, 69, -1, 79, 68, -1, 79, 9, 68, -1,
79, 109, -1, 43, -1, 45, 77, 109, 78, -1,
77, 102, 78, -1, 77, 102, 8, 102, 78, -1,
105, -1, 109, 77, 102, 78, -1, 109, 77, 108,
78, -1, 70, 107, 77, 108, 78, -1, 70, 6,
7, 107, 77, 38, 78, -1, -1, 76, -1, -1,
8, 109, -1, 9, 109, -1, 38, -1, 37, -1,
39, -1, 36, -1, 72, -1, 9, 109, -1, 8,
109, -1, 80, 109, -1, 77, 110, 78, -1, 109,
-1, 110, 8, 110, -1, 110, 9, 110, -1, 110,
10, 110, -1, 110, 11, 110, -1, 110, 12, 110,
-1, 110, 6, 6, 110, -1, 110, 7, 7, 110,
-1, 110, 5, 110, -1, 110, 4, 110, -1, 110,
3, 110, -1
83, 0, -1, -1, 83, 84, -1, -1, 71, 74,
85, 84, -1, 71, 75, 111, 76, -1, 73, 75,
111, 76, -1, 58, 76, -1, 76, -1, 86, 76,
-1, 1, 76, -1, 13, 88, 77, 88, -1, 13,
105, 77, 88, -1, 13, 104, 77, 88, -1, 14,
88, 77, 88, -1, 14, 105, 77, 88, -1, 14,
104, 77, 88, -1, 22, 105, 77, 96, -1, 22,
104, 77, 96, -1, 22, 101, 77, 96, -1, 22,
96, 77, 96, -1, 22, 96, 77, 105, -1, 22,
96, 77, 104, -1, 13, 88, 77, 105, -1, 13,
88, 77, 104, -1, 14, 88, 77, 105, -1, 14,
88, 77, 104, -1, 13, 96, 77, 105, -1, 13,
96, 77, 104, -1, 13, 95, 77, 96, -1, 13,
96, 77, 95, -1, 13, 96, 77, 102, 77, 95,
-1, 13, 95, 77, 97, -1, 67, 102, 77, 110,
-1, 13, 88, 77, 102, 77, 91, -1, 13, 88,
77, 97, -1, 13, 88, 77, 91, -1, 18, 88,
77, 103, 77, 88, -1, 18, 102, 77, 103, 77,
88, -1, 18, 88, 77, 102, 77, 88, -1, 18,
88, 77, 88, -1, 18, 102, 77, 88, -1, 16,
88, 77, 103, 77, 88, -1, 16, 88, 77, 88,
-1, 17, 88, 77, 103, 77, 88, -1, 17, 88,
77, 88, -1, 17, 102, 77, 103, 77, 88, -1,
17, 102, 77, 88, -1, 15, 88, 77, 88, -1,
15, 88, -1, 68, 88, 77, 103, 77, 88, -1,
13, 102, 77, 88, -1, 13, 100, 77, 88, -1,
20, 98, 77, 98, -1, 20, 98, 77, 110, 77,
98, -1, 13, 97, 77, 97, -1, 13, 94, 77,
97, -1, 13, 91, 77, 88, -1, 13, 94, 77,
88, -1, 13, 89, 77, 88, -1, 13, 88, 77,
89, -1, 13, 97, 77, 94, -1, 13, 88, 77,
94, -1, 21, 87, -1, 21, 105, -1, 21, 78,
89, 79, -1, 21, 77, 87, -1, 21, 77, 105,
-1, 21, 77, 78, 89, 79, -1, 21, 97, 77,
87, -1, 21, 97, 77, 105, -1, 21, 97, 77,
78, 89, 79, -1, 21, 110, 77, 87, -1, 21,
110, 77, 105, -1, 21, 110, 77, 78, 89, 79,
-1, 21, 110, 77, 110, 77, 87, -1, 21, 110,
77, 110, 77, 105, -1, 21, 110, 77, 110, 77,
78, 89, 79, -1, 27, 88, 77, 103, -1, 27,
102, 77, 103, -1, 27, 88, 107, -1, 27, 107,
-1, 23, 96, 77, 96, -1, 25, 96, 77, 96,
-1, 25, 96, 77, 96, 77, 96, -1, 26, 96,
77, 96, 77, 96, 77, 96, -1, 24, 96, 77,
96, -1, 24, 96, 77, 96, 77, 97, -1, 19,
88, 77, 88, -1, 19, 88, 77, 102, -1, 19,
88, 77, 88, 77, 97, -1, 19, 88, 77, 102,
77, 97, -1, 63, 102, 77, 88, 77, 102, 77,
88, -1, 63, 102, 77, 88, 77, 99, 77, 88,
-1, 63, 88, 77, 88, 77, 102, 77, 88, -1,
63, 88, 77, 88, 77, 99, 77, 88, -1, 64,
105, 77, 88, -1, 64, 88, 77, 105, -1, 59,
104, 77, 88, -1, 59, 104, 77, 102, 77, 88,
-1, 60, 88, 77, 104, -1, 60, 88, 77, 102,
77, 104, -1, 62, 104, 77, 88, -1, 62, 88,
77, 104, -1, 61, 104, -1, 29, 107, -1, 29,
88, 107, -1, 29, 96, 107, -1, 29, 77, 88,
-1, 29, 77, 96, -1, 29, 102, -1, 32, 102,
107, -1, 32, 100, 107, -1, 56, 102, 77, 102,
-1, 57, 102, 77, 105, -1, 30, 107, -1, 33,
106, 77, 102, -1, 33, 106, 77, 110, 77, 102,
-1, 33, 106, 77, 110, 77, 102, 9, 110, -1,
34, 106, 77, 102, -1, 34, 106, 77, 110, 77,
102, -1, 35, 106, 11, 110, 77, 102, -1, 35,
106, 11, 110, 77, 100, -1, 35, 106, 11, 110,
77, 101, -1, 36, 107, -1, 110, 78, 41, 79,
-1, 71, 108, -1, 103, -1, 90, -1, 92, -1,
50, -1, 47, -1, 51, -1, 55, -1, 53, -1,
52, 78, 110, 79, -1, 93, -1, 49, -1, 45,
-1, 48, 78, 110, 79, -1, 42, -1, 47, 78,
110, 79, -1, 110, -1, 110, 77, 110, -1, 80,
105, -1, 80, 70, -1, 80, 69, -1, 80, 9,
69, -1, 80, 110, -1, 44, -1, 46, 78, 110,
79, -1, 78, 103, 79, -1, 78, 103, 8, 103,
79, -1, 106, -1, 110, 78, 103, 79, -1, 110,
78, 109, 79, -1, 71, 108, 78, 109, 79, -1,
71, 6, 7, 108, 78, 39, 79, -1, -1, 77,
-1, -1, 8, 110, -1, 9, 110, -1, 39, -1,
38, -1, 40, -1, 37, -1, 73, -1, 9, 110,
-1, 8, 110, -1, 81, 110, -1, 78, 111, 79,
-1, 110, -1, 111, 8, 111, -1, 111, 9, 111,
-1, 111, 10, 111, -1, 111, 11, 111, -1, 111,
12, 111, -1, 111, 6, 6, 111, -1, 111, 7,
7, 111, -1, 111, 5, 111, -1, 111, 4, 111,
-1, 111, 3, 111, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
......@@ -645,13 +648,13 @@ static const yytype_uint16 yyrline[] =
474, 478, 482, 489, 493, 497, 501, 508, 512, 520,
524, 528, 532, 536, 540, 544, 551, 555, 559, 563,
567, 571, 578, 582, 589, 598, 609, 616, 621, 628,
638, 642, 646, 653, 659, 665, 676, 684, 685, 688,
696, 704, 712, 720, 726, 734, 737, 745, 751, 759,
765, 773, 781, 802, 807, 815, 821, 828, 836, 837,
845, 852, 862, 863, 872, 880, 888, 897, 898, 901,
904, 908, 914, 915, 916, 919, 920, 924, 928, 932,
936, 942, 943, 947, 951, 955, 959, 963, 967, 971,
975, 979
638, 643, 652, 656, 660, 667, 673, 679, 690, 698,
699, 702, 710, 718, 726, 734, 740, 748, 751, 759,
765, 773, 779, 787, 795, 816, 821, 829, 835, 842,
850, 851, 859, 866, 876, 877, 886, 894, 902, 911,
912, 915, 918, 922, 928, 929, 930, 933, 934, 938,
942, 946, 950, 956, 957, 961, 965, 969, 973, 977,
981, 985, 989, 993
};
#endif
......@@ -664,15 +667,16 @@ static const char *const yytname[] =
"'-'", "'*'", "'/'", "'%'", "LMOVW", "LMOVB", "LABS", "LLOGW", "LSHW",
"LADDW", "LCMP", "LCROP", "LBRA", "LFMOV", "LFCONV", "LFCMP", "LFADD",
"LFMA", "LTRAP", "LXORW", "LNOP", "LEND", "LRETT", "LWORD", "LTEXT",
"LDATA", "LRETRN", "LCONST", "LSP", "LSB", "LFP", "LPC", "LCREG",
"LFLUSH", "LREG", "LFREG", "LR", "LCR", "LF", "LFPSCR", "LLR", "LCTR",
"LSPR", "LSPREG", "LSEG", "LMSR", "LPCDAT", "LFUNCDAT", "LSCHED", "LXLD",
"LXST", "LXOP", "LXMV", "LRLWM", "LMOVMW", "LMOVEM", "LMOVFL", "LMTFSB",
"LMA", "LFCONST", "LSCONST", "LNAME", "LLAB", "LVAR", "':'", "'='",
"';'", "','", "'('", "')'", "'$'", "'~'", "$accept", "prog", "line",
"@1", "inst", "rel", "rreg", "xlreg", "lr", "lcr", "ctr", "msr", "psr",
"fpscr", "freg", "creg", "cbit", "mask", "ximm", "fimm", "imm", "sreg",
"regaddr", "addr", "name", "comma", "offset", "pointer", "con", "expr", 0
"LGLOBL", "LDATA", "LRETRN", "LCONST", "LSP", "LSB", "LFP", "LPC",
"LCREG", "LFLUSH", "LREG", "LFREG", "LR", "LCR", "LF", "LFPSCR", "LLR",
"LCTR", "LSPR", "LSPREG", "LSEG", "LMSR", "LPCDAT", "LFUNCDAT", "LSCHED",
"LXLD", "LXST", "LXOP", "LXMV", "LRLWM", "LMOVMW", "LMOVEM", "LMOVFL",
"LMTFSB", "LMA", "LFCONST", "LSCONST", "LNAME", "LLAB", "LVAR", "':'",
"'='", "';'", "','", "'('", "')'", "'$'", "'~'", "$accept", "prog",
"line", "@1", "inst", "rel", "rreg", "xlreg", "lr", "lcr", "ctr", "msr",
"psr", "fpscr", "freg", "creg", "cbit", "mask", "ximm", "fimm", "imm",
"sreg", "regaddr", "addr", "name", "comma", "offset", "pointer", "con",
"expr", 0
};
#endif
......@@ -688,33 +692,33 @@ static const yytype_uint16 yytoknum[] =
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 58, 61, 59, 44, 40, 41, 36,
126
315, 316, 317, 318, 58, 61, 59, 44, 40, 41,
36, 126
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
0, 81, 82, 82, 84, 83, 83, 83, 83, 83,
83, 83, 85, 85, 85, 85, 85, 85, 85, 85,
85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
85, 85, 85, 85, 86, 86, 87, 88, 88, 89,
90, 91, 92, 93, 93, 93, 94, 95, 95, 96,
96, 97, 98, 99, 99, 100, 100, 101, 102, 102,
103, 103, 104, 104, 105, 105, 105, 106, 106, 107,
107, 107, 108, 108, 108, 109, 109, 109, 109, 109,
109, 110, 110, 110, 110, 110, 110, 110, 110, 110,
110, 110
0, 82, 83, 83, 85, 84, 84, 84, 84, 84,
84, 84, 86, 86, 86, 86, 86, 86, 86, 86,
86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
86, 86, 86, 86, 86, 86, 87, 87, 88, 89,
89, 90, 91, 92, 93, 94, 94, 94, 95, 96,
96, 97, 97, 98, 99, 100, 100, 101, 101, 102,
103, 103, 104, 104, 105, 105, 106, 106, 106, 107,
107, 108, 108, 108, 109, 109, 109, 110, 110, 110,
110, 110, 110, 111, 111, 111, 111, 111, 111, 111,
111, 111, 111, 111
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
......@@ -732,13 +736,13 @@ static const yytype_uint8 yyr2[] =
4, 6, 6, 8, 8, 8, 8, 4, 4, 4,
6, 4, 6, 4, 4, 2, 2, 3, 3, 3,
3, 2, 3, 3, 4, 4, 2, 4, 6, 8,
6, 6, 6, 2, 4, 2, 1, 1, 1, 1,
1, 1, 1, 1, 4, 1, 1, 1, 4, 1,
4, 1, 3, 2, 2, 2, 3, 2, 1, 4,
3, 5, 1, 4, 4, 5, 7, 0, 1, 0,
2, 2, 1, 1, 1, 1, 1, 2, 2, 2,
3, 1, 3, 3, 3, 3, 3, 4, 4, 3,
3, 3
4, 6, 6, 6, 6, 2, 4, 2, 1, 1,
1, 1, 1, 1, 1, 1, 4, 1, 1, 1,
4, 1, 4, 1, 3, 2, 2, 2, 3, 2,
1, 4, 3, 5, 1, 4, 4, 5, 7, 0,
1, 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
......@@ -747,58 +751,59 @@ static const yytype_uint8 yyr2[] =
static const yytype_uint8 yydefact[] =
{
2, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 157, 157,
157, 0, 0, 0, 157, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 9, 3,
0, 11, 0, 0, 165, 139, 148, 137, 0, 130,
0, 136, 129, 131, 0, 133, 132, 159, 166, 0,
0, 0, 0, 0, 127, 0, 128, 135, 0, 0,
0, 0, 0, 0, 126, 0, 0, 152, 0, 0,
0, 0, 50, 0, 0, 0, 0, 0, 0, 0,
0, 0, 141, 0, 159, 0, 0, 64, 0, 65,
0, 0, 0, 0, 0, 0, 0, 0, 159, 159,
159, 0, 0, 0, 0, 159, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 9,
3, 0, 11, 0, 0, 167, 141, 150, 139, 0,
132, 0, 138, 131, 133, 0, 135, 134, 161, 168,
0, 0, 0, 0, 0, 129, 0, 130, 137, 0,
0, 0, 0, 0, 0, 128, 0, 0, 154, 0,
0, 0, 0, 50, 0, 0, 0, 0, 0, 0,
0, 0, 0, 143, 0, 161, 0, 0, 64, 0,
65, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 160, 159, 0, 82, 160, 159, 159, 111, 106,
116, 159, 159, 0, 0, 0, 0, 125, 0, 0,
8, 0, 0, 0, 105, 0, 0, 0, 0, 0,
0, 0, 0, 4, 0, 0, 10, 170, 169, 0,
0, 0, 0, 0, 0, 0, 0, 0, 173, 0,
146, 145, 149, 171, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
158, 157, 0, 82, 158, 157, 157, 111, 106, 116,
157, 157, 0, 0, 0, 123, 0, 0, 8, 0,
0, 0, 105, 0, 0, 0, 0, 0, 0, 0,
0, 4, 0, 0, 10, 168, 167, 0, 0, 0,
0, 0, 0, 0, 0, 0, 171, 0, 144, 143,
147, 169, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 147,
0, 0, 0, 0, 0, 0, 125, 0, 67, 68,
0, 0, 0, 0, 0, 0, 145, 0, 0, 0,
0, 0, 0, 0, 0, 158, 81, 0, 109, 110,
107, 108, 113, 112, 0, 0, 0, 0, 0, 0,
0, 149, 0, 0, 0, 0, 0, 0, 127, 0,
67, 68, 0, 0, 0, 0, 0, 0, 147, 0,
0, 0, 0, 0, 0, 0, 0, 160, 81, 0,
109, 110, 107, 108, 113, 112, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 159, 160, 161, 0,
0, 150, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 170, 12, 61, 37, 63, 36, 0, 25,
24, 60, 58, 59, 57, 30, 33, 31, 0, 29,
28, 62, 56, 53, 52, 14, 13, 163, 162, 164,
0, 0, 15, 27, 26, 17, 16, 49, 44, 126,
46, 126, 48, 126, 41, 0, 126, 42, 126, 89,
90, 54, 141, 0, 66, 0, 70, 71, 0, 73,
74, 0, 0, 146, 21, 23, 22, 20, 19, 18,
83, 87, 84, 0, 79, 80, 117, 0, 0, 114,
115, 99, 0, 0, 101, 104, 103, 0, 0, 98,
97, 34, 0, 5, 6, 7, 149, 140, 138, 134,
0, 0, 0, 181, 180, 179, 0, 0, 172, 173,
174, 175, 176, 0, 0, 153, 154, 0, 0, 0,
0, 0, 0, 0, 0, 0, 69, 0, 0, 0,
124, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 155, 151, 177, 178, 130, 35, 32, 43,
45, 47, 40, 38, 39, 91, 92, 55, 72, 75,
0, 76, 77, 88, 85, 0, 118, 0, 121, 122,
120, 100, 102, 0, 0, 0, 0, 0, 51, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 156,
78, 86, 119, 96, 95, 142, 94, 93
0, 0, 0, 0, 0, 0, 0, 0, 0, 161,
162, 163, 0, 0, 152, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 172, 12, 61, 37, 63,
36, 0, 25, 24, 60, 58, 59, 57, 30, 33,
31, 0, 29, 28, 62, 56, 53, 52, 14, 13,
165, 164, 166, 0, 0, 15, 27, 26, 17, 16,
49, 44, 128, 46, 128, 48, 128, 41, 0, 128,
42, 128, 89, 90, 54, 143, 0, 66, 0, 70,
71, 0, 73, 74, 0, 0, 148, 21, 23, 22,
20, 19, 18, 83, 87, 84, 0, 79, 80, 117,
0, 120, 0, 0, 114, 115, 99, 0, 0, 101,
104, 103, 0, 0, 98, 97, 34, 0, 5, 6,
7, 151, 142, 140, 136, 0, 0, 0, 183, 182,
181, 0, 0, 174, 175, 176, 177, 178, 0, 0,
155, 156, 0, 0, 0, 0, 0, 0, 0, 0,
0, 69, 0, 0, 0, 126, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 157, 153,
179, 180, 132, 35, 32, 43, 45, 47, 40, 38,
39, 91, 92, 55, 72, 75, 0, 76, 77, 88,
85, 0, 118, 121, 0, 123, 124, 122, 100, 102,
0, 0, 0, 0, 0, 51, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 158, 78, 86, 119,
96, 95, 144, 94, 93
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 1, 39, 229, 40, 97, 62, 63, 64, 65,
66, 67, 68, 69, 70, 71, 91, 423, 72, 103,
73, 74, 75, 159, 77, 113, 154, 281, 156, 157
-1, 1, 40, 232, 41, 98, 63, 64, 65, 66,
67, 68, 69, 70, 71, 72, 92, 430, 73, 104,
74, 75, 76, 161, 78, 114, 156, 284, 158, 159
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
......@@ -806,59 +811,60 @@ static const yytype_int16 yydefgoto[] =
#define YYPACT_NINF -178
static const yytype_int16 yypact[] =
{
-178, 460, -178, -25, 556, 306, -11, -11, -24, -24,
-11, 419, 615, 632, -22, -22, -22, -22, -10, -27,
-23, -17, 267, 267, -23, 0, 0, 1, 15, -11,
15, 11, -24, 654, 0, -11, -32, 52, -178, -178,
54, -178, 419, 419, -178, -178, -178, -178, 74, 78,
79, -178, -178, -178, 84, -178, -178, 55, -178, 692,
51, 419, 68, 86, -178, 87, -178, -178, 92, 98,
104, 110, 119, 120, -178, 127, 137, -178, 123, 139,
140, 146, 147, 150, 419, 165, 169, 170, 172, 178,
419, 179, -178, 78, 55, 724, 706, -178, 180, -178,
41, 3, 182, 185, 187, 196, 197, 201, 204, 205,
-178, 210, 216, -178, 56, -23, -23, -178, -178, -178,
-23, -23, 217, 218, 286, -178, 223, 225, -178, -11,
226, 231, -178, 232, 234, 245, 247, 248, 249, 252,
253, -178, 419, 419, -178, -178, -178, 419, 419, 419,
419, 302, 419, 419, 257, 7, -178, 384, -178, -178,
123, -178, 603, -11, -11, 48, 26, 66, 233, -11,
-11, -11, -11, 251, 306, -11, -11, -11, -11, -178,
-11, -11, -24, -11, -24, 419, 257, 706, -178, -178,
261, 262, 735, 739, 199, 273, -178, 669, -22, -22,
-22, -22, -22, -22, -22, -11, -178, -11, -178, -178,
-178, -178, -178, -178, 745, 73, 419, 0, 267, -24,
70, 15, -11, -11, -11, 267, -11, 419, -11, 523,
431, 563, 265, 268, 272, 274, 124, -178, -178, 73,
-11, -178, 419, 419, 419, 348, 352, 419, 419, 419,
419, 419, -178, -178, -178, -178, -178, -178, 284, -178,
-178, -178, -178, -178, -178, -178, -178, -178, 285, -178,
-178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
290, 293, -178, -178, -178, -178, -178, -178, -178, 296,
-178, 297, -178, 298, -178, 299, 301, -178, 303, 308,
321, -178, 322, 323, -178, 706, -178, -178, 706, -178,
-178, 63, 324, -178, -178, -178, -178, -178, -178, -178,
-178, 328, 329, 330, -178, -178, -178, 331, 332, -178,
-178, -178, 333, 340, -178, -178, -178, 341, 342, -178,
-178, -178, 343, -178, -178, -178, -178, -178, -178, -178,
344, 353, 366, 609, 502, 832, 419, 419, 96, 96,
-178, -178, -178, 354, 351, -178, -178, -11, -11, -11,
-11, -11, -11, -3, -3, 419, -178, 367, 368, 757,
-178, -3, -22, -22, 0, 369, -11, 15, 745, 745,
-11, 409, -178, -178, 181, 181, -178, -178, -178, -178,
-178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
706, -178, -178, -178, -178, 346, 442, 650, -178, -178,
-178, -178, -178, 377, 378, 380, 381, 382, -178, 385,
386, -22, 419, 782, -11, -11, 419, -11, -11, -178,
-178, -178, -178, -178, -178, -178, -178, -178
-178, 494, -178, -50, 591, 30, -1, -1, 20, 20,
-1, 317, 315, 615, 17, 17, 17, 17, 48, 9,
-42, -17, 720, 720, 720, -42, -12, -12, 26, -3,
-1, -3, 0, 20, 639, -12, -1, 63, 13, -178,
-178, 33, -178, 317, 317, -178, -178, -178, -178, 38,
42, 52, -178, -178, -178, 55, -178, -178, 198, -178,
690, 696, 317, 35, 72, -178, 76, -178, -178, 81,
93, 99, 105, 107, 117, -178, 124, 131, -178, 135,
155, 160, 161, 164, 165, 317, 171, 172, 176, 179,
182, 317, 184, -178, 42, 198, 743, 722, -178, 185,
-178, 121, 3, 200, 202, 204, 209, 214, 215, 218,
220, -178, 223, 225, -178, 181, -42, -42, -178, -178,
-178, -42, -42, 230, 180, 233, 79, -178, 234, 238,
-178, -1, 240, 250, -178, 251, 253, 254, 255, 256,
264, 266, 269, -178, 317, 317, -178, -178, -178, 317,
317, 317, 317, 277, 317, 317, 271, 34, -178, 12,
-178, -178, 135, -178, 371, -1, -1, 259, 109, 645,
192, -1, -1, -1, -1, 320, 30, -1, -1, -1,
-1, -178, -1, -1, 20, -1, 20, 317, 271, 722,
-178, -178, 275, 265, 747, 767, 106, 286, -178, 666,
17, 17, 17, 17, 17, 17, 17, -1, -178, -1,
-178, -178, -178, -178, -178, -178, 267, 125, 267, 317,
-12, 720, 20, -7, -3, -1, -1, -1, 720, -1,
317, -1, 558, 458, 532, 296, 299, 302, 303, 207,
-178, -178, 125, -1, -178, 317, 317, 317, 350, 358,
317, 317, 317, 317, 317, -178, -178, -178, -178, -178,
-178, 300, -178, -178, -178, -178, -178, -178, -178, -178,
-178, 306, -178, -178, -178, -178, -178, -178, -178, -178,
-178, -178, -178, 305, 310, -178, -178, -178, -178, -178,
-178, -178, 322, -178, 323, -178, 324, -178, 328, 329,
-178, 330, 332, 333, -178, 335, 340, -178, 722, -178,
-178, 722, -178, -178, 141, 346, -178, -178, -178, -178,
-178, -178, -178, -178, 337, 351, 352, -178, -178, -178,
355, -178, 356, 364, -178, -178, -178, 368, 370, -178,
-178, -178, 373, 376, -178, -178, -178, 377, -178, -178,
-178, -178, -178, -178, -178, 316, 348, 369, 825, 850,
493, 317, 317, 40, 40, -178, -178, -178, 388, 409,
-178, -178, -1, -1, -1, -1, -1, -1, 14, 14,
317, -178, 380, 392, 773, -178, 14, 17, 17, -12,
-12, 393, -1, -3, 267, 267, -1, 433, -178, -178,
472, 472, -178, -178, -178, -178, -178, -178, -178, -178,
-178, -178, -178, -178, -178, -178, 722, -178, -178, -178,
-178, 397, 468, -178, 672, -178, -178, -178, -178, -178,
401, 411, 412, 415, 416, -178, 417, 418, 17, 317,
365, -1, -1, 317, -1, -1, -178, -178, -178, -178,
-178, -178, -178, -178, -178
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
-178, -178, 230, -178, -178, -88, -5, -65, -178, -153,
-178, -178, -139, -156, 67, 39, -177, 76, -15, 81,
116, 175, 85, 32, 131, 211, -84, 258, 35, 69
-178, -178, 290, -178, -178, -88, -5, -65, -178, -157,
-178, -178, -134, -160, 68, 25, -177, 130, -15, 140,
96, 154, 64, 114, 298, 177, -84, 291, 36, -111
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
......@@ -868,235 +874,236 @@ static const yytype_int16 yypgoto[] =
#define YYTABLE_NINF -1
static const yytype_uint16 yytable[] =
{
79, 82, 83, 85, 87, 89, 120, 188, 301, 255,
186, 267, 195, 111, 115, 240, 46, 47, 48, 46,
50, 48, 47, 256, 131, 50, 133, 135, 137, 271,
140, 191, 46, 46, 48, 48, 76, 81, 45, 78,
78, 141, 142, 93, 99, 105, 92, 100, 78, 114,
41, 98, 84, 110, 46, 84, 48, 123, 123, 42,
43, 151, 60, 152, 153, 138, 110, 45, 78, 84,
47, 196, 93, 50, 42, 43, 128, 145, 146, 84,
102, 106, 107, 108, 109, 241, 116, 44, 129, 45,
80, 46, 129, 48, 93, 160, 161, 254, 104, 46,
47, 48, 44, 50, 306, 309, 249, 250, 251, 208,
277, 278, 279, 130, 51, 132, 134, 193, 194, 179,
158, 57, 303, 58, 86, 88, 143, 189, 90, 144,
190, 61, 152, 153, 112, 117, 57, 121, 58, 379,
194, 126, 127, 59, 162, 84, 61, 129, 136, 84,
139, 147, 350, 122, 124, 148, 149, 253, 261, 262,
263, 150, 163, 164, 273, 274, 275, 276, 165, 282,
285, 286, 287, 288, 166, 290, 292, 294, 297, 299,
167, 209, 232, 233, 234, 235, 168, 237, 238, 247,
248, 249, 250, 251, 260, 169, 170, 78, 407, 270,
173, 257, 78, 171, 264, 266, 284, 272, 398, 78,
397, 230, 231, 172, 331, 174, 175, 336, 337, 338,
302, 340, 176, 177, 307, 310, 178, 190, 311, 316,
118, 119, 78, 265, 155, 125, 277, 278, 279, 312,
377, 180, 46, 378, 48, 181, 182, 259, 183, 327,
330, 328, 269, 78, 184, 185, 192, 339, 197, 283,
78, 198, 341, 199, 314, 317, 318, 319, 320, 321,
322, 323, 200, 201, 45, 42, 43, 202, 258, 93,
203, 204, 315, 268, 54, 55, 205, 56, 277, 278,
279, 411, 207, 214, 46, 215, 48, 216, 295, 217,
300, 218, 219, 44, 155, 334, 335, 220, 221, 236,
222, 353, 354, 355, 42, 43, 358, 359, 360, 361,
362, 223, 206, 224, 225, 226, 210, 211, 227, 228,
326, 212, 213, 329, 239, 332, 333, 57, 194, 58,
304, 313, 44, 346, 90, 430, 347, 61, 280, 46,
348, 48, 349, 289, 356, 291, 293, 296, 298, 357,
363, 364, 399, 400, 401, 402, 403, 404, 365, 280,
418, 366, 367, 368, 369, 370, 57, 371, 58, 372,
324, 421, 325, 59, 373, 428, 61, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 374, 375, 51,
396, 376, 380, 342, 381, 382, 383, 384, 385, 386,
92, 412, 405, 406, 190, 352, 387, 388, 389, 390,
413, 391, 431, 425, 425, 394, 395, 42, 43, 443,
444, 392, 446, 447, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 393, 408, 409, 429, 417, 414,
415, 432, 160, 434, 435, 44, 436, 437, 438, 343,
2, 3, 252, 439, 440, 426, 419, 442, 146, 0,
0, 445, 422, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 0, 19,
20, 58, 21, 22, 23, 24, 90, 351, 441, 61,
416, 420, 0, 0, 424, 427, 344, 244, 245, 246,
247, 248, 249, 250, 251, 25, 26, 27, 28, 29,
30, 31, 32, 33, 3, 0, 34, 35, 0, 0,
36, 0, 37, 0, 0, 38, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 0, 19, 20, 0, 21, 22, 23, 24, 0,
0, 0, 0, 0, 42, 43, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 0, 0, 25, 26,
27, 28, 29, 30, 31, 32, 33, 0, 0, 34,
35, 0, 44, 36, 0, 37, 0, 45, 38, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 0,
56, 42, 43, 243, 244, 245, 246, 247, 248, 249,
250, 251, 0, 42, 43, 0, 57, 0, 58, 0,
0, 0, 0, 59, 0, 60, 61, 0, 345, 44,
42, 43, 0, 0, 45, 0, 46, 0, 48, 49,
0, 44, 52, 53, 54, 55, 45, 56, 42, 433,
0, 93, 42, 43, 0, 0, 0, 0, 44, 0,
0, 0, 0, 57, 0, 58, 47, 42, 43, 50,
59, 0, 84, 61, 0, 94, 44, 58, 0, 0,
44, 95, 96, 0, 0, 61, 0, 46, 0, 48,
42, 43, 57, 0, 58, 44, 0, 0, 0, 59,
0, 101, 61, 47, 42, 43, 50, 0, 196, 158,
57, 0, 58, 0, 57, 0, 58, 90, 44, 0,
61, 90, 42, 43, 61, 46, 0, 48, 0, 57,
0, 58, 44, 42, 43, 0, 59, 42, 43, 61,
0, 0, 0, 42, 43, 52, 53, 0, 0, 0,
44, 0, 0, 0, 58, 42, 43, 0, 0, 90,
0, 44, 61, 0, 0, 44, 0, 0, 58, 0,
0, 44, 0, 90, 0, 0, 61, 0, 0, 0,
42, 43, 0, 44, 94, 0, 58, 0, 0, 0,
0, 187, 0, 0, 61, 94, 0, 58, 0, 94,
0, 58, 305, 0, 0, 61, 308, 58, 44, 61,
0, 0, 90, 0, 84, 61, 0, 94, 0, 58,
0, 0, 0, 0, 410, 0, 0, 61, 245, 246,
247, 248, 249, 250, 251, 0, 0, 0, 0, 0,
313, 0, 0, 0, 58, 0, 0, 0, 0, 90,
0, 0, 61
80, 83, 84, 86, 88, 90, 121, 258, 190, 270,
304, 188, 197, 112, 116, 245, 246, 247, 248, 249,
250, 251, 252, 253, 254, 133, 42, 135, 137, 139,
259, 142, 193, 233, 234, 111, 274, 99, 43, 44,
79, 79, 243, 47, 47, 49, 49, 93, 101, 79,
252, 253, 254, 47, 48, 49, 46, 51, 124, 124,
124, 94, 48, 61, 47, 51, 49, 45, 85, 81,
79, 131, 198, 85, 47, 131, 49, 105, 131, 147,
148, 103, 107, 108, 109, 110, 115, 117, 145, 85,
219, 255, 47, 132, 49, 134, 136, 162, 163, 257,
85, 58, 130, 59, 87, 89, 309, 312, 60, 146,
210, 62, 164, 244, 113, 118, 149, 122, 77, 82,
150, 181, 128, 129, 306, 111, 100, 106, 85, 138,
151, 141, 192, 152, 358, 359, 360, 143, 144, 363,
364, 365, 366, 367, 280, 281, 282, 315, 140, 165,
47, 46, 49, 166, 48, 355, 94, 51, 167, 256,
264, 265, 266, 280, 281, 282, 276, 277, 278, 279,
168, 285, 288, 289, 290, 291, 169, 293, 295, 297,
300, 302, 170, 211, 171, 235, 236, 237, 238, 260,
240, 241, 267, 269, 172, 275, 119, 120, 195, 196,
79, 173, 127, 413, 153, 79, 154, 155, 174, 404,
191, 403, 79, 175, 157, 154, 155, 336, 384, 196,
341, 342, 343, 305, 345, 47, 48, 49, 262, 51,
192, 314, 176, 272, 46, 79, 268, 177, 178, 94,
286, 179, 180, 382, 55, 56, 383, 57, 182, 183,
400, 401, 330, 184, 332, 333, 185, 79, 217, 186,
261, 187, 194, 318, 79, 271, 346, 317, 320, 321,
322, 323, 324, 325, 326, 43, 44, 199, 263, 200,
298, 201, 303, 273, 239, 157, 202, 339, 340, 208,
287, 203, 204, 212, 213, 205, 417, 206, 214, 215,
207, 46, 209, 47, 45, 49, 94, 216, 310, 313,
218, 220, 329, 319, 331, 221, 334, 222, 337, 338,
123, 125, 126, 43, 44, 43, 44, 223, 224, 283,
225, 226, 227, 228, 292, 335, 294, 296, 299, 301,
59, 229, 344, 230, 307, 91, 231, 85, 62, 242,
283, 437, 45, 196, 45, 316, 361, 46, 280, 281,
282, 327, 94, 328, 47, 362, 49, 405, 406, 407,
408, 409, 410, 43, 44, 351, 425, 368, 352, 43,
44, 353, 354, 369, 370, 347, 95, 428, 59, 371,
59, 435, 96, 97, 397, 91, 62, 357, 62, 372,
373, 374, 45, 411, 412, 375, 376, 377, 45, 378,
379, 419, 380, 46, 386, 47, 93, 49, 50, 381,
192, 53, 54, 55, 56, 385, 57, 398, 387, 388,
432, 432, 389, 390, 316, 402, 450, 451, 59, 453,
454, 391, 58, 91, 59, 392, 62, 393, 399, 60,
394, 85, 62, 395, 396, 420, 421, 429, 52, 414,
162, 245, 246, 247, 248, 249, 250, 251, 252, 253,
254, 415, 436, 424, 438, 449, 148, 439, 441, 452,
250, 251, 252, 253, 254, 422, 423, 427, 442, 443,
431, 434, 444, 445, 2, 3, 446, 447, 418, 248,
249, 250, 251, 252, 253, 254, 448, 4, 5, 6,
7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 348, 19, 20, 433, 21, 22, 23, 24,
25, 426, 0, 356, 349, 245, 246, 247, 248, 249,
250, 251, 252, 253, 254, 0, 0, 0, 0, 0,
26, 27, 28, 29, 30, 31, 32, 33, 34, 3,
0, 35, 36, 0, 0, 37, 0, 38, 0, 0,
39, 4, 5, 6, 7, 8, 9, 10, 11, 12,
13, 14, 15, 16, 17, 18, 0, 19, 20, 0,
21, 22, 23, 24, 25, 0, 0, 0, 0, 43,
44, 0, 0, 0, 0, 0, 0, 0, 350, 0,
0, 0, 0, 0, 26, 27, 28, 29, 30, 31,
32, 33, 34, 43, 44, 35, 36, 0, 45, 37,
0, 38, 0, 46, 39, 47, 48, 49, 50, 51,
52, 53, 54, 55, 56, 0, 57, 43, 44, 0,
0, 0, 45, 43, 44, 0, 0, 0, 0, 0,
48, 0, 58, 51, 59, 0, 0, 0, 0, 60,
0, 61, 62, 0, 43, 44, 45, 0, 0, 0,
43, 440, 45, 47, 0, 49, 58, 0, 59, 0,
0, 0, 0, 60, 52, 102, 62, 0, 43, 44,
0, 0, 0, 45, 43, 44, 0, 0, 0, 45,
58, 48, 59, 0, 51, 0, 58, 91, 59, 0,
62, 0, 0, 60, 0, 85, 62, 45, 43, 44,
43, 44, 0, 45, 47, 0, 49, 58, 0, 59,
0, 198, 160, 58, 60, 59, 0, 62, 0, 0,
91, 43, 44, 62, 0, 43, 44, 45, 0, 45,
0, 0, 0, 59, 0, 0, 160, 58, 91, 59,
0, 62, 53, 54, 91, 43, 44, 62, 0, 0,
45, 43, 44, 0, 45, 0, 0, 0, 0, 0,
0, 58, 0, 59, 0, 59, 0, 0, 91, 0,
91, 62, 0, 62, 45, 0, 0, 0, 0, 0,
45, 0, 0, 0, 95, 0, 59, 0, 95, 0,
59, 189, 0, 0, 62, 308, 0, 0, 62, 246,
247, 248, 249, 250, 251, 252, 253, 254, 95, 0,
59, 0, 0, 0, 95, 311, 59, 0, 62, 0,
0, 416, 0, 0, 62, 247, 248, 249, 250, 251,
252, 253, 254
};
static const yytype_int16 yycheck[] =
{
5, 6, 7, 8, 9, 10, 21, 95, 185, 162,
94, 167, 9, 18, 19, 8, 43, 44, 45, 43,
47, 45, 44, 162, 29, 47, 31, 32, 33, 168,
35, 96, 43, 43, 45, 45, 4, 5, 41, 4,
5, 73, 74, 46, 12, 13, 11, 12, 13, 76,
75, 12, 79, 76, 43, 79, 45, 22, 23, 8,
9, 6, 79, 8, 9, 33, 76, 41, 33, 79,
44, 68, 46, 47, 8, 9, 75, 42, 43, 79,
13, 14, 15, 16, 17, 78, 19, 36, 77, 41,
5, 43, 77, 45, 46, 60, 61, 162, 13, 43,
44, 45, 36, 47, 192, 193, 10, 11, 12, 114,
37, 38, 39, 28, 48, 30, 31, 76, 77, 84,
69, 70, 187, 72, 8, 9, 74, 95, 77, 75,
95, 80, 8, 9, 18, 19, 70, 21, 72, 76,
77, 25, 26, 77, 76, 79, 80, 77, 32, 79,
34, 77, 236, 22, 23, 77, 77, 162, 163, 164,
165, 77, 76, 76, 169, 170, 171, 172, 76, 174,
175, 176, 177, 178, 76, 180, 181, 182, 183, 184,
76, 114, 147, 148, 149, 150, 76, 152, 153, 8,
9, 10, 11, 12, 162, 76, 76, 162, 375, 167,
77, 162, 167, 76, 165, 166, 174, 168, 364, 174,
363, 142, 143, 76, 219, 76, 76, 222, 223, 224,
185, 226, 76, 76, 192, 193, 76, 192, 193, 197,
19, 20, 197, 166, 59, 24, 37, 38, 39, 40,
305, 76, 43, 308, 45, 76, 76, 162, 76, 214,
218, 216, 167, 218, 76, 76, 76, 225, 76, 174,
225, 76, 227, 76, 197, 198, 199, 200, 201, 202,
203, 204, 76, 76, 41, 8, 9, 76, 162, 46,
76, 76, 197, 167, 51, 52, 76, 54, 37, 38,
39, 379, 76, 76, 43, 77, 45, 11, 182, 76,
184, 76, 76, 36, 129, 220, 221, 76, 76, 7,
76, 242, 243, 244, 8, 9, 247, 248, 249, 250,
251, 76, 111, 76, 76, 76, 115, 116, 76, 76,
214, 120, 121, 217, 77, 219, 220, 70, 77, 72,
78, 68, 36, 78, 77, 410, 78, 80, 173, 43,
78, 45, 78, 178, 6, 180, 181, 182, 183, 7,
76, 76, 367, 368, 369, 370, 371, 372, 78, 194,
385, 78, 76, 76, 76, 76, 70, 76, 72, 76,
205, 386, 207, 77, 76, 390, 80, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12, 76, 76, 48,
46, 78, 78, 228, 76, 76, 76, 76, 76, 76,
375, 379, 373, 374, 379, 240, 76, 76, 76, 76,
381, 77, 76, 388, 389, 356, 357, 8, 9, 434,
435, 78, 437, 438, 3, 4, 5, 6, 7, 8,
9, 10, 11, 12, 78, 78, 78, 38, 79, 382,
383, 9, 417, 76, 76, 36, 76, 76, 76, 229,
0, 1, 78, 78, 78, 389, 385, 432, 433, -1,
-1, 436, 387, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, -1, 29,
30, 72, 32, 33, 34, 35, 77, 239, 431, 80,
384, 385, -1, -1, 388, 389, 75, 5, 6, 7,
8, 9, 10, 11, 12, 55, 56, 57, 58, 59,
60, 61, 62, 63, 1, -1, 66, 67, -1, -1,
70, -1, 72, -1, -1, 75, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
27, -1, 29, 30, -1, 32, 33, 34, 35, -1,
-1, -1, -1, -1, 8, 9, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12, -1, -1, 55, 56,
57, 58, 59, 60, 61, 62, 63, -1, -1, 66,
67, -1, 36, 70, -1, 72, -1, 41, 75, 43,
44, 45, 46, 47, 48, 49, 50, 51, 52, -1,
54, 8, 9, 4, 5, 6, 7, 8, 9, 10,
11, 12, -1, 8, 9, -1, 70, -1, 72, -1,
-1, -1, -1, 77, -1, 79, 80, -1, 75, 36,
8, 9, -1, -1, 41, -1, 43, -1, 45, 46,
-1, 36, 49, 50, 51, 52, 41, 54, 8, 9,
-1, 46, 8, 9, -1, -1, -1, -1, 36, -1,
-1, -1, -1, 70, -1, 72, 44, 8, 9, 47,
77, -1, 79, 80, -1, 70, 36, 72, -1, -1,
36, 76, 77, -1, -1, 80, -1, 43, -1, 45,
8, 9, 70, -1, 72, 36, -1, -1, -1, 77,
-1, 79, 80, 44, 8, 9, 47, -1, 68, 69,
70, -1, 72, -1, 70, -1, 72, 77, 36, -1,
80, 77, 8, 9, 80, 43, -1, 45, -1, 70,
-1, 72, 36, 8, 9, -1, 77, 8, 9, 80,
-1, -1, -1, 8, 9, 49, 50, -1, -1, -1,
36, -1, -1, -1, 72, 8, 9, -1, -1, 77,
-1, 36, 80, -1, -1, 36, -1, -1, 72, -1,
-1, 36, -1, 77, -1, -1, 80, -1, -1, -1,
8, 9, -1, 36, 70, -1, 72, -1, -1, -1,
-1, 77, -1, -1, 80, 70, -1, 72, -1, 70,
-1, 72, 77, -1, -1, 80, 77, 72, 36, 80,
-1, -1, 77, -1, 79, 80, -1, 70, -1, 72,
-1, -1, -1, -1, 77, -1, -1, 80, 6, 7,
5, 6, 7, 8, 9, 10, 21, 164, 96, 169,
187, 95, 9, 18, 19, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 30, 76, 32, 33, 34,
164, 36, 97, 144, 145, 77, 170, 12, 8, 9,
4, 5, 8, 44, 44, 46, 46, 11, 12, 13,
10, 11, 12, 44, 45, 46, 42, 48, 22, 23,
24, 47, 45, 80, 44, 48, 46, 37, 80, 5,
34, 78, 69, 80, 44, 78, 46, 13, 78, 43,
44, 13, 14, 15, 16, 17, 77, 19, 75, 80,
11, 79, 44, 29, 46, 31, 32, 61, 62, 164,
80, 71, 76, 73, 8, 9, 194, 195, 78, 76,
115, 81, 77, 79, 18, 19, 78, 21, 4, 5,
78, 85, 26, 27, 189, 77, 12, 13, 80, 33,
78, 35, 96, 78, 245, 246, 247, 74, 75, 250,
251, 252, 253, 254, 38, 39, 40, 41, 34, 77,
44, 42, 46, 77, 45, 239, 47, 48, 77, 164,
165, 166, 167, 38, 39, 40, 171, 172, 173, 174,
77, 176, 177, 178, 179, 180, 77, 182, 183, 184,
185, 186, 77, 115, 77, 149, 150, 151, 152, 164,
154, 155, 167, 168, 77, 170, 19, 20, 77, 78,
164, 77, 25, 380, 6, 169, 8, 9, 77, 369,
96, 368, 176, 78, 60, 8, 9, 222, 77, 78,
225, 226, 227, 187, 229, 44, 45, 46, 164, 48,
194, 195, 77, 169, 42, 199, 168, 77, 77, 47,
176, 77, 77, 308, 52, 53, 311, 55, 77, 77,
361, 362, 216, 77, 218, 219, 77, 221, 78, 77,
164, 77, 77, 199, 228, 169, 230, 199, 200, 201,
202, 203, 204, 205, 206, 8, 9, 77, 164, 77,
184, 77, 186, 169, 7, 131, 77, 223, 224, 112,
176, 77, 77, 116, 117, 77, 384, 77, 121, 122,
77, 42, 77, 44, 37, 46, 47, 77, 194, 195,
77, 77, 216, 199, 218, 77, 220, 77, 222, 223,
22, 23, 24, 8, 9, 8, 9, 77, 77, 175,
77, 77, 77, 77, 180, 221, 182, 183, 184, 185,
73, 77, 228, 77, 79, 78, 77, 80, 81, 78,
196, 416, 37, 78, 37, 69, 6, 42, 38, 39,
40, 207, 47, 209, 44, 7, 46, 372, 373, 374,
375, 376, 377, 8, 9, 79, 391, 77, 79, 8,
9, 79, 79, 77, 79, 231, 71, 392, 73, 79,
73, 396, 77, 78, 78, 78, 81, 243, 81, 77,
77, 77, 37, 378, 379, 77, 77, 77, 37, 77,
77, 386, 77, 42, 77, 44, 380, 46, 47, 79,
384, 50, 51, 52, 53, 79, 55, 79, 77, 77,
394, 395, 77, 77, 69, 47, 441, 442, 73, 444,
445, 77, 71, 78, 73, 77, 81, 77, 79, 78,
77, 80, 81, 77, 77, 387, 388, 393, 49, 79,
424, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 79, 39, 80, 77, 439, 440, 9, 77, 443,
8, 9, 10, 11, 12, 389, 390, 391, 77, 77,
394, 395, 77, 77, 0, 1, 79, 79, 384, 6,
7, 8, 9, 10, 11, 12, 438, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 232, 29, 30, 395, 32, 33, 34, 35,
36, 391, -1, 242, 76, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, -1, -1, -1, -1, -1,
68, -1, -1, -1, 72, -1, -1, -1, -1, 77,
-1, -1, 80
56, 57, 58, 59, 60, 61, 62, 63, 64, 1,
-1, 67, 68, -1, -1, 71, -1, 73, -1, -1,
76, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, -1, 29, 30, -1,
32, 33, 34, 35, 36, -1, -1, -1, -1, 8,
9, -1, -1, -1, -1, -1, -1, -1, 76, -1,
-1, -1, -1, -1, 56, 57, 58, 59, 60, 61,
62, 63, 64, 8, 9, 67, 68, -1, 37, 71,
-1, 73, -1, 42, 76, 44, 45, 46, 47, 48,
49, 50, 51, 52, 53, -1, 55, 8, 9, -1,
-1, -1, 37, 8, 9, -1, -1, -1, -1, -1,
45, -1, 71, 48, 73, -1, -1, -1, -1, 78,
-1, 80, 81, -1, 8, 9, 37, -1, -1, -1,
8, 9, 37, 44, -1, 46, 71, -1, 73, -1,
-1, -1, -1, 78, 49, 80, 81, -1, 8, 9,
-1, -1, -1, 37, 8, 9, -1, -1, -1, 37,
71, 45, 73, -1, 48, -1, 71, 78, 73, -1,
81, -1, -1, 78, -1, 80, 81, 37, 8, 9,
8, 9, -1, 37, 44, -1, 46, 71, -1, 73,
-1, 69, 70, 71, 78, 73, -1, 81, -1, -1,
78, 8, 9, 81, -1, 8, 9, 37, -1, 37,
-1, -1, -1, 73, -1, -1, 70, 71, 78, 73,
-1, 81, 50, 51, 78, 8, 9, 81, -1, -1,
37, 8, 9, -1, 37, -1, -1, -1, -1, -1,
-1, 71, -1, 73, -1, 73, -1, -1, 78, -1,
78, 81, -1, 81, 37, -1, -1, -1, -1, -1,
37, -1, -1, -1, 71, -1, 73, -1, 71, -1,
73, 78, -1, -1, 81, 78, -1, -1, 81, 4,
5, 6, 7, 8, 9, 10, 11, 12, 71, -1,
73, -1, -1, -1, 71, 78, 73, -1, 81, -1,
-1, 78, -1, -1, 81, 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, 82, 0, 1, 13, 14, 15, 16, 17, 18,
0, 83, 0, 1, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 29,
30, 32, 33, 34, 35, 55, 56, 57, 58, 59,
60, 61, 62, 63, 66, 67, 70, 72, 75, 83,
85, 75, 8, 9, 36, 41, 43, 44, 45, 46,
47, 48, 49, 50, 51, 52, 54, 70, 72, 77,
79, 80, 87, 88, 89, 90, 91, 92, 93, 94,
95, 96, 99, 101, 102, 103, 104, 105, 109, 87,
103, 104, 87, 87, 79, 87, 101, 87, 101, 87,
77, 97, 109, 46, 70, 76, 77, 86, 96, 104,
109, 79, 95, 100, 103, 104, 95, 95, 95, 95,
76, 87, 101, 106, 76, 87, 95, 101, 106, 106,
99, 101, 105, 109, 105, 106, 101, 101, 75, 77,
103, 87, 103, 87, 103, 87, 101, 87, 104, 101,
87, 73, 74, 74, 75, 109, 109, 77, 77, 77,
77, 6, 8, 9, 107, 102, 109, 110, 69, 104,
109, 109, 76, 76, 76, 76, 76, 76, 76, 76,
76, 76, 76, 77, 76, 76, 76, 76, 76, 109,
76, 76, 76, 76, 76, 76, 107, 77, 86, 104,
109, 88, 76, 76, 77, 9, 68, 76, 76, 76,
76, 76, 76, 76, 76, 76, 106, 76, 87, 95,
106, 106, 106, 106, 76, 77, 11, 76, 76, 76,
76, 76, 76, 76, 76, 76, 76, 76, 76, 84,
110, 110, 109, 109, 109, 109, 7, 109, 109, 77,
8, 78, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 78, 87, 88, 90, 93, 96, 101, 103,
104, 87, 87, 87, 96, 95, 96, 94, 101, 103,
104, 93, 96, 87, 87, 87, 87, 37, 38, 39,
102, 108, 87, 103, 104, 87, 87, 87, 87, 102,
87, 102, 87, 102, 87, 101, 102, 87, 102, 87,
101, 97, 109, 88, 78, 77, 86, 104, 77, 86,
104, 109, 40, 68, 95, 103, 104, 95, 95, 95,
95, 95, 95, 95, 102, 102, 101, 109, 109, 101,
104, 87, 101, 101, 103, 103, 87, 87, 87, 104,
87, 109, 102, 83, 75, 75, 78, 78, 78, 78,
107, 108, 102, 110, 110, 110, 6, 7, 110, 110,
110, 110, 110, 76, 76, 78, 78, 76, 76, 76,
76, 76, 76, 76, 76, 76, 78, 88, 88, 76,
78, 76, 76, 76, 76, 76, 76, 76, 76, 76,
76, 77, 78, 78, 110, 110, 46, 90, 94, 87,
87, 87, 87, 87, 87, 96, 96, 97, 78, 78,
77, 86, 104, 96, 95, 95, 101, 79, 99, 100,
101, 87, 103, 98, 101, 109, 98, 101, 87, 38,
88, 76, 9, 9, 76, 76, 76, 76, 76, 78,
78, 95, 109, 87, 87, 109, 87, 87
30, 32, 33, 34, 35, 36, 56, 57, 58, 59,
60, 61, 62, 63, 64, 67, 68, 71, 73, 76,
84, 86, 76, 8, 9, 37, 42, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 55, 71, 73,
78, 80, 81, 88, 89, 90, 91, 92, 93, 94,
95, 96, 97, 100, 102, 103, 104, 105, 106, 110,
88, 104, 105, 88, 88, 80, 88, 102, 88, 102,
88, 78, 98, 110, 47, 71, 77, 78, 87, 97,
105, 110, 80, 96, 101, 104, 105, 96, 96, 96,
96, 77, 88, 102, 107, 77, 88, 96, 102, 107,
107, 100, 102, 106, 110, 106, 106, 107, 102, 102,
76, 78, 104, 88, 104, 88, 104, 88, 102, 88,
105, 102, 88, 74, 75, 75, 76, 110, 110, 78,
78, 78, 78, 6, 8, 9, 108, 103, 110, 111,
70, 105, 110, 110, 77, 77, 77, 77, 77, 77,
77, 77, 77, 77, 77, 78, 77, 77, 77, 77,
77, 110, 77, 77, 77, 77, 77, 77, 108, 78,
87, 105, 110, 89, 77, 77, 78, 9, 69, 77,
77, 77, 77, 77, 77, 77, 77, 77, 107, 77,
88, 96, 107, 107, 107, 107, 77, 78, 77, 11,
77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
77, 77, 85, 111, 111, 110, 110, 110, 110, 7,
110, 110, 78, 8, 79, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 79, 88, 89, 91, 94,
97, 102, 104, 105, 88, 88, 88, 97, 96, 97,
95, 102, 104, 105, 94, 97, 88, 88, 88, 88,
38, 39, 40, 103, 109, 88, 104, 105, 88, 88,
88, 88, 103, 88, 103, 88, 103, 88, 102, 103,
88, 103, 88, 102, 98, 110, 89, 79, 78, 87,
105, 78, 87, 105, 110, 41, 69, 96, 104, 105,
96, 96, 96, 96, 96, 96, 96, 103, 103, 102,
110, 102, 110, 110, 102, 105, 88, 102, 102, 104,
104, 88, 88, 88, 105, 88, 110, 103, 84, 76,
76, 79, 79, 79, 79, 108, 109, 103, 111, 111,
111, 6, 7, 111, 111, 111, 111, 111, 77, 77,
79, 79, 77, 77, 77, 77, 77, 77, 77, 77,
77, 79, 89, 89, 77, 79, 77, 77, 77, 77,
77, 77, 77, 77, 77, 77, 77, 78, 79, 79,
111, 111, 47, 91, 95, 88, 88, 88, 88, 88,
88, 97, 97, 98, 79, 79, 78, 87, 105, 97,
96, 96, 102, 102, 80, 100, 101, 102, 88, 104,
99, 102, 110, 99, 102, 88, 39, 89, 77, 9,
9, 77, 77, 77, 77, 77, 79, 79, 96, 110,
88, 88, 110, 88, 88
};
#define yyerrok (yyerrstatus = 0)
......@@ -2729,33 +2736,49 @@ yyreduce:
case 120:
#line 639 "a.y"
{
outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), (yyvsp[(4) - (6)].lval), &(yyvsp[(6) - (6)].addr));
settext((yyvsp[(2) - (4)].addr).sym);
outcode((yyvsp[(1) - (4)].lval), &(yyvsp[(2) - (4)].addr), 0, &(yyvsp[(4) - (4)].addr));
}
break;
case 121:
#line 643 "a.y"
#line 644 "a.y"
{
settext((yyvsp[(2) - (6)].addr).sym);
outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), (yyvsp[(4) - (6)].lval), &(yyvsp[(6) - (6)].addr));
}
break;
case 122:
#line 647 "a.y"
#line 653 "a.y"
{
outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), (yyvsp[(4) - (6)].lval), &(yyvsp[(6) - (6)].addr));
}
break;
case 123:
#line 654 "a.y"
#line 657 "a.y"
{
outcode((yyvsp[(1) - (2)].lval), &nullgen, 0, &nullgen);
outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), (yyvsp[(4) - (6)].lval), &(yyvsp[(6) - (6)].addr));
}
break;
case 124:
#line 660 "a.y"
#line 661 "a.y"
{
outcode((yyvsp[(1) - (6)].lval), &(yyvsp[(2) - (6)].addr), (yyvsp[(4) - (6)].lval), &(yyvsp[(6) - (6)].addr));
}
break;
case 125:
#line 668 "a.y"
{
outcode((yyvsp[(1) - (2)].lval), &nullgen, 0, &nullgen);
}
break;
case 126:
#line 674 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_BRANCH;
......@@ -2763,8 +2786,8 @@ yyreduce:
}
break;
case 125:
#line 666 "a.y"
case 127:
#line 680 "a.y"
{
(yyvsp[(1) - (2)].sym) = labellookup((yyvsp[(1) - (2)].sym));
(yyval.addr) = nullgen;
......@@ -2775,8 +2798,8 @@ yyreduce:
}
break;
case 126:
#line 677 "a.y"
case 128:
#line 691 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
......@@ -2784,8 +2807,8 @@ yyreduce:
}
break;
case 129:
#line 689 "a.y"
case 131:
#line 703 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
......@@ -2793,8 +2816,8 @@ yyreduce:
}
break;
case 130:
#line 697 "a.y"
case 132:
#line 711 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
......@@ -2802,8 +2825,8 @@ yyreduce:
}
break;
case 131:
#line 705 "a.y"
case 133:
#line 719 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
......@@ -2811,8 +2834,8 @@ yyreduce:
}
break;
case 132:
#line 713 "a.y"
case 134:
#line 727 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
......@@ -2820,8 +2843,8 @@ yyreduce:
}
break;
case 133:
#line 721 "a.y"
case 135:
#line 735 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
......@@ -2829,8 +2852,8 @@ yyreduce:
}
break;
case 134:
#line 727 "a.y"
case 136:
#line 741 "a.y"
{
if((yyvsp[(3) - (4)].lval) < 0 || (yyvsp[(3) - (4)].lval) >= 1024)
yyerror("SPR/DCR out of range");
......@@ -2840,8 +2863,8 @@ yyreduce:
}
break;
case 136:
#line 738 "a.y"
case 138:
#line 752 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
......@@ -2849,8 +2872,8 @@ yyreduce:
}
break;
case 137:
#line 746 "a.y"
case 139:
#line 760 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
......@@ -2858,8 +2881,8 @@ yyreduce:
}
break;
case 138:
#line 752 "a.y"
case 140:
#line 766 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
......@@ -2867,8 +2890,8 @@ yyreduce:
}
break;
case 139:
#line 760 "a.y"
case 141:
#line 774 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
......@@ -2876,8 +2899,8 @@ yyreduce:
}
break;
case 140:
#line 766 "a.y"
case 142:
#line 780 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
......@@ -2885,8 +2908,8 @@ yyreduce:
}
break;
case 141:
#line 774 "a.y"
case 143:
#line 788 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_REG;
......@@ -2894,8 +2917,8 @@ yyreduce:
}
break;
case 142:
#line 782 "a.y"
case 144:
#line 796 "a.y"
{
int mb, me;
uint32 v;
......@@ -2916,16 +2939,16 @@ yyreduce:
}
break;
case 143:
#line 803 "a.y"
case 145:
#line 817 "a.y"
{
(yyval.addr) = (yyvsp[(2) - (2)].addr);
(yyval.addr).type = TYPE_CONST;
}
break;
case 144:
#line 808 "a.y"
case 146:
#line 822 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_SCONST;
......@@ -2933,8 +2956,8 @@ yyreduce:
}
break;
case 145:
#line 816 "a.y"
case 147:
#line 830 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_FCONST;
......@@ -2942,8 +2965,8 @@ yyreduce:
}
break;
case 146:
#line 822 "a.y"
case 148:
#line 836 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_FCONST;
......@@ -2951,8 +2974,8 @@ yyreduce:
}
break;
case 147:
#line 829 "a.y"
case 149:
#line 843 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_CONST;
......@@ -2960,8 +2983,8 @@ yyreduce:
}
break;
case 149:
#line 838 "a.y"
case 151:
#line 852 "a.y"
{
if((yyval.lval) < 0 || (yyval.lval) >= NREG)
print("register value out of range\n");
......@@ -2969,8 +2992,8 @@ yyreduce:
}
break;
case 150:
#line 846 "a.y"
case 152:
#line 860 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_MEM;
......@@ -2979,8 +3002,8 @@ yyreduce:
}
break;
case 151:
#line 853 "a.y"
case 153:
#line 867 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_MEM;
......@@ -2990,8 +3013,8 @@ yyreduce:
}
break;
case 153:
#line 864 "a.y"
case 155:
#line 878 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_MEM;
......@@ -3000,8 +3023,8 @@ yyreduce:
}
break;
case 154:
#line 873 "a.y"
case 156:
#line 887 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_MEM;
......@@ -3011,8 +3034,8 @@ yyreduce:
}
break;
case 155:
#line 881 "a.y"
case 157:
#line 895 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_MEM;
......@@ -3022,8 +3045,8 @@ yyreduce:
}
break;
case 156:
#line 889 "a.y"
case 158:
#line 903 "a.y"
{
(yyval.addr) = nullgen;
(yyval.addr).type = TYPE_MEM;
......@@ -3033,127 +3056,127 @@ yyreduce:
}
break;
case 159:
#line 901 "a.y"
case 161:
#line 915 "a.y"
{
(yyval.lval) = 0;
}
break;
case 160:
#line 905 "a.y"
case 162:
#line 919 "a.y"
{
(yyval.lval) = (yyvsp[(2) - (2)].lval);
}
break;
case 161:
#line 909 "a.y"
case 163:
#line 923 "a.y"
{
(yyval.lval) = -(yyvsp[(2) - (2)].lval);
}
break;
case 166:
#line 921 "a.y"
case 168:
#line 935 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (1)].sym)->value;
}
break;
case 167:
#line 925 "a.y"
case 169:
#line 939 "a.y"
{
(yyval.lval) = -(yyvsp[(2) - (2)].lval);
}
break;
case 168:
#line 929 "a.y"
case 170:
#line 943 "a.y"
{
(yyval.lval) = (yyvsp[(2) - (2)].lval);
}
break;
case 169:
#line 933 "a.y"
case 171:
#line 947 "a.y"
{
(yyval.lval) = ~(yyvsp[(2) - (2)].lval);
}
break;
case 170:
#line 937 "a.y"
case 172:
#line 951 "a.y"
{
(yyval.lval) = (yyvsp[(2) - (3)].lval);
}
break;
case 172:
#line 944 "a.y"
case 174:
#line 958 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) + (yyvsp[(3) - (3)].lval);
}
break;
case 173:
#line 948 "a.y"
case 175:
#line 962 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) - (yyvsp[(3) - (3)].lval);
}
break;
case 174:
#line 952 "a.y"
case 176:
#line 966 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) * (yyvsp[(3) - (3)].lval);
}
break;
case 175:
#line 956 "a.y"
case 177:
#line 970 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) / (yyvsp[(3) - (3)].lval);
}
break;
case 176:
#line 960 "a.y"
case 178:
#line 974 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) % (yyvsp[(3) - (3)].lval);
}
break;
case 177:
#line 964 "a.y"
case 179:
#line 978 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (4)].lval) << (yyvsp[(4) - (4)].lval);
}
break;
case 178:
#line 968 "a.y"
case 180:
#line 982 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (4)].lval) >> (yyvsp[(4) - (4)].lval);
}
break;
case 179:
#line 972 "a.y"
case 181:
#line 986 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) & (yyvsp[(3) - (3)].lval);
}
break;
case 180:
#line 976 "a.y"
case 182:
#line 990 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) ^ (yyvsp[(3) - (3)].lval);
}
break;
case 181:
#line 980 "a.y"
case 183:
#line 994 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) | (yyvsp[(3) - (3)].lval);
}
......@@ -3161,7 +3184,7 @@ yyreduce:
/* Line 1267 of yacc.c. */
#line 3165 "y.tab.c"
#line 3188 "y.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
......
......@@ -60,45 +60,46 @@
LRETT = 276,
LWORD = 277,
LTEXT = 278,
LDATA = 279,
LRETRN = 280,
LCONST = 281,
LSP = 282,
LSB = 283,
LFP = 284,
LPC = 285,
LCREG = 286,
LFLUSH = 287,
LREG = 288,
LFREG = 289,
LR = 290,
LCR = 291,
LF = 292,
LFPSCR = 293,
LLR = 294,
LCTR = 295,
LSPR = 296,
LSPREG = 297,
LSEG = 298,
LMSR = 299,
LPCDAT = 300,
LFUNCDAT = 301,
LSCHED = 302,
LXLD = 303,
LXST = 304,
LXOP = 305,
LXMV = 306,
LRLWM = 307,
LMOVMW = 308,
LMOVEM = 309,
LMOVFL = 310,
LMTFSB = 311,
LMA = 312,
LFCONST = 313,
LSCONST = 314,
LNAME = 315,
LLAB = 316,
LVAR = 317
LGLOBL = 279,
LDATA = 280,
LRETRN = 281,
LCONST = 282,
LSP = 283,
LSB = 284,
LFP = 285,
LPC = 286,
LCREG = 287,
LFLUSH = 288,
LREG = 289,
LFREG = 290,
LR = 291,
LCR = 292,
LF = 293,
LFPSCR = 294,
LLR = 295,
LCTR = 296,
LSPR = 297,
LSPREG = 298,
LSEG = 299,
LMSR = 300,
LPCDAT = 301,
LFUNCDAT = 302,
LSCHED = 303,
LXLD = 304,
LXST = 305,
LXOP = 306,
LXMV = 307,
LRLWM = 308,
LMOVMW = 309,
LMOVEM = 310,
LMOVFL = 311,
LMTFSB = 312,
LMA = 313,
LFCONST = 314,
LSCONST = 315,
LNAME = 316,
LLAB = 317,
LVAR = 318
};
#endif
/* Tokens. */
......@@ -123,45 +124,46 @@
#define LRETT 276
#define LWORD 277
#define LTEXT 278
#define LDATA 279
#define LRETRN 280
#define LCONST 281
#define LSP 282
#define LSB 283
#define LFP 284
#define LPC 285
#define LCREG 286
#define LFLUSH 287
#define LREG 288
#define LFREG 289
#define LR 290
#define LCR 291
#define LF 292
#define LFPSCR 293
#define LLR 294
#define LCTR 295
#define LSPR 296
#define LSPREG 297
#define LSEG 298
#define LMSR 299
#define LPCDAT 300
#define LFUNCDAT 301
#define LSCHED 302
#define LXLD 303
#define LXST 304
#define LXOP 305
#define LXMV 306
#define LRLWM 307
#define LMOVMW 308
#define LMOVEM 309
#define LMOVFL 310
#define LMTFSB 311
#define LMA 312
#define LFCONST 313
#define LSCONST 314
#define LNAME 315
#define LLAB 316
#define LVAR 317
#define LGLOBL 279
#define LDATA 280
#define LRETRN 281
#define LCONST 282
#define LSP 283
#define LSB 284
#define LFP 285
#define LPC 286
#define LCREG 287
#define LFLUSH 288
#define LREG 289
#define LFREG 290
#define LR 291
#define LCR 292
#define LF 293
#define LFPSCR 294
#define LLR 295
#define LCTR 296
#define LSPR 297
#define LSPREG 298
#define LSEG 299
#define LMSR 300
#define LPCDAT 301
#define LFUNCDAT 302
#define LSCHED 303
#define LXLD 304
#define LXST 305
#define LXOP 306
#define LXMV 307
#define LRLWM 308
#define LMOVMW 309
#define LMOVEM 310
#define LMOVFL 311
#define LMTFSB 312
#define LMA 313
#define LFCONST 314
#define LSCONST 315
#define LNAME 316
#define LLAB 317
#define LVAR 318
......@@ -177,7 +179,7 @@ typedef union YYSTYPE
Addr addr;
}
/* Line 1529 of yacc.c. */
#line 181 "y.tab.h"
#line 183 "y.tab.h"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment