Fixed if .. else

master
Yevgen Muntyan 2006-04-27 01:56:58 -05:00
parent 4d8cc1302f
commit cdd7a54c8b
1 changed files with 347 additions and 323 deletions

View File

@ -685,16 +685,16 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 52
/* YYLAST -- Last index in YYTABLE. */
#define YYLAST 876
#define YYLAST 968
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 50
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 17
/* YYNRULES -- Number of rules. */
#define YYNRULES 70
#define YYNRULES 71
/* YYNRULES -- Number of states. */
#define YYNSTATES 151
#define YYNSTATES 154
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@ -744,12 +744,12 @@ static const unsigned short int yyprhs[] =
{
0, 0, 3, 5, 7, 10, 13, 16, 18, 19,
21, 23, 25, 27, 29, 31, 33, 36, 42, 47,
55, 61, 68, 77, 82, 88, 90, 92, 94, 98,
105, 112, 118, 124, 128, 132, 136, 140, 144, 148,
152, 156, 160, 164, 168, 172, 175, 178, 181, 185,
189, 191, 193, 195, 199, 203, 207, 211, 215, 219,
225, 230, 235, 239, 240, 242, 246, 247, 249, 253,
257
55, 61, 69, 76, 85, 90, 96, 98, 100, 102,
106, 113, 120, 126, 132, 136, 140, 144, 148, 152,
156, 160, 164, 168, 172, 176, 180, 183, 186, 189,
193, 197, 199, 201, 203, 207, 211, 215, 219, 223,
227, 233, 238, 243, 247, 248, 250, 254, 255, 257,
261, 265
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
@ -761,26 +761,27 @@ static const yysigned_char yyrhs[] =
-1, 20, -1, 20, 58, -1, 13, 58, 14, 52,
15, -1, 14, 52, 13, 58, -1, 16, 66, 17,
58, 14, 52, 15, -1, 8, 58, 9, 52, 12,
-1, 8, 58, 9, 52, 57, 12, -1, 8, 58,
9, 52, 57, 10, 52, 12, -1, 11, 58, 9,
52, -1, 57, 11, 58, 9, 52, -1, 62, -1,
61, -1, 60, -1, 3, 39, 58, -1, 62, 40,
58, 41, 39, 58, -1, 62, 40, 1, 41, 39,
58, -1, 62, 42, 3, 39, 58, -1, 62, 43,
62, 44, 62, -1, 58, 31, 58, -1, 58, 30,
58, -1, 58, 33, 58, -1, 58, 32, 58, -1,
58, 25, 58, -1, 58, 26, 58, -1, 58, 21,
58, -1, 58, 22, 58, -1, 58, 35, 58, -1,
58, 36, 58, -1, 58, 23, 58, -1, 58, 24,
58, -1, 30, 62, -1, 27, 62, -1, 37, 62,
-1, 62, 34, 62, -1, 62, 17, 62, -1, 7,
-1, 4, -1, 66, -1, 45, 54, 46, -1, 45,
1, 46, -1, 40, 63, 41, -1, 40, 1, 41,
-1, 47, 64, 48, -1, 47, 1, 48, -1, 40,
58, 29, 58, 41, -1, 62, 45, 63, 46, -1,
62, 40, 58, 41, -1, 62, 42, 3, -1, -1,
58, -1, 63, 49, 58, -1, -1, 65, -1, 64,
49, 65, -1, 3, 39, 58, -1, 3, -1
-1, 8, 58, 9, 52, 10, 52, 12, -1, 8,
58, 9, 52, 57, 12, -1, 8, 58, 9, 52,
57, 10, 52, 12, -1, 11, 58, 9, 52, -1,
57, 11, 58, 9, 52, -1, 62, -1, 61, -1,
60, -1, 3, 39, 58, -1, 62, 40, 58, 41,
39, 58, -1, 62, 40, 1, 41, 39, 58, -1,
62, 42, 3, 39, 58, -1, 62, 43, 62, 44,
62, -1, 58, 31, 58, -1, 58, 30, 58, -1,
58, 33, 58, -1, 58, 32, 58, -1, 58, 25,
58, -1, 58, 26, 58, -1, 58, 21, 58, -1,
58, 22, 58, -1, 58, 35, 58, -1, 58, 36,
58, -1, 58, 23, 58, -1, 58, 24, 58, -1,
30, 62, -1, 27, 62, -1, 37, 62, -1, 62,
34, 62, -1, 62, 17, 62, -1, 7, -1, 4,
-1, 66, -1, 45, 54, 46, -1, 45, 1, 46,
-1, 40, 63, 41, -1, 40, 1, 41, -1, 47,
64, 48, -1, 47, 1, 48, -1, 40, 58, 29,
58, 41, -1, 62, 45, 63, 46, -1, 62, 40,
58, 41, -1, 62, 42, 3, -1, -1, 58, -1,
63, 49, 58, -1, -1, 65, -1, 64, 49, 65,
-1, 3, 39, 58, -1, 3, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@ -788,12 +789,12 @@ static const unsigned short int yyrline[] =
{
0, 413, 413, 416, 417, 421, 422, 423, 426, 427,
428, 429, 430, 431, 432, 433, 434, 437, 438, 439,
443, 444, 445, 450, 451, 454, 455, 456, 460, 461,
462, 463, 466, 470, 471, 472, 473, 475, 476, 478,
479, 480, 481, 482, 483, 484, 485, 486, 487, 489,
493, 494, 495, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 508, 509, 510, 513, 514, 515, 518,
521
443, 444, 445, 446, 451, 452, 455, 456, 457, 461,
462, 463, 464, 467, 471, 472, 473, 474, 476, 477,
479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
490, 494, 495, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 509, 510, 511, 514, 515, 516,
519, 522
};
#endif
@ -832,12 +833,12 @@ static const unsigned char yyr1[] =
{
0, 50, 51, 52, 52, 53, 53, 53, 54, 54,
54, 54, 54, 54, 54, 54, 54, 55, 55, 55,
56, 56, 56, 57, 57, 58, 58, 58, 59, 59,
59, 59, 60, 61, 61, 61, 61, 61, 61, 61,
56, 56, 56, 56, 57, 57, 58, 58, 58, 59,
59, 59, 59, 60, 61, 61, 61, 61, 61, 61,
61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
62, 62, 62, 63, 63, 63, 64, 64, 64, 65,
66
61, 62, 62, 62, 62, 62, 62, 62, 62, 62,
62, 62, 62, 62, 63, 63, 63, 64, 64, 64,
65, 66
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@ -845,12 +846,12 @@ static const unsigned char yyr2[] =
{
0, 2, 1, 1, 2, 2, 2, 1, 0, 1,
1, 1, 1, 1, 1, 1, 2, 5, 4, 7,
5, 6, 8, 4, 5, 1, 1, 1, 3, 6,
6, 5, 5, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 2, 2, 2, 3, 3,
1, 1, 1, 3, 3, 3, 3, 3, 3, 5,
4, 4, 3, 0, 1, 3, 0, 1, 3, 3,
1
5, 7, 6, 8, 4, 5, 1, 1, 1, 3,
6, 6, 5, 5, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 2, 2, 2, 3,
3, 1, 1, 1, 3, 3, 3, 3, 3, 3,
5, 4, 4, 3, 0, 1, 3, 0, 1, 3,
3, 1
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@ -858,28 +859,28 @@ static const unsigned char yyr2[] =
means the default is an error. */
static const unsigned char yydefact[] =
{
0, 0, 70, 51, 7, 50, 0, 0, 0, 0,
0, 0, 71, 52, 7, 51, 0, 0, 0, 0,
13, 14, 15, 0, 0, 0, 0, 0, 0, 0,
0, 3, 0, 11, 10, 9, 12, 27, 26, 25,
52, 5, 0, 70, 0, 25, 0, 0, 0, 16,
46, 45, 47, 0, 64, 0, 0, 0, 0, 0,
0, 67, 1, 4, 6, 0, 0, 0, 0, 0,
0, 3, 0, 11, 10, 9, 12, 28, 27, 26,
53, 5, 0, 71, 0, 26, 0, 0, 0, 16,
47, 46, 48, 0, 65, 0, 0, 0, 0, 0,
0, 68, 1, 4, 6, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 63, 28, 0, 0, 0, 0, 0, 0,
56, 0, 55, 0, 54, 53, 58, 0, 57, 0,
39, 40, 43, 44, 37, 38, 34, 33, 36, 35,
41, 42, 49, 48, 0, 0, 62, 0, 64, 0,
0, 0, 62, 0, 18, 0, 0, 65, 69, 68,
0, 61, 0, 0, 60, 0, 20, 0, 61, 17,
0, 59, 0, 0, 31, 32, 0, 0, 0, 21,
0, 30, 29, 0, 0, 0, 19, 0, 22, 0,
0
0, 0, 64, 29, 0, 0, 0, 0, 0, 0,
57, 0, 56, 0, 55, 54, 59, 0, 58, 0,
40, 41, 44, 45, 38, 39, 35, 34, 37, 36,
42, 43, 50, 49, 0, 0, 63, 0, 65, 0,
0, 0, 63, 0, 18, 0, 0, 66, 70, 69,
0, 62, 0, 0, 61, 0, 0, 20, 0, 62,
17, 0, 60, 0, 0, 32, 33, 0, 0, 0,
0, 22, 0, 31, 30, 21, 0, 0, 0, 19,
0, 23, 0, 0
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yysigned_char yydefgoto[] =
static const short int yydefgoto[] =
{
-1, 19, 20, 21, 22, 23, 24, 127, 25, 26,
-1, 19, 20, 21, 22, 23, 24, 128, 25, 26,
27, 28, 35, 45, 50, 51, 30
};
@ -888,218 +889,236 @@ static const yysigned_char yydefgoto[] =
#define YYPACT_NINF -41
static const short int yypact[] =
{
515, -36, -32, -41, -41, -41, 39, 39, 515, 9,
-41, -41, 39, 15, 15, 15, 150, 605, 2, 16,
200, -41, -8, -41, -41, 824, -41, -41, -41, -11,
-41, -41, 39, -41, 653, -7, 709, 560, 24, 824,
19, 19, 19, 3, 808, -40, 7, 17, 10, 36,
-23, -41, -41, -41, -41, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 15, 15, 626,
69, 15, 39, 824, 515, 39, 75, 515, 39, 39,
-41, 39, -41, 39, -41, -41, -41, 39, -41, 80,
22, 22, 22, 22, -41, 60, 840, 840, 138, 138,
22, 22, 19, 19, 46, 745, 61, 12, 824, -25,
335, 766, -41, 380, 709, 729, 787, 824, 824, -41,
64, 67, 39, 15, -41, 39, -41, 70, -41, -41,
515, -41, 39, 39, 824, 19, 671, 515, 39, -41,
425, 824, 824, 515, 470, 689, -41, 245, -41, 515,
290
578, -36, -33, -41, -41, -41, 700, 700, 578, 9,
-41, -41, 700, 15, 15, 15, 168, 668, 2, 16,
218, -41, -14, -41, -41, 900, -41, -41, -41, -13,
-41, -41, 700, -41, 729, 14, 785, 623, 19, 900,
-17, -17, -17, -15, 884, -40, -2, 1, 4, 7,
-38, -41, -41, -41, -41, 700, 700, 700, 700, 700,
700, 700, 700, 700, 700, 700, 700, 15, 15, 689,
50, 15, 700, 900, 578, 700, 55, 578, 700, 700,
-41, 700, -41, 700, -41, -41, -41, 700, -41, 58,
8, 8, 8, 8, -41, 41, 916, 916, 932, 932,
8, 8, -17, -17, 22, 821, 30, 38, 900, -11,
263, 842, -41, 398, 785, 805, 863, 900, 900, -41,
36, 40, 700, 15, -41, 578, 700, -41, 31, -41,
-41, 578, -41, 700, 700, 900, -17, 443, 747, 578,
700, -41, 488, 900, 900, -41, 578, 533, 765, -41,
308, -41, 578, 353
};
/* YYPGOTO[NTERM-NUM]. */
static const yysigned_char yypgoto[] =
{
-41, -41, -4, -9, 90, -41, -41, -41, 33, -41,
-41, -41, 0, 37, -41, 26, 108
-41, -41, -1, 44, 53, -41, -41, -41, 33, -41,
-41, -41, 0, 12, -41, -4, 63
};
/* 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 -67
#define YYTABLE_NINF -68
static const short int yytable[] =
{
29, 82, 31, 48, 37, 49, 67, 32, 29, 83,
67, 53, 33, 40, 41, 42, 52, 29, 33, 3,
29, 124, 5, 68, 83, 88, 89, 68, 53, 69,
54, 70, 71, 75, 72, 76, 71, 29, 72, 34,
36, 79, 33, 3, 80, 39, 5, 59, 60, 44,
-66, -66, 75, 84, 76, 16, 123, 72, 86, 75,
17, 76, 18, 85, 72, 73, 13, 102, 103, 14,
110, 107, 106, 113, 29, 87, 15, 29, 112, 16,
137, 138, 139, 49, 17, 59, 18, 120, 90, 91,
29, 82, 31, 48, 67, 49, 32, 37, 29, 83,
88, 89, 33, 40, 41, 42, 52, 29, 33, 3,
29, 68, 5, 75, 54, 76, 80, 69, 72, 70,
71, 67, 72, 59, 60, 124, 79, 29, 83, 34,
36, 139, 140, 141, 84, 39, 87, 85, 68, 44,
-67, -67, 86, 106, 75, 16, 76, 71, 112, 72,
17, 49, 18, 120, 53, 73, 59, 102, 103, 122,
47, 107, 38, 110, 29, 133, 113, 29, 75, 134,
76, 53, 123, 72, 109, 119, 0, 0, 90, 91,
92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
122, 53, 105, 132, 53, 108, 133, 47, 111, 109,
29, 114, 115, 29, 116, 119, 117, 38, 0, 0,
118, 0, 0, 135, 0, 0, 140, 0, 0, 0,
29, 53, 0, 144, 0, 53, 0, 29, 53, 147,
29, 53, 0, 29, 29, 150, 0, 29, 0, 29,
29, 43, 0, 33, 3, 134, 0, 5, 136, 55,
56, 57, 58, 59, 60, 141, 142, 0, 0, 0,
0, 145, 0, 65, 66, 0, 0, 13, 0, 0,
14, 0, 0, 0, 0, 0, 0, 15, 0, 0,
16, -63, 0, 0, 0, 17, 0, 18, 0, -63,
-2, 1, 0, 2, 3, 0, 4, 5, 6, 0,
0, 0, 0, 7, 8, 0, 9, 0, 10, 11,
12, 0, 0, 0, 0, 0, 0, 13, 0, 0,
14, 0, 0, 0, 0, 0, 0, 15, -8, 0,
16, 0, 0, 0, 0, 17, 1, 18, 2, 3,
0, 4, 5, 6, 0, -23, -23, -23, 7, 8,
0, 9, 0, 10, 11, 12, 0, 0, 0, 0,
0, 0, 13, 0, 0, 14, 0, 0, 0, 0,
0, 0, 15, -8, 0, 16, 0, 0, 0, 0,
17, 1, 18, 2, 3, 0, 4, 5, 6, 0,
-24, -24, -24, 7, 8, 0, 9, 0, 10, 11,
12, 0, 0, 0, 0, 0, 0, 13, 0, 0,
14, 0, 0, 0, 0, 0, 0, 15, -8, 0,
16, 0, 0, 0, 0, 17, 1, 18, 2, 3,
0, 4, 5, 6, 0, 0, 125, 126, 7, 8,
0, 9, 0, 10, 11, 12, 0, 0, 0, 0,
0, 0, 13, 0, 0, 14, 0, 0, 0, 0,
0, 0, 15, -8, 0, 16, 0, 0, 0, 0,
17, 1, 18, 2, 3, 0, 4, 5, 6, 0,
0, 0, 0, 7, 8, 129, 9, 0, 10, 11,
12, 0, 0, 0, 0, 0, 0, 13, 0, 0,
14, 0, 0, 0, 0, 0, 0, 15, -8, 0,
16, 0, 0, 0, 0, 17, 1, 18, 2, 3,
0, 4, 5, 6, 0, 0, 0, 0, 7, 8,
146, 9, 0, 10, 11, 12, 0, 0, 0, 0,
0, 0, 13, 0, 0, 14, 0, 0, 0, 0,
0, 0, 15, -8, 0, 16, 0, 0, 0, 0,
17, 1, 18, 2, 3, 0, 4, 5, 6, 0,
0, 0, 148, 7, 8, 0, 9, 0, 10, 11,
12, 0, 0, 0, 0, 0, 0, 13, 0, 0,
14, 0, 0, 0, 0, 0, 0, 15, -8, 0,
16, 0, 0, 0, 0, 17, 1, 18, 2, 3,
0, 4, 5, 6, 0, 0, 0, 0, 7, 8,
0, 9, 0, 10, 11, 12, 0, 0, 0, 0,
0, 0, 13, 0, 0, 14, 0, 0, 0, 0,
0, 0, 15, -8, 0, 16, 0, 0, 0, 0,
17, 1, 18, 2, 3, 0, 4, 5, 6, 0,
0, 0, 0, 78, 8, 0, 9, 0, 10, 11,
12, 0, 0, 0, 0, 0, 0, 13, 0, 0,
14, 0, 0, 0, 0, 0, 0, 15, -8, 0,
16, 0, 0, 0, 0, 17, 46, 18, 2, 3,
0, 0, 5, 6, 0, 0, 0, 0, 7, 8,
0, 9, 0, 10, 11, 12, 0, 104, 0, 33,
3, 0, 13, 5, 0, 14, 0, 0, 0, 0,
0, 0, 15, 0, 0, 16, 0, 0, 0, 0,
17, -8, 18, 13, 0, 0, 14, 0, 0, 0,
0, 0, 74, 15, 0, 0, 16, 0, 0, 0,
0, 17, 0, 18, 55, 56, 57, 58, 59, 60,
143, 0, 0, 61, 62, 63, 64, 0, 65, 66,
0, 0, 55, 56, 57, 58, 59, 60, 149, 0,
0, 61, 62, 63, 64, 0, 65, 66, 0, 0,
55, 56, 57, 58, 59, 60, 0, 0, 0, 61,
62, 63, 64, 77, 65, 66, 0, 0, 0, 0,
55, 56, 57, 58, 59, 60, 0, 0, 0, 61,
62, 63, 64, 130, 65, 66, 0, 0, 0, 0,
55, 56, 57, 58, 59, 60, 0, 0, 0, 61,
62, 63, 64, 0, 65, 66, 55, 56, 57, 58,
0, 0, 105, 0, 0, 108, 0, 0, 111, 0,
29, 114, 115, 29, 116, 0, 117, 0, 0, 0,
118, 0, 0, 136, 137, 29, 0, 0, 0, 0,
142, 29, 0, 0, 0, 0, 0, 29, 147, 29,
0, 0, 29, 0, 0, 150, 29, 29, 0, 0,
29, 153, 29, 29, 53, 135, 0, 53, 0, 138,
0, 0, 0, 0, 0, 0, 143, 144, 0, 43,
0, 33, 3, 148, 0, 5, 0, 0, 0, 0,
0, 53, 0, 0, 0, 0, 53, 0, 0, 0,
0, 53, 0, 0, 53, 13, 0, 53, 14, 0,
0, 0, 0, 0, 0, 15, 0, 0, 16, -64,
0, 0, 0, 17, 0, 18, 0, -64, -2, 1,
0, 2, 3, 0, 4, 5, 6, 0, 0, 0,
0, 7, 8, 0, 9, 0, 10, 11, 12, 0,
0, 0, 0, 0, 0, 13, 0, 0, 14, 0,
0, 0, 0, 0, 0, 15, -8, 0, 16, 0,
0, 0, 0, 17, 1, 18, 2, 3, 0, 4,
5, 6, 0, 125, 126, 127, 7, 8, 0, 9,
0, 10, 11, 12, 0, 0, 0, 0, 0, 0,
13, 0, 0, 14, 0, 0, 0, 0, 0, 0,
15, -8, 0, 16, 0, 0, 0, 0, 17, 1,
18, 2, 3, 0, 4, 5, 6, 0, -24, -24,
-24, 7, 8, 0, 9, 0, 10, 11, 12, 0,
0, 0, 0, 0, 0, 13, 0, 0, 14, 0,
0, 0, 0, 0, 0, 15, -8, 0, 16, 0,
0, 0, 0, 17, 1, 18, 2, 3, 0, 4,
5, 6, 0, -25, -25, -25, 7, 8, 0, 9,
0, 10, 11, 12, 0, 0, 0, 0, 0, 0,
13, 0, 0, 14, 0, 0, 0, 0, 0, 0,
15, -8, 0, 16, 0, 0, 0, 0, 17, 1,
18, 2, 3, 0, 4, 5, 6, 0, 0, 0,
0, 7, 8, 130, 9, 0, 10, 11, 12, 0,
0, 0, 0, 0, 0, 13, 0, 0, 14, 0,
0, 0, 0, 0, 0, 15, -8, 0, 16, 0,
0, 0, 0, 17, 1, 18, 2, 3, 0, 4,
5, 6, 0, 0, 0, 145, 7, 8, 0, 9,
0, 10, 11, 12, 0, 0, 0, 0, 0, 0,
13, 0, 0, 14, 0, 0, 0, 0, 0, 0,
15, -8, 0, 16, 0, 0, 0, 0, 17, 1,
18, 2, 3, 0, 4, 5, 6, 0, 0, 0,
0, 7, 8, 149, 9, 0, 10, 11, 12, 0,
0, 0, 0, 0, 0, 13, 0, 0, 14, 0,
0, 0, 0, 0, 0, 15, -8, 0, 16, 0,
0, 0, 0, 17, 1, 18, 2, 3, 0, 4,
5, 6, 0, 0, 0, 151, 7, 8, 0, 9,
0, 10, 11, 12, 0, 0, 0, 0, 0, 0,
13, 0, 0, 14, 0, 0, 0, 0, 0, 0,
15, -8, 0, 16, 0, 0, 0, 0, 17, 1,
18, 2, 3, 0, 4, 5, 6, 0, 0, 0,
0, 7, 8, 0, 9, 0, 10, 11, 12, 0,
0, 0, 0, 0, 0, 13, 0, 0, 14, 0,
0, 0, 0, 0, 0, 15, -8, 0, 16, 0,
0, 0, 0, 17, 1, 18, 2, 3, 0, 4,
5, 6, 0, 0, 0, 0, 78, 8, 0, 9,
0, 10, 11, 12, 0, 0, 0, 0, 0, 0,
13, 0, 0, 14, 0, 0, 0, 0, 0, 0,
15, -8, 0, 16, 0, 0, 0, 0, 17, 46,
18, 2, 3, 0, 0, 5, 6, 0, 0, 0,
0, 7, 8, 0, 9, 0, 10, 11, 12, 0,
104, 0, 33, 3, 0, 13, 5, 0, 14, 0,
0, 0, 0, 33, 3, 15, 0, 5, 16, 0,
0, 0, 0, 17, -8, 18, 13, 0, 0, 14,
0, 0, 0, 0, 0, 0, 15, 13, 0, 16,
14, 0, 0, 0, 17, 0, 18, 15, 74, 0,
16, 0, 0, 0, 0, 17, 0, 18, 0, 0,
55, 56, 57, 58, 59, 60, 146, 0, 0, 61,
62, 63, 64, 0, 65, 66, 0, 0, 55, 56,
57, 58, 59, 60, 152, 0, 0, 61, 62, 63,
64, 0, 65, 66, 0, 0, 55, 56, 57, 58,
59, 60, 0, 0, 0, 61, 62, 63, 64, 77,
65, 66, 0, 0, 0, 0, 55, 56, 57, 58,
59, 60, 0, 0, 0, 61, 62, 63, 64, 131,
65, 66, 0, 0, 0, 0, 55, 56, 57, 58,
59, 60, 0, 0, 0, 61, 62, 63, 64, 0,
65, 66, 0, 0, 0, 0, 121, 55, 56, 57,
58, 59, 60, 0, 0, 0, 61, 62, 63, 64,
0, 65, 66, 0, 0, 0, 0, 128, 55, 56,
57, 58, 59, 60, 0, 0, 0, 61, 62, 63,
64, 0, 65, 66, 0, 0, 0, 0, 131, 55,
56, 57, 58, 59, 60, 0, 0, 81, 61, 62,
63, 64, 0, 65, 66, 55, 56, 57, 58, 59,
60, 0, 0, 0, 61, 62, 63, 64, 0, 65,
65, 66, 55, 56, 57, 58, 59, 60, 0, 0,
0, 61, 62, 63, 64, 0, 65, 66, 0, 0,
0, 0, 121, 55, 56, 57, 58, 59, 60, 0,
0, 0, 61, 62, 63, 64, 0, 65, 66, 0,
0, 0, 0, 129, 55, 56, 57, 58, 59, 60,
0, 0, 0, 61, 62, 63, 64, 0, 65, 66,
0, 0, 0, 0, 132, 55, 56, 57, 58, 59,
60, 0, 0, 81, 61, 62, 63, 64, 0, 65,
66, 55, 56, 57, 58, 59, 60, 0, 0, 0,
0, 0, 63, 64, 0, 65, 66
61, 62, 63, 64, 0, 65, 66, 55, 56, 57,
58, 59, 60, 0, 0, 0, 0, 0, 63, 64,
0, 65, 66, 55, 56, 57, 58, 59, 60, 0,
0, 0, 0, 0, 0, 0, 0, 65, 66
};
static const short int yycheck[] =
{
0, 41, 38, 1, 8, 3, 17, 39, 8, 49,
17, 20, 3, 13, 14, 15, 0, 17, 3, 4,
20, 46, 7, 34, 49, 48, 49, 34, 37, 40,
38, 42, 43, 40, 45, 42, 43, 37, 45, 6,
7, 17, 3, 4, 41, 12, 7, 25, 26, 16,
48, 49, 40, 46, 42, 40, 44, 45, 48, 40,
45, 42, 47, 46, 45, 32, 27, 67, 68, 30,
74, 71, 3, 77, 74, 39, 37, 77, 3, 40,
10, 11, 12, 3, 45, 25, 47, 41, 55, 56,
0, 41, 38, 1, 17, 3, 39, 8, 8, 49,
48, 49, 3, 13, 14, 15, 0, 17, 3, 4,
20, 34, 7, 40, 38, 42, 41, 40, 45, 42,
43, 17, 45, 25, 26, 46, 17, 37, 49, 6,
7, 10, 11, 12, 46, 12, 39, 46, 34, 16,
48, 49, 48, 3, 40, 40, 42, 43, 3, 45,
45, 3, 47, 41, 20, 32, 25, 67, 68, 39,
17, 71, 9, 74, 74, 39, 77, 77, 40, 39,
42, 37, 44, 45, 72, 89, -1, -1, 55, 56,
57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
39, 110, 69, 39, 113, 72, 39, 17, 75, 72,
110, 78, 79, 113, 81, 89, 83, 9, -1, -1,
87, -1, -1, 123, -1, -1, 130, -1, -1, -1,
130, 140, -1, 137, -1, 144, -1, 137, 147, 143,
140, 150, -1, 143, 144, 149, -1, 147, -1, 149,
150, 1, -1, 3, 4, 122, -1, 7, 125, 21,
22, 23, 24, 25, 26, 132, 133, -1, -1, -1,
-1, 138, -1, 35, 36, -1, -1, 27, -1, -1,
30, -1, -1, -1, -1, -1, -1, 37, -1, -1,
40, 41, -1, -1, -1, 45, -1, 47, -1, 49,
0, 1, -1, 3, 4, -1, 6, 7, 8, -1,
-1, -1, -1, 13, 14, -1, 16, -1, 18, 19,
20, -1, -1, -1, -1, -1, -1, 27, -1, -1,
30, -1, -1, -1, -1, -1, -1, 37, 38, -1,
40, -1, -1, -1, -1, 45, 1, 47, 3, 4,
-1, 6, 7, 8, -1, 10, 11, 12, 13, 14,
-1, 16, -1, 18, 19, 20, -1, -1, -1, -1,
-1, -1, 27, -1, -1, 30, -1, -1, -1, -1,
-1, -1, 37, 38, -1, 40, -1, -1, -1, -1,
45, 1, 47, 3, 4, -1, 6, 7, 8, -1,
10, 11, 12, 13, 14, -1, 16, -1, 18, 19,
20, -1, -1, -1, -1, -1, -1, 27, -1, -1,
30, -1, -1, -1, -1, -1, -1, 37, 38, -1,
40, -1, -1, -1, -1, 45, 1, 47, 3, 4,
-1, 6, 7, 8, -1, -1, 11, 12, 13, 14,
-1, 16, -1, 18, 19, 20, -1, -1, -1, -1,
-1, -1, 27, -1, -1, 30, -1, -1, -1, -1,
-1, -1, 37, 38, -1, 40, -1, -1, -1, -1,
45, 1, 47, 3, 4, -1, 6, 7, 8, -1,
-1, -1, -1, 13, 14, 15, 16, -1, 18, 19,
20, -1, -1, -1, -1, -1, -1, 27, -1, -1,
30, -1, -1, -1, -1, -1, -1, 37, 38, -1,
40, -1, -1, -1, -1, 45, 1, 47, 3, 4,
-1, 6, 7, 8, -1, -1, -1, -1, 13, 14,
15, 16, -1, 18, 19, 20, -1, -1, -1, -1,
-1, -1, 27, -1, -1, 30, -1, -1, -1, -1,
-1, -1, 37, 38, -1, 40, -1, -1, -1, -1,
45, 1, 47, 3, 4, -1, 6, 7, 8, -1,
-1, -1, 12, 13, 14, -1, 16, -1, 18, 19,
20, -1, -1, -1, -1, -1, -1, 27, -1, -1,
30, -1, -1, -1, -1, -1, -1, 37, 38, -1,
40, -1, -1, -1, -1, 45, 1, 47, 3, 4,
-1, 6, 7, 8, -1, -1, -1, -1, 13, 14,
-1, 16, -1, 18, 19, 20, -1, -1, -1, -1,
-1, -1, 27, -1, -1, 30, -1, -1, -1, -1,
-1, -1, 37, 38, -1, 40, -1, -1, -1, -1,
45, 1, 47, 3, 4, -1, 6, 7, 8, -1,
-1, -1, -1, 13, 14, -1, 16, -1, 18, 19,
20, -1, -1, -1, -1, -1, -1, 27, -1, -1,
30, -1, -1, -1, -1, -1, -1, 37, 38, -1,
40, -1, -1, -1, -1, 45, 1, 47, 3, 4,
-1, -1, 7, 8, -1, -1, -1, -1, 13, 14,
-1, 16, -1, 18, 19, 20, -1, 1, -1, 3,
4, -1, 27, 7, -1, 30, -1, -1, -1, -1,
-1, -1, 37, -1, -1, 40, -1, -1, -1, -1,
45, 46, 47, 27, -1, -1, 30, -1, -1, -1,
-1, -1, 9, 37, -1, -1, 40, -1, -1, -1,
-1, 45, -1, 47, 21, 22, 23, 24, 25, 26,
9, -1, -1, 30, 31, 32, 33, -1, 35, 36,
-1, -1, 21, 22, 23, 24, 25, 26, 9, -1,
-1, 30, 31, 32, 33, -1, 35, 36, -1, -1,
21, 22, 23, 24, 25, 26, -1, -1, -1, 30,
31, 32, 33, 14, 35, 36, -1, -1, -1, -1,
21, 22, 23, 24, 25, 26, -1, -1, -1, 30,
31, 32, 33, 14, 35, 36, -1, -1, -1, -1,
21, 22, 23, 24, 25, 26, -1, -1, -1, 30,
31, 32, 33, -1, 35, 36, 21, 22, 23, 24,
-1, -1, 69, -1, -1, 72, -1, -1, 75, -1,
110, 78, 79, 113, 81, -1, 83, -1, -1, -1,
87, -1, -1, 123, 125, 125, -1, -1, -1, -1,
131, 131, -1, -1, -1, -1, -1, 137, 139, 139,
-1, -1, 142, -1, -1, 146, 146, 147, -1, -1,
150, 152, 152, 153, 110, 122, -1, 113, -1, 126,
-1, -1, -1, -1, -1, -1, 133, 134, -1, 1,
-1, 3, 4, 140, -1, 7, -1, -1, -1, -1,
-1, 137, -1, -1, -1, -1, 142, -1, -1, -1,
-1, 147, -1, -1, 150, 27, -1, 153, 30, -1,
-1, -1, -1, -1, -1, 37, -1, -1, 40, 41,
-1, -1, -1, 45, -1, 47, -1, 49, 0, 1,
-1, 3, 4, -1, 6, 7, 8, -1, -1, -1,
-1, 13, 14, -1, 16, -1, 18, 19, 20, -1,
-1, -1, -1, -1, -1, 27, -1, -1, 30, -1,
-1, -1, -1, -1, -1, 37, 38, -1, 40, -1,
-1, -1, -1, 45, 1, 47, 3, 4, -1, 6,
7, 8, -1, 10, 11, 12, 13, 14, -1, 16,
-1, 18, 19, 20, -1, -1, -1, -1, -1, -1,
27, -1, -1, 30, -1, -1, -1, -1, -1, -1,
37, 38, -1, 40, -1, -1, -1, -1, 45, 1,
47, 3, 4, -1, 6, 7, 8, -1, 10, 11,
12, 13, 14, -1, 16, -1, 18, 19, 20, -1,
-1, -1, -1, -1, -1, 27, -1, -1, 30, -1,
-1, -1, -1, -1, -1, 37, 38, -1, 40, -1,
-1, -1, -1, 45, 1, 47, 3, 4, -1, 6,
7, 8, -1, 10, 11, 12, 13, 14, -1, 16,
-1, 18, 19, 20, -1, -1, -1, -1, -1, -1,
27, -1, -1, 30, -1, -1, -1, -1, -1, -1,
37, 38, -1, 40, -1, -1, -1, -1, 45, 1,
47, 3, 4, -1, 6, 7, 8, -1, -1, -1,
-1, 13, 14, 15, 16, -1, 18, 19, 20, -1,
-1, -1, -1, -1, -1, 27, -1, -1, 30, -1,
-1, -1, -1, -1, -1, 37, 38, -1, 40, -1,
-1, -1, -1, 45, 1, 47, 3, 4, -1, 6,
7, 8, -1, -1, -1, 12, 13, 14, -1, 16,
-1, 18, 19, 20, -1, -1, -1, -1, -1, -1,
27, -1, -1, 30, -1, -1, -1, -1, -1, -1,
37, 38, -1, 40, -1, -1, -1, -1, 45, 1,
47, 3, 4, -1, 6, 7, 8, -1, -1, -1,
-1, 13, 14, 15, 16, -1, 18, 19, 20, -1,
-1, -1, -1, -1, -1, 27, -1, -1, 30, -1,
-1, -1, -1, -1, -1, 37, 38, -1, 40, -1,
-1, -1, -1, 45, 1, 47, 3, 4, -1, 6,
7, 8, -1, -1, -1, 12, 13, 14, -1, 16,
-1, 18, 19, 20, -1, -1, -1, -1, -1, -1,
27, -1, -1, 30, -1, -1, -1, -1, -1, -1,
37, 38, -1, 40, -1, -1, -1, -1, 45, 1,
47, 3, 4, -1, 6, 7, 8, -1, -1, -1,
-1, 13, 14, -1, 16, -1, 18, 19, 20, -1,
-1, -1, -1, -1, -1, 27, -1, -1, 30, -1,
-1, -1, -1, -1, -1, 37, 38, -1, 40, -1,
-1, -1, -1, 45, 1, 47, 3, 4, -1, 6,
7, 8, -1, -1, -1, -1, 13, 14, -1, 16,
-1, 18, 19, 20, -1, -1, -1, -1, -1, -1,
27, -1, -1, 30, -1, -1, -1, -1, -1, -1,
37, 38, -1, 40, -1, -1, -1, -1, 45, 1,
47, 3, 4, -1, -1, 7, 8, -1, -1, -1,
-1, 13, 14, -1, 16, -1, 18, 19, 20, -1,
1, -1, 3, 4, -1, 27, 7, -1, 30, -1,
-1, -1, -1, 3, 4, 37, -1, 7, 40, -1,
-1, -1, -1, 45, 46, 47, 27, -1, -1, 30,
-1, -1, -1, -1, -1, -1, 37, 27, -1, 40,
30, -1, -1, -1, 45, -1, 47, 37, 9, -1,
40, -1, -1, -1, -1, 45, -1, 47, -1, -1,
21, 22, 23, 24, 25, 26, 9, -1, -1, 30,
31, 32, 33, -1, 35, 36, -1, -1, 21, 22,
23, 24, 25, 26, 9, -1, -1, 30, 31, 32,
33, -1, 35, 36, -1, -1, 21, 22, 23, 24,
25, 26, -1, -1, -1, 30, 31, 32, 33, 14,
35, 36, -1, -1, -1, -1, 21, 22, 23, 24,
25, 26, -1, -1, -1, 30, 31, 32, 33, 14,
35, 36, -1, -1, -1, -1, 21, 22, 23, 24,
25, 26, -1, -1, -1, 30, 31, 32, 33, -1,
35, 36, -1, -1, -1, -1, 41, 21, 22, 23,
24, 25, 26, -1, -1, -1, 30, 31, 32, 33,
-1, 35, 36, -1, -1, -1, -1, 41, 21, 22,
23, 24, 25, 26, -1, -1, -1, 30, 31, 32,
33, -1, 35, 36, -1, -1, -1, -1, 41, 21,
22, 23, 24, 25, 26, -1, -1, 29, 30, 31,
32, 33, -1, 35, 36, 21, 22, 23, 24, 25,
26, -1, -1, -1, 30, 31, 32, 33, -1, 35,
35, 36, 21, 22, 23, 24, 25, 26, -1, -1,
-1, 30, 31, 32, 33, -1, 35, 36, -1, -1,
-1, -1, 41, 21, 22, 23, 24, 25, 26, -1,
-1, -1, 30, 31, 32, 33, -1, 35, 36, -1,
-1, -1, -1, 41, 21, 22, 23, 24, 25, 26,
-1, -1, -1, 30, 31, 32, 33, -1, 35, 36,
-1, -1, -1, -1, 41, 21, 22, 23, 24, 25,
26, -1, -1, 29, 30, 31, 32, 33, -1, 35,
36, 21, 22, 23, 24, 25, 26, -1, -1, -1,
-1, -1, 32, 33, -1, 35, 36
30, 31, 32, 33, -1, 35, 36, 21, 22, 23,
24, 25, 26, -1, -1, -1, -1, -1, 32, 33,
-1, 35, 36, 21, 22, 23, 24, 25, 26, -1,
-1, -1, -1, -1, -1, -1, -1, 35, 36
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@ -1118,10 +1137,10 @@ static const unsigned char yystos[] =
58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
58, 58, 62, 62, 1, 58, 3, 62, 58, 63,
52, 58, 3, 52, 58, 58, 58, 58, 58, 65,
41, 41, 39, 44, 46, 11, 12, 57, 41, 15,
14, 41, 39, 39, 58, 62, 58, 10, 11, 12,
52, 58, 58, 9, 52, 58, 15, 52, 12, 9,
52
41, 41, 39, 44, 46, 10, 11, 12, 57, 41,
15, 14, 41, 39, 39, 58, 62, 52, 58, 10,
11, 12, 52, 58, 58, 12, 9, 52, 58, 15,
52, 12, 9, 52
};
#define yyerrok (yyerrstatus = 0)
@ -1323,7 +1342,7 @@ int yydebug;
# define YYMAXDEPTH 10000
#endif
#if YYERROR_VERBOSE
@ -1426,7 +1445,7 @@ yytnamerr (char *yyres, const char *yystr)
#endif /* YYERROR_VERBOSE */
#if YYDEBUG
/*--------------------------------.
@ -1495,7 +1514,7 @@ yydestruct (yymsg, yytype, yyvaluep)
break;
}
}
/* Prevent warnings from -Wmissing-prototypes. */
@ -1867,231 +1886,236 @@ yyreduce:
case 21:
#line 444 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_if_else (parser, (yyvsp[-4].node), (yyvsp[-2].node), MS_NODE_LIST ((yyvsp[-1].node)), NULL); ;}
{ (yyval.node) = node_if_else (parser, (yyvsp[-5].node), (yyvsp[-3].node), NULL, (yyvsp[-1].node)); ;}
break;
case 22:
#line 446 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_if_else (parser, (yyvsp[-6].node), (yyvsp[-4].node), MS_NODE_LIST ((yyvsp[-3].node)), (yyvsp[-1].node)); ;}
#line 445 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_if_else (parser, (yyvsp[-4].node), (yyvsp[-2].node), MS_NODE_LIST ((yyvsp[-1].node)), NULL); ;}
break;
case 23:
#line 450 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_list_add (parser, NULL, node_condition (parser, (yyvsp[-2].node), (yyvsp[0].node))); ;}
#line 447 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_if_else (parser, (yyvsp[-6].node), (yyvsp[-4].node), MS_NODE_LIST ((yyvsp[-3].node)), (yyvsp[-1].node)); ;}
break;
case 24:
#line 451 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_list_add (parser, MS_NODE_LIST ((yyvsp[-4].node)), node_condition (parser, (yyvsp[-2].node), (yyvsp[0].node))); ;}
{ (yyval.node) = node_list_add (parser, NULL, node_condition (parser, (yyvsp[-2].node), (yyvsp[0].node))); ;}
break;
case 28:
#line 460 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_assignment (parser, (yyvsp[-2].str), (yyvsp[0].node)); ;}
case 25:
#line 452 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_list_add (parser, MS_NODE_LIST ((yyvsp[-4].node)), node_condition (parser, (yyvsp[-2].node), (yyvsp[0].node))); ;}
break;
case 29:
#line 461 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_set_item (parser, (yyvsp[-5].node), (yyvsp[-3].node), (yyvsp[0].node)); ;}
{ (yyval.node) = node_assignment (parser, (yyvsp[-2].str), (yyvsp[0].node)); ;}
break;
case 30:
#line 462 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = NULL; ;}
{ (yyval.node) = node_set_item (parser, (yyvsp[-5].node), (yyvsp[-3].node), (yyvsp[0].node)); ;}
break;
case 31:
#line 463 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_dict_assign (parser, (yyvsp[-4].node), (yyvsp[-2].str), (yyvsp[0].node)); ;}
{ (yyval.node) = NULL; ;}
break;
case 32:
#line 466 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_if_else (parser, (yyvsp[-4].node), (yyvsp[-2].node), NULL, (yyvsp[0].node)); ;}
#line 464 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_dict_assign (parser, (yyvsp[-4].node), (yyvsp[-2].str), (yyvsp[0].node)); ;}
break;
case 33:
#line 470 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_binary_op (parser, MS_OP_PLUS, (yyvsp[-2].node), (yyvsp[0].node)); ;}
#line 467 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_if_else (parser, (yyvsp[-4].node), (yyvsp[-2].node), NULL, (yyvsp[0].node)); ;}
break;
case 34:
#line 471 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_binary_op (parser, MS_OP_MINUS, (yyvsp[-2].node), (yyvsp[0].node)); ;}
{ (yyval.node) = node_binary_op (parser, MS_OP_PLUS, (yyvsp[-2].node), (yyvsp[0].node)); ;}
break;
case 35:
#line 472 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_binary_op (parser, MS_OP_DIV, (yyvsp[-2].node), (yyvsp[0].node)); ;}
{ (yyval.node) = node_binary_op (parser, MS_OP_MINUS, (yyvsp[-2].node), (yyvsp[0].node)); ;}
break;
case 36:
#line 473 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_binary_op (parser, MS_OP_MULT, (yyvsp[-2].node), (yyvsp[0].node)); ;}
{ (yyval.node) = node_binary_op (parser, MS_OP_DIV, (yyvsp[-2].node), (yyvsp[0].node)); ;}
break;
case 37:
#line 475 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_binary_op (parser, MS_OP_AND, (yyvsp[-2].node), (yyvsp[0].node)); ;}
#line 474 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_binary_op (parser, MS_OP_MULT, (yyvsp[-2].node), (yyvsp[0].node)); ;}
break;
case 38:
#line 476 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_binary_op (parser, MS_OP_OR, (yyvsp[-2].node), (yyvsp[0].node)); ;}
{ (yyval.node) = node_binary_op (parser, MS_OP_AND, (yyvsp[-2].node), (yyvsp[0].node)); ;}
break;
case 39:
#line 478 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_binary_op (parser, MS_OP_EQ, (yyvsp[-2].node), (yyvsp[0].node)); ;}
#line 477 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_binary_op (parser, MS_OP_OR, (yyvsp[-2].node), (yyvsp[0].node)); ;}
break;
case 40:
#line 479 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_binary_op (parser, MS_OP_NEQ, (yyvsp[-2].node), (yyvsp[0].node)); ;}
{ (yyval.node) = node_binary_op (parser, MS_OP_EQ, (yyvsp[-2].node), (yyvsp[0].node)); ;}
break;
case 41:
#line 480 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_binary_op (parser, MS_OP_LT, (yyvsp[-2].node), (yyvsp[0].node)); ;}
{ (yyval.node) = node_binary_op (parser, MS_OP_NEQ, (yyvsp[-2].node), (yyvsp[0].node)); ;}
break;
case 42:
#line 481 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_binary_op (parser, MS_OP_GT, (yyvsp[-2].node), (yyvsp[0].node)); ;}
{ (yyval.node) = node_binary_op (parser, MS_OP_LT, (yyvsp[-2].node), (yyvsp[0].node)); ;}
break;
case 43:
#line 482 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_binary_op (parser, MS_OP_LE, (yyvsp[-2].node), (yyvsp[0].node)); ;}
{ (yyval.node) = node_binary_op (parser, MS_OP_GT, (yyvsp[-2].node), (yyvsp[0].node)); ;}
break;
case 44:
#line 483 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_binary_op (parser, MS_OP_GE, (yyvsp[-2].node), (yyvsp[0].node)); ;}
{ (yyval.node) = node_binary_op (parser, MS_OP_LE, (yyvsp[-2].node), (yyvsp[0].node)); ;}
break;
case 45:
#line 484 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_unary_op (parser, MS_OP_UMINUS, (yyvsp[0].node)); ;}
{ (yyval.node) = node_binary_op (parser, MS_OP_GE, (yyvsp[-2].node), (yyvsp[0].node)); ;}
break;
case 46:
#line 485 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_unary_op (parser, MS_OP_NOT, (yyvsp[0].node)); ;}
{ (yyval.node) = node_unary_op (parser, MS_OP_UMINUS, (yyvsp[0].node)); ;}
break;
case 47:
#line 486 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_unary_op (parser, MS_OP_LEN, (yyvsp[0].node)); ;}
{ (yyval.node) = node_unary_op (parser, MS_OP_NOT, (yyvsp[0].node)); ;}
break;
case 48:
#line 487 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_binary_op (parser, MS_OP_FORMAT, (yyvsp[-2].node), (yyvsp[0].node)); ;}
{ (yyval.node) = node_unary_op (parser, MS_OP_LEN, (yyvsp[0].node)); ;}
break;
case 49:
#line 489 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_binary_op (parser, MS_OP_IN, (yyvsp[-2].node), (yyvsp[0].node)); ;}
#line 488 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_binary_op (parser, MS_OP_FORMAT, (yyvsp[-2].node), (yyvsp[0].node)); ;}
break;
case 50:
#line 493 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_int (parser, (yyvsp[0].ival)); ;}
#line 490 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_binary_op (parser, MS_OP_IN, (yyvsp[-2].node), (yyvsp[0].node)); ;}
break;
case 51:
#line 494 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_string (parser, (yyvsp[0].str)); ;}
{ (yyval.node) = node_int (parser, (yyvsp[0].ival)); ;}
break;
case 53:
#line 496 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = (yyvsp[-1].node); ;}
case 52:
#line 495 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_string (parser, (yyvsp[0].str)); ;}
break;
case 54:
#line 497 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = NULL; ;}
{ (yyval.node) = (yyvsp[-1].node); ;}
break;
case 55:
#line 498 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_value_list (parser, MS_NODE_LIST ((yyvsp[-1].node))); ;}
{ (yyval.node) = NULL; ;}
break;
case 56:
#line 499 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = NULL; ;}
{ (yyval.node) = node_value_list (parser, MS_NODE_LIST ((yyvsp[-1].node))); ;}
break;
case 57:
#line 500 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_dict (parser, (yyvsp[-1].node) ? MS_NODE_LIST ((yyvsp[-1].node)) : NULL); ;}
{ (yyval.node) = NULL; ;}
break;
case 58:
#line 501 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = NULL; ;}
{ (yyval.node) = node_dict (parser, (yyvsp[-1].node) ? MS_NODE_LIST ((yyvsp[-1].node)) : NULL); ;}
break;
case 59:
#line 502 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_value_range (parser, (yyvsp[-3].node), (yyvsp[-1].node)); ;}
{ (yyval.node) = NULL; ;}
break;
case 60:
#line 503 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_function (parser, (yyvsp[-3].node), (yyvsp[-1].node) ? MS_NODE_LIST ((yyvsp[-1].node)) : NULL); ;}
{ (yyval.node) = node_value_range (parser, (yyvsp[-3].node), (yyvsp[-1].node)); ;}
break;
case 61:
#line 504 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_get_item (parser, (yyvsp[-3].node), (yyvsp[-1].node)); ;}
{ (yyval.node) = node_function (parser, (yyvsp[-3].node), (yyvsp[-1].node) ? MS_NODE_LIST ((yyvsp[-1].node)) : NULL); ;}
break;
case 62:
#line 505 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_dict_elm (parser, (yyvsp[-2].node), (yyvsp[0].str)); ;}
{ (yyval.node) = node_get_item (parser, (yyvsp[-3].node), (yyvsp[-1].node)); ;}
break;
case 63:
#line 508 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = NULL; ;}
#line 506 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_dict_elm (parser, (yyvsp[-2].node), (yyvsp[0].str)); ;}
break;
case 64:
#line 509 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_list_add (parser, NULL, (yyvsp[0].node)); ;}
{ (yyval.node) = NULL; ;}
break;
case 65:
#line 510 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_list_add (parser, MS_NODE_LIST ((yyvsp[-2].node)), (yyvsp[0].node)); ;}
{ (yyval.node) = node_list_add (parser, NULL, (yyvsp[0].node)); ;}
break;
case 66:
#line 513 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = NULL; ;}
#line 511 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_list_add (parser, MS_NODE_LIST ((yyvsp[-2].node)), (yyvsp[0].node)); ;}
break;
case 67:
#line 514 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_list_add (parser, NULL, (yyvsp[0].node)); ;}
{ (yyval.node) = NULL; ;}
break;
case 68:
#line 515 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_list_add (parser, MS_NODE_LIST ((yyvsp[-2].node)), (yyvsp[0].node)); ;}
{ (yyval.node) = node_list_add (parser, NULL, (yyvsp[0].node)); ;}
break;
case 69:
#line 518 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_dict_entry (parser, (yyvsp[-2].str), (yyvsp[0].node)); ;}
#line 516 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_list_add (parser, MS_NODE_LIST ((yyvsp[-2].node)), (yyvsp[0].node)); ;}
break;
case 70:
#line 521 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
#line 519 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_dict_entry (parser, (yyvsp[-2].str), (yyvsp[0].node)); ;}
break;
case 71:
#line 522 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
{ (yyval.node) = node_var (parser, (yyvsp[0].str)); ;}
break;
@ -2100,8 +2124,8 @@ yyreduce:
}
/* Line 1126 of yacc.c. */
#line 2104 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.c"
#line 2128 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.c"
yyvsp -= yylen;
yyssp -= yylen;
@ -2368,6 +2392,6 @@ yyreturn:
}
#line 524 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"
#line 525 "/home/muntyan/projects/moo/moo/mooutils/mooscript/mooscript-yacc.y"