aboutsummaryrefslogtreecommitdiffstats
path: root/pbx
diff options
context:
space:
mode:
authorrizzo <rizzo@f38db490-d61c-443f-a65b-d21fe96a405b>2006-05-02 18:08:27 +0000
committerrizzo <rizzo@f38db490-d61c-443f-a65b-d21fe96a405b>2006-05-02 18:08:27 +0000
commitef8ba06c689b4d1c5b2078a95bca0e30e298643d (patch)
tree35fdd633a2f34224258f5f7700bbf55e4d2c0c15 /pbx
parent634d0379f7a970e26606950f791c923dc115fefd (diff)
if/ifTime/random statements are all the same thing
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@24248 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'pbx')
-rw-r--r--pbx/ael/ael.tab.c1240
-rw-r--r--pbx/ael/ael.y29
2 files changed, 613 insertions, 656 deletions
diff --git a/pbx/ael/ael.tab.c b/pbx/ael/ael.tab.c
index a34cdc7e6..07836dbb6 100644
--- a/pbx/ael/ael.tab.c
+++ b/pbx/ael/ael.tab.c
@@ -420,16 +420,16 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 14
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 492
+#define YYLAST 510
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 42
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 57
+#define YYNNTS 55
/* YYNRULES -- Number of rules. */
-#define YYNRULES 148
+#define YYNRULES 146
/* YYNRULES -- Number of states. */
-#define YYNSTATES 338
+#define YYNSTATES 332
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -487,12 +487,12 @@ static const unsigned short int yyprhs[] =
221, 223, 226, 230, 232, 235, 239, 240, 247, 251,
252, 258, 262, 266, 269, 270, 271, 272, 285, 286,
293, 296, 300, 304, 307, 310, 311, 317, 320, 323,
- 326, 330, 334, 338, 340, 343, 344, 346, 350, 354,
- 360, 366, 372, 378, 380, 384, 390, 394, 400, 404,
- 405, 411, 415, 416, 420, 424, 427, 429, 430, 432,
- 433, 437, 439, 442, 447, 451, 456, 460, 463, 467,
- 469, 472, 474, 480, 483, 486, 490, 493, 496, 500,
- 503, 506, 521, 532, 536, 552, 564, 567, 572
+ 326, 330, 332, 335, 336, 338, 342, 346, 352, 358,
+ 364, 370, 372, 376, 382, 386, 392, 396, 397, 403,
+ 407, 408, 412, 416, 419, 421, 422, 424, 425, 429,
+ 431, 434, 439, 443, 448, 452, 455, 459, 461, 464,
+ 466, 472, 475, 478, 482, 485, 488, 492, 495, 498,
+ 513, 524, 528, 544, 556, 559, 564
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -501,81 +501,80 @@ static const yysigned_char yyrhs[] =
43, 0, -1, 44, -1, 45, -1, 44, 45, -1,
44, 1, -1, 47, -1, 49, -1, 50, -1, 8,
-1, 41, -1, 36, -1, 48, 3, 46, 55, -1,
- 23, -1, -1, 15, 41, 6, 54, 7, 4, 91,
+ 23, -1, -1, 15, 41, 6, 54, 7, 4, 89,
5, -1, 15, 41, 6, 54, 7, 4, 5, -1,
- 15, 41, 6, 7, 4, 91, 5, -1, 15, 41,
+ 15, 41, 6, 7, 4, 89, 5, -1, 15, 41,
6, 7, 4, 5, -1, 16, 4, 51, 5, -1,
16, 4, 5, -1, 52, -1, 51, 52, -1, 51,
1, -1, -1, 41, 9, 53, 41, 8, -1, 41,
-1, 54, 10, 41, -1, 54, 1, -1, 4, 5,
-1, 4, 56, 5, -1, 57, -1, 1, -1, 56,
- 57, -1, 56, 1, -1, 60, -1, 98, -1, 93,
- -1, 94, -1, 59, -1, -1, 41, 9, 58, 41,
+ 57, -1, 56, 1, -1, 60, -1, 96, -1, 91,
+ -1, 92, -1, 59, -1, -1, 41, 9, 58, 41,
8, -1, 41, 1, -1, 8, -1, 17, 24, 41,
- 8, -1, 41, 24, 72, -1, 30, 41, 24, 72,
- -1, 31, 6, 68, 7, 41, 24, 72, -1, 30,
- 31, 6, 68, 7, 41, 24, 72, -1, 72, -1,
- 61, 72, -1, 61, 1, -1, -1, 19, 6, 63,
- 67, 7, -1, -1, 22, 6, 65, 67, 7, -1,
- 20, 6, 68, 11, 68, 11, 68, 13, 68, 13,
- 68, 13, 68, 7, -1, 20, 6, 41, 13, 68,
- 13, 68, 13, 68, 7, -1, 41, -1, 41, 41,
+ 8, -1, 41, 24, 70, -1, 30, 41, 24, 70,
+ -1, 31, 6, 66, 7, 41, 24, 70, -1, 30,
+ 31, 6, 66, 7, 41, 24, 70, -1, 70, -1,
+ 61, 70, -1, 61, 1, -1, -1, 19, 6, 63,
+ 65, 7, -1, -1, 22, 6, 64, 65, 7, -1,
+ 20, 6, 66, 11, 66, 11, 66, 13, 66, 13,
+ 66, 13, 66, 7, -1, 20, 6, 41, 13, 66,
+ 13, 66, 13, 66, 7, -1, 41, -1, 41, 41,
-1, 41, -1, 41, 41, -1, 41, 41, 41, -1,
41, -1, 41, 41, -1, 41, 11, 41, -1, -1,
- 18, 6, 71, 41, 7, 4, -1, 4, 61, 5,
- -1, -1, 41, 9, 73, 41, 8, -1, 25, 80,
- 8, -1, 26, 81, 8, -1, 41, 11, -1, -1,
- -1, -1, 32, 6, 74, 41, 8, 75, 41, 8,
- 76, 41, 7, 72, -1, -1, 33, 6, 77, 41,
- 7, 72, -1, 70, 5, -1, 70, 89, 5, -1,
- 12, 82, 8, -1, 86, 8, -1, 41, 8, -1,
- -1, 86, 9, 78, 41, 8, -1, 28, 8, -1,
- 27, 8, -1, 29, 8, -1, 64, 72, 79, -1,
- 62, 72, 79, -1, 66, 72, 79, -1, 8, -1,
- 21, 72, -1, -1, 69, -1, 69, 13, 69, -1,
- 69, 10, 69, -1, 69, 13, 69, 13, 69, -1,
- 69, 10, 69, 10, 69, -1, 36, 13, 69, 13,
- 69, -1, 36, 10, 69, 10, 69, -1, 69, -1,
- 69, 10, 69, -1, 69, 10, 41, 14, 41, -1,
- 69, 14, 69, -1, 69, 10, 41, 14, 36, -1,
- 69, 14, 36, -1, -1, 41, 6, 83, 88, 7,
- -1, 41, 6, 7, -1, -1, 41, 6, 85, -1,
- 84, 88, 7, -1, 84, 7, -1, 41, -1, -1,
- 67, -1, -1, 88, 10, 87, -1, 90, -1, 89,
- 90, -1, 34, 41, 11, 61, -1, 36, 11, 61,
- -1, 35, 41, 11, 61, -1, 34, 41, 11, -1,
- 36, 11, -1, 35, 41, 11, -1, 92, -1, 91,
- 92, -1, 72, -1, 37, 41, 4, 61, 5, -1,
- 38, 95, -1, 39, 95, -1, 4, 96, 5, -1,
- 4, 5, -1, 41, 8, -1, 96, 41, 8, -1,
- 96, 1, -1, 46, 8, -1, 46, 13, 68, 11,
- 68, 11, 68, 13, 68, 13, 68, 13, 68, 8,
- -1, 46, 13, 41, 13, 68, 13, 68, 13, 68,
- 8, -1, 97, 46, 8, -1, 97, 46, 13, 68,
- 11, 68, 11, 68, 13, 68, 13, 68, 13, 68,
- 8, -1, 97, 46, 13, 41, 13, 68, 13, 68,
- 13, 68, 8, -1, 97, 1, -1, 40, 4, 97,
- 5, -1, 40, 4, 5, -1
+ 18, 6, 69, 41, 7, 4, -1, 4, 61, 5,
+ -1, -1, 41, 9, 71, 41, 8, -1, 25, 78,
+ 8, -1, 26, 79, 8, -1, 41, 11, -1, -1,
+ -1, -1, 32, 6, 72, 41, 8, 73, 41, 8,
+ 74, 41, 7, 70, -1, -1, 33, 6, 75, 41,
+ 7, 70, -1, 68, 5, -1, 68, 87, 5, -1,
+ 12, 80, 8, -1, 84, 8, -1, 41, 8, -1,
+ -1, 84, 9, 76, 41, 8, -1, 28, 8, -1,
+ 27, 8, -1, 29, 8, -1, 62, 70, 77, -1,
+ 8, -1, 21, 70, -1, -1, 67, -1, 67, 13,
+ 67, -1, 67, 10, 67, -1, 67, 13, 67, 13,
+ 67, -1, 67, 10, 67, 10, 67, -1, 36, 13,
+ 67, 13, 67, -1, 36, 10, 67, 10, 67, -1,
+ 67, -1, 67, 10, 67, -1, 67, 10, 41, 14,
+ 41, -1, 67, 14, 67, -1, 67, 10, 41, 14,
+ 36, -1, 67, 14, 36, -1, -1, 41, 6, 81,
+ 86, 7, -1, 41, 6, 7, -1, -1, 41, 6,
+ 83, -1, 82, 86, 7, -1, 82, 7, -1, 41,
+ -1, -1, 65, -1, -1, 86, 10, 85, -1, 88,
+ -1, 87, 88, -1, 34, 41, 11, 61, -1, 36,
+ 11, 61, -1, 35, 41, 11, 61, -1, 34, 41,
+ 11, -1, 36, 11, -1, 35, 41, 11, -1, 90,
+ -1, 89, 90, -1, 70, -1, 37, 41, 4, 61,
+ 5, -1, 38, 93, -1, 39, 93, -1, 4, 94,
+ 5, -1, 4, 5, -1, 41, 8, -1, 94, 41,
+ 8, -1, 94, 1, -1, 46, 8, -1, 46, 13,
+ 66, 11, 66, 11, 66, 13, 66, 13, 66, 13,
+ 66, 8, -1, 46, 13, 41, 13, 66, 13, 66,
+ 13, 66, 8, -1, 95, 46, 8, -1, 95, 46,
+ 13, 66, 11, 66, 11, 66, 13, 66, 13, 66,
+ 13, 66, 8, -1, 95, 46, 13, 41, 13, 66,
+ 13, 66, 13, 66, 8, -1, 95, 1, -1, 40,
+ 4, 95, 5, -1, 40, 4, 5, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const unsigned short int yyrline[] =
{
- 0, 175, 175, 178, 179, 180, 183, 184, 185, 186,
- 189, 190, 193, 201, 202, 205, 208, 211, 215, 220,
- 223, 227, 228, 229, 232, 232, 238, 239, 240, 243,
- 244, 247, 248, 249, 250, 253, 254, 255, 256, 257,
- 258, 258, 262, 263, 266, 271, 275, 280, 285, 294,
- 295, 296, 299, 299, 304, 304, 309, 322, 338, 339,
- 346, 347, 352, 360, 361, 365, 371, 371, 379, 382,
- 382, 386, 389, 392, 395, 396, 397, 395, 403, 403,
- 407, 409, 412, 414, 416, 419, 419, 452, 453, 454,
- 455, 459, 463, 467, 470, 471, 476, 477, 480, 483,
- 487, 491, 495, 502, 505, 508, 512, 516, 520, 526,
- 526, 531, 539, 539, 550, 557, 560, 561, 564, 565,
- 568, 571, 572, 575, 579, 583, 587, 590, 593, 598,
- 599, 602, 603, 609, 614, 619, 620, 623, 624, 625,
- 628, 629, 642, 650, 651, 665, 676, 679, 682
+ 0, 173, 173, 176, 177, 178, 181, 182, 183, 184,
+ 187, 188, 191, 199, 200, 203, 206, 209, 213, 218,
+ 221, 225, 226, 227, 230, 230, 236, 237, 238, 241,
+ 242, 245, 246, 247, 248, 251, 252, 253, 254, 255,
+ 256, 256, 260, 261, 264, 269, 273, 278, 283, 292,
+ 293, 294, 298, 298, 301, 301, 304, 317, 333, 334,
+ 341, 342, 347, 355, 356, 360, 366, 366, 374, 377,
+ 377, 381, 384, 387, 390, 391, 392, 390, 398, 398,
+ 402, 404, 407, 409, 411, 414, 414, 447, 448, 449,
+ 450, 454, 457, 458, 463, 464, 467, 470, 474, 478,
+ 482, 489, 492, 495, 499, 503, 507, 513, 513, 518,
+ 526, 526, 537, 544, 547, 548, 551, 552, 555, 558,
+ 559, 562, 566, 570, 574, 577, 580, 585, 586, 589,
+ 590, 596, 601, 606, 607, 610, 611, 612, 615, 616,
+ 629, 637, 638, 652, 663, 666, 669
};
#endif
@@ -594,14 +593,13 @@ static const char *const yytname[] =
"objects", "object", "word_or_default", "context", "opt_abstract",
"macro", "globals", "global_statements", "global_statement", "@1",
"arglist", "elements_block", "elements", "element", "@2", "ignorepat",
- "extension", "statements", "if_head", "@3", "random_head", "@4",
- "iftime_head", "word_list", "word3_list", "goto_word", "switch_head",
- "@5", "statement", "@6", "@7", "@8", "@9", "@10", "@11", "opt_else",
- "target", "jumptarget", "macro_call", "@12", "application_call_head",
- "@13", "application_call", "opt_word", "eval_arglist", "case_statements",
- "case_statement", "macro_statements", "macro_statement", "switches",
- "eswitches", "switchlist_block", "switchlist", "includeslist",
- "includes", 0
+ "extension", "statements", "if_like_head", "@3", "@4", "word_list",
+ "word3_list", "goto_word", "switch_head", "@5", "statement", "@6", "@7",
+ "@8", "@9", "@10", "@11", "opt_else", "target", "jumptarget",
+ "macro_call", "@12", "application_call_head", "@13", "application_call",
+ "opt_word", "eval_arglist", "case_statements", "case_statement",
+ "macro_statements", "macro_statement", "switches", "eswitches",
+ "switchlist_block", "switchlist", "includeslist", "includes", 0
};
#endif
@@ -626,16 +624,16 @@ static const unsigned char yyr1[] =
50, 51, 51, 51, 53, 52, 54, 54, 54, 55,
55, 56, 56, 56, 56, 57, 57, 57, 57, 57,
58, 57, 57, 57, 59, 60, 60, 60, 60, 61,
- 61, 61, 63, 62, 65, 64, 66, 66, 67, 67,
- 68, 68, 68, 69, 69, 69, 71, 70, 72, 73,
- 72, 72, 72, 72, 74, 75, 76, 72, 77, 72,
- 72, 72, 72, 72, 72, 78, 72, 72, 72, 72,
- 72, 72, 72, 72, 79, 79, 80, 80, 80, 80,
- 80, 80, 80, 81, 81, 81, 81, 81, 81, 83,
- 82, 82, 85, 84, 86, 86, 87, 87, 88, 88,
- 88, 89, 89, 90, 90, 90, 90, 90, 90, 91,
- 91, 92, 92, 93, 94, 95, 95, 96, 96, 96,
- 97, 97, 97, 97, 97, 97, 97, 98, 98
+ 61, 61, 63, 62, 64, 62, 62, 62, 65, 65,
+ 66, 66, 66, 67, 67, 67, 69, 68, 70, 71,
+ 70, 70, 70, 70, 72, 73, 74, 70, 75, 70,
+ 70, 70, 70, 70, 70, 76, 70, 70, 70, 70,
+ 70, 70, 77, 77, 78, 78, 78, 78, 78, 78,
+ 78, 79, 79, 79, 79, 79, 79, 81, 80, 80,
+ 83, 82, 84, 84, 85, 85, 86, 86, 86, 87,
+ 87, 88, 88, 88, 88, 88, 88, 89, 89, 90,
+ 90, 91, 92, 93, 93, 94, 94, 94, 95, 95,
+ 95, 95, 95, 95, 95, 96, 96
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -650,12 +648,12 @@ static const unsigned char yyr2[] =
1, 2, 3, 1, 2, 3, 0, 6, 3, 0,
5, 3, 3, 2, 0, 0, 0, 12, 0, 6,
2, 3, 3, 2, 2, 0, 5, 2, 2, 2,
- 3, 3, 3, 1, 2, 0, 1, 3, 3, 5,
- 5, 5, 5, 1, 3, 5, 3, 5, 3, 0,
- 5, 3, 0, 3, 3, 2, 1, 0, 1, 0,
- 3, 1, 2, 4, 3, 4, 3, 2, 3, 1,
- 2, 1, 5, 2, 2, 3, 2, 2, 3, 2,
- 2, 14, 10, 3, 15, 11, 2, 4, 3
+ 3, 1, 2, 0, 1, 3, 3, 5, 5, 5,
+ 5, 1, 3, 5, 3, 5, 3, 0, 5, 3,
+ 0, 3, 3, 2, 1, 0, 1, 0, 3, 1,
+ 2, 4, 3, 4, 3, 2, 3, 1, 2, 1,
+ 5, 2, 2, 3, 2, 2, 3, 2, 2, 14,
+ 10, 3, 15, 11, 2, 4, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -668,211 +666,215 @@ static const unsigned char yydefact[] =
0, 0, 21, 11, 10, 0, 0, 26, 0, 24,
23, 19, 22, 0, 12, 0, 28, 0, 0, 0,
32, 29, 43, 0, 0, 0, 0, 0, 0, 0,
- 0, 31, 39, 35, 37, 38, 36, 0, 18, 93,
+ 0, 31, 39, 35, 37, 38, 36, 0, 18, 91,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 131, 119,
- 0, 0, 129, 0, 27, 0, 0, 0, 0, 0,
- 0, 133, 134, 0, 42, 40, 0, 34, 30, 33,
- 0, 49, 0, 0, 66, 52, 0, 54, 0, 63,
- 96, 0, 103, 0, 88, 87, 89, 74, 78, 0,
- 112, 84, 69, 73, 95, 95, 95, 80, 0, 0,
- 0, 0, 121, 115, 58, 118, 0, 83, 85, 17,
- 130, 16, 0, 25, 0, 0, 0, 60, 0, 136,
- 0, 0, 148, 0, 0, 0, 45, 51, 68, 50,
- 109, 82, 0, 0, 60, 0, 0, 0, 0, 0,
- 64, 0, 0, 71, 0, 0, 72, 0, 0, 0,
- 113, 0, 0, 91, 90, 92, 0, 0, 127, 81,
- 122, 59, 114, 117, 0, 15, 44, 0, 46, 61,
- 0, 137, 139, 135, 0, 140, 0, 146, 147, 0,
- 0, 111, 119, 0, 0, 0, 0, 0, 0, 0,
- 65, 98, 97, 63, 104, 108, 106, 0, 0, 0,
- 0, 94, 126, 128, 0, 116, 120, 0, 0, 62,
- 0, 138, 60, 0, 143, 0, 41, 0, 0, 53,
- 0, 0, 55, 0, 0, 0, 0, 0, 75, 0,
- 132, 70, 0, 0, 86, 0, 0, 0, 0, 60,
- 0, 110, 67, 0, 0, 102, 101, 100, 99, 107,
- 105, 0, 79, 0, 47, 0, 0, 0, 0, 0,
- 0, 0, 48, 0, 0, 0, 0, 0, 0, 76,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 57, 0, 0, 0, 0, 0, 0, 0, 0,
- 142, 0, 0, 0, 0, 77, 0, 145, 0, 0,
- 0, 0, 56, 0, 0, 141, 0, 144
+ 0, 0, 0, 0, 0, 0, 129, 117, 0, 0,
+ 127, 0, 27, 0, 0, 0, 0, 0, 0, 131,
+ 132, 0, 42, 40, 0, 34, 30, 33, 0, 49,
+ 0, 0, 66, 52, 0, 54, 0, 63, 94, 0,
+ 101, 0, 88, 87, 89, 74, 78, 0, 110, 84,
+ 69, 73, 93, 80, 0, 0, 0, 0, 119, 113,
+ 58, 116, 0, 83, 85, 17, 128, 16, 0, 25,
+ 0, 0, 0, 60, 0, 134, 0, 0, 146, 0,
+ 0, 0, 45, 51, 68, 50, 107, 82, 0, 0,
+ 60, 0, 0, 0, 0, 0, 64, 0, 0, 71,
+ 0, 0, 72, 0, 0, 0, 111, 0, 0, 90,
+ 0, 0, 125, 81, 120, 59, 112, 115, 0, 15,
+ 44, 0, 46, 61, 0, 135, 137, 133, 0, 138,
+ 0, 144, 145, 0, 0, 109, 117, 0, 0, 0,
+ 0, 0, 0, 0, 65, 96, 95, 63, 102, 106,
+ 104, 0, 0, 0, 0, 92, 124, 126, 0, 114,
+ 118, 0, 0, 62, 0, 136, 60, 0, 141, 0,
+ 41, 0, 0, 53, 0, 0, 55, 0, 0, 0,
+ 0, 0, 75, 0, 130, 70, 0, 0, 86, 0,
+ 0, 0, 0, 60, 0, 108, 67, 0, 0, 100,
+ 99, 98, 97, 105, 103, 0, 79, 0, 47, 0,
+ 0, 0, 0, 0, 0, 0, 48, 0, 0, 0,
+ 0, 0, 0, 76, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 57, 0, 0, 0, 0,
+ 0, 0, 0, 0, 140, 0, 0, 0, 0, 77,
+ 0, 143, 0, 0, 0, 0, 56, 0, 0, 139,
+ 0, 142
};
/* YYDEFGOTO[NTERM-NUM]. */
static const short int yydefgoto[] =
{
-1, 5, 6, 7, 25, 8, 9, 10, 11, 21,
- 22, 39, 28, 34, 50, 51, 155, 52, 53, 100,
- 74, 163, 75, 166, 76, 135, 148, 110, 77, 162,
- 101, 181, 177, 281, 306, 178, 194, 183, 111, 113,
- 103, 212, 79, 180, 80, 236, 136, 131, 132, 81,
- 82, 54, 55, 91, 151, 154, 56
+ 22, 39, 28, 34, 50, 51, 151, 52, 53, 98,
+ 74, 159, 162, 131, 144, 108, 75, 158, 99, 177,
+ 173, 275, 300, 174, 188, 179, 109, 111, 101, 206,
+ 77, 176, 78, 230, 132, 127, 128, 79, 80, 54,
+ 55, 89, 147, 150, 56
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -175
+#define YYPACT_NINF -173
static const short int yypact[] =
{
- 70, -175, -31, 15, -175, 32, 152, -175, -175, 68,
- -175, -175, 82, 4, -175, -175, -175, 55, 9, -175,
- 83, 3, -175, -175, -175, 90, 101, -175, 20, -175,
- -175, -175, -175, 140, -175, 347, -175, 136, 132, 133,
- -175, -175, -175, 164, -18, 183, 186, 186, 187, 11,
- 297, -175, -175, -175, -175, -175, -175, 451, -175, -175,
- 151, 189, 192, 194, 195, 95, 163, 185, 197, 200,
- 203, 204, 172, 25, 451, 451, 451, 74, -175, 10,
- 141, 373, -175, 399, -175, 206, 174, 212, 196, 178,
- 6, -175, -175, 1, -175, -175, 451, -175, -175, -175,
- 291, -175, 216, 215, -175, -175, 188, -175, 16, 14,
- 91, 224, 8, 226, -175, -175, -175, -175, -175, 231,
- -175, -175, -175, -175, 217, 217, 217, -175, 199, 201,
- 225, 98, -175, -175, 208, -175, 154, -175, -175, -175,
- -175, -175, 425, -175, 233, 178, 451, 209, 244, -175,
- 245, 23, -175, 129, 2, 211, -175, -175, -175, -175,
- 248, -175, 218, 219, 56, 251, 219, 163, 163, 222,
- -175, 163, 163, -175, 223, 102, -175, 227, 228, 451,
- -175, 229, 451, -175, -175, -175, 255, 256, 451, -175,
- -175, -175, -175, 235, 236, -175, -175, 249, -175, 242,
- 250, -175, -175, -175, 266, -175, 252, -175, -175, 131,
- 282, -175, 219, 290, 293, 178, 178, 294, 296, 295,
- -175, 302, 308, 76, -175, -175, -175, 299, 323, 321,
- 307, -175, 451, 451, 48, -175, -175, 326, 263, -175,
- 318, -175, 59, 320, -175, 303, -175, 162, 341, -175,
- 343, 346, -175, 163, 163, 163, 163, 115, -175, 451,
- -175, -175, 94, 253, -175, 334, 451, 178, 178, 105,
- 349, -175, -175, 178, 178, -175, -175, -175, -175, -175,
- -175, 322, -175, 451, -175, 348, 353, 178, 178, 355,
- 357, 363, -175, 178, 178, 369, 372, 178, 178, -175,
- 374, 376, 178, 178, 379, 377, 356, 178, 178, 381,
- 383, -175, 178, 401, 404, 396, 178, 178, 400, 451,
- -175, 178, 407, 403, 178, -175, 409, -175, 178, 413,
- 178, 410, -175, 426, 178, -175, 427, -175
+ 117, -173, -23, 2, -173, 27, 164, -173, -173, 55,
+ -173, -173, 72, 10, -173, -173, -173, 70, 7, -173,
+ 76, 33, -173, -173, -173, 87, 104, -173, 146, -173,
+ -173, -173, -173, 322, -173, 365, -173, 112, 79, 81,
+ -173, -173, -173, 100, 41, 124, 135, 135, 145, 19,
+ 327, -173, -173, -173, -173, -173, -173, 469, -173, -173,
+ 119, 160, 169, 201, 202, 116, 157, 143, 204, 205,
+ 203, 208, 176, 175, 469, 65, -173, 34, 195, 391,
+ -173, 417, -173, 215, 187, 210, 206, 188, 12, -173,
+ -173, -1, -173, -173, 469, -173, -173, -173, 4, -173,
+ 220, 224, -173, -173, 193, -173, 54, 8, 113, 227,
+ 11, 228, -173, -173, -173, -173, -173, 239, -173, -173,
+ -173, -173, 223, -173, 209, 212, 234, 110, -173, -173,
+ 213, -173, 185, -173, -173, -173, -173, -173, 443, -173,
+ 238, 188, 469, 216, 240, -173, 241, 51, -173, 155,
+ 6, 217, -173, -173, -173, -173, 249, -173, 219, 221,
+ 63, 250, 221, 157, 157, 222, -173, 157, 157, -173,
+ 229, 133, -173, 230, 236, 469, -173, 243, 469, -173,
+ 253, 257, 469, -173, -173, -173, -173, 244, 246, -173,
+ -173, 284, -173, 251, 254, -173, -173, -173, 286, -173,
+ 255, -173, -173, 165, 290, -173, 221, 292, 293, 188,
+ 188, 294, 296, 289, -173, 298, 302, 57, -173, -173,
+ -173, 301, 309, 109, 314, -173, 469, 469, 61, -173,
+ -173, 316, 288, -173, 307, -173, 64, 323, -173, 295,
+ -173, 192, 321, -173, 320, 326, -173, 157, 157, 157,
+ 157, 153, -173, 469, -173, -173, 247, 285, -173, 317,
+ 469, 188, 188, 71, 329, -173, -173, 188, 188, -173,
+ -173, -173, -173, -173, -173, 297, -173, 469, -173, 330,
+ 331, 188, 188, 332, 333, 339, -173, 188, 188, 335,
+ 338, 188, 188, -173, 337, 341, 188, 188, 344, 342,
+ 315, 188, 188, 346, 351, -173, 188, 364, 366, 359,
+ 188, 188, 362, 469, -173, 188, 368, 367, 188, -173,
+ 369, -173, 188, 371, 188, 373, -173, 380, 188, -173,
+ 381, -173
};
/* YYPGOTO[NTERM-NUM]. */
static const short int yypgoto[] =
{
- -175, -175, -175, 432, -92, -175, -175, -175, -175, -175,
- 418, -175, -175, -175, -175, 391, -175, -175, -175, -174,
- -175, -175, -175, -175, -175, 21, -91, -9, -175, -175,
- -35, -175, -175, -175, -175, -175, -175, 60, -175, -175,
- -175, -175, -175, -175, -175, -175, 230, -175, 315, 365,
- -79, -175, -175, 402, -175, -175, -175
+ -173, -173, -173, 375, -90, -173, -173, -173, -173, -173,
+ 358, -173, -173, -173, -173, 350, -173, -173, -173, -172,
+ -173, -173, -173, 23, -91, -9, -173, -173, -35, -173,
+ -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
+ -173, -173, -173, -173, 198, -173, 274, 324, -77, -173,
+ -173, 360, -173, -173, -173
};
/* 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 -126
+#define YYTABLE_NINF -124
static const short int yytable[] =
{
- 78, 153, 140, 207, 30, 229, 152, 208, 31, 19,
- 12, 149, 94, 87, 234, 165, 26, 133, 174, 13,
- 95, 36, 175, 88, 202, 169, 167, 37, 203, 168,
- 38, 120, 14, 121, 122, 96, 123, 23, 23, 124,
- 125, 126, 24, 24, 20, 20, 78, 150, 78, 157,
- 27, 134, 57, -124, 197, 170, 59, 112, 262, 263,
- 60, 156, 209, 140, 204, 159, 61, 62, 63, 215,
- 64, 17, 267, 65, 66, 67, 68, 69, 1, 127,
- 70, 71, -124, -124, -124, 2, 3, 169, 18, 73,
- 257, 23, 29, 4, 33, 157, 24, 199, 57, -123,
- 199, 171, 59, 189, 172, 35, 60, 78, 128, 129,
- 130, 198, 61, 62, 63, 243, 64, 170, 287, 65,
- 66, 67, 68, 69, 250, 251, 70, 71, -123, -123,
- -123, 108, 128, 129, 130, 73, 109, 205, 225, 244,
- 83, 40, 206, 109, 245, 41, 199, 231, 42, 137,
- 138, 279, -2, 15, 270, -14, 280, 43, 218, 219,
- 1, 192, 221, 222, 193, 224, 226, 2, 3, 271,
- 44, 45, 193, 84, 85, 4, 285, 286, 46, 47,
- 48, 49, 289, 290, 214, 184, 185, 217, 86, 89,
- 90, 93, 102, 114, 159, 104, 295, 296, 105, 159,
- 106, 107, 300, 301, 109, 115, 304, 305, 116, 117,
- 118, 309, 310, 119, 143, 144, 314, 315, 145, 147,
- 146, 318, 160, 161, 282, 322, 323, 159, 159, 164,
- 326, 284, 173, 329, 176, 179, 188, 331, 182, 333,
- 186, 196, 187, 336, 275, 276, 277, 278, 292, 191,
- 199, 200, 210, 201, 157, 211, 238, 57, -125, 213,
- 134, 59, 216, 220, 223, 60, 232, 233, 227, 228,
- 230, 61, 62, 63, 241, 64, 235, 237, 65, 66,
- 67, 68, 69, 239, 325, 70, 71, -125, -125, -125,
- 246, 240, 157, 242, 73, 57, 158, 248, 97, 59,
- 249, 252, 98, 60, 265, 42, 253, 258, 254, 61,
- 62, 63, 255, 64, 43, 261, 65, 66, 67, 68,
- 69, 256, 157, 70, 71, 57, 260, 44, 45, 59,
- 259, 268, 73, 60, 264, 46, 47, 48, 49, 61,
- 62, 63, 266, 64, 269, 272, 65, 66, 67, 68,
- 69, 57, 58, 70, 71, 59, 273, 274, 283, 60,
- 288, 293, 73, 291, 294, 61, 62, 63, 297, 64,
- 298, 299, 65, 66, 67, 68, 69, 57, 139, 70,
- 71, 59, 302, 303, 72, 60, 311, 307, 73, 308,
- 312, 61, 62, 63, 316, 64, 317, 313, 65, 66,
- 67, 68, 69, 57, 141, 70, 71, 59, 319, 321,
- 72, 60, 320, 324, 73, 327, 328, 61, 62, 63,
- 332, 64, 330, 334, 65, 66, 67, 68, 69, 57,
- 195, 70, 71, 59, 335, 337, 72, 60, 16, 32,
- 73, 99, 247, 61, 62, 63, 190, 64, 142, 92,
- 65, 66, 67, 68, 69, 57, 0, 70, 71, 59,
- 0, 0, 72, 60, 0, 0, 73, 0, 0, 61,
+ 76, 149, 136, 223, 148, 153, 13, 201, 57, 154,
+ 228, 202, 59, 161, 26, 19, 60, 145, 12, 165,
+ 92, 170, 61, 62, 63, 171, 64, 14, 93, 65,
+ 66, 67, 68, 69, 30, 23, 70, 71, 31, 122,
+ 24, 129, 23, 94, 76, 73, 76, 24, 27, 166,
+ 191, 20, 196, 146, 256, 257, 197, 110, 17, 152,
+ 203, 136, 153, 155, 163, 57, -122, 164, 165, 59,
+ 123, 251, 85, 60, 20, 130, 209, 261, 18, 61,
+ 62, 63, 86, 64, 281, 29, 65, 66, 67, 68,
+ 69, 33, 198, 70, 71, -122, -122, -122, 166, 124,
+ 125, 126, 73, 76, 193, 193, 23, 192, 35, 237,
+ 153, 24, 193, 57, 254, 183, 81, 59, 244, 245,
+ 82, 60, 83, 167, 84, 1, 168, 61, 62, 63,
+ 87, 64, 2, 3, 65, 66, 67, 68, 69, 88,
+ 4, 70, 71, 225, 124, 125, 126, 36, 264, 91,
+ 73, 112, 106, 37, 212, 213, 38, 107, 215, 216,
+ 100, 218, 220, 199, -2, 15, 102, -14, 200, 219,
+ 279, 280, 1, 238, 107, 103, 283, 284, 239, 2,
+ 3, 118, 208, 119, 120, 211, 121, 4, 155, 273,
+ 289, 290, 186, 155, 274, 187, 294, 295, 107, 265,
+ 298, 299, 187, 133, 134, 303, 304, 104, 105, 115,
+ 308, 309, 113, 114, 116, 312, 141, 117, 276, 316,
+ 317, 155, 155, 139, 320, 278, 156, 323, 140, 143,
+ 142, 325, 157, 327, 160, 169, 172, 330, 269, 270,
+ 271, 272, 286, 175, 178, 182, 190, 194, 153, 195,
+ 180, 57, -121, 181, 185, 59, 205, 193, 204, 60,
+ 207, 210, 130, 214, 226, 61, 62, 63, 227, 64,
+ 217, 221, 65, 66, 67, 68, 69, 222, 319, 70,
+ 71, -121, -121, -121, 224, 229, 153, 231, 73, 57,
+ -123, 232, 233, 59, 235, 234, 236, 60, 240, 242,
+ 243, 246, 248, 61, 62, 63, 247, 64, 249, 252,
+ 65, 66, 67, 68, 69, 250, 253, 70, 71, -123,
+ -123, -123, 255, 40, 258, 266, 73, 41, 95, 259,
+ 42, 260, 96, 267, 262, 42, 263, 268, 285, 43,
+ 282, 277, 288, 287, 43, 291, 292, 293, 296, 297,
+ 301, 305, 44, 45, 302, 306, 307, 44, 45, 310,
+ 46, 47, 48, 49, 311, 46, 47, 48, 49, 57,
+ 58, 313, 315, 59, 314, 318, 321, 60, 326, 32,
+ 322, 16, 324, 61, 62, 63, 328, 64, 329, 331,
+ 65, 66, 67, 68, 69, 57, 135, 70, 71, 59,
+ 97, 184, 72, 60, 241, 138, 73, 90, 0, 61,
62, 63, 0, 64, 0, 0, 65, 66, 67, 68,
- 69, 0, 0, 70, 71, 0, 0, 0, 0, 0,
- 0, 0, 73
+ 69, 57, 137, 70, 71, 59, 0, 0, 72, 60,
+ 0, 0, 73, 0, 0, 61, 62, 63, 0, 64,
+ 0, 0, 65, 66, 67, 68, 69, 57, 189, 70,
+ 71, 59, 0, 0, 72, 60, 0, 0, 73, 0,
+ 0, 61, 62, 63, 0, 64, 0, 0, 65, 66,
+ 67, 68, 69, 57, 0, 70, 71, 59, 0, 0,
+ 72, 60, 0, 0, 73, 0, 0, 61, 62, 63,
+ 0, 64, 0, 0, 65, 66, 67, 68, 69, 0,
+ 0, 70, 71, 0, 0, 0, 0, 0, 0, 0,
+ 73
};
static const short int yycheck[] =
{
- 35, 93, 81, 1, 1, 179, 5, 5, 5, 5,
- 41, 5, 1, 31, 188, 106, 7, 7, 10, 4,
- 9, 1, 14, 41, 1, 11, 10, 7, 5, 13,
- 10, 6, 0, 8, 9, 24, 11, 36, 36, 74,
- 75, 76, 41, 41, 41, 41, 81, 41, 83, 1,
- 41, 41, 4, 5, 145, 41, 8, 66, 232, 233,
- 12, 96, 154, 142, 41, 100, 18, 19, 20, 13,
- 22, 3, 13, 25, 26, 27, 28, 29, 8, 5,
- 32, 33, 34, 35, 36, 15, 16, 11, 6, 41,
- 14, 36, 9, 23, 4, 1, 41, 41, 4, 5,
- 41, 10, 8, 5, 13, 4, 12, 142, 34, 35,
- 36, 146, 18, 19, 20, 206, 22, 41, 13, 25,
- 26, 27, 28, 29, 215, 216, 32, 33, 34, 35,
- 36, 36, 34, 35, 36, 41, 41, 8, 36, 8,
- 4, 1, 13, 41, 13, 5, 41, 182, 8, 8,
- 9, 36, 0, 1, 245, 3, 41, 17, 167, 168,
- 8, 7, 171, 172, 10, 174, 175, 15, 16, 7,
- 30, 31, 10, 41, 41, 23, 267, 268, 38, 39,
- 40, 41, 273, 274, 163, 125, 126, 166, 24, 6,
- 4, 4, 41, 8, 229, 6, 287, 288, 6, 234,
- 6, 6, 293, 294, 41, 8, 297, 298, 8, 6,
- 6, 302, 303, 41, 8, 41, 307, 308, 6, 41,
- 24, 312, 6, 8, 259, 316, 317, 262, 263, 41,
- 321, 266, 8, 324, 8, 4, 11, 328, 21, 330,
- 41, 8, 41, 334, 253, 254, 255, 256, 283, 41,
- 41, 7, 41, 8, 1, 7, 7, 4, 5, 41,
- 41, 8, 11, 41, 41, 12, 11, 11, 41, 41,
- 41, 18, 19, 20, 8, 22, 41, 41, 25, 26,
- 27, 28, 29, 41, 319, 32, 33, 34, 35, 36,
- 8, 41, 1, 41, 41, 4, 5, 7, 1, 8,
- 7, 7, 5, 12, 41, 8, 10, 8, 13, 18,
- 19, 20, 10, 22, 17, 8, 25, 26, 27, 28,
- 29, 13, 1, 32, 33, 4, 5, 30, 31, 8,
- 7, 11, 41, 12, 8, 38, 39, 40, 41, 18,
- 19, 20, 24, 22, 41, 4, 25, 26, 27, 28,
- 29, 4, 5, 32, 33, 8, 13, 11, 24, 12,
- 11, 13, 41, 41, 11, 18, 19, 20, 13, 22,
- 13, 8, 25, 26, 27, 28, 29, 4, 5, 32,
- 33, 8, 13, 11, 37, 12, 7, 13, 41, 13,
- 13, 18, 19, 20, 13, 22, 13, 41, 25, 26,
- 27, 28, 29, 4, 5, 32, 33, 8, 7, 13,
- 37, 12, 8, 13, 41, 8, 13, 18, 19, 20,
- 7, 22, 13, 13, 25, 26, 27, 28, 29, 4,
- 5, 32, 33, 8, 8, 8, 37, 12, 6, 21,
- 41, 50, 212, 18, 19, 20, 131, 22, 83, 47,
- 25, 26, 27, 28, 29, 4, -1, 32, 33, 8,
- -1, -1, 37, 12, -1, -1, 41, -1, -1, 18,
+ 35, 91, 79, 175, 5, 1, 4, 1, 4, 5,
+ 182, 5, 8, 104, 7, 5, 12, 5, 41, 11,
+ 1, 10, 18, 19, 20, 14, 22, 0, 9, 25,
+ 26, 27, 28, 29, 1, 36, 32, 33, 5, 74,
+ 41, 7, 36, 24, 79, 41, 81, 41, 41, 41,
+ 141, 41, 1, 41, 226, 227, 5, 66, 3, 94,
+ 150, 138, 1, 98, 10, 4, 5, 13, 11, 8,
+ 5, 14, 31, 12, 41, 41, 13, 13, 6, 18,
+ 19, 20, 41, 22, 13, 9, 25, 26, 27, 28,
+ 29, 4, 41, 32, 33, 34, 35, 36, 41, 34,
+ 35, 36, 41, 138, 41, 41, 36, 142, 4, 200,
+ 1, 41, 41, 4, 5, 5, 4, 8, 209, 210,
+ 41, 12, 41, 10, 24, 8, 13, 18, 19, 20,
+ 6, 22, 15, 16, 25, 26, 27, 28, 29, 4,
+ 23, 32, 33, 178, 34, 35, 36, 1, 239, 4,
+ 41, 8, 36, 7, 163, 164, 10, 41, 167, 168,
+ 41, 170, 171, 8, 0, 1, 6, 3, 13, 36,
+ 261, 262, 8, 8, 41, 6, 267, 268, 13, 15,
+ 16, 6, 159, 8, 9, 162, 11, 23, 223, 36,
+ 281, 282, 7, 228, 41, 10, 287, 288, 41, 7,
+ 291, 292, 10, 8, 9, 296, 297, 6, 6, 6,
+ 301, 302, 8, 8, 6, 306, 6, 41, 253, 310,
+ 311, 256, 257, 8, 315, 260, 6, 318, 41, 41,
+ 24, 322, 8, 324, 41, 8, 8, 328, 247, 248,
+ 249, 250, 277, 4, 21, 11, 8, 7, 1, 8,
+ 41, 4, 5, 41, 41, 8, 7, 41, 41, 12,
+ 41, 11, 41, 41, 11, 18, 19, 20, 11, 22,
+ 41, 41, 25, 26, 27, 28, 29, 41, 313, 32,
+ 33, 34, 35, 36, 41, 41, 1, 41, 41, 4,
+ 5, 7, 41, 8, 8, 41, 41, 12, 8, 7,
+ 7, 7, 13, 18, 19, 20, 10, 22, 10, 8,
+ 25, 26, 27, 28, 29, 13, 7, 32, 33, 34,
+ 35, 36, 8, 1, 8, 4, 41, 5, 1, 41,
+ 8, 24, 5, 13, 11, 8, 41, 11, 41, 17,
+ 11, 24, 11, 13, 17, 13, 13, 8, 13, 11,
+ 13, 7, 30, 31, 13, 13, 41, 30, 31, 13,
+ 38, 39, 40, 41, 13, 38, 39, 40, 41, 4,
+ 5, 7, 13, 8, 8, 13, 8, 12, 7, 21,
+ 13, 6, 13, 18, 19, 20, 13, 22, 8, 8,
+ 25, 26, 27, 28, 29, 4, 5, 32, 33, 8,
+ 50, 127, 37, 12, 206, 81, 41, 47, -1, 18,
19, 20, -1, 22, -1, -1, 25, 26, 27, 28,
- 29, -1, -1, 32, 33, -1, -1, -1, -1, -1,
- -1, -1, 41
+ 29, 4, 5, 32, 33, 8, -1, -1, 37, 12,
+ -1, -1, 41, -1, -1, 18, 19, 20, -1, 22,
+ -1, -1, 25, 26, 27, 28, 29, 4, 5, 32,
+ 33, 8, -1, -1, 37, 12, -1, -1, 41, -1,
+ -1, 18, 19, 20, -1, 22, -1, -1, 25, 26,
+ 27, 28, 29, 4, -1, 32, 33, 8, -1, -1,
+ 37, 12, -1, -1, 41, -1, -1, 18, 19, 20,
+ -1, 22, -1, -1, 25, 26, 27, 28, 29, -1,
+ -1, 32, 33, -1, -1, -1, -1, -1, -1, -1,
+ 41
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -884,35 +886,35 @@ static const unsigned char yystos[] =
41, 51, 52, 36, 41, 46, 7, 41, 54, 9,
1, 5, 52, 4, 55, 4, 1, 7, 10, 53,
1, 5, 8, 17, 30, 31, 38, 39, 40, 41,
- 56, 57, 59, 60, 93, 94, 98, 4, 5, 8,
+ 56, 57, 59, 60, 91, 92, 96, 4, 5, 8,
12, 18, 19, 20, 22, 25, 26, 27, 28, 29,
- 32, 33, 37, 41, 62, 64, 66, 70, 72, 84,
- 86, 91, 92, 4, 41, 41, 24, 31, 41, 6,
- 4, 95, 95, 4, 1, 9, 24, 1, 5, 57,
- 61, 72, 41, 82, 6, 6, 6, 6, 36, 41,
- 69, 80, 69, 81, 8, 8, 8, 6, 6, 41,
- 6, 8, 9, 11, 72, 72, 72, 5, 34, 35,
- 36, 89, 90, 7, 41, 67, 88, 8, 9, 5,
- 92, 5, 91, 8, 41, 6, 24, 41, 68, 5,
- 41, 96, 5, 46, 97, 58, 72, 1, 5, 72,
- 6, 8, 71, 63, 41, 68, 65, 10, 13, 11,
- 41, 10, 13, 8, 10, 14, 8, 74, 77, 4,
- 85, 73, 21, 79, 79, 79, 41, 41, 11, 5,
- 90, 41, 7, 10, 78, 5, 8, 68, 72, 41,
- 7, 8, 1, 5, 41, 8, 13, 1, 5, 46,
- 41, 7, 83, 41, 67, 13, 11, 67, 69, 69,
- 41, 69, 69, 41, 69, 36, 69, 41, 41, 61,
- 41, 72, 11, 11, 61, 41, 87, 41, 7, 41,
- 41, 8, 41, 68, 8, 13, 8, 88, 7, 7,
- 68, 68, 7, 10, 13, 10, 13, 14, 8, 7,
- 5, 8, 61, 61, 8, 41, 24, 13, 11, 41,
- 68, 7, 4, 13, 11, 69, 69, 69, 69, 36,
- 41, 75, 72, 24, 72, 68, 68, 13, 11, 68,
- 68, 41, 72, 13, 11, 68, 68, 13, 13, 8,
- 68, 68, 13, 11, 68, 68, 76, 13, 13, 68,
- 68, 7, 13, 41, 68, 68, 13, 13, 68, 7,
- 8, 13, 68, 68, 13, 72, 68, 8, 13, 68,
- 13, 68, 7, 68, 13, 8, 68, 8
+ 32, 33, 37, 41, 62, 68, 70, 82, 84, 89,
+ 90, 4, 41, 41, 24, 31, 41, 6, 4, 93,
+ 93, 4, 1, 9, 24, 1, 5, 57, 61, 70,
+ 41, 80, 6, 6, 6, 6, 36, 41, 67, 78,
+ 67, 79, 8, 8, 8, 6, 6, 41, 6, 8,
+ 9, 11, 70, 5, 34, 35, 36, 87, 88, 7,
+ 41, 65, 86, 8, 9, 5, 90, 5, 89, 8,
+ 41, 6, 24, 41, 66, 5, 41, 94, 5, 46,
+ 95, 58, 70, 1, 5, 70, 6, 8, 69, 63,
+ 41, 66, 64, 10, 13, 11, 41, 10, 13, 8,
+ 10, 14, 8, 72, 75, 4, 83, 71, 21, 77,
+ 41, 41, 11, 5, 88, 41, 7, 10, 76, 5,
+ 8, 66, 70, 41, 7, 8, 1, 5, 41, 8,
+ 13, 1, 5, 46, 41, 7, 81, 41, 65, 13,
+ 11, 65, 67, 67, 41, 67, 67, 41, 67, 36,
+ 67, 41, 41, 61, 41, 70, 11, 11, 61, 41,
+ 85, 41, 7, 41, 41, 8, 41, 66, 8, 13,
+ 8, 86, 7, 7, 66, 66, 7, 10, 13, 10,
+ 13, 14, 8, 7, 5, 8, 61, 61, 8, 41,
+ 24, 13, 11, 41, 66, 7, 4, 13, 11, 67,
+ 67, 67, 67, 36, 41, 73, 70, 24, 70, 66,
+ 66, 13, 11, 66, 66, 41, 70, 13, 11, 66,
+ 66, 13, 13, 8, 66, 66, 13, 11, 66, 66,
+ 74, 13, 13, 66, 66, 7, 13, 41, 66, 66,
+ 13, 13, 66, 7, 8, 13, 66, 66, 13, 70,
+ 66, 8, 13, 66, 13, 66, 7, 66, 13, 8,
+ 66, 8
};
#define yyerrok (yyerrstatus = 0)
@@ -1288,322 +1290,306 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
switch (yytype)
{
case 41: /* "word" */
-#line 170 "ael.y"
+#line 168 "ael.y"
{ free((yyvaluep->str));};
-#line 1294 "ael.tab.c"
+#line 1296 "ael.tab.c"
break;
case 44: /* "objects" */
-#line 157 "ael.y"
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1302 "ael.tab.c"
+#line 1304 "ael.tab.c"
break;
case 45: /* "object" */
-#line 157 "ael.y"
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1310 "ael.tab.c"
+#line 1312 "ael.tab.c"
break;
case 46: /* "word_or_default" */
-#line 170 "ael.y"
+#line 168 "ael.y"
{ free((yyvaluep->str));};
-#line 1315 "ael.tab.c"
+#line 1317 "ael.tab.c"
break;
case 47: /* "context" */
-#line 157 "ael.y"
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1323 "ael.tab.c"
+#line 1325 "ael.tab.c"
break;
case 49: /* "macro" */
-#line 157 "ael.y"
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1331 "ael.tab.c"
+#line 1333 "ael.tab.c"
break;
case 50: /* "globals" */
-#line 157 "ael.y"
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1339 "ael.tab.c"
+#line 1341 "ael.tab.c"
break;
case 51: /* "global_statements" */
-#line 157 "ael.y"
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1347 "ael.tab.c"
+#line 1349 "ael.tab.c"
break;
case 52: /* "global_statement" */
-#line 157 "ael.y"
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1355 "ael.tab.c"
+#line 1357 "ael.tab.c"
break;
case 54: /* "arglist" */
-#line 157 "ael.y"
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1363 "ael.tab.c"
+#line 1365 "ael.tab.c"
break;
case 55: /* "elements_block" */
-#line 157 "ael.y"
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1371 "ael.tab.c"
+#line 1373 "ael.tab.c"
break;
case 56: /* "elements" */
-#line 157 "ael.y"
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1379 "ael.tab.c"
+#line 1381 "ael.tab.c"
break;
case 57: /* "element" */
-#line 157 "ael.y"
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1387 "ael.tab.c"
+#line 1389 "ael.tab.c"
break;
case 59: /* "ignorepat" */
-#line 157 "ael.y"
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1395 "ael.tab.c"
+#line 1397 "ael.tab.c"
break;
case 60: /* "extension" */
-#line 157 "ael.y"
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1403 "ael.tab.c"
+#line 1405 "ael.tab.c"
break;
case 61: /* "statements" */
-#line 157 "ael.y"
- {
- destroy_pval((yyvaluep->pval));
- prev_word=0;
- };
-#line 1411 "ael.tab.c"
- break;
- case 62: /* "if_head" */
-#line 157 "ael.y"
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1419 "ael.tab.c"
+#line 1413 "ael.tab.c"
break;
- case 64: /* "random_head" */
-#line 157 "ael.y"
+ case 62: /* "if_like_head" */
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1427 "ael.tab.c"
+#line 1421 "ael.tab.c"
break;
- case 66: /* "iftime_head" */
-#line 157 "ael.y"
- {
- destroy_pval((yyvaluep->pval));
- prev_word=0;
- };
-#line 1435 "ael.tab.c"
- break;
- case 67: /* "word_list" */
-#line 170 "ael.y"
+ case 65: /* "word_list" */
+#line 168 "ael.y"
{ free((yyvaluep->str));};
-#line 1440 "ael.tab.c"
+#line 1426 "ael.tab.c"
break;
- case 68: /* "word3_list" */
-#line 170 "ael.y"
+ case 66: /* "word3_list" */
+#line 168 "ael.y"
{ free((yyvaluep->str));};
-#line 1445 "ael.tab.c"
+#line 1431 "ael.tab.c"
break;
- case 69: /* "goto_word" */
-#line 170 "ael.y"
+ case 67: /* "goto_word" */
+#line 168 "ael.y"
{ free((yyvaluep->str));};
-#line 1450 "ael.tab.c"
+#line 1436 "ael.tab.c"
break;
- case 70: /* "switch_head" */
-#line 157 "ael.y"
+ case 68: /* "switch_head" */
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1458 "ael.tab.c"
+#line 1444 "ael.tab.c"
break;
- case 72: /* "statement" */
-#line 157 "ael.y"
+ case 70: /* "statement" */
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1466 "ael.tab.c"
+#line 1452 "ael.tab.c"
break;
- case 79: /* "opt_else" */
-#line 157 "ael.y"
+ case 77: /* "opt_else" */
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1474 "ael.tab.c"
+#line 1460 "ael.tab.c"
break;
- case 80: /* "target" */
-#line 157 "ael.y"
+ case 78: /* "target" */
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1482 "ael.tab.c"
+#line 1468 "ael.tab.c"
break;
- case 81: /* "jumptarget" */
-#line 157 "ael.y"
+ case 79: /* "jumptarget" */
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1490 "ael.tab.c"
+#line 1476 "ael.tab.c"
break;
- case 82: /* "macro_call" */
-#line 157 "ael.y"
+ case 80: /* "macro_call" */
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1498 "ael.tab.c"
+#line 1484 "ael.tab.c"
break;
- case 84: /* "application_call_head" */
-#line 157 "ael.y"
+ case 82: /* "application_call_head" */
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1506 "ael.tab.c"
+#line 1492 "ael.tab.c"
break;
- case 86: /* "application_call" */
-#line 157 "ael.y"
+ case 84: /* "application_call" */
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1514 "ael.tab.c"
+#line 1500 "ael.tab.c"
break;
- case 87: /* "opt_word" */
-#line 170 "ael.y"
+ case 85: /* "opt_word" */
+#line 168 "ael.y"
{ free((yyvaluep->str));};
-#line 1519 "ael.tab.c"
+#line 1505 "ael.tab.c"
break;
- case 88: /* "eval_arglist" */
-#line 157 "ael.y"
+ case 86: /* "eval_arglist" */
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1527 "ael.tab.c"
+#line 1513 "ael.tab.c"
break;
- case 89: /* "case_statements" */
-#line 157 "ael.y"
+ case 87: /* "case_statements" */
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1535 "ael.tab.c"
+#line 1521 "ael.tab.c"
break;
- case 90: /* "case_statement" */
-#line 157 "ael.y"
+ case 88: /* "case_statement" */
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1543 "ael.tab.c"
+#line 1529 "ael.tab.c"
break;
- case 91: /* "macro_statements" */
-#line 157 "ael.y"
+ case 89: /* "macro_statements" */
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1551 "ael.tab.c"
+#line 1537 "ael.tab.c"
break;
- case 92: /* "macro_statement" */
-#line 157 "ael.y"
+ case 90: /* "macro_statement" */
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1559 "ael.tab.c"
+#line 1545 "ael.tab.c"
break;
- case 93: /* "switches" */
-#line 157 "ael.y"
+ case 91: /* "switches" */
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1567 "ael.tab.c"
+#line 1553 "ael.tab.c"
break;
- case 94: /* "eswitches" */
-#line 157 "ael.y"
+ case 92: /* "eswitches" */
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1575 "ael.tab.c"
+#line 1561 "ael.tab.c"
break;
- case 95: /* "switchlist_block" */
-#line 157 "ael.y"
+ case 93: /* "switchlist_block" */
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1583 "ael.tab.c"
+#line 1569 "ael.tab.c"
break;
- case 96: /* "switchlist" */
-#line 157 "ael.y"
+ case 94: /* "switchlist" */
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1591 "ael.tab.c"
+#line 1577 "ael.tab.c"
break;
- case 97: /* "includeslist" */
-#line 157 "ael.y"
+ case 95: /* "includeslist" */
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1599 "ael.tab.c"
+#line 1585 "ael.tab.c"
break;
- case 98: /* "includes" */
-#line 157 "ael.y"
+ case 96: /* "includes" */
+#line 155 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1607 "ael.tab.c"
+#line 1593 "ael.tab.c"
break;
default:
@@ -1920,57 +1906,57 @@ yyreduce:
switch (yyn)
{
case 2:
-#line 175 "ael.y"
+#line 173 "ael.y"
{ (yyval.pval) = parseio->pval = (yyvsp[0].pval); ;}
break;
case 3:
-#line 178 "ael.y"
+#line 176 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 4:
-#line 179 "ael.y"
+#line 177 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
break;
case 5:
-#line 180 "ael.y"
+#line 178 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
case 6:
-#line 183 "ael.y"
+#line 181 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 7:
-#line 184 "ael.y"
+#line 182 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 8:
-#line 185 "ael.y"
+#line 183 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 9:
-#line 186 "ael.y"
+#line 184 "ael.y"
{(yyval.pval)=0;/* allow older docs to be read */;}
break;
case 10:
-#line 189 "ael.y"
+#line 187 "ael.y"
{ (yyval.str) = (yyvsp[0].str); ;}
break;
case 11:
-#line 190 "ael.y"
+#line 188 "ael.y"
{ (yyval.str) = strdup("default"); ;}
break;
case 12:
-#line 193 "ael.y"
+#line 191 "ael.y"
{
(yyval.pval) = npval2(PV_CONTEXT, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);
@@ -1979,31 +1965,31 @@ yyreduce:
break;
case 13:
-#line 201 "ael.y"
+#line 199 "ael.y"
{ (yyval.intval) = 1; ;}
break;
case 14:
-#line 202 "ael.y"
+#line 200 "ael.y"
{ (yyval.intval) = 0; ;}
break;
case 15:
-#line 205 "ael.y"
+#line 203 "ael.y"
{
(yyval.pval) = npval2(PV_MACRO, &(yylsp[-7]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-6].str); (yyval.pval)->u2.arglist = (yyvsp[-4].pval); (yyval.pval)->u3.macro_statements = (yyvsp[-1].pval); ;}
break;
case 16:
-#line 208 "ael.y"
+#line 206 "ael.y"
{
(yyval.pval) = npval2(PV_MACRO, &(yylsp[-6]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-5].str); (yyval.pval)->u2.arglist = (yyvsp[-3].pval); ;}
break;
case 17:
-#line 211 "ael.y"
+#line 209 "ael.y"
{
(yyval.pval) = npval2(PV_MACRO, &(yylsp[-6]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-5].str);
@@ -2011,47 +1997,47 @@ yyreduce:
break;
case 18:
-#line 215 "ael.y"
+#line 213 "ael.y"
{
(yyval.pval) = npval2(PV_MACRO, &(yylsp[-5]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-4].str); ;}
break;
case 19:
-#line 220 "ael.y"
+#line 218 "ael.y"
{
(yyval.pval) = npval2(PV_GLOBALS, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.statements = (yyvsp[-1].pval);;}
break;
case 20:
-#line 223 "ael.y"
+#line 221 "ael.y"
{ /* empty globals is OK */
(yyval.pval) = npval2(PV_GLOBALS, &(yylsp[-2]), &(yylsp[0])); ;}
break;
case 21:
-#line 227 "ael.y"
+#line 225 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 22:
-#line 228 "ael.y"
+#line 226 "ael.y"
{(yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
break;
case 23:
-#line 229 "ael.y"
+#line 227 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
case 24:
-#line 232 "ael.y"
+#line 230 "ael.y"
{ reset_semicount(parseio->scanner); ;}
break;
case 25:
-#line 232 "ael.y"
+#line 230 "ael.y"
{
(yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-4].str);
@@ -2059,82 +2045,82 @@ yyreduce:
break;
case 26:
-#line 238 "ael.y"
+#line 236 "ael.y"
{ (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;}
break;
case 27:
-#line 239 "ael.y"
+#line 237 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[0].str), &(yylsp[0]))); ;}
break;
case 28:
-#line 240 "ael.y"
+#line 238 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
case 29:
-#line 243 "ael.y"
+#line 241 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
case 30:
-#line 244 "ael.y"
+#line 242 "ael.y"
{ (yyval.pval) = (yyvsp[-1].pval); ;}
break;
case 31:
-#line 247 "ael.y"
+#line 245 "ael.y"
{ (yyval.pval)=(yyvsp[0].pval);;}
break;
case 32:
-#line 248 "ael.y"
+#line 246 "ael.y"
{(yyval.pval)=0;;}
break;
case 33:
-#line 249 "ael.y"
+#line 247 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
break;
case 34:
-#line 250 "ael.y"
+#line 248 "ael.y"
{ (yyval.pval)=(yyvsp[-1].pval);;}
break;
case 35:
-#line 253 "ael.y"
+#line 251 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 36:
-#line 254 "ael.y"
+#line 252 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 37:
-#line 255 "ael.y"
+#line 253 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 38:
-#line 256 "ael.y"
+#line 254 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 39:
-#line 257 "ael.y"
+#line 255 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 40:
-#line 258 "ael.y"
+#line 256 "ael.y"
{ reset_semicount(parseio->scanner); ;}
break;
case 41:
-#line 258 "ael.y"
+#line 256 "ael.y"
{
(yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-4].str);
@@ -2142,24 +2128,24 @@ yyreduce:
break;
case 42:
-#line 262 "ael.y"
+#line 260 "ael.y"
{free((yyvsp[-1].str)); (yyval.pval)=0;;}
break;
case 43:
-#line 263 "ael.y"
+#line 261 "ael.y"
{(yyval.pval)=0;/* allow older docs to be read */;}
break;
case 44:
-#line 266 "ael.y"
+#line 264 "ael.y"
{
(yyval.pval) = npval2(PV_IGNOREPAT, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);;}
break;
case 45:
-#line 271 "ael.y"
+#line 269 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2167,7 +2153,7 @@ yyreduce:
break;
case 46:
-#line 275 "ael.y"
+#line 273 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2176,7 +2162,7 @@ yyreduce:
break;
case 47:
-#line 280 "ael.y"
+#line 278 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-6]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2185,7 +2171,7 @@ yyreduce:
break;
case 48:
-#line 285 "ael.y"
+#line 283 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-7]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2195,46 +2181,46 @@ yyreduce:
break;
case 49:
-#line 294 "ael.y"
+#line 292 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 50:
-#line 295 "ael.y"
+#line 293 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
break;
case 51:
-#line 296 "ael.y"
+#line 294 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
case 52:
-#line 299 "ael.y"
+#line 298 "ael.y"
{ reset_parencount(parseio->scanner); ;}
break;
case 53:
-#line 299 "ael.y"
+#line 298 "ael.y"
{
(yyval.pval)= npval2(PV_IF, &(yylsp[-4]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str); ;}
break;
case 54:
-#line 304 "ael.y"
+#line 301 "ael.y"
{ reset_parencount(parseio->scanner); ;}
break;
case 55:
-#line 304 "ael.y"
+#line 301 "ael.y"
{
(yyval.pval) = npval2(PV_RANDOM, &(yylsp[-4]), &(yylsp[0]));
(yyval.pval)->u1.str=(yyvsp[-1].str);;}
break;
case 56:
-#line 310 "ael.y"
+#line 305 "ael.y"
{
(yyval.pval) = npval2(PV_IFTIME, &(yylsp[-13]), &(yylsp[-13]));
(yyval.pval)->u1.list = npval2(PV_WORD, &(yylsp[-11]), &(yylsp[-7]));
@@ -2250,7 +2236,7 @@ yyreduce:
break;
case 57:
-#line 322 "ael.y"
+#line 317 "ael.y"
{
(yyval.pval) = npval2(PV_IFTIME, &(yylsp[-9]), &(yylsp[-5])); /* XXX @5 or greater ? */
(yyval.pval)->u1.list = nword((yyvsp[-7].str), &(yylsp[-7]));
@@ -2262,12 +2248,12 @@ yyreduce:
break;
case 58:
-#line 338 "ael.y"
+#line 333 "ael.y"
{ (yyval.str) = (yyvsp[0].str);;}
break;
case 59:
-#line 339 "ael.y"
+#line 334 "ael.y"
{
asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
free((yyvsp[-1].str));
@@ -2276,12 +2262,12 @@ yyreduce:
break;
case 60:
-#line 346 "ael.y"
+#line 341 "ael.y"
{ (yyval.str) = (yyvsp[0].str);;}
break;
case 61:
-#line 347 "ael.y"
+#line 342 "ael.y"
{
asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
free((yyvsp[-1].str));
@@ -2290,7 +2276,7 @@ yyreduce:
break;
case 62:
-#line 352 "ael.y"
+#line 347 "ael.y"
{
asprintf(&((yyval.str)), "%s%s%s", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str));
free((yyvsp[-2].str));
@@ -2300,12 +2286,12 @@ yyreduce:
break;
case 63:
-#line 360 "ael.y"
+#line 355 "ael.y"
{ (yyval.str) = (yyvsp[0].str);;}
break;
case 64:
-#line 361 "ael.y"
+#line 356 "ael.y"
{
asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
free((yyvsp[-1].str));
@@ -2313,7 +2299,7 @@ yyreduce:
break;
case 65:
-#line 365 "ael.y"
+#line 360 "ael.y"
{
asprintf(&((yyval.str)), "%s:%s", (yyvsp[-2].str), (yyvsp[0].str));
free((yyvsp[-2].str));
@@ -2321,31 +2307,31 @@ yyreduce:
break;
case 66:
-#line 371 "ael.y"
+#line 366 "ael.y"
{ reset_parencount(parseio->scanner); ;}
break;
case 67:
-#line 371 "ael.y"
+#line 366 "ael.y"
{
(yyval.pval) = npval2(PV_SWITCH, &(yylsp[-5]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str); ;}
break;
case 68:
-#line 379 "ael.y"
+#line 374 "ael.y"
{
(yyval.pval) = npval2(PV_STATEMENTBLOCK, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[-1].pval); ;}
break;
case 69:
-#line 382 "ael.y"
+#line 377 "ael.y"
{reset_semicount(parseio->scanner);;}
break;
case 70:
-#line 382 "ael.y"
+#line 377 "ael.y"
{
(yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-4].str);
@@ -2353,43 +2339,43 @@ yyreduce:
break;
case 71:
-#line 386 "ael.y"
+#line 381 "ael.y"
{
(yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[-1].pval);;}
break;
case 72:
-#line 389 "ael.y"
+#line 384 "ael.y"
{
(yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[-1].pval);;}
break;
case 73:
-#line 392 "ael.y"
+#line 387 "ael.y"
{
(yyval.pval) = npval2(PV_LABEL, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str); ;}
break;
case 74:
-#line 395 "ael.y"
+#line 390 "ael.y"
{reset_semicount(parseio->scanner);;}
break;
case 75:
-#line 396 "ael.y"
+#line 391 "ael.y"
{reset_semicount(parseio->scanner);;}
break;
case 76:
-#line 397 "ael.y"
+#line 392 "ael.y"
{reset_parencount(parseio->scanner);;}
break;
case 77:
-#line 397 "ael.y"
+#line 392 "ael.y"
{
(yyval.pval) = npval2(PV_FOR, &(yylsp[-11]), &(yylsp[0]));
(yyval.pval)->u1.for_init = (yyvsp[-8].str);
@@ -2399,12 +2385,12 @@ yyreduce:
break;
case 78:
-#line 403 "ael.y"
+#line 398 "ael.y"
{reset_parencount(parseio->scanner);;}
break;
case 79:
-#line 403 "ael.y"
+#line 398 "ael.y"
{
(yyval.pval) = npval2(PV_WHILE, &(yylsp[-5]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2412,44 +2398,44 @@ yyreduce:
break;
case 80:
-#line 407 "ael.y"
+#line 402 "ael.y"
{
(yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;}
break;
case 81:
-#line 409 "ael.y"
+#line 404 "ael.y"
{
(yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[0]));
(yyval.pval)->u2.statements = (yyvsp[-1].pval);;}
break;
case 82:
-#line 412 "ael.y"
+#line 407 "ael.y"
{
(yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[-1])); ;}
break;
case 83:
-#line 414 "ael.y"
+#line 409 "ael.y"
{
(yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;}
break;
case 84:
-#line 416 "ael.y"
+#line 411 "ael.y"
{
(yyval.pval)= npval2(PV_APPLICATION_CALL, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);;}
break;
case 85:
-#line 419 "ael.y"
+#line 414 "ael.y"
{reset_semicount(parseio->scanner);;}
break;
case 86:
-#line 419 "ael.y"
+#line 414 "ael.y"
{
char *bufx;
int tot=0;
@@ -2486,163 +2472,147 @@ yyreduce:
break;
case 87:
-#line 452 "ael.y"
+#line 447 "ael.y"
{ (yyval.pval) = npval2(PV_BREAK, &(yylsp[-1]), &(yylsp[0])); ;}
break;
case 88:
-#line 453 "ael.y"
+#line 448 "ael.y"
{ (yyval.pval) = npval2(PV_RETURN, &(yylsp[-1]), &(yylsp[0])); ;}
break;
case 89:
-#line 454 "ael.y"
+#line 449 "ael.y"
{ (yyval.pval) = npval2(PV_CONTINUE, &(yylsp[-1]), &(yylsp[0])); ;}
break;
case 90:
-#line 455 "ael.y"
+#line 450 "ael.y"
{
- (yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[-1])); /* XXX probably @3... */
+ (yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[-1]));
(yyval.pval)->u2.statements = (yyvsp[-1].pval);
(yyval.pval)->u3.else_statements = (yyvsp[0].pval);;}
break;
case 91:
-#line 459 "ael.y"
- {
- (yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[-1])); /* XXX probably @3... */
- (yyval.pval)->u2.statements = (yyvsp[-1].pval);
- (yyval.pval)->u3.else_statements = (yyvsp[0].pval);;}
- break;
-
- case 92:
-#line 463 "ael.y"
- {
- (yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[-1])); /* XXX probably @3... */
- (yyval.pval)->u2.statements = (yyvsp[-1].pval);
- (yyval.pval)->u3.else_statements = (yyvsp[0].pval);;}
- break;
-
- case 93:
-#line 467 "ael.y"
+#line 454 "ael.y"
{ (yyval.pval)=0; ;}
break;
- case 94:
-#line 470 "ael.y"
+ case 92:
+#line 457 "ael.y"
{ (yyval.pval) = (yyvsp[0].pval); ;}
break;
- case 95:
-#line 471 "ael.y"
+ case 93:
+#line 458 "ael.y"
{ (yyval.pval) = NULL ; ;}
break;
- case 96:
-#line 476 "ael.y"
+ case 94:
+#line 463 "ael.y"
{ (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;}
break;
- case 97:
-#line 477 "ael.y"
+ case 95:
+#line 464 "ael.y"
{
(yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
(yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
break;
- case 98:
-#line 480 "ael.y"
+ case 96:
+#line 467 "ael.y"
{
(yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
(yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
break;
- case 99:
-#line 483 "ael.y"
+ case 97:
+#line 470 "ael.y"
{
(yyval.pval) = nword((yyvsp[-4].str), &(yylsp[-4]));
(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
(yyval.pval)->next->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
break;
- case 100:
-#line 487 "ael.y"
+ case 98:
+#line 474 "ael.y"
{
(yyval.pval) = nword((yyvsp[-4].str), &(yylsp[-4]));
(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
(yyval.pval)->next->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
break;
- case 101:
-#line 491 "ael.y"
+ case 99:
+#line 478 "ael.y"
{
(yyval.pval) = nword(strdup("default"), &(yylsp[-4]));
(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
(yyval.pval)->next->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
break;
- case 102:
-#line 495 "ael.y"
+ case 100:
+#line 482 "ael.y"
{
(yyval.pval) = nword(strdup("default"), &(yylsp[-4]));
(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
(yyval.pval)->next->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
break;
- case 103:
-#line 502 "ael.y"
+ case 101:
+#line 489 "ael.y"
{
(yyval.pval) = nword((yyvsp[0].str), &(yylsp[0]));
(yyval.pval)->next = nword(strdup("1"), &(yylsp[0])); ;}
break;
- case 104:
-#line 505 "ael.y"
+ case 102:
+#line 492 "ael.y"
{
(yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
(yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
break;
- case 105:
-#line 508 "ael.y"
+ case 103:
+#line 495 "ael.y"
{ /* XXX they are stored in a different order */
(yyval.pval) = nword((yyvsp[0].str), &(yylsp[0]));
(yyval.pval)->next = nword((yyvsp[-4].str), &(yylsp[-4]));
(yyval.pval)->next->next = nword((yyvsp[-2].str), &(yylsp[-2])); ;}
break;
- case 106:
-#line 512 "ael.y"
+ case 104:
+#line 499 "ael.y"
{
(yyval.pval) = nword((yyvsp[0].str), &(yylsp[0]));
(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
(yyval.pval)->next->next = nword(strdup("1"), &(yylsp[0])); ;}
break;
- case 107:
-#line 516 "ael.y"
+ case 105:
+#line 503 "ael.y"
{
(yyval.pval) = nword(strdup("default"), &(yylsp[-4]));
(yyval.pval)->next = nword((yyvsp[-4].str), &(yylsp[-4]));
(yyval.pval)->next->next = nword((yyvsp[-2].str), &(yylsp[-2])); ;}
break;
- case 108:
-#line 520 "ael.y"
+ case 106:
+#line 507 "ael.y"
{
(yyval.pval) = nword(strdup("default"), &(yylsp[-2]));
(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[0]));
(yyval.pval)->next->next = nword( strdup("1"), &(yylsp[0])); ;}
break;
- case 109:
-#line 526 "ael.y"
+ case 107:
+#line 513 "ael.y"
{reset_argcount(parseio->scanner);;}
break;
- case 110:
-#line 526 "ael.y"
+ case 108:
+#line 513 "ael.y"
{
/* XXX original code had @2 but i think we need @5 */
(yyval.pval) = npval2(PV_MACRO_CALL, &(yylsp[-4]), &(yylsp[0]));
@@ -2650,20 +2620,20 @@ yyreduce:
(yyval.pval)->u2.arglist = (yyvsp[-1].pval);;}
break;
- case 111:
-#line 531 "ael.y"
+ case 109:
+#line 518 "ael.y"
{
(yyval.pval)= npval2(PV_MACRO_CALL, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str); ;}
break;
- case 112:
-#line 539 "ael.y"
+ case 110:
+#line 526 "ael.y"
{reset_argcount(parseio->scanner);;}
break;
- case 113:
-#line 539 "ael.y"
+ case 111:
+#line 526 "ael.y"
{
if (strcasecmp((yyvsp[-2].str),"goto") == 0) {
(yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[-1]));
@@ -2675,8 +2645,8 @@ yyreduce:
} ;}
break;
- case 114:
-#line 550 "ael.y"
+ case 112:
+#line 537 "ael.y"
{
(yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[0]));
if( (yyval.pval)->type == PV_GOTO )
@@ -2686,162 +2656,162 @@ yyreduce:
;}
break;
- case 115:
-#line 557 "ael.y"
+ case 113:
+#line 544 "ael.y"
{ (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;}
break;
- case 116:
-#line 560 "ael.y"
+ case 114:
+#line 547 "ael.y"
{ (yyval.str) = (yyvsp[0].str) ;}
break;
- case 117:
-#line 561 "ael.y"
+ case 115:
+#line 548 "ael.y"
{ (yyval.str) = strdup(""); ;}
break;
- case 118:
-#line 564 "ael.y"
+ case 116:
+#line 551 "ael.y"
{ (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;}
break;
- case 119:
-#line 565 "ael.y"
+ case 117:
+#line 552 "ael.y"
{
(yyval.pval)= npval(PV_WORD,0/*@1.first_line*/,0/*@1.last_line*/,0/* @1.first_column*/, 0/*@1.last_column*/);
(yyval.pval)->u1.str = strdup(""); ;}
break;
- case 120:
-#line 568 "ael.y"
+ case 118:
+#line 555 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[0].str), &(yylsp[0]))); ;}
break;
- case 121:
-#line 571 "ael.y"
+ case 119:
+#line 558 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
- case 122:
-#line 572 "ael.y"
+ case 120:
+#line 559 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
break;
- case 123:
-#line 575 "ael.y"
+ case 121:
+#line 562 "ael.y"
{
(yyval.pval) = npval2(PV_CASE, &(yylsp[-3]), &(yylsp[-1])); /* XXX 3 or 4 ? */
(yyval.pval)->u1.str = (yyvsp[-2].str);
(yyval.pval)->u2.statements = (yyvsp[0].pval);;}
break;
- case 124:
-#line 579 "ael.y"
+ case 122:
+#line 566 "ael.y"
{
(yyval.pval) = npval2(PV_DEFAULT, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.str = NULL;
(yyval.pval)->u2.statements = (yyvsp[0].pval);;}
break;
- case 125:
-#line 583 "ael.y"
+ case 123:
+#line 570 "ael.y"
{
(yyval.pval) = npval2(PV_PATTERN, &(yylsp[-3]), &(yylsp[0])); /* XXX@3 or @4 ? */
(yyval.pval)->u1.str = (yyvsp[-2].str);
(yyval.pval)->u2.statements = (yyvsp[0].pval);;}
break;
- case 126:
-#line 587 "ael.y"
+ case 124:
+#line 574 "ael.y"
{
(yyval.pval) = npval2(PV_CASE, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);;}
break;
- case 127:
-#line 590 "ael.y"
+ case 125:
+#line 577 "ael.y"
{
(yyval.pval) = npval2(PV_DEFAULT, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.str = NULL;;}
break;
- case 128:
-#line 593 "ael.y"
+ case 126:
+#line 580 "ael.y"
{
(yyval.pval) = npval2(PV_PATTERN, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);;}
break;
- case 129:
-#line 598 "ael.y"
+ case 127:
+#line 585 "ael.y"
{(yyval.pval) = (yyvsp[0].pval);;}
break;
- case 130:
-#line 599 "ael.y"
+ case 128:
+#line 586 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
break;
- case 131:
-#line 602 "ael.y"
+ case 129:
+#line 589 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
- case 132:
-#line 603 "ael.y"
+ case 130:
+#line 590 "ael.y"
{
(yyval.pval) = npval2(PV_CATCH, &(yylsp[-4]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-3].str);
(yyval.pval)->u2.statements = (yyvsp[-1].pval);;}
break;
- case 133:
-#line 609 "ael.y"
+ case 131:
+#line 596 "ael.y"
{
(yyval.pval) = npval2(PV_SWITCHES, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[0].pval); ;}
break;
- case 134:
-#line 614 "ael.y"
+ case 132:
+#line 601 "ael.y"
{
(yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[0].pval); ;}
break;
- case 135:
-#line 619 "ael.y"
+ case 133:
+#line 606 "ael.y"
{ (yyval.pval) = (yyvsp[-1].pval); ;}
break;
- case 136:
-#line 620 "ael.y"
+ case 134:
+#line 607 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
- case 137:
-#line 623 "ael.y"
+ case 135:
+#line 610 "ael.y"
{ (yyval.pval) = nword((yyvsp[-1].str), &(yylsp[-1])); ;}
break;
- case 138:
-#line 624 "ael.y"
+ case 136:
+#line 611 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[-1].str), &(yylsp[-1]))); ;}
break;
- case 139:
-#line 625 "ael.y"
+ case 137:
+#line 612 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
- case 140:
-#line 628 "ael.y"
+ case 138:
+#line 615 "ael.y"
{ (yyval.pval) = nword((yyvsp[-1].str), &(yylsp[-1])); ;}
break;
- case 141:
-#line 630 "ael.y"
+ case 139:
+#line 617 "ael.y"
{
(yyval.pval) = nword((yyvsp[-13].str), &(yylsp[-13]));
(yyval.pval)->u2.arglist = npval2(PV_WORD, &(yylsp[-11]), &(yylsp[-7]));
@@ -2856,8 +2826,8 @@ yyreduce:
;}
break;
- case 142:
-#line 642 "ael.y"
+ case 140:
+#line 629 "ael.y"
{
(yyval.pval) = nword((yyvsp[-9].str), &(yylsp[-9]));
(yyval.pval)->u2.arglist = nword((yyvsp[-7].str), &(yylsp[-7]));
@@ -2868,13 +2838,13 @@ yyreduce:
;}
break;
- case 143:
-#line 650 "ael.y"
+ case 141:
+#line 637 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[-1].str), &(yylsp[-1]))); ;}
break;
- case 144:
-#line 652 "ael.y"
+ case 142:
+#line 639 "ael.y"
{
pval *z = nword((yyvsp[-13].str), &(yylsp[-13]));
(yyval.pval) = linku1((yyvsp[-14].pval), z);
@@ -2890,8 +2860,8 @@ yyreduce:
;}
break;
- case 145:
-#line 665 "ael.y"
+ case 143:
+#line 652 "ael.y"
{
pval *z = npval2(PV_WORD, &(yylsp[-9]), &(yylsp[-8]));
(yyval.pval) = linku1((yyvsp[-10].pval), z);
@@ -2905,20 +2875,20 @@ yyreduce:
;}
break;
- case 146:
-#line 676 "ael.y"
+ case 144:
+#line 663 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
- case 147:
-#line 679 "ael.y"
+ case 145:
+#line 666 "ael.y"
{
(yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[-1].pval);;}
break;
- case 148:
-#line 682 "ael.y"
+ case 146:
+#line 669 "ael.y"
{
(yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-2]), &(yylsp[0]));;}
break;
@@ -2928,7 +2898,7 @@ yyreduce:
}
/* Line 1126 of yacc.c. */
-#line 2932 "ael.tab.c"
+#line 2902 "ael.tab.c"
yyvsp -= yylen;
yyssp -= yylen;
@@ -3203,7 +3173,7 @@ yyreturn:
}
-#line 687 "ael.y"
+#line 674 "ael.y"
static char *token_equivs1[] =
diff --git a/pbx/ael/ael.y b/pbx/ael/ael.y
index 0b5e1e91f..9eebf4ea0 100644
--- a/pbx/ael/ael.y
+++ b/pbx/ael/ael.y
@@ -100,9 +100,7 @@ static pval *update_last(pval *, YYLTYPE *);
%type <pval>statement
%type <pval>switch_head
-%type <pval>if_head
-%type <pval>random_head
-%type <pval>iftime_head
+%type <pval>if_like_head
%type <pval>statements
%type <pval>extension
%type <pval>ignorepat
@@ -161,7 +159,7 @@ static pval *update_last(pval *, YYLTYPE *);
macro_statement macro_statements case_statement case_statements
eval_arglist application_call application_call_head
macro_call target jumptarget statement switch_head
- if_head random_head iftime_head statements extension
+ if_like_head statements extension
ignorepat element elements arglist global_statement
global_statements globals macro context object objects
opt_else
@@ -296,17 +294,14 @@ statements : statement {$$=$1;}
| statements error {$$=$1;}
;
-if_head : KW_IF LP { reset_parencount(parseio->scanner); } word_list RP {
+/* 'if' like statements: if, iftime, random */
+if_like_head : KW_IF LP { reset_parencount(parseio->scanner); } word_list RP {
$$= npval2(PV_IF, &@1, &@5);
$$->u1.str = $4; }
- ;
-
-random_head : KW_RANDOM LP { reset_parencount(parseio->scanner); } word_list RP {
+ | KW_RANDOM LP { reset_parencount(parseio->scanner); } word_list RP {
$$ = npval2(PV_RANDOM, &@1, &@5);
$$->u1.str=$4;}
- ;
-
-iftime_head : KW_IFTIME LP word3_list COLON word3_list COLON word3_list
+ | KW_IFTIME LP word3_list COLON word3_list COLON word3_list
BAR word3_list BAR word3_list BAR word3_list RP {
$$ = npval2(PV_IFTIME, &@1, &@1);
$$->u1.list = npval2(PV_WORD, &@3, &@7);
@@ -452,16 +447,8 @@ statement : LC statements RC {
| KW_BREAK SEMI { $$ = npval2(PV_BREAK, &@1, &@2); }
| KW_RETURN SEMI { $$ = npval2(PV_RETURN, &@1, &@2); }
| KW_CONTINUE SEMI { $$ = npval2(PV_CONTINUE, &@1, &@2); }
- | random_head statement opt_else {
- $$ = update_last($1, &@2); /* XXX probably @3... */
- $$->u2.statements = $2;
- $$->u3.else_statements = $3;}
- | if_head statement opt_else {
- $$ = update_last($1, &@2); /* XXX probably @3... */
- $$->u2.statements = $2;
- $$->u3.else_statements = $3;}
- | iftime_head statement opt_else {
- $$ = update_last($1, &@2); /* XXX probably @3... */
+ | if_like_head statement opt_else {
+ $$ = update_last($1, &@2);
$$->u2.statements = $2;
$$->u3.else_statements = $3;}
| SEMI { $$=0; }