summaryrefslogtreecommitdiff
path: root/src/cmd/6a
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/6a')
-rw-r--r--src/cmd/6a/a.y5
-rw-r--r--src/cmd/6a/doc.go6
-rw-r--r--src/cmd/6a/lex.c61
-rw-r--r--src/cmd/6a/y.tab.c829
4 files changed, 477 insertions, 424 deletions
diff --git a/src/cmd/6a/a.y b/src/cmd/6a/a.y
index 8459ff323..42af65e35 100644
--- a/src/cmd/6a/a.y
+++ b/src/cmd/6a/a.y
@@ -176,6 +176,11 @@ nonrel:
$$.from = nullgen;
$$.to = $1;
}
+| imm ',' rel
+ {
+ $$.from = $1;
+ $$.to = $3;
+ }
spec1: /* DATA */
nam '/' con ',' imm
diff --git a/src/cmd/6a/doc.go b/src/cmd/6a/doc.go
index 92fb74de6..a5f3f87f0 100644
--- a/src/cmd/6a/doc.go
+++ b/src/cmd/6a/doc.go
@@ -2,13 +2,15 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+// +build ignore
+
/*
6a is a version of the Plan 9 assembler. The original is documented at
- http://plan9.bell-labs.com/magic/man2html/1/2a
+ http://plan9.bell-labs.com/magic/man2html/1/8a
Its target architecture is the x86-64, referred to by these tools as amd64.
*/
-package documentation
+package main
diff --git a/src/cmd/6a/lex.c b/src/cmd/6a/lex.c
index e013bec2a..d65802a20 100644
--- a/src/cmd/6a/lex.c
+++ b/src/cmd/6a/lex.c
@@ -340,6 +340,8 @@ struct
"BSRL", LTYPE3, ABSRL,
"BSRQ", LTYPE3, ABSRQ,
"BSRW", LTYPE3, ABSRW,
+ "BSWAPL", LTYPE1, ABSWAPL,
+ "BSWAPQ", LTYPE1, ABSWAPQ,
"BTCL", LTYPE3, ABTCL,
"BTCQ", LTYPE3, ABTCQ,
"BTCW", LTYPE3, ABTCW,
@@ -1001,6 +1003,19 @@ struct
"XORPS", LTYPE3, AXORPS,
"CRC32B", LTYPE4, ACRC32B,
"CRC32Q", LTYPE4, ACRC32Q,
+ "PREFETCHT0", LTYPE2, APREFETCHT0,
+ "PREFETCHT1", LTYPE2, APREFETCHT1,
+ "PREFETCHT2", LTYPE2, APREFETCHT2,
+ "PREFETCHNTA", LTYPE2, APREFETCHNTA,
+ "UNDEF", LTYPE0, AUNDEF,
+ "AESENC", LTYPE3, AAESENC,
+ "AESENCLAST", LTYPE3, AAESENCLAST,
+ "AESDEC", LTYPE3, AAESDEC,
+ "AESDECLAST", LTYPE3, AAESDECLAST,
+ "AESIMC", LTYPE3, AAESIMC,
+ "AESKEYGENASSIST", LTYPEX, AAESKEYGENASSIST,
+ "PSHUFD", LTYPEX, APSHUFD,
+ "USEFIELD", LTYPEN, AUSEFIELD,
0
};
@@ -1250,11 +1265,38 @@ outhist(void)
Hist *h;
char *p, *q, *op, c;
int n;
+ char *tofree;
+ static int first = 1;
+ static char *goroot, *goroot_final;
+
+ if(first) {
+ // Decide whether we need to rewrite paths from $GOROOT to $GOROOT_FINAL.
+ first = 0;
+ goroot = getenv("GOROOT");
+ goroot_final = getenv("GOROOT_FINAL");
+ if(goroot == nil)
+ goroot = "";
+ if(goroot_final == nil)
+ goroot_final = goroot;
+ if(strcmp(goroot, goroot_final) == 0) {
+ goroot = nil;
+ goroot_final = nil;
+ }
+ }
+
+ tofree = nil;
g = nullgen;
c = pathchar();
for(h = hist; h != H; h = h->link) {
p = h->name;
+ if(p != nil && goroot != nil) {
+ n = strlen(goroot);
+ if(strncmp(p, goroot, strlen(goroot)) == 0 && p[n] == '/') {
+ tofree = smprint("%s%s", goroot_final, p+n);
+ p = tofree;
+ }
+ }
op = 0;
if(systemtype(Windows) && p && p[1] == ':'){
c = p[2];
@@ -1306,21 +1348,12 @@ outhist(void)
Bputc(&obuf, h->line>>24);
zaddr(&nullgen, 0);
zaddr(&g, 0);
- }
-}
-void
-pragbldicks(void)
-{
- while(getnsc() != '\n')
- ;
-}
-
-void
-praghjdicks(void)
-{
- while(getnsc() != '\n')
- ;
+ if(tofree) {
+ free(tofree);
+ tofree = nil;
+ }
+ }
}
#include "../cc/lexbody"
diff --git a/src/cmd/6a/y.tab.c b/src/cmd/6a/y.tab.c
index 2da8a1fac..75c4ad5ea 100644
--- a/src/cmd/6a/y.tab.c
+++ b/src/cmd/6a/y.tab.c
@@ -406,16 +406,16 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 2
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 548
+#define YYLAST 554
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 54
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 40
/* YYNRULES -- Number of rules. */
-#define YYNRULES 131
+#define YYNRULES 132
/* YYNRULES -- Number of states. */
-#define YYNSTATES 260
+#define YYNSTATES 263
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -468,16 +468,16 @@ static const yytype_uint16 yyprhs[] =
23, 26, 29, 33, 37, 40, 43, 46, 49, 52,
55, 58, 61, 64, 67, 70, 73, 76, 79, 82,
85, 88, 89, 91, 95, 99, 102, 104, 107, 109,
- 112, 114, 120, 124, 130, 133, 135, 137, 139, 143,
- 149, 153, 159, 162, 164, 168, 174, 180, 181, 183,
- 187, 193, 195, 197, 199, 201, 204, 207, 209, 211,
- 213, 215, 220, 223, 226, 228, 230, 232, 234, 236,
- 238, 240, 243, 246, 249, 252, 255, 260, 266, 270,
- 272, 274, 276, 281, 286, 291, 298, 308, 312, 316,
- 322, 331, 333, 340, 346, 354, 355, 358, 361, 363,
- 365, 367, 369, 371, 374, 377, 380, 384, 386, 389,
- 393, 398, 400, 404, 408, 412, 416, 420, 425, 430,
- 434, 438
+ 112, 114, 118, 124, 128, 134, 137, 139, 141, 143,
+ 147, 153, 157, 163, 166, 168, 172, 178, 184, 185,
+ 187, 191, 197, 199, 201, 203, 205, 208, 211, 213,
+ 215, 217, 219, 224, 227, 230, 232, 234, 236, 238,
+ 240, 242, 244, 247, 250, 253, 256, 259, 264, 270,
+ 274, 276, 278, 280, 285, 290, 295, 302, 312, 316,
+ 320, 326, 335, 337, 344, 350, 358, 359, 362, 365,
+ 367, 369, 371, 373, 375, 378, 381, 384, 388, 390,
+ 393, 397, 402, 404, 408, 412, 416, 420, 424, 429,
+ 434, 438, 442
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -494,40 +494,40 @@ static const yytype_int8 yyrhs[] =
75, -1, 29, 76, -1, 23, 77, -1, -1, 49,
-1, 80, 49, 78, -1, 78, 49, 80, -1, 80,
49, -1, 80, -1, 49, 78, -1, 78, -1, 49,
- 81, -1, 81, -1, 88, 11, 91, 49, 84, -1,
- 85, 49, 83, -1, 85, 49, 91, 49, 83, -1,
- 49, 79, -1, 79, -1, 61, -1, 65, -1, 80,
- 49, 78, -1, 80, 49, 78, 46, 35, -1, 80,
- 49, 78, -1, 80, 49, 78, 46, 36, -1, 80,
- 49, -1, 80, -1, 80, 49, 78, -1, 82, 49,
- 78, 49, 91, -1, 84, 49, 78, 49, 82, -1,
- -1, 84, -1, 85, 49, 84, -1, 85, 49, 91,
- 49, 84, -1, 82, -1, 85, -1, 81, -1, 87,
- -1, 10, 82, -1, 10, 86, -1, 82, -1, 86,
- -1, 78, -1, 84, -1, 91, 50, 32, 51, -1,
- 43, 89, -1, 44, 89, -1, 34, -1, 37, -1,
- 35, -1, 38, -1, 42, -1, 36, -1, 39, -1,
- 52, 92, -1, 52, 91, -1, 52, 88, -1, 52,
- 41, -1, 52, 40, -1, 52, 50, 40, 51, -1,
- 52, 50, 9, 40, 51, -1, 52, 9, 40, -1,
- 86, -1, 87, -1, 91, -1, 91, 50, 35, 51,
- -1, 91, 50, 42, 51, -1, 91, 50, 36, 51,
- -1, 91, 50, 35, 10, 91, 51, -1, 91, 50,
- 35, 51, 50, 35, 10, 91, 51, -1, 50, 35,
- 51, -1, 50, 42, 51, -1, 50, 35, 10, 91,
- 51, -1, 50, 35, 51, 50, 35, 10, 91, 51,
- -1, 88, -1, 88, 50, 35, 10, 91, 51, -1,
- 43, 89, 50, 90, 51, -1, 43, 6, 7, 89,
- 50, 33, 51, -1, -1, 8, 91, -1, 9, 91,
- -1, 33, -1, 42, -1, 31, -1, 30, -1, 45,
- -1, 9, 91, -1, 8, 91, -1, 53, 91, -1,
- 50, 93, 51, -1, 30, -1, 9, 30, -1, 30,
- 9, 30, -1, 9, 30, 9, 30, -1, 91, -1,
- 93, 8, 93, -1, 93, 9, 93, -1, 93, 10,
- 93, -1, 93, 11, 93, -1, 93, 12, 93, -1,
- 93, 6, 6, 93, -1, 93, 7, 7, 93, -1,
- 93, 5, 93, -1, 93, 4, 93, -1, 93, 3,
- 93, -1
+ 81, -1, 81, -1, 84, 49, 81, -1, 88, 11,
+ 91, 49, 84, -1, 85, 49, 83, -1, 85, 49,
+ 91, 49, 83, -1, 49, 79, -1, 79, -1, 61,
+ -1, 65, -1, 80, 49, 78, -1, 80, 49, 78,
+ 46, 35, -1, 80, 49, 78, -1, 80, 49, 78,
+ 46, 36, -1, 80, 49, -1, 80, -1, 80, 49,
+ 78, -1, 82, 49, 78, 49, 91, -1, 84, 49,
+ 78, 49, 82, -1, -1, 84, -1, 85, 49, 84,
+ -1, 85, 49, 91, 49, 84, -1, 82, -1, 85,
+ -1, 81, -1, 87, -1, 10, 82, -1, 10, 86,
+ -1, 82, -1, 86, -1, 78, -1, 84, -1, 91,
+ 50, 32, 51, -1, 43, 89, -1, 44, 89, -1,
+ 34, -1, 37, -1, 35, -1, 38, -1, 42, -1,
+ 36, -1, 39, -1, 52, 92, -1, 52, 91, -1,
+ 52, 88, -1, 52, 41, -1, 52, 40, -1, 52,
+ 50, 40, 51, -1, 52, 50, 9, 40, 51, -1,
+ 52, 9, 40, -1, 86, -1, 87, -1, 91, -1,
+ 91, 50, 35, 51, -1, 91, 50, 42, 51, -1,
+ 91, 50, 36, 51, -1, 91, 50, 35, 10, 91,
+ 51, -1, 91, 50, 35, 51, 50, 35, 10, 91,
+ 51, -1, 50, 35, 51, -1, 50, 42, 51, -1,
+ 50, 35, 10, 91, 51, -1, 50, 35, 51, 50,
+ 35, 10, 91, 51, -1, 88, -1, 88, 50, 35,
+ 10, 91, 51, -1, 43, 89, 50, 90, 51, -1,
+ 43, 6, 7, 89, 50, 33, 51, -1, -1, 8,
+ 91, -1, 9, 91, -1, 33, -1, 42, -1, 31,
+ -1, 30, -1, 45, -1, 9, 91, -1, 8, 91,
+ -1, 53, 91, -1, 50, 93, 51, -1, 30, -1,
+ 9, 30, -1, 30, 9, 30, -1, 9, 30, 9,
+ 30, -1, 91, -1, 93, 8, 93, -1, 93, 9,
+ 93, -1, 93, 10, 93, -1, 93, 11, 93, -1,
+ 93, 12, 93, -1, 93, 6, 6, 93, -1, 93,
+ 7, 7, 93, -1, 93, 5, 93, -1, 93, 4,
+ 93, -1, 93, 3, 93, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@@ -537,16 +537,16 @@ static const yytype_uint16 yyrline[] =
86, 87, 90, 95, 101, 102, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 120, 124, 131, 138, 145, 150, 157, 162, 169,
- 174, 181, 189, 194, 202, 207, 214, 215, 218, 223,
- 233, 238, 248, 253, 258, 265, 273, 283, 287, 294,
- 299, 307, 308, 311, 312, 313, 317, 321, 322, 325,
- 326, 329, 335, 344, 353, 358, 363, 368, 373, 378,
- 383, 389, 397, 403, 414, 420, 426, 432, 438, 446,
- 447, 450, 456, 462, 468, 474, 483, 492, 497, 502,
- 510, 520, 524, 533, 540, 549, 552, 556, 562, 563,
- 567, 570, 571, 575, 579, 583, 587, 593, 597, 601,
- 606, 613, 614, 618, 622, 626, 630, 634, 638, 642,
- 646, 650
+ 174, 179, 186, 194, 199, 207, 212, 219, 220, 223,
+ 228, 238, 243, 253, 258, 263, 270, 278, 288, 292,
+ 299, 304, 312, 313, 316, 317, 318, 322, 326, 327,
+ 330, 331, 334, 340, 349, 358, 363, 368, 373, 378,
+ 383, 388, 394, 402, 408, 419, 425, 431, 437, 443,
+ 451, 452, 455, 461, 467, 473, 479, 488, 497, 502,
+ 507, 515, 525, 529, 538, 545, 554, 557, 561, 567,
+ 568, 572, 575, 576, 580, 584, 588, 592, 598, 602,
+ 606, 611, 618, 619, 623, 627, 631, 635, 639, 643,
+ 647, 651, 655
};
#endif
@@ -591,16 +591,16 @@ static const yytype_uint8 yyr1[] =
57, 57, 60, 60, 60, 60, 60, 60, 60, 60,
60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
60, 61, 61, 62, 63, 64, 64, 65, 65, 66,
- 66, 67, 68, 68, 69, 69, 70, 70, 71, 71,
- 72, 72, 73, 73, 73, 74, 75, 76, 76, 77,
- 77, 78, 78, 79, 79, 79, 79, 79, 79, 80,
- 80, 81, 81, 81, 82, 82, 82, 82, 82, 82,
- 82, 83, 84, 84, 84, 84, 84, 84, 84, 85,
- 85, 86, 86, 86, 86, 86, 86, 86, 86, 86,
- 86, 87, 87, 88, 88, 89, 89, 89, 90, 90,
- 90, 91, 91, 91, 91, 91, 91, 92, 92, 92,
- 92, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 93
+ 66, 66, 67, 68, 68, 69, 69, 70, 70, 71,
+ 71, 72, 72, 73, 73, 73, 74, 75, 76, 76,
+ 77, 77, 78, 78, 79, 79, 79, 79, 79, 79,
+ 80, 80, 81, 81, 81, 82, 82, 82, 82, 82,
+ 82, 82, 83, 84, 84, 84, 84, 84, 84, 84,
+ 85, 85, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 87, 87, 88, 88, 89, 89, 89, 90,
+ 90, 90, 91, 91, 91, 91, 91, 91, 92, 92,
+ 92, 92, 93, 93, 93, 93, 93, 93, 93, 93,
+ 93, 93, 93
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -610,16 +610,16 @@ static const yytype_uint8 yyr2[] =
2, 2, 3, 3, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 0, 1, 3, 3, 2, 1, 2, 1, 2,
- 1, 5, 3, 5, 2, 1, 1, 1, 3, 5,
- 3, 5, 2, 1, 3, 5, 5, 0, 1, 3,
- 5, 1, 1, 1, 1, 2, 2, 1, 1, 1,
- 1, 4, 2, 2, 1, 1, 1, 1, 1, 1,
- 1, 2, 2, 2, 2, 2, 4, 5, 3, 1,
- 1, 1, 4, 4, 4, 6, 9, 3, 3, 5,
- 8, 1, 6, 5, 7, 0, 2, 2, 1, 1,
- 1, 1, 1, 2, 2, 2, 3, 1, 2, 3,
- 4, 1, 3, 3, 3, 3, 3, 4, 4, 3,
- 3, 3
+ 1, 3, 5, 3, 5, 2, 1, 1, 1, 3,
+ 5, 3, 5, 2, 1, 3, 5, 5, 0, 1,
+ 3, 5, 1, 1, 1, 1, 2, 2, 1, 1,
+ 1, 1, 4, 2, 2, 1, 1, 1, 1, 1,
+ 1, 1, 2, 2, 2, 2, 2, 4, 5, 3,
+ 1, 1, 1, 4, 4, 4, 6, 9, 3, 3,
+ 5, 8, 1, 6, 5, 7, 0, 2, 2, 1,
+ 1, 1, 1, 1, 2, 2, 2, 3, 1, 2,
+ 3, 4, 1, 3, 3, 3, 3, 3, 4, 4,
+ 3, 3, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -629,39 +629,40 @@ static const yytype_uint8 yydefact[] =
{
2, 3, 1, 0, 0, 31, 0, 0, 0, 0,
0, 0, 31, 0, 0, 0, 0, 0, 0, 0,
- 0, 57, 0, 0, 0, 9, 4, 0, 11, 32,
- 14, 0, 0, 111, 74, 76, 79, 75, 77, 80,
- 78, 105, 112, 0, 0, 0, 15, 38, 61, 62,
- 89, 90, 101, 91, 0, 16, 69, 36, 70, 17,
- 0, 18, 0, 0, 105, 105, 0, 22, 45, 63,
- 67, 68, 64, 91, 20, 0, 32, 46, 47, 23,
- 105, 0, 0, 19, 40, 0, 21, 0, 30, 0,
- 24, 0, 25, 0, 26, 53, 27, 0, 28, 0,
- 29, 58, 7, 0, 5, 0, 10, 114, 113, 0,
- 0, 0, 0, 37, 0, 0, 121, 0, 115, 0,
- 0, 0, 85, 84, 0, 83, 82, 35, 0, 0,
- 65, 66, 72, 73, 44, 0, 0, 72, 39, 0,
- 0, 0, 0, 0, 52, 0, 0, 0, 12, 0,
- 13, 105, 106, 107, 0, 0, 97, 98, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 116, 0,
- 0, 0, 0, 88, 0, 0, 33, 34, 0, 0,
- 0, 42, 0, 59, 0, 48, 50, 54, 0, 0,
- 8, 6, 0, 110, 108, 109, 0, 0, 0, 131,
- 130, 129, 0, 0, 122, 123, 124, 125, 126, 0,
- 0, 92, 94, 93, 0, 86, 71, 0, 0, 117,
- 81, 0, 0, 0, 0, 0, 0, 0, 103, 99,
- 0, 127, 128, 0, 0, 0, 87, 41, 118, 0,
- 43, 60, 49, 51, 55, 56, 0, 0, 102, 95,
- 0, 0, 119, 104, 0, 0, 120, 100, 0, 96
+ 0, 58, 0, 0, 0, 9, 4, 0, 11, 32,
+ 14, 0, 0, 112, 75, 77, 80, 76, 78, 81,
+ 79, 106, 113, 0, 0, 0, 15, 38, 62, 63,
+ 90, 91, 102, 92, 0, 16, 70, 36, 71, 17,
+ 0, 18, 0, 0, 106, 106, 0, 22, 46, 64,
+ 68, 69, 65, 92, 20, 0, 32, 47, 48, 23,
+ 106, 0, 0, 19, 40, 0, 0, 21, 0, 30,
+ 0, 24, 0, 25, 0, 26, 54, 27, 0, 28,
+ 0, 29, 59, 7, 0, 5, 0, 10, 115, 114,
+ 0, 0, 0, 0, 37, 0, 0, 122, 0, 116,
+ 0, 0, 0, 86, 85, 0, 84, 83, 35, 0,
+ 0, 66, 67, 73, 74, 45, 0, 0, 73, 39,
+ 0, 0, 0, 0, 0, 0, 53, 0, 0, 0,
+ 12, 0, 13, 106, 107, 108, 0, 0, 98, 99,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 117, 0, 0, 0, 0, 89, 0, 0, 33, 34,
+ 0, 0, 41, 0, 43, 0, 60, 0, 49, 51,
+ 55, 0, 0, 8, 6, 0, 111, 109, 110, 0,
+ 0, 0, 132, 131, 130, 0, 0, 123, 124, 125,
+ 126, 127, 0, 0, 93, 95, 94, 0, 87, 72,
+ 0, 0, 118, 82, 0, 0, 0, 0, 0, 0,
+ 0, 104, 100, 0, 128, 129, 0, 0, 0, 88,
+ 42, 119, 0, 44, 61, 50, 52, 56, 57, 0,
+ 0, 103, 96, 0, 0, 120, 105, 0, 0, 121,
+ 101, 0, 97
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 1, 3, 26, 149, 147, 27, 30, 59, 61,
- 55, 46, 83, 74, 86, 67, 79, 90, 92, 94,
- 96, 98, 100, 88, 56, 68, 57, 69, 48, 181,
- 58, 49, 50, 51, 52, 112, 196, 53, 220, 117
+ -1, 1, 3, 26, 151, 149, 27, 30, 59, 61,
+ 55, 46, 83, 74, 87, 67, 79, 91, 93, 95,
+ 97, 99, 101, 89, 56, 68, 57, 69, 48, 184,
+ 58, 49, 50, 51, 52, 113, 199, 53, 223, 118
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
@@ -669,41 +670,42 @@ static const yytype_int16 yydefgoto[] =
#define YYPACT_NINF -97
static const yytype_int16 yypact[] =
{
- -97, 29, -97, 206, -39, -36, 254, 278, 278, 326,
- 230, 15, 302, 59, 412, 412, 278, 278, 278, 82,
- -20, -20, -22, -6, 2, -97, -97, 12, -97, -97,
- -97, 476, 476, -97, -97, -97, -97, -97, -97, -97,
- -97, 88, -97, 326, 366, 476, -97, -97, -97, -97,
- -97, -97, 14, 16, 364, -97, -97, 33, -97, -97,
- 39, -97, 41, 350, 88, 11, 152, -97, -97, -97,
- -97, -97, -97, 31, -97, 51, 326, -97, -97, -97,
- 11, 382, 476, -97, -97, 42, -97, 50, -97, 56,
- -97, 58, -97, 61, -97, 64, -97, 66, -97, 79,
- -97, -97, -97, 476, -97, 476, -97, -97, -97, 84,
- 476, 476, 92, -97, 18, 78, -97, 129, -97, 108,
- -5, 414, -97, -97, 421, -97, -97, -97, 326, 278,
- -97, -97, 92, -97, -97, 13, 476, -97, -97, 112,
- 428, 438, 326, 326, 326, 326, 326, 206, 527, 206,
- 527, 11, -97, -97, 10, 476, 96, -97, 476, 476,
- 476, 141, 144, 476, 476, 476, 476, 476, -97, 142,
- 23, 126, 127, -97, 467, 128, -97, -97, 130, 110,
- 8, -97, 114, -97, 134, 138, 139, -97, 149, 154,
- -97, -97, 163, -97, -97, -97, 153, 165, 179, 536,
- 493, 159, 476, 476, 65, 65, -97, -97, -97, 476,
- 476, 168, -97, -97, 185, -97, -97, -20, 211, 233,
- -97, 191, -20, 209, 210, 476, 82, 214, -97, -97,
- 238, 200, 200, 201, 203, 220, -97, -97, 247, 227,
- -97, -97, -97, -97, -97, -97, 207, 476, -97, -97,
- 249, 231, -97, -97, 219, 476, -97, -97, 225, -97
+ -97, 40, -97, 208, 5, -4, 140, 295, 295, 343,
+ 233, 15, 319, 381, 91, 91, 295, 295, 295, 222,
+ 24, 24, -15, 22, 14, -97, -97, 30, -97, -97,
+ -97, 486, 486, -97, -97, -97, -97, -97, -97, -97,
+ -97, 42, -97, 343, 406, 486, -97, -97, -97, -97,
+ -97, -97, 45, 48, 399, -97, -97, 20, -97, -97,
+ 67, -97, 68, 367, 42, 19, 271, -97, -97, -97,
+ -97, -97, -97, 87, -97, 127, 343, -97, -97, -97,
+ 19, 437, 486, -97, -97, 90, 92, -97, 94, -97,
+ 96, -97, 104, -97, 105, -97, 111, -97, 118, -97,
+ 119, -97, -97, -97, 486, -97, 486, -97, -97, -97,
+ 133, 486, 486, 121, -97, 8, 122, -97, 80, -97,
+ 134, 78, 413, -97, -97, 446, -97, -97, -97, 343,
+ 295, -97, -97, 121, -97, -97, 7, 486, -97, -97,
+ 437, 148, 453, 462, 343, 343, 343, 343, 343, 208,
+ 284, 208, 284, 19, -97, -97, -1, 486, 131, -97,
+ 486, 486, 486, 166, 177, 486, 486, 486, 486, 486,
+ -97, 176, 10, 136, 137, -97, 480, 141, -97, -97,
+ 143, 142, -97, 16, -97, 149, -97, 150, 151, 154,
+ -97, 152, 155, -97, -97, 156, -97, -97, -97, 157,
+ 159, 170, 99, 535, 542, 486, 486, 26, 26, -97,
+ -97, -97, 486, 486, 161, -97, -97, 162, -97, -97,
+ 24, 184, 198, -97, 163, 24, 181, 183, 486, 222,
+ 205, -97, -97, 229, 114, 114, 193, 194, 211, -97,
+ -97, 238, 219, -97, -97, -97, -97, -97, -97, 199,
+ 486, -97, -97, 244, 232, -97, -97, 214, 486, -97,
+ -97, 215, -97
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -97, -97, -97, -96, -97, -97, -97, 259, -97, -97,
- -97, 265, -97, -97, -97, -97, -97, -97, -97, -97,
- -97, -97, -97, -97, 30, 212, -2, -11, -9, 60,
- -16, 32, -3, -1, 7, -53, -97, -10, -97, -80
+ -97, -97, -97, -96, -97, -97, -97, 261, -97, -97,
+ -97, 262, -97, -97, -97, -97, -97, -97, -97, -97,
+ -97, -97, -97, -97, 17, 218, -2, -11, -9, 61,
+ -8, 51, 1, -3, -7, -56, -97, -10, -97, -87
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -713,120 +715,122 @@ static const yytype_int16 yypgoto[] =
#define YYTABLE_NINF -1
static const yytype_uint16 yytable[] =
{
- 73, 70, 84, 85, 99, 101, 60, 71, 28, 72,
- 97, 132, 133, 29, 91, 93, 95, 218, 75, 110,
- 111, 107, 108, 148, 102, 150, 103, 137, 155, 2,
- 170, 171, 54, 210, 116, 118, 47, 172, 219, 62,
- 104, 193, 47, 194, 126, 178, 87, 89, 170, 171,
- 105, 190, 195, 191, 130, 172, 73, 70, 41, 106,
- 131, 125, 136, 71, 119, 72, 120, 31, 32, 156,
- 138, 85, 116, 113, 211, 165, 166, 167, 199, 200,
- 201, 135, 127, 204, 205, 206, 207, 208, 128, 33,
- 129, 151, 139, 116, 109, 116, 110, 111, 192, 140,
- 152, 153, 80, 65, 42, 141, 113, 142, 81, 82,
- 143, 108, 45, 144, 116, 145, 34, 35, 36, 37,
- 38, 39, 231, 232, 40, 183, 179, 177, 146, 157,
- 182, 184, 158, 159, 160, 161, 162, 163, 164, 165,
- 166, 167, 154, 169, 178, 197, 198, 202, 116, 116,
- 116, 203, 209, 116, 116, 116, 116, 116, 176, 217,
- 31, 32, 63, 221, 108, 161, 162, 163, 164, 165,
- 166, 167, 185, 186, 187, 188, 189, 212, 213, 215,
- 168, 216, 33, 222, 223, 224, 34, 35, 36, 37,
- 38, 39, 116, 116, 40, 64, 65, 42, 225, 233,
- 234, 237, 44, 226, 228, 45, 241, 4, 163, 164,
- 165, 166, 167, 227, 230, 244, 229, 245, 235, 5,
- 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 236, 254, 31, 32,
- 63, 238, 239, 180, 242, 258, 243, 246, 247, 22,
- 23, 24, 248, 25, 249, 250, 251, 252, 253, 255,
- 33, 256, 31, 32, 34, 35, 36, 37, 38, 39,
- 257, 77, 40, 64, 65, 42, 259, 78, 134, 66,
- 44, 240, 0, 45, 33, 0, 31, 32, 34, 35,
- 36, 37, 38, 39, 0, 0, 40, 41, 0, 42,
- 0, 0, 0, 43, 44, 0, 0, 45, 33, 0,
- 31, 32, 34, 35, 36, 37, 38, 39, 0, 0,
- 40, 41, 0, 42, 0, 0, 0, 0, 44, 0,
- 54, 45, 33, 0, 31, 32, 34, 35, 36, 37,
- 38, 39, 0, 0, 40, 41, 0, 42, 0, 0,
- 0, 76, 44, 0, 0, 45, 33, 0, 31, 32,
- 34, 35, 36, 37, 38, 39, 0, 0, 40, 41,
- 0, 42, 31, 121, 31, 32, 44, 0, 0, 45,
- 33, 0, 0, 0, 34, 35, 36, 37, 38, 39,
- 31, 32, 40, 0, 33, 42, 33, 0, 0, 0,
- 44, 114, 0, 45, 122, 123, 0, 41, 115, 42,
- 0, 42, 33, 0, 124, 0, 82, 45, 0, 45,
- 31, 32, 31, 32, 0, 80, 65, 42, 0, 31,
- 174, 0, 82, 0, 0, 45, 31, 32, 0, 0,
- 0, 0, 33, 0, 33, 0, 31, 32, 0, 0,
- 0, 33, 0, 0, 173, 41, 0, 42, 33, 42,
- 0, 175, 44, 0, 82, 45, 42, 45, 33, 0,
- 0, 82, 0, 42, 45, 31, 32, 0, 82, 0,
- 180, 45, 0, 42, 31, 32, 0, 0, 82, 0,
- 54, 45, 0, 0, 0, 0, 0, 33, 160, 161,
- 162, 163, 164, 165, 166, 167, 33, 214, 0, 0,
- 0, 0, 42, 0, 0, 0, 0, 82, 0, 0,
- 45, 42, 0, 0, 0, 0, 82, 0, 0, 45,
- 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
- 159, 160, 161, 162, 163, 164, 165, 166, 167
+ 73, 70, 84, 86, 75, 85, 60, 72, 133, 134,
+ 98, 71, 100, 102, 92, 94, 96, 150, 157, 152,
+ 213, 108, 109, 47, 138, 221, 62, 111, 112, 47,
+ 196, 103, 197, 104, 117, 119, 167, 168, 169, 180,
+ 2, 198, 172, 173, 127, 29, 222, 126, 110, 174,
+ 111, 112, 28, 193, 131, 194, 73, 70, 41, 158,
+ 114, 214, 106, 72, 132, 88, 90, 71, 105, 128,
+ 139, 86, 117, 202, 203, 204, 54, 107, 207, 208,
+ 209, 210, 211, 160, 161, 162, 163, 164, 165, 166,
+ 167, 168, 169, 114, 117, 120, 117, 195, 121, 31,
+ 32, 154, 155, 161, 162, 163, 164, 165, 166, 167,
+ 168, 169, 109, 172, 173, 117, 129, 130, 234, 235,
+ 174, 33, 165, 166, 167, 168, 169, 181, 179, 182,
+ 86, 170, 185, 187, 41, 186, 42, 136, 137, 140,
+ 153, 44, 141, 142, 45, 143, 178, 200, 31, 32,
+ 117, 117, 117, 144, 145, 117, 117, 117, 117, 117,
+ 146, 188, 189, 190, 191, 192, 109, 147, 148, 171,
+ 33, 156, 205, 159, 34, 35, 36, 37, 38, 39,
+ 180, 201, 40, 41, 206, 42, 212, 215, 216, 43,
+ 44, 220, 218, 45, 219, 117, 117, 226, 224, 225,
+ 227, 228, 236, 237, 229, 233, 230, 242, 231, 4,
+ 232, 238, 240, 239, 241, 183, 245, 244, 247, 246,
+ 248, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 249, 250,
+ 257, 31, 32, 63, 251, 252, 253, 254, 261, 255,
+ 256, 22, 23, 24, 258, 25, 34, 35, 36, 37,
+ 38, 39, 259, 33, 40, 260, 262, 34, 35, 36,
+ 37, 38, 39, 77, 78, 40, 64, 65, 42, 31,
+ 32, 63, 66, 44, 135, 243, 45, 160, 161, 162,
+ 163, 164, 165, 166, 167, 168, 169, 0, 0, 0,
+ 0, 33, 0, 31, 32, 34, 35, 36, 37, 38,
+ 39, 0, 0, 40, 64, 65, 42, 0, 0, 0,
+ 0, 44, 0, 0, 45, 33, 0, 31, 32, 34,
+ 35, 36, 37, 38, 39, 0, 0, 40, 41, 0,
+ 42, 0, 0, 0, 0, 44, 0, 54, 45, 33,
+ 0, 31, 32, 34, 35, 36, 37, 38, 39, 0,
+ 0, 40, 41, 0, 42, 0, 0, 0, 76, 44,
+ 0, 0, 45, 33, 0, 31, 32, 34, 35, 36,
+ 37, 38, 39, 0, 0, 40, 41, 0, 42, 31,
+ 32, 0, 0, 44, 0, 0, 45, 33, 0, 0,
+ 0, 34, 35, 36, 37, 38, 39, 31, 122, 40,
+ 0, 33, 42, 0, 31, 32, 0, 44, 0, 0,
+ 45, 31, 32, 0, 80, 65, 42, 0, 0, 33,
+ 81, 82, 0, 54, 45, 0, 33, 0, 0, 123,
+ 124, 115, 41, 33, 42, 31, 32, 0, 116, 125,
+ 0, 42, 45, 175, 31, 176, 82, 0, 42, 45,
+ 0, 31, 32, 82, 0, 0, 45, 33, 0, 0,
+ 31, 32, 0, 0, 0, 0, 33, 0, 0, 0,
+ 80, 65, 42, 33, 0, 0, 177, 82, 31, 32,
+ 45, 42, 33, 0, 31, 32, 82, 0, 42, 45,
+ 0, 0, 0, 82, 0, 183, 45, 42, 0, 0,
+ 33, 0, 82, 0, 54, 45, 33, 0, 0, 0,
+ 217, 0, 0, 0, 0, 42, 0, 0, 0, 0,
+ 82, 42, 0, 45, 0, 0, 82, 0, 0, 45,
+ 162, 163, 164, 165, 166, 167, 168, 169, 163, 164,
+ 165, 166, 167, 168, 169
};
static const yytype_int16 yycheck[] =
{
- 10, 10, 13, 13, 20, 21, 8, 10, 47, 10,
- 19, 64, 65, 49, 16, 17, 18, 9, 11, 8,
- 9, 31, 32, 103, 46, 105, 48, 80, 10, 0,
- 35, 36, 52, 10, 44, 45, 6, 42, 30, 9,
- 46, 31, 12, 33, 54, 32, 14, 15, 35, 36,
- 48, 147, 42, 149, 63, 42, 66, 66, 43, 47,
- 63, 54, 11, 66, 50, 66, 50, 8, 9, 51,
- 81, 81, 82, 43, 51, 10, 11, 12, 158, 159,
- 160, 50, 49, 163, 164, 165, 166, 167, 49, 30,
- 49, 7, 50, 103, 6, 105, 8, 9, 151, 49,
- 110, 111, 43, 44, 45, 49, 76, 49, 49, 50,
- 49, 121, 53, 49, 124, 49, 34, 35, 36, 37,
- 38, 39, 202, 203, 42, 141, 136, 129, 49, 51,
- 140, 141, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 50, 35, 32, 155, 50, 6, 158, 159,
- 160, 7, 10, 163, 164, 165, 166, 167, 128, 49,
- 8, 9, 10, 49, 174, 6, 7, 8, 9, 10,
- 11, 12, 142, 143, 144, 145, 146, 51, 51, 51,
- 51, 51, 30, 49, 46, 46, 34, 35, 36, 37,
- 38, 39, 202, 203, 42, 43, 44, 45, 49, 209,
- 210, 217, 50, 49, 51, 53, 222, 1, 8, 9,
- 10, 11, 12, 50, 35, 225, 51, 226, 50, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 51, 247, 8, 9,
- 10, 30, 9, 52, 35, 255, 36, 33, 10, 43,
- 44, 45, 51, 47, 51, 35, 9, 30, 51, 10,
- 30, 30, 8, 9, 34, 35, 36, 37, 38, 39,
- 51, 12, 42, 43, 44, 45, 51, 12, 66, 49,
- 50, 221, -1, 53, 30, -1, 8, 9, 34, 35,
- 36, 37, 38, 39, -1, -1, 42, 43, -1, 45,
- -1, -1, -1, 49, 50, -1, -1, 53, 30, -1,
- 8, 9, 34, 35, 36, 37, 38, 39, -1, -1,
- 42, 43, -1, 45, -1, -1, -1, -1, 50, -1,
- 52, 53, 30, -1, 8, 9, 34, 35, 36, 37,
- 38, 39, -1, -1, 42, 43, -1, 45, -1, -1,
- -1, 49, 50, -1, -1, 53, 30, -1, 8, 9,
- 34, 35, 36, 37, 38, 39, -1, -1, 42, 43,
- -1, 45, 8, 9, 8, 9, 50, -1, -1, 53,
- 30, -1, -1, -1, 34, 35, 36, 37, 38, 39,
- 8, 9, 42, -1, 30, 45, 30, -1, -1, -1,
- 50, 35, -1, 53, 40, 41, -1, 43, 42, 45,
- -1, 45, 30, -1, 50, -1, 50, 53, -1, 53,
- 8, 9, 8, 9, -1, 43, 44, 45, -1, 8,
- 9, -1, 50, -1, -1, 53, 8, 9, -1, -1,
- -1, -1, 30, -1, 30, -1, 8, 9, -1, -1,
- -1, 30, -1, -1, 40, 43, -1, 45, 30, 45,
- -1, 40, 50, -1, 50, 53, 45, 53, 30, -1,
- -1, 50, -1, 45, 53, 8, 9, -1, 50, -1,
- 52, 53, -1, 45, 8, 9, -1, -1, 50, -1,
- 52, 53, -1, -1, -1, -1, -1, 30, 5, 6,
- 7, 8, 9, 10, 11, 12, 30, 40, -1, -1,
- -1, -1, 45, -1, -1, -1, -1, 50, -1, -1,
- 53, 45, -1, -1, -1, -1, 50, -1, -1, 53,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 4, 5, 6, 7, 8, 9, 10, 11, 12
+ 10, 10, 13, 13, 11, 13, 8, 10, 64, 65,
+ 19, 10, 20, 21, 16, 17, 18, 104, 10, 106,
+ 10, 31, 32, 6, 80, 9, 9, 8, 9, 12,
+ 31, 46, 33, 48, 44, 45, 10, 11, 12, 32,
+ 0, 42, 35, 36, 54, 49, 30, 54, 6, 42,
+ 8, 9, 47, 149, 63, 151, 66, 66, 43, 51,
+ 43, 51, 48, 66, 63, 14, 15, 66, 46, 49,
+ 81, 81, 82, 160, 161, 162, 52, 47, 165, 166,
+ 167, 168, 169, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 76, 104, 50, 106, 153, 50, 8,
+ 9, 111, 112, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 122, 35, 36, 125, 49, 49, 205, 206,
+ 42, 30, 8, 9, 10, 11, 12, 137, 130, 140,
+ 140, 51, 142, 143, 43, 143, 45, 50, 11, 49,
+ 7, 50, 50, 49, 53, 49, 129, 157, 8, 9,
+ 160, 161, 162, 49, 49, 165, 166, 167, 168, 169,
+ 49, 144, 145, 146, 147, 148, 176, 49, 49, 35,
+ 30, 50, 6, 51, 34, 35, 36, 37, 38, 39,
+ 32, 50, 42, 43, 7, 45, 10, 51, 51, 49,
+ 50, 49, 51, 53, 51, 205, 206, 46, 49, 49,
+ 46, 49, 212, 213, 49, 35, 50, 9, 51, 1,
+ 51, 50, 220, 51, 30, 52, 35, 225, 228, 36,
+ 229, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 33, 10,
+ 250, 8, 9, 10, 51, 51, 35, 9, 258, 30,
+ 51, 43, 44, 45, 10, 47, 34, 35, 36, 37,
+ 38, 39, 30, 30, 42, 51, 51, 34, 35, 36,
+ 37, 38, 39, 12, 12, 42, 43, 44, 45, 8,
+ 9, 10, 49, 50, 66, 224, 53, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, -1, -1, -1,
+ -1, 30, -1, 8, 9, 34, 35, 36, 37, 38,
+ 39, -1, -1, 42, 43, 44, 45, -1, -1, -1,
+ -1, 50, -1, -1, 53, 30, -1, 8, 9, 34,
+ 35, 36, 37, 38, 39, -1, -1, 42, 43, -1,
+ 45, -1, -1, -1, -1, 50, -1, 52, 53, 30,
+ -1, 8, 9, 34, 35, 36, 37, 38, 39, -1,
+ -1, 42, 43, -1, 45, -1, -1, -1, 49, 50,
+ -1, -1, 53, 30, -1, 8, 9, 34, 35, 36,
+ 37, 38, 39, -1, -1, 42, 43, -1, 45, 8,
+ 9, -1, -1, 50, -1, -1, 53, 30, -1, -1,
+ -1, 34, 35, 36, 37, 38, 39, 8, 9, 42,
+ -1, 30, 45, -1, 8, 9, -1, 50, -1, -1,
+ 53, 8, 9, -1, 43, 44, 45, -1, -1, 30,
+ 49, 50, -1, 52, 53, -1, 30, -1, -1, 40,
+ 41, 35, 43, 30, 45, 8, 9, -1, 42, 50,
+ -1, 45, 53, 40, 8, 9, 50, -1, 45, 53,
+ -1, 8, 9, 50, -1, -1, 53, 30, -1, -1,
+ 8, 9, -1, -1, -1, -1, 30, -1, -1, -1,
+ 43, 44, 45, 30, -1, -1, 40, 50, 8, 9,
+ 53, 45, 30, -1, 8, 9, 50, -1, 45, 53,
+ -1, -1, -1, 50, -1, 52, 53, 45, -1, -1,
+ 30, -1, 50, -1, 52, 53, 30, -1, -1, -1,
+ 40, -1, -1, -1, -1, 45, -1, -1, -1, -1,
+ 50, 45, -1, 53, -1, -1, 50, -1, -1, 53,
+ 5, 6, 7, 8, 9, 10, 11, 12, 6, 7,
+ 8, 9, 10, 11, 12
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -841,24 +845,25 @@ static const yytype_uint8 yystos[] =
86, 87, 88, 91, 52, 64, 78, 80, 84, 62,
80, 63, 78, 10, 43, 44, 49, 69, 79, 81,
82, 86, 87, 91, 67, 88, 49, 61, 65, 70,
- 43, 49, 50, 66, 81, 91, 68, 85, 77, 85,
- 71, 80, 72, 80, 73, 80, 74, 82, 75, 84,
- 76, 84, 46, 48, 46, 48, 47, 91, 91, 6,
- 8, 9, 89, 78, 35, 42, 91, 93, 91, 50,
- 50, 9, 40, 41, 50, 88, 91, 49, 49, 49,
- 82, 86, 89, 89, 79, 50, 11, 89, 81, 50,
- 49, 49, 49, 49, 49, 49, 49, 59, 93, 58,
- 93, 7, 91, 91, 50, 10, 51, 51, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 51, 35,
- 35, 36, 42, 40, 9, 40, 78, 80, 32, 91,
- 52, 83, 91, 84, 91, 78, 78, 78, 78, 78,
- 57, 57, 89, 31, 33, 42, 90, 91, 50, 93,
- 93, 93, 6, 7, 93, 93, 93, 93, 93, 10,
- 10, 51, 51, 51, 40, 51, 51, 49, 9, 30,
- 92, 49, 49, 46, 46, 49, 49, 50, 51, 51,
- 35, 93, 93, 91, 91, 50, 51, 84, 30, 9,
- 83, 84, 35, 36, 91, 82, 33, 10, 51, 51,
- 35, 9, 30, 51, 91, 10, 30, 51, 91, 51
+ 43, 49, 50, 66, 81, 84, 91, 68, 85, 77,
+ 85, 71, 80, 72, 80, 73, 80, 74, 82, 75,
+ 84, 76, 84, 46, 48, 46, 48, 47, 91, 91,
+ 6, 8, 9, 89, 78, 35, 42, 91, 93, 91,
+ 50, 50, 9, 40, 41, 50, 88, 91, 49, 49,
+ 49, 82, 86, 89, 89, 79, 50, 11, 89, 81,
+ 49, 50, 49, 49, 49, 49, 49, 49, 49, 59,
+ 93, 58, 93, 7, 91, 91, 50, 10, 51, 51,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 51, 35, 35, 36, 42, 40, 9, 40, 78, 80,
+ 32, 91, 81, 52, 83, 91, 84, 91, 78, 78,
+ 78, 78, 78, 57, 57, 89, 31, 33, 42, 90,
+ 91, 50, 93, 93, 93, 6, 7, 93, 93, 93,
+ 93, 93, 10, 10, 51, 51, 51, 40, 51, 51,
+ 49, 9, 30, 92, 49, 49, 46, 46, 49, 49,
+ 50, 51, 51, 35, 93, 93, 91, 91, 50, 51,
+ 84, 30, 9, 83, 84, 35, 36, 91, 82, 33,
+ 10, 51, 51, 35, 9, 30, 51, 91, 10, 30,
+ 51, 91, 51
};
#define yyerrok (yyerrstatus = 0)
@@ -1879,7 +1884,15 @@ yyreduce:
break;
case 41:
-#line 182 "a.y"
+#line 180 "a.y"
+ {
+ (yyval.gen2).from = (yyvsp[(1) - (3)].gen);
+ (yyval.gen2).to = (yyvsp[(3) - (3)].gen);
+ }
+ break;
+
+ case 42:
+#line 187 "a.y"
{
(yyval.gen2).from = (yyvsp[(1) - (5)].gen);
(yyval.gen2).from.scale = (yyvsp[(3) - (5)].lval);
@@ -1887,16 +1900,16 @@ yyreduce:
}
break;
- case 42:
-#line 190 "a.y"
+ case 43:
+#line 195 "a.y"
{
(yyval.gen2).from = (yyvsp[(1) - (3)].gen);
(yyval.gen2).to = (yyvsp[(3) - (3)].gen);
}
break;
- case 43:
-#line 195 "a.y"
+ case 44:
+#line 200 "a.y"
{
(yyval.gen2).from = (yyvsp[(1) - (5)].gen);
(yyval.gen2).from.scale = (yyvsp[(3) - (5)].lval);
@@ -1904,32 +1917,32 @@ yyreduce:
}
break;
- case 44:
-#line 203 "a.y"
+ case 45:
+#line 208 "a.y"
{
(yyval.gen2).from = nullgen;
(yyval.gen2).to = (yyvsp[(2) - (2)].gen);
}
break;
- case 45:
-#line 208 "a.y"
+ case 46:
+#line 213 "a.y"
{
(yyval.gen2).from = nullgen;
(yyval.gen2).to = (yyvsp[(1) - (1)].gen);
}
break;
- case 48:
-#line 219 "a.y"
+ case 49:
+#line 224 "a.y"
{
(yyval.gen2).from = (yyvsp[(1) - (3)].gen);
(yyval.gen2).to = (yyvsp[(3) - (3)].gen);
}
break;
- case 49:
-#line 224 "a.y"
+ case 50:
+#line 229 "a.y"
{
(yyval.gen2).from = (yyvsp[(1) - (5)].gen);
(yyval.gen2).to = (yyvsp[(3) - (5)].gen);
@@ -1939,16 +1952,16 @@ yyreduce:
}
break;
- case 50:
-#line 234 "a.y"
+ case 51:
+#line 239 "a.y"
{
(yyval.gen2).from = (yyvsp[(1) - (3)].gen);
(yyval.gen2).to = (yyvsp[(3) - (3)].gen);
}
break;
- case 51:
-#line 239 "a.y"
+ case 52:
+#line 244 "a.y"
{
(yyval.gen2).from = (yyvsp[(1) - (5)].gen);
(yyval.gen2).to = (yyvsp[(3) - (5)].gen);
@@ -1958,32 +1971,32 @@ yyreduce:
}
break;
- case 52:
-#line 249 "a.y"
+ case 53:
+#line 254 "a.y"
{
(yyval.gen2).from = (yyvsp[(1) - (2)].gen);
(yyval.gen2).to = nullgen;
}
break;
- case 53:
-#line 254 "a.y"
+ case 54:
+#line 259 "a.y"
{
(yyval.gen2).from = (yyvsp[(1) - (1)].gen);
(yyval.gen2).to = nullgen;
}
break;
- case 54:
-#line 259 "a.y"
+ case 55:
+#line 264 "a.y"
{
(yyval.gen2).from = (yyvsp[(1) - (3)].gen);
(yyval.gen2).to = (yyvsp[(3) - (3)].gen);
}
break;
- case 55:
-#line 266 "a.y"
+ case 56:
+#line 271 "a.y"
{
(yyval.gen2).from = (yyvsp[(1) - (5)].gen);
(yyval.gen2).to = (yyvsp[(3) - (5)].gen);
@@ -1991,8 +2004,8 @@ yyreduce:
}
break;
- case 56:
-#line 274 "a.y"
+ case 57:
+#line 279 "a.y"
{
(yyval.gen2).from = (yyvsp[(3) - (5)].gen);
(yyval.gen2).to = (yyvsp[(5) - (5)].gen);
@@ -2002,32 +2015,32 @@ yyreduce:
}
break;
- case 57:
-#line 283 "a.y"
+ case 58:
+#line 288 "a.y"
{
(yyval.gen2).from = nullgen;
(yyval.gen2).to = nullgen;
}
break;
- case 58:
-#line 288 "a.y"
+ case 59:
+#line 293 "a.y"
{
(yyval.gen2).from = (yyvsp[(1) - (1)].gen);
(yyval.gen2).to = nullgen;
}
break;
- case 59:
-#line 295 "a.y"
+ case 60:
+#line 300 "a.y"
{
(yyval.gen2).from = (yyvsp[(1) - (3)].gen);
(yyval.gen2).to = (yyvsp[(3) - (3)].gen);
}
break;
- case 60:
-#line 300 "a.y"
+ case 61:
+#line 305 "a.y"
{
(yyval.gen2).from = (yyvsp[(1) - (5)].gen);
(yyval.gen2).from.scale = (yyvsp[(3) - (5)].lval);
@@ -2035,22 +2048,22 @@ yyreduce:
}
break;
- case 65:
-#line 314 "a.y"
+ case 66:
+#line 319 "a.y"
{
(yyval.gen) = (yyvsp[(2) - (2)].gen);
}
break;
- case 66:
-#line 318 "a.y"
+ case 67:
+#line 323 "a.y"
{
(yyval.gen) = (yyvsp[(2) - (2)].gen);
}
break;
- case 71:
-#line 330 "a.y"
+ case 72:
+#line 335 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_BRANCH;
@@ -2058,8 +2071,8 @@ yyreduce:
}
break;
- case 72:
-#line 336 "a.y"
+ case 73:
+#line 341 "a.y"
{
(yyval.gen) = nullgen;
if(pass == 2)
@@ -2070,8 +2083,8 @@ yyreduce:
}
break;
- case 73:
-#line 345 "a.y"
+ case 74:
+#line 350 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_BRANCH;
@@ -2080,14 +2093,6 @@ yyreduce:
}
break;
- case 74:
-#line 354 "a.y"
- {
- (yyval.gen) = nullgen;
- (yyval.gen).type = (yyvsp[(1) - (1)].lval);
- }
- break;
-
case 75:
#line 359 "a.y"
{
@@ -2116,7 +2121,7 @@ yyreduce:
#line 374 "a.y"
{
(yyval.gen) = nullgen;
- (yyval.gen).type = D_SP;
+ (yyval.gen).type = (yyvsp[(1) - (1)].lval);
}
break;
@@ -2124,7 +2129,7 @@ yyreduce:
#line 379 "a.y"
{
(yyval.gen) = nullgen;
- (yyval.gen).type = (yyvsp[(1) - (1)].lval);
+ (yyval.gen).type = D_SP;
}
break;
@@ -2137,16 +2142,15 @@ yyreduce:
break;
case 81:
-#line 390 "a.y"
+#line 389 "a.y"
{
(yyval.gen) = nullgen;
- (yyval.gen).type = D_CONST;
- (yyval.gen).offset = (yyvsp[(2) - (2)].lval);
+ (yyval.gen).type = (yyvsp[(1) - (1)].lval);
}
break;
case 82:
-#line 398 "a.y"
+#line 395 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_CONST;
@@ -2155,7 +2159,16 @@ yyreduce:
break;
case 83:
-#line 404 "a.y"
+#line 403 "a.y"
+ {
+ (yyval.gen) = nullgen;
+ (yyval.gen).type = D_CONST;
+ (yyval.gen).offset = (yyvsp[(2) - (2)].lval);
+ }
+ break;
+
+ case 84:
+#line 409 "a.y"
{
(yyval.gen) = (yyvsp[(2) - (2)].gen);
(yyval.gen).index = (yyvsp[(2) - (2)].gen).type;
@@ -2168,8 +2181,8 @@ yyreduce:
}
break;
- case 84:
-#line 415 "a.y"
+ case 85:
+#line 420 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_SCONST;
@@ -2177,8 +2190,8 @@ yyreduce:
}
break;
- case 85:
-#line 421 "a.y"
+ case 86:
+#line 426 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_FCONST;
@@ -2186,8 +2199,8 @@ yyreduce:
}
break;
- case 86:
-#line 427 "a.y"
+ case 87:
+#line 432 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_FCONST;
@@ -2195,8 +2208,8 @@ yyreduce:
}
break;
- case 87:
-#line 433 "a.y"
+ case 88:
+#line 438 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_FCONST;
@@ -2204,8 +2217,8 @@ yyreduce:
}
break;
- case 88:
-#line 439 "a.y"
+ case 89:
+#line 444 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_FCONST;
@@ -2213,8 +2226,8 @@ yyreduce:
}
break;
- case 91:
-#line 451 "a.y"
+ case 92:
+#line 456 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_INDIR+D_NONE;
@@ -2222,8 +2235,8 @@ yyreduce:
}
break;
- case 92:
-#line 457 "a.y"
+ case 93:
+#line 462 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_INDIR+(yyvsp[(3) - (4)].lval);
@@ -2231,8 +2244,8 @@ yyreduce:
}
break;
- case 93:
-#line 463 "a.y"
+ case 94:
+#line 468 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_INDIR+D_SP;
@@ -2240,8 +2253,8 @@ yyreduce:
}
break;
- case 94:
-#line 469 "a.y"
+ case 95:
+#line 474 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_INDIR+(yyvsp[(3) - (4)].lval);
@@ -2249,8 +2262,8 @@ yyreduce:
}
break;
- case 95:
-#line 475 "a.y"
+ case 96:
+#line 480 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_INDIR+D_NONE;
@@ -2261,8 +2274,8 @@ yyreduce:
}
break;
- case 96:
-#line 484 "a.y"
+ case 97:
+#line 489 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_INDIR+(yyvsp[(3) - (9)].lval);
@@ -2273,24 +2286,24 @@ yyreduce:
}
break;
- case 97:
-#line 493 "a.y"
+ case 98:
+#line 498 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_INDIR+(yyvsp[(2) - (3)].lval);
}
break;
- case 98:
-#line 498 "a.y"
+ case 99:
+#line 503 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_INDIR+D_SP;
}
break;
- case 99:
-#line 503 "a.y"
+ case 100:
+#line 508 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_INDIR+D_NONE;
@@ -2300,8 +2313,8 @@ yyreduce:
}
break;
- case 100:
-#line 511 "a.y"
+ case 101:
+#line 516 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_INDIR+(yyvsp[(2) - (8)].lval);
@@ -2311,15 +2324,15 @@ yyreduce:
}
break;
- case 101:
-#line 521 "a.y"
+ case 102:
+#line 526 "a.y"
{
(yyval.gen) = (yyvsp[(1) - (1)].gen);
}
break;
- case 102:
-#line 525 "a.y"
+ case 103:
+#line 530 "a.y"
{
(yyval.gen) = (yyvsp[(1) - (6)].gen);
(yyval.gen).index = (yyvsp[(3) - (6)].lval);
@@ -2328,8 +2341,8 @@ yyreduce:
}
break;
- case 103:
-#line 534 "a.y"
+ case 104:
+#line 539 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = (yyvsp[(4) - (5)].lval);
@@ -2338,8 +2351,8 @@ yyreduce:
}
break;
- case 104:
-#line 541 "a.y"
+ case 105:
+#line 546 "a.y"
{
(yyval.gen) = nullgen;
(yyval.gen).type = D_STATIC;
@@ -2348,164 +2361,164 @@ yyreduce:
}
break;
- case 105:
-#line 549 "a.y"
+ case 106:
+#line 554 "a.y"
{
(yyval.lval) = 0;
}
break;
- case 106:
-#line 553 "a.y"
+ case 107:
+#line 558 "a.y"
{
(yyval.lval) = (yyvsp[(2) - (2)].lval);
}
break;
- case 107:
-#line 557 "a.y"
+ case 108:
+#line 562 "a.y"
{
(yyval.lval) = -(yyvsp[(2) - (2)].lval);
}
break;
- case 109:
-#line 564 "a.y"
+ case 110:
+#line 569 "a.y"
{
(yyval.lval) = D_AUTO;
}
break;
- case 112:
-#line 572 "a.y"
+ case 113:
+#line 577 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (1)].sym)->value;
}
break;
- case 113:
-#line 576 "a.y"
+ case 114:
+#line 581 "a.y"
{
(yyval.lval) = -(yyvsp[(2) - (2)].lval);
}
break;
- case 114:
-#line 580 "a.y"
+ case 115:
+#line 585 "a.y"
{
(yyval.lval) = (yyvsp[(2) - (2)].lval);
}
break;
- case 115:
-#line 584 "a.y"
+ case 116:
+#line 589 "a.y"
{
(yyval.lval) = ~(yyvsp[(2) - (2)].lval);
}
break;
- case 116:
-#line 588 "a.y"
+ case 117:
+#line 593 "a.y"
{
(yyval.lval) = (yyvsp[(2) - (3)].lval);
}
break;
- case 117:
-#line 594 "a.y"
+ case 118:
+#line 599 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (1)].lval) & 0xffffffffLL;
}
break;
- case 118:
-#line 598 "a.y"
+ case 119:
+#line 603 "a.y"
{
(yyval.lval) = -(yyvsp[(2) - (2)].lval) & 0xffffffffLL;
}
break;
- case 119:
-#line 602 "a.y"
+ case 120:
+#line 607 "a.y"
{
(yyval.lval) = ((yyvsp[(1) - (3)].lval) & 0xffffffffLL) +
(((yyvsp[(3) - (3)].lval) & 0xffffLL) << 32);
}
break;
- case 120:
-#line 607 "a.y"
+ case 121:
+#line 612 "a.y"
{
(yyval.lval) = (-(yyvsp[(2) - (4)].lval) & 0xffffffffLL) +
(((yyvsp[(4) - (4)].lval) & 0xffffLL) << 32);
}
break;
- case 122:
-#line 615 "a.y"
+ case 123:
+#line 620 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) + (yyvsp[(3) - (3)].lval);
}
break;
- case 123:
-#line 619 "a.y"
+ case 124:
+#line 624 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) - (yyvsp[(3) - (3)].lval);
}
break;
- case 124:
-#line 623 "a.y"
+ case 125:
+#line 628 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) * (yyvsp[(3) - (3)].lval);
}
break;
- case 125:
-#line 627 "a.y"
+ case 126:
+#line 632 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) / (yyvsp[(3) - (3)].lval);
}
break;
- case 126:
-#line 631 "a.y"
+ case 127:
+#line 636 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) % (yyvsp[(3) - (3)].lval);
}
break;
- case 127:
-#line 635 "a.y"
+ case 128:
+#line 640 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (4)].lval) << (yyvsp[(4) - (4)].lval);
}
break;
- case 128:
-#line 639 "a.y"
+ case 129:
+#line 644 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (4)].lval) >> (yyvsp[(4) - (4)].lval);
}
break;
- case 129:
-#line 643 "a.y"
+ case 130:
+#line 648 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) & (yyvsp[(3) - (3)].lval);
}
break;
- case 130:
-#line 647 "a.y"
+ case 131:
+#line 652 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) ^ (yyvsp[(3) - (3)].lval);
}
break;
- case 131:
-#line 651 "a.y"
+ case 132:
+#line 656 "a.y"
{
(yyval.lval) = (yyvsp[(1) - (3)].lval) | (yyvsp[(3) - (3)].lval);
}
@@ -2513,7 +2526,7 @@ yyreduce:
/* Line 1267 of yacc.c. */
-#line 2517 "y.tab.c"
+#line 2530 "y.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);