macross/y.tab.c
Michael Steil 98a36557e4 Initial commit from macross.tar.gz
MD5 (macross.tar.gz) = 4ecb4a6e015b11fef043fe78d1eedb61
2014-05-03 22:20:34 -07:00

1699 lines
45 KiB
C

# line 10 "macross_6502.y"
#include "macrossTypes.h"
#include "macrossGlobals.h"
# define A 257
# define ALIGN 258
# define ASSERT 259
# define BLOCK 260
# define BYTE 261
# define CONSTRAIN 262
# define DBYTE 263
# define DEFINE 264
# define DO 265
# define ELSE 266
# define ELSEIF 267
# define ENDFILE 268
# define EOL 269
# define EXTERN 270
# define FRETURN 271
# define FUNCTION 272
# define HERE 273
# define IF 274
# define INCLUDE 275
# define LONG 276
# define MACRO 277
# define MCASE 278
# define MDEFAULT 279
# define MDEFINE 280
# define MDO 281
# define MELSE 282
# define MELSEIF 283
# define MFOR 284
# define MIF 285
# define MSWITCH 286
# define MUNTIL 287
# define MVARIABLE 288
# define MWHILE 289
# define ORG 290
# define REL 291
# define START 292
# define STRING 293
# define STRUCT 294
# define TARGET 295
# define UNDEFINE 296
# define UNTIL 297
# define VARIABLE 298
# define WHILE 299
# define WORD 300
# define X 301
# define Y 302
# define ConditionCode 303
# define Identifier 304
# define MacroName 305
# define Number 306
# define Opcode 307
# define TextString 308
# define ASSIGN 309
# define LOGICAL_OR 310
# define LOGICAL_XOR 311
# define LOGICAL_AND 312
# define BITWISE_OR 313
# define BITWISE_XOR 314
# define BITWISE_AND 315
# define EQUAL_TO 316
# define NOT_EQUAL_TO 317
# define LESS_THAN 318
# define LESS_THAN_OR_EQUAL_TO 319
# define GREATER_THAN 320
# define GREATER_THAN_OR_EQUAL_TO 321
# define LEFT_SHIFT 322
# define RIGHT_SHIFT 323
# define ADD 324
# define SUB 325
# define MUL 326
# define DIV 327
# define MOD 328
# define UNARY_MINUS 329
# define LOGICAL_NOT 330
# define BITWISE_NOT 331
# define HI_BYTE 332
# define LO_BYTE 333
# define SELECT 334
# define INCREMENT 335
# define DECREMENT 336
#define yyclearin yychar = -1
#define yyerrok yyerrflag = 0
extern int yychar;
extern short yyerrflag;
#ifndef YYMAXDEPTH
#define YYMAXDEPTH 150
#endif
#ifndef YYSTYPE
#define YYSTYPE int
#endif
YYSTYPE yylval, yyval;
# define YYERRCODE 256
short yyexca[] ={
-1, 1,
0, -1,
-2, 0,
-1, 48,
40, 242,
-2, 200,
-1, 158,
40, 242,
-2, 200,
-1, 323,
318, 0,
319, 0,
320, 0,
321, 0,
-2, 222,
-1, 324,
318, 0,
319, 0,
320, 0,
321, 0,
-2, 223,
-1, 325,
318, 0,
319, 0,
320, 0,
321, 0,
-2, 224,
-1, 326,
318, 0,
319, 0,
320, 0,
321, 0,
-2, 225,
-1, 327,
316, 0,
317, 0,
-2, 226,
-1, 328,
316, 0,
317, 0,
-2, 227,
};
# define YYNPROD 266
# define YYLAST 1367
short yyact[]={
108, 207, 418, 526, 417, 357, 262, 415, 381, 293,
292, 261, 356, 46, 41, 21, 201, 33, 12, 413,
20, 183, 303, 19, 18, 343, 142, 245, 202, 17,
398, 247, 16, 15, 143, 244, 9, 138, 5, 123,
122, 119, 120, 121, 351, 556, 384, 184, 185, 138,
555, 111, 112, 113, 114, 115, 116, 117, 118, 119,
120, 121, 467, 160, 161, 162, 163, 138, 464, 347,
168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
178, 346, 179, 180, 181, 182, 349, 352, 353, 304,
216, 419, 186, 187, 188, 189, 190, 191, 192, 193,
124, 125, 123, 122, 119, 120, 121, 513, 476, 457,
402, 215, 138, 354, 335, 286, 209, 210, 211, 212,
217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
205, 110, 199, 126, 128, 127, 129, 124, 125, 123,
122, 119, 120, 121, 242, 243, 260, 256, 254, 138,
11, 252, 250, 99, 99, 257, 258, 237, 240, 433,
106, 431, 213, 358, 359, 239, 419, 264, 388, 432,
387, 430, 110, 276, 278, 248, 412, 391, 372, 559,
139, 204, 525, 409, 103, 104, 289, 290, 291, 300,
294, 295, 259, 296, 297, 3, 298, 299, 99, 85,
437, 554, 553, 542, 538, 301, 132, 130, 131, 126,
128, 127, 129, 124, 125, 123, 122, 119, 120, 121,
314, 311, 313, 241, 536, 138, 502, 312, 501, 336,
310, 309, 337, 492, 491, 342, 308, 344, 345, 307,
306, 159, 4, 305, 471, 196, 195, 107, 200, 164,
300, 470, 350, 360, 361, 362, 363, 364, 365, 366,
355, 215, 573, 246, 246, 367, 368, 552, 246, 544,
370, 130, 131, 126, 128, 127, 129, 124, 125, 123,
122, 119, 120, 121, 532, 378, 379, 531, 530, 138,
522, 389, 517, 496, 348, 493, 441, 144, 562, 382,
61, 263, 99, 203, 475, 49, 275, 61, 274, 314,
311, 313, 268, 266, 197, 70, 312, 165, 151, 310,
309, 392, 371, 150, 149, 308, 383, 148, 307, 306,
147, 558, 528, 529, 401, 528, 529, 405, 406, 407,
408, 410, 411, 414, 421, 422, 423, 146, 208, 424,
425, 58, 110, 394, 396, 145, 10, 399, 58, 110,
419, 395, 397, 420, 442, 443, 105, 444, 270, 376,
102, 86, 448, 101, 100, 450, 194, 141, 451, 452,
140, 434, 449, 91, 166, 393, 447, 446, 429, 455,
527, 456, 285, 287, 458, 459, 314, 311, 313, 462,
199, 61, 465, 312, 468, 454, 310, 309, 152, 152,
206, 472, 308, 524, 110, 307, 306, 167, 480, 305,
436, 481, 482, 483, 484, 485, 267, 479, 487, 488,
489, 490, 478, 255, 253, 416, 474, 288, 91, 251,
249, 302, 214, 386, 47, 45, 44, 495, 494, 497,
43, 42, 58, 40, 504, 505, 106, 506, 507, 39,
38, 509, 510, 37, 390, 512, 36, 35, 34, 265,
498, 499, 377, 514, 32, 516, 31, 523, 518, 519,
520, 521, 515, 30, 29, 28, 27, 26, 533, 152,
25, 534, 61, 24, 535, 23, 22, 537, 14, 539,
13, 7, 541, 6, 540, 154, 109, 2, 1, 0,
91, 375, 0, 545, 0, 547, 0, 0, 548, 549,
0, 0, 550, 269, 0, 271, 272, 273, 0, 0,
0, 277, 0, 0, 153, 279, 280, 281, 282, 283,
284, 560, 0, 58, 0, 0, 564, 565, 0, 566,
0, 0, 0, 567, 0, 0, 568, 569, 0, 571,
0, 0, 572, 0, 0, 0, 316, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, 0, 0, 0, 0, 0,
0, 338, 341, 99, 380, 0, 385, 136, 137, 135,
133, 134, 132, 130, 131, 126, 128, 127, 129, 124,
125, 123, 122, 119, 120, 121, 89, 78, 0, 55,
54, 138, 53, 0, 0, 0, 0, 369, 0, 0,
0, 0, 0, 0, 0, 83, 0, 0, 373, 374,
152, 0, 0, 91, 339, 340, 88, 158, 0, 87,
0, 90, 56, 57, 0, 0, 0, 0, 426, 52,
428, 0, 0, 315, 0, 0, 0, 0, 92, 61,
95, 89, 0, 93, 94, 96, 445, 0, 97, 98,
0, 0, 0, 0, 0, 152, 152, 0, 0, 0,
0, 400, 0, 0, 403, 0, 0, 0, 0, 0,
0, 88, 158, 0, 87, 0, 90, 0, 0, 0,
427, 0, 469, 435, 0, 438, 439, 440, 0, 473,
58, 0, 477, 92, 91, 95, 99, 155, 93, 94,
96, 0, 0, 97, 98, 0, 0, 0, 453, 0,
0, 0, 0, 89, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 460, 461, 0, 463, 0, 0,
466, 0, 0, 0, 0, 0, 508, 0, 0, 0,
511, 156, 157, 88, 158, 110, 87, 0, 90, 134,
132, 130, 131, 126, 128, 127, 129, 124, 125, 123,
122, 119, 120, 121, 0, 92, 0, 95, 0, 138,
93, 94, 96, 91, 500, 97, 98, 99, 503, 0,
543, 0, 0, 0, 0, 0, 136, 137, 135, 133,
134, 132, 130, 131, 126, 128, 127, 129, 124, 125,
123, 122, 119, 120, 121, 486, 0, 0, 0, 0,
138, 0, 0, 557, 0, 0, 561, 0, 563, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 8,
0, 78, 82, 55, 54, 81, 53, 62, 51, 0,
0, 198, 546, 76, 68, 67, 89, 49, 75, 83,
66, 551, 0, 63, 72, 0, 99, 73, 70, 74,
0, 65, 71, 79, 80, 77, 56, 57, 84, 69,
0, 64, 50, 52, 0, 0, 88, 48, 60, 87,
59, 90, 154, 0, 0, 570, 0, 91, 0, 0,
0, 238, 0, 0, 154, 0, 0, 0, 92, 91,
95, 0, 0, 93, 94, 96, 0, 0, 97, 98,
8, 153, 78, 82, 55, 54, 81, 53, 62, 51,
0, 0, 0, 153, 76, 68, 67, 89, 49, 75,
83, 66, 0, 0, 63, 72, 0, 0, 73, 70,
74, 0, 65, 71, 79, 80, 77, 56, 57, 84,
69, 0, 64, 50, 52, 0, 0, 88, 48, 60,
87, 59, 90, 0, 0, 0, 0, 0, 0, 0,
99, 0, 0, 0, 0, 0, 0, 0, 0, 92,
0, 95, 99, 0, 93, 94, 96, 0, 0, 97,
98, 78, 82, 55, 54, 81, 53, 62, 51, 0,
0, 0, 0, 76, 68, 67, 89, 49, 75, 83,
66, 0, 0, 63, 72, 0, 0, 73, 70, 74,
0, 65, 71, 79, 80, 77, 56, 57, 84, 69,
91, 64, 50, 52, 0, 0, 88, 48, 60, 87,
59, 90, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 404, 0, 0, 0, 92, 0,
95, 0, 0, 93, 94, 96, 0, 0, 97, 98,
0, 136, 137, 135, 133, 134, 132, 130, 131, 126,
128, 127, 129, 124, 125, 123, 122, 119, 120, 121,
0, 0, 0, 0, 0, 138, 0, 0, 0, 0,
0, 0, 0, 0, 155, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 155, 0, 0, 0,
89, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 89, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 156, 157,
88, 158, 0, 87, 0, 90, 0, 0, 0, 0,
156, 157, 88, 158, 0, 87, 0, 90, 0, 0,
0, 0, 92, 0, 95, 0, 0, 93, 94, 96,
0, 0, 97, 98, 92, 0, 95, 0, 0, 93,
94, 96, 0, 0, 97, 98, 136, 137, 135, 133,
134, 132, 130, 131, 126, 128, 127, 129, 124, 125,
123, 122, 119, 120, 121, 0, 0, 0, 0, 0,
138, 137, 135, 133, 134, 132, 130, 131, 126, 128,
127, 129, 124, 125, 123, 122, 119, 120, 121, 0,
0, 0, 0, 0, 138, 135, 133, 134, 132, 130,
131, 126, 128, 127, 129, 124, 125, 123, 122, 119,
120, 121, 0, 89, 0, 0, 0, 138, 133, 134,
132, 130, 131, 126, 128, 127, 129, 124, 125, 123,
122, 119, 120, 121, 0, 0, 0, 0, 0, 138,
0, 0, 0, 88, 158, 0, 87, 0, 90, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 92, 0, 95, 0, 0,
93, 94, 96, 0, 0, 97, 98 };
short yypact[]={
-63,-1000, 694,-1000, -75,-1000,-1000,-1000, -73, 773,
-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, 199, -87,
-87, -87, -87, -87, -87, -87, -87, -87, 926, 899,
899,-1000, -87, -87, -87, -87,-1000,-1000, 408, -87,
-87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
-1000, -87, -87, -87, -87,-288,-1000,-1000,-1000,-1000,
-1000, -87, -87, -87, -87, -87, -87, -87, -87,-1000,
165, 164, 284, 613,-1000,-1000,-1000, 200, 273, -78,
-1000, 273, 85, 408, 408, 408, 408, 408, -33, -87,
-87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
-87, -87, -87, -87, -87, -87, -87, -87, -87,-1000,
887, 189,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
-1000,-1000, 926, -87, -87,-1000, -56, -60,-1000,-1000,
-142,-143,-146,-147, -87, -87,-1000, 926,-148, 271,
271, 85, 283, 282, 408,-148, 408, 408, 408, 278,
276, 408, 408, -87,-1000,-1000, 408, 408, 408, 408,
408, 408,-189,-189, 694, -87, -87, -87,-1000,-1000,
-1000, -66, -87, -87,-1000, -87, -87, 216, 926, 216,
216, 216, 216,-1000, -87,-1000, 369, 408, 408, 408,
408, 408, 408, 408, 408, 408, 408, 408, 408, 408,
408, 408, 408, 408, 408, 408,-190,-1000, -87,-1000,
-1000, -87, 353, 408, -87,-309, -87, -87,-309,-1000,
-228,-1000,-240,-1000, -5,-1000, -47,-217,-191, 226,
-1000,-109, -87, -87, -87, -87, -87, -87, -87, 926,
226, 926, 926, 926, -87, -87, 216, 926, 408, 516,
-297,-297,-297,-297,-297,-1000,-1000,-1000, 63, 408,
408, 480,-1000,-1000, -87, -87, 85, 6, 85,-119,
-87,-193, 62,-1000,-1000, 369,-1000,-1000,-1000,-1000,
-1000,-1000,-1000,-1000,-1000, 199,-297,-297,-297,-267,
-267,-285,-285,-222,-222,-222,-222,-175,-175, -35,
475, -99, 995, 950, 973,-1000, 899, 899, 926, -61,
-1000, 926, 408, -87,-194,1030, -87, -87, -87, 100,
-87, 93,-128,-128, -87, -87,-1000,-1000, -87, -87,
85, 408, 85,-118, 408, 87, 408, 408, 408, 926,
265, 694,-1000, 516, 516,-1000, -87,-1000, 41, 273,
-1000, -87,-1000, 6, -87,-1000,-1000, -87, -87, 408,
-1000,-1000, 369,-1000,-1000,-1000,-1000,-1000, -87,-309,
516,-195,-1000, 516, -87, 408, 408, 408, 408,-241,
408, 408,-247, -87, 85,-1000, 217,-1000,-1000, 163,
-87, 85, 274,-196, 40, 271,-1000, 516,-1000,-1000,
-87, -87, -87, -87, -87, 801,-1000, -87, 516, 516,
516,-1000, 151, 150, 264,-1000,-1000, -66, 262,-1000,
6, 273, 273, 926,-1000, 408, 145,-1000, 143, 408,
926, 926, 216, 516, -87, 216, 516, -87, 85,-1000,
-87, -87, 85,-1000, -87, 66,-1000,-1000,-1000,-109,
261, 271, 271, 271, 271, 259, -87, 67, 257, 256,
253,-1000,-1000,-1000,-1000,-1000,-1000, -87,-1000,-1000,
516,-1000,-1000, 516, 141, 408, 121, 408,-1000,-213,
120,-1000, 85,-1000, 238,-1000,-1000,-1000,-1000,-1000,
-1000,-1000, -87, 408, -87,-1000,-1000, -87, -87,-1000,
-1000, -87, 408, 236, 119, 118,-259, 216,-264, 216,
-1000,-1000,-1000,-1000,-1000, 85, 297, 64, 85, 268,
85, 926,-1000,-1000,-1000, -87, -87,-1000, -87,-1000,
-1000,-1000, -87,-1000, 408, 408, 408, 408, 216, 216,
926, 155, 231,-1000 };
short yypgo[]={
0, 518, 517, 252, 0, 516, 38, 513, 511, 36,
366, 160, 18, 510, 508, 33, 32, 29, 24, 23,
20, 15, 506, 505, 503, 500, 497, 496, 495, 494,
493, 486, 484, 17, 478, 477, 476, 473, 470, 469,
463, 14, 461, 460, 456, 455, 13, 454, 16, 10,
9, 28, 307, 8, 453, 1, 358, 172, 452, 451,
22, 89, 190, 450, 449, 259, 19, 7, 446, 202,
445, 4, 2, 444, 443, 11, 12, 5, 6, 436,
430, 423, 3, 400, 398, 394, 391, 390, 387, 26,
34, 386, 27, 384, 383, 209, 381, 380, 379, 365,
357, 340, 337, 334, 333, 328 };
short yyr1[]={
0, 1, 1, 2, 4, 4, 5, 5, 3, 3,
6, 6, 6, 6, 7, 8, 9, 9, 11, 11,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 12, 12, 12, 48,
51, 53, 53, 53, 49, 50, 50, 50, 50, 13,
14, 54, 54, 15, 46, 55, 55, 44, 45, 45,
16, 17, 18, 19, 21, 21, 57, 58, 59, 59,
60, 60, 61, 61, 61, 61, 61, 61, 61, 61,
61, 20, 23, 23, 23, 23, 24, 25, 63, 63,
64, 64, 29, 29, 29, 29, 65, 66, 30, 32,
69, 69, 68, 68, 67, 67, 67, 70, 70, 71,
72, 27, 73, 73, 73, 73, 73, 28, 74, 74,
74, 74, 74, 26, 33, 33, 33, 75, 78, 76,
77, 77, 77, 77, 37, 79, 80, 80, 81, 81,
82, 83, 83, 34, 35, 84, 84, 84, 84, 31,
31, 85, 36, 86, 38, 39, 40, 41, 42, 47,
43, 22, 62, 62, 87, 87, 87, 87, 87, 88,
88, 88, 88, 89, 52, 91, 92, 92, 93, 93,
94, 95, 95, 56, 56, 56, 56, 56, 56, 56,
56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
96, 96, 97, 98, 90, 90, 90, 90, 90, 90,
90, 99, 100, 101, 102, 102, 102, 103, 103, 103,
103, 103, 103, 104, 104, 105 };
short yyr2[]={
0, 4, 1, 0, 1, 0, 1, 2, 1, 3,
1, 1, 2, 1, 2, 1, 1, 2, 2, 3,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 3, 4, 4, 3,
5, 1, 2, 5, 3, 3, 3, 4, 4, 5,
5, 3, 3, 3, 3, 1, 4, 9, 8, 7,
3, 3, 3, 3, 3, 5, 1, 3, 1, 3,
1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1, 0, 1, 2, 1, 2, 1, 3, 1, 4,
1, 4, 7, 6, 7, 6, 0, 1, 8, 3,
1, 4, 2, 3, 1, 4, 1, 1, 4, 4,
1, 3, 1, 4, 6, 9, 6, 3, 1, 4,
6, 9, 6, 3, 3, 4, 4, 3, 5, 3,
3, 3, 4, 4, 5, 5, 5, 3, 1, 3,
3, 7, 1, 5, 5, 3, 3, 3, 3, 1,
2, 1, 9, 7, 3, 3, 3, 3, 3, 3,
1, 1, 1, 1, 1, 2, 4, 2, 4, 1,
4, 2, 4, 1, 4, 0, 3, 4, 6, 6,
1, 1, 1, 1, 1, 1, 1, 1, 1, 5,
3, 3, 3, 3, 3, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 2, 2, 3, 3,
4, 6, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 3, 3, 1, 1, 1, 6, 6, 2,
2, 3, 3, 8, 4, 8 };
short yychk[]={
-1000, -1, -2, 268, -3, -6, -7, -8, 256, -9,
-10, -11, -12, -13, -14, -15, -16, -17, -18, -19,
-20, -21, -22, -23, -24, -25, -26, -27, -28, -29,
-30, -31, -32, -33, -34, -35, -36, -37, -38, -39,
-40, -41, -42, -43, -44, -45, -46, -47, 304, 274,
299, 265, 300, 263, 261, 260, 293, 294, -56, 307,
305, -52, 264, 280, 298, 288, 277, 272, 271, 296,
285, 289, 281, 284, 286, 275, 270, 292, 258, 290,
291, 262, 259, 276, 295, -95, -96, 306, 303, 273,
308, 40, 325, 330, 331, 327, 332, 335, 336, 123,
-93, -94, -97, 269, 268, -10, -11, 58, -4, -5,
269, -4, -4, -4, -4, -4, -4, -4, -4, 326,
327, 328, 325, 324, 322, 323, 318, 320, 319, 321,
316, 317, 315, 313, 314, 312, 310, 311, 334, -62,
-87, -88, -89, -90, -52, -99,-100,-101,-102,-103,
-104,-105, -56, 64, 35, 257, 301, 302, 304, -62,
-4, -4, -4, -4, -65, -65, -85, -56, -4, -4,
-4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
-4, -4, -4, 309, 335, 336, -4, -4, -4, -4,
-4, -4, -4, -4, -91, 91, 91, 40, 268, -6,
58, -48, -51, 40, 269, -51, -52, -55, -56, -55,
-55, -55, -55, -57, -58, 304, 123, -4, -4, -4,
-4, -4, -4, -4, -4, -4, -4, -4, -4, -4,
-4, -4, -4, -4, -4, -4, -4, -89, 44, -90,
-89, 44, -4, -4, 91, -92, 334, 91, -92, -63,
304, -64, 304, -73, 304, -74, 304, -4, -4, -69,
304, -75, -78, 40, -78, -52, 40, -79, 40, -56,
-69, -56, -56, -56, 40, 40, -55, -56, -4, -56,
-56, -56, -56, -56, -56, -95, 304, -95, -3, -4,
-4, -4, -49, -50, 266, 267, -4, -4, -4, -4,
44, -4, -59, -60, -61, -9, -15, -16, -17, -18,
-19, -41, -20, -21, -46, 304, -56, -56, -56, -56,
-56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
-56, -56, -56, -56, -56, 304, -4, -4, -56, 301,
302, -56, -4, 334, -4, -4, 309, 309, 309, 91,
309, 91, 304, 305, 304, 44, -76, -77, 282, 283,
-4, -4, -4, -4, -4, -4, -4, -4, -4, -56,
-4, 269, 125, -56, -56, 41, -98, -62, -4, -4,
-52, -53, 303, 330, 40, -52, -54, 299, 297, -4,
-57, 125, 269, -61, -89, -90, -89, -90, 91, -92,
-56, -4, 304, -56, 64, -4, -4, -4, -4, 93,
-4, -4, 93, -66, -4, -67, -70, -71, -72, 304,
-66, -4, -4, -4, -4, -4, -52, -56, -52, -84,
299, 289, 297, 287, -86, -56, -80, 123, -56, -56,
-56, 41, -4, -4, -4, -52, -12, -48, -4, -53,
-4, -4, -4, -56, -60, -4, -4, 304, -4, -4,
-56, -56, -55, -56, 309, -55, -56, 309, -4, -52,
44, 91, -4, -52, -68, 40, 304, -52, -33, -75,
-4, -4, -4, -4, -4, -4, 44, -4, -4, -4,
-4, 93, 93, 41, -49, -50, 41, -53, -51, -51,
-56, 93, 93, -56, -4, -4, -4, -4, -52, -4,
-4, -52, -4, 41, -67, -76, -77, 41, -78, -78,
-78, -78, 41, -4, -81, 125, -82, -83, 278, 279,
41, 41, 41, -4, -4, -4, 93, -55, 93, -55,
-71, -72, 93, -52, 41, -4, -56, -4, -4, -4,
-4, -56, 41, 93, 93, 309, 309, -52, 44, 125,
-82, -52, 40, -52, -4, -4, -4, -4, -55, -55,
-56, -55, -4, 41 };
short yydef[]={
3, -2, 101, 2, 0, 8, 10, 11, 13, 101,
15, 16, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, -2, 5,
5, 5, 5, 5, 5, 5, 5, 5, 181, 102,
104, 106, 5, 5, 5, 5, 116, 116, 169, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
180, 5, 5, 5, 5, 203, 204, 205, 206, 207,
208, 5, 5, 5, 5, 5, 5, 5, 5, 195,
201, 202, 0, 101, 12, 14, 17, 18, 0, 4,
6, 0, 0, 0, 0, 0, 0, 0, 0, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 103,
182, 183, 184, 189, 193, 244, 245, 246, 247, 248,
249, 250, 251, 5, 5, 254, 255, 256, -2, 105,
0, 0, 0, 0, 5, 5, 170, 171, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 5, 236, 237, 0, 0, 0, 0,
0, 0, 0, 0, 101, 5, 5, 5, 1, 9,
19, 56, 5, 5, 7, 5, 5, 73, 75, 80,
81, 82, 83, 84, 5, 86, 101, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 185, 5, 191,
187, 5, 0, 0, 5, 259, 5, 5, 260, 107,
108, 143, 110, 131, 132, 137, 138, 0, 0, 119,
120, 144, 5, 5, 5, 5, 5, 5, 5, 174,
175, 176, 177, 178, 5, 5, 74, 179, 0, 5,
210, 211, 212, 213, 214, 238, 200, 239, 0, 0,
0, 0, 57, 58, 5, 5, 0, 0, 0, 0,
5, 0, 0, 88, 90, 101, 92, 93, 94, 95,
96, 97, 98, 99, 100, 0, 215, 216, 217, 218,
219, 220, 221, -2, -2, -2, -2, -2, -2, 228,
229, 230, 231, 232, 233, 234, 0, 0, 252, 261,
262, 253, 0, 5, 0, 0, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 145, 146, 5, 5,
0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
0, 101, 194, 5, 5, 240, 5, 243, 0, 0,
59, 5, 61, 0, 5, 69, 70, 5, 5, 0,
85, 87, 101, 91, 186, 192, 188, 190, 5, 264,
5, 0, 196, 5, 5, 0, 0, 0, 0, 0,
0, 0, 0, 5, 0, 117, 124, 126, 127, 130,
5, 0, 0, 0, 0, 0, 147, 5, 163, 164,
5, 5, 5, 5, 5, 0, 154, 5, 5, 5,
5, 209, 0, 0, 0, 64, 65, 66, 0, 62,
0, 0, 0, 76, 89, 0, 0, 197, 0, 0,
109, 111, 133, 5, 5, 139, 5, 5, 0, 113,
5, 5, 0, 115, 5, 0, 121, 149, 150, 151,
0, 0, 0, 0, 0, 0, 5, 0, 0, 0,
0, 199, 198, 241, 67, 68, 60, 5, 71, 72,
5, 257, 258, 5, 0, 0, 0, 0, 112, 0,
0, 114, 0, 122, 0, 152, 153, 148, 165, 166,
167, 168, 5, 0, 5, 157, 158, 5, 5, 162,
155, 5, 79, 0, 0, 0, 134, 136, 140, 142,
125, 128, 129, 118, 123, 0, 0, 0, 0, 0,
0, 78, 63, 263, 265, 5, 5, 172, 5, 156,
159, 160, 5, 77, 0, 0, 0, 0, 135, 141,
173, 5, 0, 161 };
#ifndef lint
static char yaccpar_sccsid[] = "@(#)yaccpar 1.1 83/07/20 SMI"; /* from UCB 4.1 83/02/11 */
#endif
#
# define YYFLAG -1000
# define YYERROR goto yyerrlab
# define YYACCEPT return(0)
# define YYABORT return(1)
/* parser for yacc output */
#ifdef YYDEBUG
int yydebug = 0; /* 1 for debugging */
#endif
YYSTYPE yyv[YYMAXDEPTH]; /* where the values are stored */
int yychar = -1; /* current input token number */
int yynerrs = 0; /* number of errors */
short yyerrflag = 0; /* error recovery flag */
yyparse() {
short yys[YYMAXDEPTH];
short yyj, yym;
register YYSTYPE *yypvt;
register short yystate, *yyps, yyn;
register YYSTYPE *yypv;
register short *yyxi;
yystate = 0;
yychar = -1;
yynerrs = 0;
yyerrflag = 0;
yyps= &yys[-1];
yypv= &yyv[-1];
yystack: /* put a state and value onto the stack */
#ifdef YYDEBUG
if( yydebug ) printf( "state %d, char 0%o\n", yystate, yychar );
#endif
if( ++yyps> &yys[YYMAXDEPTH] ) { yyerror( "yacc stack overflow" ); return(1); }
*yyps = yystate;
++yypv;
*yypv = yyval;
yynewstate:
yyn = yypact[yystate];
if( yyn<= YYFLAG ) goto yydefault; /* simple state */
if( yychar<0 ) if( (yychar=yylex())<0 ) yychar=0;
if( (yyn += yychar)<0 || yyn >= YYLAST ) goto yydefault;
if( yychk[ yyn=yyact[ yyn ] ] == yychar ){ /* valid shift */
yychar = -1;
yyval = yylval;
yystate = yyn;
if( yyerrflag > 0 ) --yyerrflag;
goto yystack;
}
yydefault:
/* default state action */
if( (yyn=yydef[yystate]) == -2 ) {
if( yychar<0 ) if( (yychar=yylex())<0 ) yychar = 0;
/* look through exception table */
for( yyxi=yyexca; (*yyxi!= (-1)) || (yyxi[1]!=yystate) ; yyxi += 2 ) ; /* VOID */
while( *(yyxi+=2) >= 0 ){
if( *yyxi == yychar ) break;
}
if( (yyn = yyxi[1]) < 0 ) return(0); /* accept */
}
if( yyn == 0 ){ /* error */
/* error ... attempt to resume parsing */
switch( yyerrflag ){
case 0: /* brand new error */
yyerror( "syntax error" );
yyerrlab:
++yynerrs;
case 1:
case 2: /* incompletely recovered error ... try again */
yyerrflag = 3;
/* find a state where "error" is a legal shift action */
while ( yyps >= yys ) {
yyn = yypact[*yyps] + YYERRCODE;
if( yyn>= 0 && yyn < YYLAST && yychk[yyact[yyn]] == YYERRCODE ){
yystate = yyact[yyn]; /* simulate a shift of "error" */
goto yystack;
}
yyn = yypact[*yyps];
/* the current yyps has no shift onn "error", pop stack */
#ifdef YYDEBUG
if( yydebug ) printf( "error recovery pops state %d, uncovers %d\n", *yyps, yyps[-1] );
#endif
--yyps;
--yypv;
}
/* there is no state on the stack with an error shift ... abort */
yyabort:
return(1);
case 3: /* no shift yet; clobber input char */
#ifdef YYDEBUG
if( yydebug ) printf( "error recovery discards char %d\n", yychar );
#endif
if( yychar == 0 ) goto yyabort; /* don't discard EOF, quit */
yychar = -1;
goto yynewstate; /* try again in the same state */
}
}
/* reduction by production yyn */
#ifdef YYDEBUG
if( yydebug ) printf("reduce %d\n",yyn);
#endif
yyps -= yyr2[yyn];
yypvt = yypv;
yypv -= yyr2[yyn];
yyval = yypv[1];
yym=yyn;
/* consult goto table to find next state */
yyn = yyr1[yyn];
yyj = yypgo[yyn] + *yyps + 1;
if( yyj>=YYLAST || yychk[ yystate = yyact[yyj] ] != -yyn ) yystate = yyact[yypgo[yyn]];
switch(yym){
case 1:
# line 64 "macross_6502.y"
{
yyval = yypvt[-2];
} break;
case 2:
# line 68 "macross_6502.y"
{
yyval = 0;
} break;
case 3:
# line 74 "macross_6502.y"
{
statementListNestingDepth = 0;
errorFlag = FALSE;
} break;
case 6:
# line 87 "macross_6502.y"
{
if (amListing())
saveEOLForListing();
} break;
case 7:
# line 92 "macross_6502.y"
{
if (amListing())
saveEOLForListing();
} break;
case 8:
# line 99 "macross_6502.y"
{
if (statementListNestingDepth == 0) {
yyval = eatStatement(yypvt[-0]);
} else {
yyval = buildStatementList(yypvt[-0], NULL);
}
} break;
case 9:
# line 107 "macross_6502.y"
{
if (statementListNestingDepth == 0) {
yyval = eatStatement(yypvt[-0]);
} else {
yyval = buildStatementList(yypvt[-0], yypvt[-2]);
}
} break;
case 12:
# line 119 "macross_6502.y"
{
yyval = NULL;
YYACCEPT;
} break;
case 13:
# line 124 "macross_6502.y"
{
yyerrok;
yyclearin;
resynchronizeInput();
yyval = NULL;
} break;
case 14:
# line 134 "macross_6502.y"
{
yyval = addLabelToStatement(yypvt[-1], yypvt[-0]);
} break;
case 16:
# line 144 "macross_6502.y"
{
yyval = buildLabelList(yypvt[-0], NULL);
} break;
case 17:
# line 148 "macross_6502.y"
{
yyval = buildLabelList(yypvt[-0], yypvt[-1]);
} break;
case 18:
# line 154 "macross_6502.y"
{
yyval = lookupOrEnterSymbol(yypvt[-1], LABEL_SYMBOL);
} break;
case 19:
# line 158 "macross_6502.y"
{
yyval = lookupOrEnterSymbol(yypvt[-2], LABEL_SYMBOL);
addAttributeToSymbol(yyval, TENTATIVE_GLOBAL_ATT);
} break;
case 56:
# line 204 "macross_6502.y"
{
yyval = buildIfStatement(yypvt[-0], NULL, NO_CONTINUATION);
} break;
case 57:
# line 208 "macross_6502.y"
{
yyval = buildIfStatement(yypvt[-1], yypvt[-0], ELSE_CONTINUATION);
} break;
case 58:
# line 212 "macross_6502.y"
{
yyval = buildIfStatement(yypvt[-1], yypvt[-0], ELSEIF_CONTINUATION);
} break;
case 59:
# line 218 "macross_6502.y"
{
yyval = buildIfHead(yypvt[-2], yypvt[-0]);
} break;
case 60:
# line 224 "macross_6502.y"
{
yyval = yypvt[-2];
} break;
case 62:
# line 232 "macross_6502.y"
{
yyval = invertConditionCode(yypvt[-0]);
} break;
case 63:
# line 236 "macross_6502.y"
{
yyval = yypvt[-2];
} break;
case 64:
# line 242 "macross_6502.y"
{
yyval = yypvt[-0];
} break;
case 65:
# line 248 "macross_6502.y"
{
yyval = extractIfBody(yypvt[-0]);
} break;
case 66:
# line 252 "macross_6502.y"
{
yyval = extractIfBody(buildIfStatement(yypvt[-0], NULL, NO_CONTINUATION));
} break;
case 67:
# line 256 "macross_6502.y"
{
yyval = extractIfBody(buildIfStatement(yypvt[-1], yypvt[-0], ELSE_CONTINUATION));
} break;
case 68:
# line 260 "macross_6502.y"
{
yyval = extractIfBody(buildIfStatement(yypvt[-1], yypvt[-0], ELSEIF_CONTINUATION));
} break;
case 69:
# line 266 "macross_6502.y"
{
yyval = buildWhileStatement(yypvt[-2], yypvt[-0]);
} break;
case 70:
# line 272 "macross_6502.y"
{
yyval = buildDoStatement(yypvt[-2], yypvt[-0]);
} break;
case 71:
# line 278 "macross_6502.y"
{
yyval = buildDoEnd(yypvt[-0], WHILE_END);
} break;
case 72:
# line 282 "macross_6502.y"
{
yyval = buildDoEnd(yypvt[-0], UNTIL_END);
} break;
case 73:
# line 288 "macross_6502.y"
{
yyval = buildWordStatement(yypvt[-0]);
} break;
case 74:
# line 294 "macross_6502.y"
{
yyval = buildLongStatement(yypvt[-0]);
} break;
case 75:
# line 300 "macross_6502.y"
{
yyval = buildExpressionList(yypvt[-0], NULL);
} break;
case 76:
# line 304 "macross_6502.y"
{
yyval = buildExpressionList(yypvt[-0], yypvt[-3]);
} break;
case 77:
# line 311 "macross_6502.y"
{
yyval = buildConstrainStatement(yypvt[-4], yypvt[-0]);
} break;
case 78:
# line 318 "macross_6502.y"
{
yyval = buildAssertStatement(yypvt[-3], yypvt[-0]);
} break;
case 79:
# line 322 "macross_6502.y"
{
yyval = buildAssertStatement(yypvt[-2], NULL);
} break;
case 80:
# line 328 "macross_6502.y"
{
yyval = buildDbyteStatement(yypvt[-0]);
} break;
case 81:
# line 334 "macross_6502.y"
{
yyval = buildByteStatement(yypvt[-0]);
} break;
case 82:
# line 340 "macross_6502.y"
{
yyval = buildBlockStatement(yypvt[-0]);
} break;
case 83:
# line 347 "macross_6502.y"
{
yyval = buildStringStatement(yypvt[-0]);
} break;
case 84:
# line 354 "macross_6502.y"
{
yyval = buildStructStatement(yypvt[-0], NULL);
} break;
case 85:
# line 358 "macross_6502.y"
{
yyval = buildStructStatement(yypvt[-0], yypvt[-2]);
} break;
case 86:
# line 364 "macross_6502.y"
{
yyval = lookupOrEnterSymbol(yypvt[-0], STRUCT_NAME_SYMBOL);
} break;
case 87:
# line 370 "macross_6502.y"
{
yyval = yypvt[-1];
} break;
case 88:
# line 377 "macross_6502.y"
{
yyval = buildStatementList(yypvt[-0], NULL);
} break;
case 89:
# line 381 "macross_6502.y"
{
yyval = buildStatementList(yypvt[-0], yypvt[-2]);
} break;
case 91:
# line 389 "macross_6502.y"
{
yyval = addLabelToStatement(yypvt[-1], yypvt[-0]);
} break;
case 101:
# line 407 "macross_6502.y"
{
yyval = buildNullStatement();
} break;
case 102:
# line 414 "macross_6502.y"
{
yyval = buildInstructionStatement(yypvt[-0], NULL);
} break;
case 103:
# line 418 "macross_6502.y"
{
yyval = buildInstructionStatement(yypvt[-1], yypvt[-0]);
} break;
case 104:
# line 422 "macross_6502.y"
{
yyval = buildMacroInstructionStatement(yypvt[-0], NULL);
} break;
case 105:
# line 426 "macross_6502.y"
{
yyval = buildMacroInstructionStatement(yypvt[-1], yypvt[-0]);
} break;
case 106:
# line 432 "macross_6502.y"
{
yyval = buildGroupStatement(yypvt[-0]);
} break;
case 107:
# line 438 "macross_6502.y"
{
yyval = yypvt[-0];
} break;
case 108:
# line 445 "macross_6502.y"
{
yyval = buildDefineStatement(yypvt[-0], UNASSIGNED);
} break;
case 109:
# line 449 "macross_6502.y"
{
checkDefineAssignmentOperator(yypvt[-2]);
yyval = buildDefineStatement(yypvt[-3], yypvt[-0]);
} break;
case 110:
# line 457 "macross_6502.y"
{
yyval = buildMdefineStatement(yypvt[-0], UNASSIGNED);
} break;
case 111:
# line 461 "macross_6502.y"
{
checkDefineAssignmentOperator(yypvt[-2]);
yyval = buildMdefineStatement(yypvt[-3], yypvt[-0]);
} break;
case 112:
# line 469 "macross_6502.y"
{
yyval = buildMacroStatement(createMacro(yypvt[-3]), yypvt[-2], yypvt[-0]);
popMacroOrFunctionNestingDepth();
} break;
case 113:
# line 474 "macross_6502.y"
{
yyval = buildMacroStatement(createMacro(yypvt[-2]), NULL, yypvt[-0]);
popMacroOrFunctionNestingDepth();
} break;
case 114:
# line 479 "macross_6502.y"
{
yyval = buildMacroStatement(yypvt[-3], yypvt[-2], yypvt[-0]);
popMacroOrFunctionNestingDepth();
} break;
case 115:
# line 484 "macross_6502.y"
{
yyval = buildMacroStatement(yypvt[-2], NULL, yypvt[-0]);
popMacroOrFunctionNestingDepth();
} break;
case 116:
# line 491 "macross_6502.y"
{
pushMacroOrFunctionNestingDepth();
} break;
case 118:
# line 499 "macross_6502.y"
{
yyval = buildFunctionStatement(yypvt[-4], yypvt[-2], yypvt[-0]);
popMacroOrFunctionNestingDepth();
} break;
case 119:
# line 507 "macross_6502.y"
{
yyval = buildUndefineStatement(yypvt[-0]);
} break;
case 120:
# line 513 "macross_6502.y"
{
yyval = buildIdentifierList(yypvt[-0], NULL, unknownSymbolTag);
} break;
case 121:
# line 517 "macross_6502.y"
{
yyval = buildIdentifierList(yypvt[-0], yypvt[-3], unknownSymbolTag);
} break;
case 122:
# line 523 "macross_6502.y"
{
yyval = NULL;
} break;
case 123:
# line 527 "macross_6502.y"
{
yyval = yypvt[-1];
} break;
case 124:
# line 533 "macross_6502.y"
{
yyval = yypvt[-0];
} break;
case 125:
# line 537 "macross_6502.y"
{
yyval = buildArgumentList(yypvt[-0], yypvt[-3], TRUE);
} break;
case 126:
# line 541 "macross_6502.y"
{
yyval = buildArgumentList(yypvt[-0], NULL, TRUE);
} break;
case 127:
# line 548 "macross_6502.y"
{
yyval = buildArgumentList(yypvt[-0], NULL, FALSE);
} break;
case 128:
# line 552 "macross_6502.y"
{
yyval = buildArgumentList(yypvt[-0], yypvt[-3], FALSE);
} break;
case 131:
# line 565 "macross_6502.y"
{
yyval = yypvt[-0];
} break;
case 132:
# line 572 "macross_6502.y"
{
yyval = buildVariableStatement(yypvt[-0], UNASSIGNED, NULL);
} break;
case 133:
# line 576 "macross_6502.y"
{
checkDefineAssignmentOperator(yypvt[-2]);
yyval = buildVariableStatement(yypvt[-3], yypvt[-0], NULL);
} break;
case 134:
# line 581 "macross_6502.y"
{
yyval = buildVariableStatement(yypvt[-5], UNASSIGNED, yypvt[-2]);
} break;
case 135:
# line 585 "macross_6502.y"
{
checkDefineAssignmentOperator(yypvt[-7]);
yyval = buildVariableStatement(yypvt[-8], yypvt[-0], yypvt[-5]);
} break;
case 136:
# line 590 "macross_6502.y"
{
checkDefineAssignmentOperator(yypvt[-4]);
yyval = buildVariableStatement(yypvt[-5], yypvt[-0], -1);
} break;
case 137:
# line 598 "macross_6502.y"
{
yyval = yypvt[-0];
} break;
case 138:
# line 605 "macross_6502.y"
{
yyval = buildMvariableStatement(yypvt[-0], UNASSIGNED, NULL);
} break;
case 139:
# line 609 "macross_6502.y"
{
checkDefineAssignmentOperator(yypvt[-2]);
yyval = buildMvariableStatement(yypvt[-3], yypvt[-0], NULL);
} break;
case 140:
# line 614 "macross_6502.y"
{
yyval = buildMvariableStatement(yypvt[-5], UNASSIGNED, yypvt[-2]);
} break;
case 141:
# line 618 "macross_6502.y"
{
checkDefineAssignmentOperator(yypvt[-7]);
yyval = buildMvariableStatement(yypvt[-8], yypvt[-0], yypvt[-5]);
} break;
case 142:
# line 623 "macross_6502.y"
{
checkDefineAssignmentOperator(yypvt[-4]);
yyval = buildMvariableStatement(yypvt[-5], yypvt[-0], -1);
} break;
case 143:
# line 631 "macross_6502.y"
{
yyval = yypvt[-0];
} break;
case 144:
# line 638 "macross_6502.y"
{
yyval = buildMifStatement(yypvt[-0], NULL, NO_CONTINUATION);
} break;
case 145:
# line 642 "macross_6502.y"
{
yyval = buildMifStatement(yypvt[-1], yypvt[-0], ELSE_CONTINUATION);
} break;
case 146:
# line 646 "macross_6502.y"
{
yyval = buildMifStatement(yypvt[-1], yypvt[-0], ELSEIF_CONTINUATION);
} break;
case 147:
# line 652 "macross_6502.y"
{
yyval = buildMifHead(yypvt[-2], yypvt[-0]);
} break;
case 148:
# line 658 "macross_6502.y"
{
yyval = yypvt[-2];
} break;
case 149:
# line 664 "macross_6502.y"
{
yyval = yypvt[-0];
} break;
case 150:
# line 670 "macross_6502.y"
{
yyval = extractMifBody(yypvt[-0]);
} break;
case 151:
# line 674 "macross_6502.y"
{
yyval = extractMifBody(buildMifStatement(yypvt[-0], NULL, NO_CONTINUATION));
} break;
case 152:
# line 678 "macross_6502.y"
{
yyval = extractMifBody(buildMifStatement(yypvt[-1], yypvt[-0], ELSE_CONTINUATION));
} break;
case 153:
# line 682 "macross_6502.y"
{
yyval = extractMifBody(buildMifStatement(yypvt[-1], yypvt[-0], ELSEIF_CONTINUATION));
} break;
case 154:
# line 689 "macross_6502.y"
{
yyval = buildMswitchStatement(yypvt[-2], yypvt[-0]);
} break;
case 155:
# line 695 "macross_6502.y"
{
yyval = yypvt[-2];
} break;
case 156:
# line 701 "macross_6502.y"
{
yyval = yypvt[-2];
} break;
case 157:
# line 706 "macross_6502.y"
{
yyval = NULL;
} break;
case 158:
# line 712 "macross_6502.y"
{
yyval = buildCaseList(yypvt[-0], NULL);
} break;
case 159:
# line 716 "macross_6502.y"
{
yyval = buildCaseList(yypvt[-0], yypvt[-2]);
} break;
case 160:
# line 722 "macross_6502.y"
{
yyval = buildCase(yypvt[-2], yypvt[-0]);
} break;
case 161:
# line 728 "macross_6502.y"
{
yyval = yypvt[-2];
} break;
case 162:
# line 732 "macross_6502.y"
{
yyval = NULL;
} break;
case 163:
# line 739 "macross_6502.y"
{
yyval = buildMwhileStatement(yypvt[-2], yypvt[-0]);
} break;
case 164:
# line 746 "macross_6502.y"
{
yyval = buildMdoStatement(yypvt[-2], yypvt[-0]);
} break;
case 165:
# line 752 "macross_6502.y"
{
yyval = buildMdoEnd(yypvt[-0], WHILE_END);
} break;
case 166:
# line 756 "macross_6502.y"
{
yyval = buildMdoEnd(yypvt[-0], WHILE_END);
} break;
case 167:
# line 760 "macross_6502.y"
{
yyval = buildMdoEnd(yypvt[-0], UNTIL_END);
} break;
case 168:
# line 764 "macross_6502.y"
{
yyval = buildMdoEnd(yypvt[-0], UNTIL_END);
} break;
case 169:
# line 771 "macross_6502.y"
{
yyval = buildFreturnStatement(NULL);
} break;
case 170:
# line 775 "macross_6502.y"
{
yyval = buildFreturnStatement(yypvt[-0]);
} break;
case 172:
# line 785 "macross_6502.y"
{
yyval = buildMforStatement(yypvt[-4], yypvt[-0]);
} break;
case 173:
# line 792 "macross_6502.y"
{
yyval = buildForExpressions(yypvt[-6], yypvt[-3], yypvt[-0]);
} break;
case 174:
# line 799 "macross_6502.y"
{
yyval = buildIncludeStatement(yypvt[-0]);
} break;
case 175:
# line 806 "macross_6502.y"
{
yyval = buildExternStatement(yypvt[-0]);
} break;
case 176:
# line 812 "macross_6502.y"
{
yyval = buildStartStatement(yypvt[-0]);
} break;
case 177:
# line 818 "macross_6502.y"
{
yyval = buildAlignStatement(yypvt[-0]);
} break;
case 178:
# line 824 "macross_6502.y"
{
yyval = buildOrgStatement(yypvt[-0]);
} break;
case 179:
# line 831 "macross_6502.y"
{
yyval = buildTargetStatement(yypvt[-0]);
} break;
case 180:
# line 837 "macross_6502.y"
{
yyval = buildRelStatement();
} break;
case 181:
# line 844 "macross_6502.y"
{
yyval = buildPerformStatement(yypvt[-0]);
} break;
case 184:
# line 855 "macross_6502.y"
{
yyval = buildOperandList(yypvt[-0], NULL);
} break;
case 185:
# line 859 "macross_6502.y"
{
yyval = buildOperandList(yypvt[-0], yypvt[-1]);
} break;
case 186:
# line 863 "macross_6502.y"
{
yyval = buildOperandList(yypvt[-0], yypvt[-3]);
} break;
case 187:
# line 867 "macross_6502.y"
{
yyval = buildOperandList(yypvt[-0], yypvt[-1]);
} break;
case 188:
# line 871 "macross_6502.y"
{
yyval = buildOperandList(yypvt[-0], yypvt[-3]);
} break;
case 189:
# line 878 "macross_6502.y"
{
yyval = buildOperandList(yypvt[-0], NULL);
} break;
case 190:
# line 882 "macross_6502.y"
{
yyval = buildOperandList(yypvt[-0], yypvt[-3]);
} break;
case 191:
# line 886 "macross_6502.y"
{
yyval = buildOperandList(yypvt[-0], yypvt[-1]);
} break;
case 192:
# line 890 "macross_6502.y"
{
yyval = buildOperandList(yypvt[-0], yypvt[-3]);
} break;
case 193:
# line 896 "macross_6502.y"
{
yyval = buildOperand(BLOCK_OPND, yypvt[-0]);
} break;
case 194:
# line 902 "macross_6502.y"
{
yyval = yypvt[-1];
statementListNestingDepth--;
} break;
case 195:
# line 909 "macross_6502.y"
{
statementListNestingDepth++;
} break;
case 196:
# line 914 "macross_6502.y"
{
yyval = buildSelectionList(yypvt[-0], NULL);
} break;
case 197:
# line 918 "macross_6502.y"
{
yyval = buildSelectionList(yypvt[-0], yypvt[-3]);
} break;
case 198:
# line 924 "macross_6502.y"
{
yyval = buildExpressionTerm(ARRAY_EXPR, yypvt[-5], yypvt[-2]);
} break;
case 199:
# line 928 "macross_6502.y"
{
yyval = buildExpressionTerm(ARRAY_EXPR, yypvt[-5], yypvt[-2]);
} break;
case 200:
# line 934 "macross_6502.y"
{
yyval = buildExpressionTerm(IDENTIFIER_EXPR, lookupOrEnterSymbol(yypvt[-0],
unknownSymbolTag));
} break;
case 203:
# line 945 "macross_6502.y"
{
yyval = yypvt[-0];
} break;
case 204:
# line 949 "macross_6502.y"
{
yyval = buildExpressionTerm(FUNCTION_CALL_EXPR, yypvt[-0]);
} break;
case 205:
# line 953 "macross_6502.y"
{
yyval = buildExpressionTerm(NUMBER_EXPR, yypvt[-0]);
} break;
case 206:
# line 957 "macross_6502.y"
{
yyval = buildExpressionTerm(CONDITION_CODE_EXPR, yypvt[-0]);
} break;
case 207:
# line 961 "macross_6502.y"
{
yyval = buildExpressionTerm(HERE_EXPR);
} break;
case 208:
# line 965 "macross_6502.y"
{
yyval = buildExpressionTerm(STRING_EXPR, yypvt[-0]);
} break;
case 209:
# line 969 "macross_6502.y"
{
yyval = buildExpressionTerm(SUBEXPRESSION_EXPR, yypvt[-2]);
} break;
case 210:
# line 973 "macross_6502.y"
{
yyval = buildExpressionTerm(UNOP_EXPR, UNARY_MINUS, yypvt[-0]);
} break;
case 211:
# line 977 "macross_6502.y"
{
yyval = buildExpressionTerm(UNOP_EXPR, LOGICAL_NOT, yypvt[-0]);
} break;
case 212:
# line 981 "macross_6502.y"
{
yyval = buildExpressionTerm(UNOP_EXPR, BITWISE_NOT, yypvt[-0]);
} break;
case 213:
# line 985 "macross_6502.y"
{
yyval = buildExpressionTerm(UNOP_EXPR, LO_BYTE, yypvt[-0]);
} break;
case 214:
# line 989 "macross_6502.y"
{
yyval = buildExpressionTerm(UNOP_EXPR, HI_BYTE, yypvt[-0]);
} break;
case 215:
# line 993 "macross_6502.y"
{
yyval = buildExpressionTerm(BINOP_EXPR, MUL, yypvt[-3], yypvt[-0]);
} break;
case 216:
# line 997 "macross_6502.y"
{
yyval = buildExpressionTerm(BINOP_EXPR, DIV, yypvt[-3], yypvt[-0]);
} break;
case 217:
# line 1001 "macross_6502.y"
{
yyval = buildExpressionTerm(BINOP_EXPR, MOD, yypvt[-3], yypvt[-0]);
} break;
case 218:
# line 1005 "macross_6502.y"
{
yyval = buildExpressionTerm(BINOP_EXPR, SUB, yypvt[-3], yypvt[-0]);
} break;
case 219:
# line 1009 "macross_6502.y"
{
yyval = buildExpressionTerm(BINOP_EXPR, ADD, yypvt[-3], yypvt[-0]);
} break;
case 220:
# line 1013 "macross_6502.y"
{
yyval = buildExpressionTerm(BINOP_EXPR, LEFT_SHIFT, yypvt[-3], yypvt[-0]);
} break;
case 221:
# line 1017 "macross_6502.y"
{
yyval = buildExpressionTerm(BINOP_EXPR, RIGHT_SHIFT, yypvt[-3], yypvt[-0]);
} break;
case 222:
# line 1021 "macross_6502.y"
{
yyval = buildExpressionTerm(BINOP_EXPR, LESS_THAN, yypvt[-3], yypvt[-0]);
} break;
case 223:
# line 1025 "macross_6502.y"
{
yyval = buildExpressionTerm(BINOP_EXPR, GREATER_THAN, yypvt[-3], yypvt[-0]);
} break;
case 224:
# line 1029 "macross_6502.y"
{
yyval = buildExpressionTerm(BINOP_EXPR, LESS_THAN_OR_EQUAL_TO, yypvt[-3], yypvt[-0]);
} break;
case 225:
# line 1033 "macross_6502.y"
{
yyval = buildExpressionTerm(BINOP_EXPR, GREATER_THAN_OR_EQUAL_TO, yypvt[-3],yypvt[-0]);
} break;
case 226:
# line 1037 "macross_6502.y"
{
yyval = buildExpressionTerm(BINOP_EXPR, EQUAL_TO, yypvt[-3], yypvt[-0]);
} break;
case 227:
# line 1041 "macross_6502.y"
{
yyval = buildExpressionTerm(BINOP_EXPR, NOT_EQUAL_TO, yypvt[-3], yypvt[-0]);
} break;
case 228:
# line 1045 "macross_6502.y"
{
yyval = buildExpressionTerm(BINOP_EXPR, BITWISE_AND, yypvt[-3], yypvt[-0]);
} break;
case 229:
# line 1049 "macross_6502.y"
{
yyval = buildExpressionTerm(BINOP_EXPR, BITWISE_OR, yypvt[-3], yypvt[-0]);
} break;
case 230:
# line 1053 "macross_6502.y"
{
yyval = buildExpressionTerm(BINOP_EXPR, BITWISE_XOR, yypvt[-3], yypvt[-0]);
} break;
case 231:
# line 1057 "macross_6502.y"
{
yyval = buildExpressionTerm(BINOP_EXPR, LOGICAL_AND, yypvt[-3], yypvt[-0]);
} break;
case 232:
# line 1061 "macross_6502.y"
{
yyval = buildExpressionTerm(BINOP_EXPR, LOGICAL_OR, yypvt[-3], yypvt[-0]);
} break;
case 233:
# line 1065 "macross_6502.y"
{
yyval = buildExpressionTerm(BINOP_EXPR, LOGICAL_XOR, yypvt[-3], yypvt[-0]);
} break;
case 234:
# line 1069 "macross_6502.y"
{
yyval = buildExpressionTerm(BINOP_EXPR, SELECT, yypvt[-3],
lookupOrEnterSymbol(yypvt[-0], STRUCT_FIELD_SYMBOL));
} break;
case 235:
# line 1074 "macross_6502.y"
{
yyval = buildExpressionTerm(ASSIGN_EXPR, yypvt[-2], yypvt[-3], yypvt[-0]);
} break;
case 236:
# line 1078 "macross_6502.y"
{
yyval = buildExpressionTerm(POSTOP_EXPR, INCREMENT, yypvt[-1]);
} break;
case 237:
# line 1082 "macross_6502.y"
{
yyval = buildExpressionTerm(POSTOP_EXPR, DECREMENT, yypvt[-1]);
} break;
case 238:
# line 1086 "macross_6502.y"
{
yyval = buildExpressionTerm(PREOP_EXPR, INCREMENT, yypvt[-0]);
} break;
case 239:
# line 1090 "macross_6502.y"
{
yyval = buildExpressionTerm(PREOP_EXPR, DECREMENT, yypvt[-0]);
} break;
case 240:
# line 1097 "macross_6502.y"
{
yyval = buildFunctionCall(yypvt[-3], NULL);
} break;
case 241:
# line 1101 "macross_6502.y"
{
yyval = buildFunctionCall(yypvt[-5], yypvt[-2]);
} break;
case 251:
# line 1127 "macross_6502.y"
{
yyval = buildOperand(EXPRESSION_OPND, yypvt[-0]);
} break;
case 252:
# line 1133 "macross_6502.y"
{
yyval = buildOperand(INDIRECT_OPND, yypvt[-0]);
} break;
case 253:
# line 1139 "macross_6502.y"
{
yyval = buildOperand(IMMEDIATE_OPND, yypvt[-0]);
} break;
case 254:
# line 1146 "macross_6502.y"
{
yyval = buildOperand(A_REGISTER_OPND, NULL);
} break;
case 255:
# line 1150 "macross_6502.y"
{
yyval = buildOperand(X_REGISTER_OPND, NULL);
} break;
case 256:
# line 1154 "macross_6502.y"
{
yyval = buildOperand(Y_REGISTER_OPND, NULL);
} break;
case 257:
# line 1161 "macross_6502.y"
{
yyval = buildOperand(X_INDEXED_OPND, yypvt[-2]);
} break;
case 258:
# line 1165 "macross_6502.y"
{
yyval = buildOperand(Y_INDEXED_OPND, yypvt[-2]);
} break;
case 259:
# line 1169 "macross_6502.y"
{
yyval = buildOperand(X_SELECTED_OPND, yypvt[-0]);
} break;
case 260:
# line 1173 "macross_6502.y"
{
yyval = buildOperand(Y_SELECTED_OPND, yypvt[-0]);
} break;
case 261:
# line 1177 "macross_6502.y"
{
yyval = buildOperand(X_INDEXED_OPND, NULL);
} break;
case 262:
# line 1181 "macross_6502.y"
{
yyval = buildOperand(Y_INDEXED_OPND, NULL);
} break;
case 263:
# line 1188 "macross_6502.y"
{
yyval = buildOperand(PRE_INDEXED_X_OPND, yypvt[-2]);
} break;
case 264:
# line 1192 "macross_6502.y"
{
yyval = buildOperand(PRE_SELECTED_X_OPND, yypvt[-0]);
} break;
case 265:
# line 1199 "macross_6502.y"
{
yyval = buildOperand(POST_INDEXED_Y_OPND, yypvt[-2]);
} break;
}
goto yystack; /* stack new state and value */
}