aboutsummaryrefslogtreecommitdiffstats
path: root/pbx
diff options
context:
space:
mode:
authorrizzo <rizzo@f38db490-d61c-443f-a65b-d21fe96a405b>2006-05-03 16:12:31 +0000
committerrizzo <rizzo@f38db490-d61c-443f-a65b-d21fe96a405b>2006-05-03 16:12:31 +0000
commitd9a549e560904899ffec909c3664a82ba19de3b9 (patch)
tree96c3d68cd4559c81204048b6f7f57aa41fce5330 /pbx
parent088b8e75cf0bfb5d7256bed9eef2c14afbe9c7c0 (diff)
simplify case_statements
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@24424 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'pbx')
-rw-r--r--pbx/ael/ael.tab.c891
-rw-r--r--pbx/ael/ael.y22
2 files changed, 446 insertions, 467 deletions
diff --git a/pbx/ael/ael.tab.c b/pbx/ael/ael.tab.c
index 251e1190a..5e8b38a75 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 400
+#define YYLAST 327
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 42
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 54
+#define YYNNTS 55
/* YYNRULES -- Number of rules. */
-#define YYNRULES 139
+#define YYNRULES 138
/* YYNRULES -- Number of states. */
-#define YYNSTATES 265
+#define YYNSTATES 266
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -489,9 +489,9 @@ static const unsigned short int yyprhs[] =
260, 261, 267, 270, 273, 276, 280, 282, 285, 286,
288, 292, 296, 302, 308, 314, 320, 322, 326, 332,
336, 337, 343, 347, 348, 352, 356, 359, 361, 362,
- 364, 365, 369, 370, 372, 375, 380, 384, 389, 393,
- 396, 400, 401, 403, 406, 408, 414, 417, 420, 424,
- 427, 430, 434, 437, 440, 445, 447, 450, 453, 458
+ 364, 365, 369, 370, 372, 375, 376, 378, 383, 387,
+ 392, 393, 395, 398, 400, 406, 409, 412, 416, 419,
+ 422, 426, 429, 432, 437, 439, 442, 445, 450
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -500,13 +500,13 @@ 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, 87,
+ 23, -1, -1, 15, 41, 6, 54, 7, 4, 88,
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, -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, 59, -1, 95, -1, 89, -1, 90,
+ 56, 1, -1, 59, -1, 96, -1, 90, -1, 91,
-1, 58, -1, 52, -1, 41, 1, -1, 8, -1,
17, 24, 41, 8, -1, 41, 24, 70, -1, 30,
41, 24, 70, -1, 31, 6, 67, 7, 41, 24,
@@ -534,35 +534,34 @@ static const yysigned_char yyrhs[] =
84, 7, -1, 41, 6, 7, -1, -1, 41, 6,
81, -1, 80, 84, 7, -1, 80, 7, -1, 41,
-1, -1, 66, -1, -1, 84, 10, 83, -1, -1,
- 86, -1, 85, 86, -1, 34, 41, 11, 60, -1,
- 36, 11, 60, -1, 35, 41, 11, 60, -1, 34,
- 41, 11, -1, 36, 11, -1, 35, 41, 11, -1,
- -1, 88, -1, 87, 88, -1, 70, -1, 37, 41,
- 4, 60, 5, -1, 38, 91, -1, 39, 91, -1,
- 4, 92, 5, -1, 4, 5, -1, 41, 8, -1,
- 92, 41, 8, -1, 92, 1, -1, 46, 8, -1,
- 46, 13, 62, 8, -1, 93, -1, 94, 93, -1,
- 94, 1, -1, 40, 4, 94, 5, -1, 40, 4,
- 5, -1
+ 87, -1, 85, 87, -1, -1, 60, -1, 34, 41,
+ 11, 86, -1, 36, 11, 86, -1, 35, 41, 11,
+ 86, -1, -1, 89, -1, 88, 89, -1, 70, -1,
+ 37, 41, 4, 60, 5, -1, 38, 92, -1, 39,
+ 92, -1, 4, 93, 5, -1, 4, 5, -1, 41,
+ 8, -1, 93, 41, 8, -1, 93, 1, -1, 46,
+ 8, -1, 46, 13, 62, 8, -1, 94, -1, 95,
+ 94, -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, 180, 180, 183, 184, 185, 188, 189, 190, 191,
- 194, 195, 198, 206, 207, 210, 215, 218, 222, 223,
- 224, 227, 227, 233, 234, 235, 236, 239, 240, 243,
- 244, 245, 246, 249, 250, 251, 252, 253, 254, 255,
- 256, 259, 264, 268, 273, 278, 287, 288, 289, 295,
- 300, 304, 312, 312, 317, 320, 323, 334, 335, 342,
- 343, 348, 356, 357, 361, 367, 376, 379, 380, 383,
- 386, 389, 390, 391, 389, 397, 401, 402, 404, 406,
- 409, 409, 442, 443, 444, 445, 449, 452, 453, 458,
- 459, 462, 465, 469, 473, 477, 484, 487, 490, 494,
- 500, 500, 505, 513, 513, 524, 531, 534, 535, 538,
- 539, 542, 545, 546, 547, 550, 554, 558, 562, 565,
- 568, 573, 574, 575, 578, 579, 585, 590, 595, 596,
- 599, 600, 601, 604, 605, 612, 613, 614, 617, 620
+ 0, 182, 182, 185, 186, 187, 190, 191, 192, 193,
+ 196, 197, 200, 208, 209, 212, 217, 220, 224, 225,
+ 226, 229, 229, 235, 236, 237, 238, 241, 242, 245,
+ 246, 247, 248, 251, 252, 253, 254, 255, 256, 257,
+ 258, 261, 266, 270, 275, 280, 289, 290, 291, 297,
+ 302, 306, 314, 314, 319, 322, 325, 336, 337, 344,
+ 345, 350, 358, 359, 363, 369, 378, 381, 382, 385,
+ 388, 391, 392, 393, 391, 399, 403, 404, 406, 408,
+ 411, 411, 444, 445, 446, 447, 451, 454, 455, 460,
+ 461, 464, 467, 471, 475, 479, 486, 489, 492, 496,
+ 502, 502, 507, 515, 515, 526, 533, 536, 537, 540,
+ 541, 544, 547, 548, 549, 553, 554, 557, 561, 565,
+ 571, 572, 573, 576, 577, 583, 588, 593, 594, 597,
+ 598, 599, 602, 603, 610, 611, 612, 615, 618
};
#endif
@@ -585,9 +584,10 @@ static const char *const yytname[] =
"word_list", "word3_list", "goto_word", "switch_statement", "statement",
"@3", "@4", "@5", "@6", "opt_else", "target", "jumptarget", "macro_call",
"@7", "application_call_head", "@8", "application_call", "opt_word",
- "eval_arglist", "case_statements", "case_statement", "macro_statements",
- "macro_statement", "switches", "eswitches", "switchlist_block",
- "switchlist", "included_entry", "includeslist", "includes", 0
+ "eval_arglist", "case_statements", "opt_statements", "case_statement",
+ "macro_statements", "macro_statement", "switches", "eswitches",
+ "switchlist_block", "switchlist", "included_entry", "includeslist",
+ "includes", 0
};
#endif
@@ -618,9 +618,9 @@ static const unsigned char yyr1[] =
74, 70, 70, 70, 70, 70, 70, 75, 75, 76,
76, 76, 76, 76, 76, 76, 77, 77, 77, 77,
79, 78, 78, 81, 80, 82, 82, 83, 83, 84,
- 84, 84, 85, 85, 85, 86, 86, 86, 86, 86,
- 86, 87, 87, 87, 88, 88, 89, 90, 91, 91,
- 92, 92, 92, 93, 93, 94, 94, 94, 95, 95
+ 84, 84, 85, 85, 85, 86, 86, 87, 87, 87,
+ 88, 88, 88, 89, 89, 90, 91, 92, 92, 93,
+ 93, 93, 94, 94, 95, 95, 95, 96, 96
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -637,9 +637,9 @@ static const unsigned char yyr2[] =
0, 5, 2, 2, 2, 3, 1, 2, 0, 1,
3, 3, 5, 5, 5, 5, 1, 3, 5, 3,
0, 5, 3, 0, 3, 3, 2, 1, 0, 1,
- 0, 3, 0, 1, 2, 4, 3, 4, 3, 2,
- 3, 0, 1, 2, 1, 5, 2, 2, 3, 2,
- 2, 3, 2, 2, 4, 1, 2, 2, 4, 3
+ 0, 3, 0, 1, 2, 0, 1, 4, 3, 4,
+ 0, 1, 2, 1, 5, 2, 2, 3, 2, 2,
+ 3, 2, 2, 4, 1, 2, 2, 4, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -652,179 +652,163 @@ static const unsigned char yydefact[] =
0, 0, 18, 11, 10, 0, 24, 0, 21, 20,
16, 19, 0, 12, 26, 0, 0, 0, 30, 27,
40, 0, 0, 0, 0, 0, 0, 0, 38, 0,
- 29, 37, 33, 35, 36, 34, 121, 25, 0, 0,
- 0, 0, 0, 0, 126, 127, 0, 39, 0, 32,
+ 29, 37, 33, 35, 36, 34, 120, 25, 0, 0,
+ 0, 0, 0, 0, 125, 126, 0, 39, 0, 32,
28, 31, 0, 86, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 67, 0,
- 76, 124, 110, 0, 0, 122, 22, 0, 0, 0,
- 59, 0, 129, 0, 0, 139, 0, 135, 0, 42,
+ 76, 123, 110, 0, 0, 121, 22, 0, 0, 0,
+ 59, 0, 128, 0, 0, 138, 0, 134, 0, 42,
0, 46, 0, 0, 52, 0, 54, 0, 55, 0,
62, 89, 0, 96, 0, 83, 82, 84, 71, 0,
0, 103, 79, 70, 88, 106, 57, 109, 0, 78,
- 80, 15, 123, 41, 0, 43, 60, 0, 130, 132,
- 128, 0, 133, 0, 137, 138, 136, 48, 66, 47,
+ 80, 15, 122, 41, 0, 43, 60, 0, 129, 131,
+ 127, 0, 132, 0, 136, 137, 135, 48, 66, 47,
100, 77, 0, 112, 50, 0, 0, 0, 0, 0,
0, 63, 0, 0, 68, 0, 0, 69, 0, 75,
0, 104, 0, 85, 58, 105, 108, 0, 0, 61,
- 0, 131, 0, 102, 110, 0, 0, 0, 0, 0,
+ 0, 130, 0, 102, 110, 0, 0, 0, 0, 0,
113, 0, 56, 0, 0, 0, 64, 91, 90, 62,
97, 99, 0, 0, 87, 107, 111, 0, 0, 0,
- 134, 0, 53, 0, 0, 119, 65, 114, 0, 0,
- 0, 0, 0, 0, 0, 72, 125, 81, 0, 44,
- 101, 118, 120, 0, 0, 0, 95, 94, 93, 92,
- 98, 0, 45, 0, 0, 0, 49, 0, 0, 73,
- 51, 0, 0, 0, 74
+ 133, 0, 53, 0, 0, 115, 65, 114, 0, 0,
+ 0, 0, 0, 0, 0, 72, 124, 81, 0, 44,
+ 101, 115, 115, 0, 118, 0, 0, 95, 94, 93,
+ 92, 98, 0, 45, 117, 119, 0, 49, 0, 0,
+ 73, 51, 0, 0, 0, 74
};
/* YYDEFGOTO[NTERM-NUM]. */
static const short int yydefgoto[] =
{
-1, 5, 6, 7, 106, 8, 9, 10, 11, 21,
- 88, 37, 27, 33, 49, 50, 51, 52, 110, 165,
+ 88, 37, 27, 33, 49, 50, 51, 52, 243, 165,
166, 115, 162, 89, 137, 167, 121, 90, 111, 178,
- 251, 261, 187, 183, 122, 124, 113, 194, 92, 181,
- 93, 216, 138, 199, 200, 94, 95, 53, 54, 64,
- 104, 107, 108, 55
+ 252, 262, 187, 183, 122, 124, 113, 194, 92, 181,
+ 93, 216, 138, 199, 244, 200, 94, 95, 53, 54,
+ 64, 104, 107, 108, 55
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -178
+#define YYPACT_NINF -78
static const short int yypact[] =
{
- 64, -178, -22, 23, -178, 63, 117, -178, -178, 67,
- -178, -178, 70, 12, -178, -178, -178, 30, 41, -178,
- 95, 6, -178, -178, -178, 107, -178, 76, -178, -178,
- -178, -178, 130, -178, -178, 146, 101, 116, -178, -178,
- -178, 132, -6, 156, 159, 159, 161, 51, -178, 283,
- -178, -178, -178, -178, -178, -178, 333, -178, 158, 126,
- 169, 152, 137, 16, -178, -178, 15, -178, 359, -178,
- -178, -178, 359, -178, 139, 171, 171, 173, 171, 83,
- 140, 174, 176, 177, 183, 171, 149, 128, -178, 359,
- -178, -178, 8, 121, 307, -178, -178, 184, 137, 359,
- 150, 186, -178, 187, 13, -178, 115, -178, 5, -178,
- 4, -178, 188, 189, -178, 192, -178, 160, -178, 131,
- 17, 136, 195, 112, 196, -178, -178, -178, -178, 359,
- 203, -178, -178, -178, 190, -178, 175, -178, 86, -178,
- -178, -178, -178, -178, 205, -178, 181, 191, -178, -178,
- -178, 202, -178, 160, -178, -178, -178, -178, -178, -178,
- 207, -178, 197, 138, 32, 211, 208, 214, 140, 140,
- 198, -178, 140, 140, -178, 200, 30, -178, 204, -178,
- 359, -178, 359, -178, -178, -178, 209, 212, 213, -178,
- 194, -178, 223, -178, 197, 241, 215, 219, 235, 33,
- -178, 137, -178, 137, 242, 236, -178, 245, 249, 48,
- -178, -178, 255, 277, -178, -178, -178, 261, 246, 359,
- -178, 141, -178, 265, 266, 359, -178, -178, 270, 268,
- 140, 140, 140, 140, 30, -178, -178, -178, 359, -178,
- -178, 359, 359, 80, 137, 137, -178, -178, -178, -178,
- -178, 251, -178, 201, 239, 273, -178, 279, 137, -178,
- -178, 252, 287, 359, -178
+ 105, -78, -25, 32, -78, 68, 302, -78, -78, 72,
+ -78, -78, 87, 24, -78, -78, -78, -21, 85, -78,
+ 125, 6, -78, -78, -78, 120, -78, 129, -78, -78,
+ -78, -78, 20, -78, -78, 146, 101, 103, -78, -78,
+ -78, 128, -19, 151, 159, 159, 171, 8, -78, 130,
+ -78, -78, -78, -78, -78, -78, 242, -78, 168, 136,
+ 172, 156, 141, 26, -78, -78, 48, -78, 268, -78,
+ -78, -78, 268, -78, 143, 173, 173, 175, 173, 96,
+ 148, 184, 185, 187, 190, 173, 160, 140, -78, 268,
+ -78, -78, 1, 73, 216, -78, -78, 189, 141, 268,
+ 161, 193, -78, 195, 13, -78, 132, -78, 5, -78,
+ 82, -78, 201, 202, -78, 212, -78, 181, -78, 30,
+ -6, 93, 215, 9, 217, -78, -78, -78, -78, 268,
+ 222, -78, -78, -78, 208, -78, 191, -78, 115, -78,
+ -78, -78, -78, -78, 223, -78, 192, 196, -78, -78,
+ -78, 231, -78, 181, -78, -78, -78, -78, -78, -78,
+ 224, -78, 199, 138, 88, 234, 244, 241, 148, 148,
+ 214, -78, 148, 148, -78, 218, -21, -78, 225, -78,
+ 268, -78, 268, -78, -78, -78, 232, 236, 237, -78,
+ 239, -78, 248, -78, 199, 251, 240, 243, 254, 83,
+ -78, 141, -78, 141, 272, 276, -78, 275, 278, 16,
+ -78, -78, 284, 186, -78, -78, -78, 290, 280, 268,
+ -78, 155, -78, 288, 295, 268, -78, -78, 294, 297,
+ 148, 148, 148, 148, -21, -78, -78, -78, 268, -78,
+ -78, 268, 268, 44, -78, 141, 141, -78, -78, -78,
+ -78, -78, 270, -78, -78, -78, 299, -78, 305, 141,
+ -78, -78, 273, 308, 268, -78
};
/* YYPGOTO[NTERM-NUM]. */
static const short int yypgoto[] =
{
- -178, -178, -178, 284, -17, -178, -178, -178, -178, -178,
- 29, -178, -178, -178, -178, 258, -178, -178, -177, -178,
- 145, 25, -178, -178, 154, -58, -78, -178, -55, -178,
- -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
- -178, -178, 114, -178, 102, -178, 226, -178, -178, 272,
- -178, 220, -178, -178
+ -78, -78, -78, 310, -17, -78, -78, -78, -78, -78,
+ 84, -78, -78, -78, -78, 271, -78, -78, -68, -78,
+ 166, -52, -78, -78, 162, -60, -77, -78, -55, -78,
+ -78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
+ -78, -78, 127, -78, -75, 123, -78, 229, -78, -78,
+ 281, -78, 219, -78, -78
};
/* 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 -118
+#define YYTABLE_NINF -117
static const short int yytable[] =
{
- 25, 91, 123, 213, 101, 157, 154, 29, 72, 158,
- 155, 30, 73, 109, 149, 135, 74, 19, 150, 12,
- 105, 102, 75, 76, 77, 60, 78, 13, 170, 79,
- 80, 81, 82, 83, 134, 61, 84, 85, 226, 91,
- 144, 23, 22, -59, 145, 87, 24, 20, 243, 136,
- 31, 23, 67, 20, 151, 159, 24, 103, 171, 170,
- 28, 48, 234, 14, 253, 254, 23, 196, 197, 198,
- 17, 24, 1, 146, 179, 68, 18, 34, 48, 2,
- 3, 157, 26, 35, 72, -116, 36, 4, 73, 171,
- 204, 205, 74, 185, 207, 208, 186, 210, 75, 76,
- 77, 116, 78, 118, 28, 79, 80, 81, 82, 83,
- 129, 32, 84, 85, -116, -116, -116, -2, 15, 119,
- -14, 87, 175, 152, 120, 1, 176, 214, 153, 139,
- 140, 38, 2, 3, 131, 39, 132, 28, 40, 133,
- 4, 168, 57, 228, 169, 229, 172, 41, 240, 173,
- 56, 186, 246, 247, 248, 249, 59, 58, 159, 211,
- 42, 43, 62, 63, 239, 66, 96, 97, 44, 45,
- 46, 47, 196, 197, 198, 98, 99, 114, 100, 117,
- 112, 120, 125, 252, 126, 127, 255, 256, 159, 128,
- 130, 146, 143, 147, 160, 148, 163, 161, 159, 159,
- 260, 164, 157, 174, 177, 72, -115, 180, 264, 73,
- 191, 182, 188, 74, 193, 202, 184, 250, 219, 75,
- 76, 77, 189, 78, 201, 203, 79, 80, 81, 82,
- 83, 220, 190, 84, 85, -115, -115, -115, 136, 206,
- 157, 209, 87, 72, -117, 212, 225, 73, 222, 231,
- 215, 74, 230, 217, 218, 232, 223, 75, 76, 77,
- 224, 78, 233, 235, 79, 80, 81, 82, 83, 237,
- 238, 84, 85, -117, -117, -117, 241, 242, 157, 245,
- 87, 72, 236, 244, 69, 73, 258, 259, 70, 74,
- 16, 40, 257, 262, 263, 75, 76, 77, 192, 78,
- 41, 227, 79, 80, 81, 82, 83, 71, 221, 84,
- 85, 72, 141, 42, 43, 73, 195, 65, 87, 74,
- 142, 44, 45, 46, 47, 75, 76, 77, 156, 78,
- 0, 0, 79, 80, 81, 82, 83, 72, 0, 84,
- 85, 73, 0, 0, 86, 74, 0, 0, 87, 0,
- 0, 75, 76, 77, 0, 78, 0, 0, 79, 80,
- 81, 82, 83, 72, 0, 84, 85, 73, 0, 0,
- 86, 74, 0, 0, 87, 0, 0, 75, 76, 77,
- 0, 78, 0, 0, 79, 80, 81, 82, 83, 0,
- 0, 84, 85, 0, 0, 0, 0, 0, 0, 0,
- 87
+ 25, 91, 101, 123, 110, 170, 154, 29, 135, 67,
+ 155, 30, 60, 109, 149, 23, 12, 28, 150, 175,
+ 24, 38, 61, 176, 116, 39, 118, 170, 40, 19,
+ 234, 102, 68, 129, 134, 171, 13, 41, 144, 91,
+ 168, 23, 136, 169, 145, 157, 24, 20, 72, -116,
+ 42, 43, 73, 105, 151, 159, 74, 171, 44, 45,
+ 46, 47, 75, 76, 77, 20, 78, 103, 14, 79,
+ 80, 81, 82, 83, 179, 17, 84, 85, -116, -116,
+ -116, 139, 140, 157, 23, 87, 72, 158, 226, 24,
+ 73, 204, 205, 18, 74, 207, 208, 22, 210, -59,
+ 75, 76, 77, 172, 78, 31, 173, 79, 80, 81,
+ 82, 83, 213, 1, 84, 85, 48, 196, 197, 198,
+ 2, 3, 185, 87, 32, 186, 26, 214, 4, 146,
+ 34, 69, 119, 48, 28, 70, 35, 120, 40, 36,
+ 152, 228, 57, 229, 58, 153, 131, 41, 132, 28,
+ 56, 133, 59, 247, 248, 249, 250, 62, 159, 211,
+ 42, 43, 240, 63, 239, 186, 254, 255, 44, 45,
+ 46, 47, 196, 197, 198, 66, 96, 97, 98, 114,
+ 99, 117, 100, 253, 112, 256, 257, 157, 159, 120,
+ 72, 236, 125, 126, 73, 127, 128, 143, 74, 261,
+ 147, 130, 146, 148, 75, 76, 77, 160, 78, 265,
+ 161, 79, 80, 81, 82, 83, 163, 251, 84, 85,
+ 72, 141, 164, 174, 73, 177, 180, 87, 74, 182,
+ 188, 193, 184, 189, 75, 76, 77, 190, 78, 191,
+ 136, 79, 80, 81, 82, 83, 72, 201, 84, 85,
+ 73, 202, 203, 86, 74, 206, 220, 87, 222, 209,
+ 75, 76, 77, 219, 78, 225, 212, 79, 80, 81,
+ 82, 83, 72, 215, 84, 85, 73, 217, 218, 86,
+ 74, 223, 230, 87, 224, 232, 75, 76, 77, 231,
+ 78, 233, 235, 79, 80, 81, 82, 83, 237, 241,
+ 84, 85, -2, 15, 238, -14, 242, 245, 246, 87,
+ 1, 258, 259, 260, 263, 264, 16, 2, 3, 192,
+ 71, 221, 227, 142, 195, 4, 65, 156
};
-static const short int yycheck[] =
+static const unsigned short int yycheck[] =
{
- 17, 56, 80, 180, 62, 1, 1, 1, 4, 5,
- 5, 5, 8, 68, 1, 7, 12, 5, 5, 41,
- 5, 5, 18, 19, 20, 31, 22, 4, 11, 25,
- 26, 27, 28, 29, 89, 41, 32, 33, 5, 94,
- 98, 36, 13, 11, 99, 41, 41, 41, 225, 41,
- 21, 36, 1, 41, 41, 110, 41, 41, 41, 11,
- 9, 32, 14, 0, 241, 242, 36, 34, 35, 36,
- 3, 41, 8, 41, 129, 24, 6, 1, 49, 15,
- 16, 1, 41, 7, 4, 5, 10, 23, 8, 41,
- 168, 169, 12, 7, 172, 173, 10, 175, 18, 19,
- 20, 76, 22, 78, 9, 25, 26, 27, 28, 29,
- 85, 4, 32, 33, 34, 35, 36, 0, 1, 36,
- 3, 41, 10, 8, 41, 8, 14, 182, 13, 8,
- 9, 1, 15, 16, 6, 5, 8, 9, 8, 11,
- 23, 10, 41, 201, 13, 203, 10, 17, 7, 13,
- 4, 10, 230, 231, 232, 233, 24, 41, 213, 176,
- 30, 31, 6, 4, 219, 4, 8, 41, 38, 39,
- 40, 41, 34, 35, 36, 6, 24, 6, 41, 6,
- 41, 41, 8, 238, 8, 8, 244, 245, 243, 6,
- 41, 41, 8, 7, 6, 8, 4, 8, 253, 254,
- 258, 41, 1, 8, 8, 4, 5, 4, 263, 8,
- 8, 21, 7, 12, 7, 7, 41, 234, 24, 18,
- 19, 20, 41, 22, 13, 11, 25, 26, 27, 28,
- 29, 8, 41, 32, 33, 34, 35, 36, 41, 41,
- 1, 41, 41, 4, 5, 41, 11, 8, 7, 13,
- 41, 12, 10, 41, 41, 10, 41, 18, 19, 20,
- 41, 22, 13, 8, 25, 26, 27, 28, 29, 8,
- 24, 32, 33, 34, 35, 36, 11, 11, 1, 11,
- 41, 4, 5, 13, 1, 8, 13, 8, 5, 12,
- 6, 8, 41, 41, 7, 18, 19, 20, 153, 22,
- 17, 199, 25, 26, 27, 28, 29, 49, 194, 32,
- 33, 4, 5, 30, 31, 8, 162, 45, 41, 12,
- 94, 38, 39, 40, 41, 18, 19, 20, 108, 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, 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
+ 17, 56, 62, 80, 72, 11, 1, 1, 7, 1,
+ 5, 5, 31, 68, 1, 36, 41, 9, 5, 10,
+ 41, 1, 41, 14, 76, 5, 78, 11, 8, 5,
+ 14, 5, 24, 85, 89, 41, 4, 17, 98, 94,
+ 10, 36, 41, 13, 99, 1, 41, 41, 4, 5,
+ 30, 31, 8, 5, 41, 110, 12, 41, 38, 39,
+ 40, 41, 18, 19, 20, 41, 22, 41, 0, 25,
+ 26, 27, 28, 29, 129, 3, 32, 33, 34, 35,
+ 36, 8, 9, 1, 36, 41, 4, 5, 5, 41,
+ 8, 168, 169, 6, 12, 172, 173, 13, 175, 11,
+ 18, 19, 20, 10, 22, 21, 13, 25, 26, 27,
+ 28, 29, 180, 8, 32, 33, 32, 34, 35, 36,
+ 15, 16, 7, 41, 4, 10, 41, 182, 23, 41,
+ 1, 1, 36, 49, 9, 5, 7, 41, 8, 10,
+ 8, 201, 41, 203, 41, 13, 6, 17, 8, 9,
+ 4, 11, 24, 230, 231, 232, 233, 6, 213, 176,
+ 30, 31, 7, 4, 219, 10, 241, 242, 38, 39,
+ 40, 41, 34, 35, 36, 4, 8, 41, 6, 6,
+ 24, 6, 41, 238, 41, 245, 246, 1, 243, 41,
+ 4, 5, 8, 8, 8, 8, 6, 8, 12, 259,
+ 7, 41, 41, 8, 18, 19, 20, 6, 22, 264,
+ 8, 25, 26, 27, 28, 29, 4, 234, 32, 33,
+ 4, 5, 41, 8, 8, 8, 4, 41, 12, 21,
+ 7, 7, 41, 41, 18, 19, 20, 41, 22, 8,
+ 41, 25, 26, 27, 28, 29, 4, 13, 32, 33,
+ 8, 7, 11, 37, 12, 41, 8, 41, 7, 41,
+ 18, 19, 20, 24, 22, 11, 41, 25, 26, 27,
+ 28, 29, 4, 41, 32, 33, 8, 41, 41, 37,
+ 12, 41, 10, 41, 41, 10, 18, 19, 20, 13,
+ 22, 13, 8, 25, 26, 27, 28, 29, 8, 11,
+ 32, 33, 0, 1, 24, 3, 11, 13, 11, 41,
+ 8, 41, 13, 8, 41, 7, 6, 15, 16, 153,
+ 49, 194, 199, 94, 162, 23, 45, 108
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -836,28 +820,28 @@ static const unsigned char yystos[] =
41, 51, 52, 36, 41, 46, 41, 54, 9, 1,
5, 52, 4, 55, 1, 7, 10, 53, 1, 5,
8, 17, 30, 31, 38, 39, 40, 41, 52, 56,
- 57, 58, 59, 89, 90, 95, 4, 41, 41, 24,
- 31, 41, 6, 4, 91, 91, 4, 1, 24, 1,
+ 57, 58, 59, 90, 91, 96, 4, 41, 41, 24,
+ 31, 41, 6, 4, 92, 92, 4, 1, 24, 1,
5, 57, 4, 8, 12, 18, 19, 20, 22, 25,
26, 27, 28, 29, 32, 33, 37, 41, 52, 65,
- 69, 70, 80, 82, 87, 88, 8, 41, 6, 24,
- 41, 67, 5, 41, 92, 5, 46, 93, 94, 70,
+ 69, 70, 80, 82, 88, 89, 8, 41, 6, 24,
+ 41, 67, 5, 41, 93, 5, 46, 94, 95, 70,
60, 70, 41, 78, 6, 63, 63, 6, 63, 36,
41, 68, 76, 68, 77, 8, 8, 8, 6, 63,
41, 6, 8, 11, 70, 7, 41, 66, 84, 8,
- 9, 5, 88, 8, 67, 70, 41, 7, 8, 1,
- 5, 41, 8, 13, 1, 5, 93, 1, 5, 70,
+ 9, 5, 89, 8, 67, 70, 41, 7, 8, 1,
+ 5, 41, 8, 13, 1, 5, 94, 1, 5, 70,
6, 8, 64, 4, 41, 61, 62, 67, 10, 13,
11, 41, 10, 13, 8, 10, 14, 8, 71, 70,
4, 81, 21, 75, 41, 7, 10, 74, 7, 41,
41, 8, 62, 7, 79, 66, 34, 35, 36, 85,
- 86, 13, 7, 11, 68, 68, 41, 68, 68, 41,
+ 87, 13, 7, 11, 68, 68, 41, 68, 68, 41,
68, 46, 41, 60, 70, 41, 83, 41, 41, 24,
- 8, 84, 7, 41, 41, 11, 5, 86, 67, 67,
+ 8, 84, 7, 41, 41, 11, 5, 87, 67, 67,
10, 13, 10, 13, 14, 8, 5, 8, 24, 70,
- 7, 11, 11, 60, 13, 11, 68, 68, 68, 68,
- 46, 72, 70, 60, 60, 67, 67, 41, 13, 8,
- 67, 73, 41, 7, 70
+ 7, 11, 11, 60, 86, 13, 11, 68, 68, 68,
+ 68, 46, 72, 70, 86, 86, 67, 67, 41, 13,
+ 8, 67, 73, 41, 7, 70
};
#define yyerrok (yyerrstatus = 0)
@@ -1233,333 +1217,341 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
switch (yytype)
{
case 41: /* "word" */
-#line 173 "ael.y"
+#line 175 "ael.y"
{ free((yyvaluep->str));};
-#line 1239 "ael.tab.c"
+#line 1223 "ael.tab.c"
break;
case 44: /* "objects" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1247 "ael.tab.c"
+#line 1231 "ael.tab.c"
break;
case 45: /* "object" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1255 "ael.tab.c"
+#line 1239 "ael.tab.c"
break;
case 46: /* "context_name" */
-#line 173 "ael.y"
+#line 175 "ael.y"
{ free((yyvaluep->str));};
-#line 1260 "ael.tab.c"
+#line 1244 "ael.tab.c"
break;
case 47: /* "context" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1268 "ael.tab.c"
+#line 1252 "ael.tab.c"
break;
case 49: /* "macro" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1276 "ael.tab.c"
+#line 1260 "ael.tab.c"
break;
case 50: /* "globals" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1284 "ael.tab.c"
+#line 1268 "ael.tab.c"
break;
case 51: /* "global_statements" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1292 "ael.tab.c"
+#line 1276 "ael.tab.c"
break;
case 52: /* "assignment" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1300 "ael.tab.c"
+#line 1284 "ael.tab.c"
break;
case 54: /* "arglist" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1308 "ael.tab.c"
+#line 1292 "ael.tab.c"
break;
case 55: /* "elements_block" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1316 "ael.tab.c"
+#line 1300 "ael.tab.c"
break;
case 56: /* "elements" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1324 "ael.tab.c"
+#line 1308 "ael.tab.c"
break;
case 57: /* "element" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1332 "ael.tab.c"
+#line 1316 "ael.tab.c"
break;
case 58: /* "ignorepat" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1340 "ael.tab.c"
+#line 1324 "ael.tab.c"
break;
case 59: /* "extension" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1348 "ael.tab.c"
+#line 1332 "ael.tab.c"
break;
case 60: /* "statements" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1356 "ael.tab.c"
+#line 1340 "ael.tab.c"
break;
case 61: /* "timerange" */
-#line 173 "ael.y"
+#line 175 "ael.y"
{ free((yyvaluep->str));};
-#line 1361 "ael.tab.c"
+#line 1345 "ael.tab.c"
break;
case 62: /* "timespec" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1369 "ael.tab.c"
+#line 1353 "ael.tab.c"
break;
case 63: /* "test_expr" */
-#line 173 "ael.y"
+#line 175 "ael.y"
{ free((yyvaluep->str));};
-#line 1374 "ael.tab.c"
+#line 1358 "ael.tab.c"
break;
case 65: /* "if_like_head" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1382 "ael.tab.c"
+#line 1366 "ael.tab.c"
break;
case 66: /* "word_list" */
-#line 173 "ael.y"
+#line 175 "ael.y"
{ free((yyvaluep->str));};
-#line 1387 "ael.tab.c"
+#line 1371 "ael.tab.c"
break;
case 67: /* "word3_list" */
-#line 173 "ael.y"
+#line 175 "ael.y"
{ free((yyvaluep->str));};
-#line 1392 "ael.tab.c"
+#line 1376 "ael.tab.c"
break;
case 68: /* "goto_word" */
-#line 173 "ael.y"
+#line 175 "ael.y"
{ free((yyvaluep->str));};
-#line 1397 "ael.tab.c"
+#line 1381 "ael.tab.c"
break;
case 69: /* "switch_statement" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1405 "ael.tab.c"
+#line 1389 "ael.tab.c"
break;
case 70: /* "statement" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1413 "ael.tab.c"
+#line 1397 "ael.tab.c"
break;
case 75: /* "opt_else" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1421 "ael.tab.c"
+#line 1405 "ael.tab.c"
break;
case 76: /* "target" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1429 "ael.tab.c"
+#line 1413 "ael.tab.c"
break;
case 77: /* "jumptarget" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1437 "ael.tab.c"
+#line 1421 "ael.tab.c"
break;
case 78: /* "macro_call" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1445 "ael.tab.c"
+#line 1429 "ael.tab.c"
break;
case 80: /* "application_call_head" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1453 "ael.tab.c"
+#line 1437 "ael.tab.c"
break;
case 82: /* "application_call" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1461 "ael.tab.c"
+#line 1445 "ael.tab.c"
break;
case 83: /* "opt_word" */
-#line 173 "ael.y"
+#line 175 "ael.y"
{ free((yyvaluep->str));};
-#line 1466 "ael.tab.c"
+#line 1450 "ael.tab.c"
break;
case 84: /* "eval_arglist" */
-#line 159 "ael.y"
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1474 "ael.tab.c"
+#line 1458 "ael.tab.c"
break;
case 85: /* "case_statements" */
-#line 159 "ael.y"
+#line 160 "ael.y"
+ {
+ destroy_pval((yyvaluep->pval));
+ prev_word=0;
+ };
+#line 1466 "ael.tab.c"
+ break;
+ case 86: /* "opt_statements" */
+#line 160 "ael.y"
+ {
+ destroy_pval((yyvaluep->pval));
+ prev_word=0;
+ };
+#line 1474 "ael.tab.c"
+ break;
+ case 87: /* "case_statement" */
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
#line 1482 "ael.tab.c"
break;
- case 86: /* "case_statement" */
-#line 159 "ael.y"
+ case 88: /* "macro_statements" */
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
#line 1490 "ael.tab.c"
break;
- case 87: /* "macro_statements" */
-#line 159 "ael.y"
+ case 89: /* "macro_statement" */
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
#line 1498 "ael.tab.c"
break;
- case 88: /* "macro_statement" */
-#line 159 "ael.y"
+ case 90: /* "switches" */
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
#line 1506 "ael.tab.c"
break;
- case 89: /* "switches" */
-#line 159 "ael.y"
+ case 91: /* "eswitches" */
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
#line 1514 "ael.tab.c"
break;
- case 90: /* "eswitches" */
-#line 159 "ael.y"
+ case 92: /* "switchlist_block" */
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
#line 1522 "ael.tab.c"
break;
- case 91: /* "switchlist_block" */
-#line 159 "ael.y"
+ case 93: /* "switchlist" */
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
#line 1530 "ael.tab.c"
break;
- case 92: /* "switchlist" */
-#line 159 "ael.y"
+ case 94: /* "included_entry" */
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
#line 1538 "ael.tab.c"
break;
- case 93: /* "included_entry" */
-#line 159 "ael.y"
+ case 95: /* "includeslist" */
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
#line 1546 "ael.tab.c"
break;
- case 94: /* "includeslist" */
-#line 159 "ael.y"
+ case 96: /* "includes" */
+#line 160 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
#line 1554 "ael.tab.c"
break;
- case 95: /* "includes" */
-#line 159 "ael.y"
- {
- destroy_pval((yyvaluep->pval));
- prev_word=0;
- };
-#line 1562 "ael.tab.c"
- break;
default:
break;
@@ -1875,57 +1867,57 @@ yyreduce:
switch (yyn)
{
case 2:
-#line 180 "ael.y"
+#line 182 "ael.y"
{ (yyval.pval) = parseio->pval = (yyvsp[0].pval); ;}
break;
case 3:
-#line 183 "ael.y"
+#line 185 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 4:
-#line 184 "ael.y"
+#line 186 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
break;
case 5:
-#line 185 "ael.y"
+#line 187 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
case 6:
-#line 188 "ael.y"
+#line 190 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 7:
-#line 189 "ael.y"
+#line 191 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 8:
-#line 190 "ael.y"
+#line 192 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 9:
-#line 191 "ael.y"
+#line 193 "ael.y"
{(yyval.pval)=0;/* allow older docs to be read */;}
break;
case 10:
-#line 194 "ael.y"
+#line 196 "ael.y"
{ (yyval.str) = (yyvsp[0].str); ;}
break;
case 11:
-#line 195 "ael.y"
+#line 197 "ael.y"
{ (yyval.str) = strdup("default"); ;}
break;
case 12:
-#line 198 "ael.y"
+#line 200 "ael.y"
{
(yyval.pval) = npval2(PV_CONTEXT, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);
@@ -1934,57 +1926,57 @@ yyreduce:
break;
case 13:
-#line 206 "ael.y"
+#line 208 "ael.y"
{ (yyval.intval) = 1; ;}
break;
case 14:
-#line 207 "ael.y"
+#line 209 "ael.y"
{ (yyval.intval) = 0; ;}
break;
case 15:
-#line 210 "ael.y"
+#line 212 "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 215 "ael.y"
+#line 217 "ael.y"
{
(yyval.pval) = npval2(PV_GLOBALS, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.statements = (yyvsp[-1].pval);;}
break;
case 17:
-#line 218 "ael.y"
+#line 220 "ael.y"
{ /* empty globals is OK */
(yyval.pval) = npval2(PV_GLOBALS, &(yylsp[-2]), &(yylsp[0])); ;}
break;
case 18:
-#line 222 "ael.y"
+#line 224 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 19:
-#line 223 "ael.y"
+#line 225 "ael.y"
{(yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
break;
case 20:
-#line 224 "ael.y"
+#line 226 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
case 21:
-#line 227 "ael.y"
+#line 229 "ael.y"
{ reset_semicount(parseio->scanner); ;}
break;
case 22:
-#line 227 "ael.y"
+#line 229 "ael.y"
{
(yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-4].str);
@@ -1992,104 +1984,104 @@ yyreduce:
break;
case 23:
-#line 233 "ael.y"
+#line 235 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
case 24:
-#line 234 "ael.y"
+#line 236 "ael.y"
{ (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;}
break;
case 25:
-#line 235 "ael.y"
+#line 237 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[0].str), &(yylsp[0]))); ;}
break;
case 26:
-#line 236 "ael.y"
+#line 238 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
case 27:
-#line 239 "ael.y"
+#line 241 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
case 28:
-#line 240 "ael.y"
+#line 242 "ael.y"
{ (yyval.pval) = (yyvsp[-1].pval); ;}
break;
case 29:
-#line 243 "ael.y"
+#line 245 "ael.y"
{ (yyval.pval)=(yyvsp[0].pval);;}
break;
case 30:
-#line 244 "ael.y"
+#line 246 "ael.y"
{(yyval.pval)=0;;}
break;
case 31:
-#line 245 "ael.y"
+#line 247 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
break;
case 32:
-#line 246 "ael.y"
+#line 248 "ael.y"
{ (yyval.pval)=(yyvsp[-1].pval);;}
break;
case 33:
-#line 249 "ael.y"
+#line 251 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 34:
-#line 250 "ael.y"
+#line 252 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 35:
-#line 251 "ael.y"
+#line 253 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 36:
-#line 252 "ael.y"
+#line 254 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 37:
-#line 253 "ael.y"
+#line 255 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 38:
-#line 254 "ael.y"
+#line 256 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 39:
-#line 255 "ael.y"
+#line 257 "ael.y"
{free((yyvsp[-1].str)); (yyval.pval)=0;;}
break;
case 40:
-#line 256 "ael.y"
+#line 258 "ael.y"
{(yyval.pval)=0;/* allow older docs to be read */;}
break;
case 41:
-#line 259 "ael.y"
+#line 261 "ael.y"
{
(yyval.pval) = npval2(PV_IGNOREPAT, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);;}
break;
case 42:
-#line 264 "ael.y"
+#line 266 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2097,7 +2089,7 @@ yyreduce:
break;
case 43:
-#line 268 "ael.y"
+#line 270 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2106,7 +2098,7 @@ yyreduce:
break;
case 44:
-#line 273 "ael.y"
+#line 275 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-6]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2115,7 +2107,7 @@ yyreduce:
break;
case 45:
-#line 278 "ael.y"
+#line 280 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-7]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2125,22 +2117,22 @@ yyreduce:
break;
case 46:
-#line 287 "ael.y"
+#line 289 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 47:
-#line 288 "ael.y"
+#line 290 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
break;
case 48:
-#line 289 "ael.y"
+#line 291 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
case 49:
-#line 295 "ael.y"
+#line 297 "ael.y"
{
asprintf(&(yyval.str), "%s:%s:%s", (yyvsp[-4].str), (yyvsp[-2].str), (yyvsp[0].str));
free((yyvsp[-4].str));
@@ -2149,12 +2141,12 @@ yyreduce:
break;
case 50:
-#line 300 "ael.y"
+#line 302 "ael.y"
{ (yyval.str) = (yyvsp[0].str); ;}
break;
case 51:
-#line 304 "ael.y"
+#line 306 "ael.y"
{
(yyval.pval) = nword((yyvsp[-6].str), &(yylsp[-6]));
(yyval.pval)->next = nword((yyvsp[-4].str), &(yylsp[-4]));
@@ -2163,32 +2155,32 @@ yyreduce:
break;
case 52:
-#line 312 "ael.y"
+#line 314 "ael.y"
{ reset_parencount(parseio->scanner); ;}
break;
case 53:
-#line 312 "ael.y"
+#line 314 "ael.y"
{
(yyval.str) = (yyvsp[-1].str); ;}
break;
case 54:
-#line 317 "ael.y"
+#line 319 "ael.y"
{
(yyval.pval)= npval2(PV_IF, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[0].str); ;}
break;
case 55:
-#line 320 "ael.y"
+#line 322 "ael.y"
{
(yyval.pval) = npval2(PV_RANDOM, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.str=(yyvsp[0].str);;}
break;
case 56:
-#line 323 "ael.y"
+#line 325 "ael.y"
{
(yyval.pval) = npval2(PV_IFTIME, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[-1].pval);
@@ -2196,12 +2188,12 @@ yyreduce:
break;
case 57:
-#line 334 "ael.y"
+#line 336 "ael.y"
{ (yyval.str) = (yyvsp[0].str);;}
break;
case 58:
-#line 335 "ael.y"
+#line 337 "ael.y"
{
asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
free((yyvsp[-1].str));
@@ -2210,12 +2202,12 @@ yyreduce:
break;
case 59:
-#line 342 "ael.y"
+#line 344 "ael.y"
{ (yyval.str) = (yyvsp[0].str);;}
break;
case 60:
-#line 343 "ael.y"
+#line 345 "ael.y"
{
asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
free((yyvsp[-1].str));
@@ -2224,7 +2216,7 @@ yyreduce:
break;
case 61:
-#line 348 "ael.y"
+#line 350 "ael.y"
{
asprintf(&((yyval.str)), "%s%s%s", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str));
free((yyvsp[-2].str));
@@ -2234,12 +2226,12 @@ yyreduce:
break;
case 62:
-#line 356 "ael.y"
+#line 358 "ael.y"
{ (yyval.str) = (yyvsp[0].str);;}
break;
case 63:
-#line 357 "ael.y"
+#line 359 "ael.y"
{
asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
free((yyvsp[-1].str));
@@ -2247,7 +2239,7 @@ yyreduce:
break;
case 64:
-#line 361 "ael.y"
+#line 363 "ael.y"
{
asprintf(&((yyval.str)), "%s:%s", (yyvsp[-2].str), (yyvsp[0].str));
free((yyvsp[-2].str));
@@ -2255,7 +2247,7 @@ yyreduce:
break;
case 65:
-#line 367 "ael.y"
+#line 369 "ael.y"
{
(yyval.pval) = npval2(PV_SWITCH, &(yylsp[-4]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-3].str);
@@ -2263,55 +2255,55 @@ yyreduce:
break;
case 66:
-#line 376 "ael.y"
+#line 378 "ael.y"
{
(yyval.pval) = npval2(PV_STATEMENTBLOCK, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[-1].pval); ;}
break;
case 67:
-#line 379 "ael.y"
+#line 381 "ael.y"
{ (yyval.pval) = (yyvsp[0].pval); ;}
break;
case 68:
-#line 380 "ael.y"
+#line 382 "ael.y"
{
(yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[-1].pval);;}
break;
case 69:
-#line 383 "ael.y"
+#line 385 "ael.y"
{
(yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[-1].pval);;}
break;
case 70:
-#line 386 "ael.y"
+#line 388 "ael.y"
{
(yyval.pval) = npval2(PV_LABEL, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str); ;}
break;
case 71:
-#line 389 "ael.y"
+#line 391 "ael.y"
{reset_semicount(parseio->scanner);;}
break;
case 72:
-#line 390 "ael.y"
+#line 392 "ael.y"
{reset_semicount(parseio->scanner);;}
break;
case 73:
-#line 391 "ael.y"
+#line 393 "ael.y"
{reset_parencount(parseio->scanner);;}
break;
case 74:
-#line 391 "ael.y"
+#line 393 "ael.y"
{ /* XXX word_list maybe ? */
(yyval.pval) = npval2(PV_FOR, &(yylsp[-11]), &(yylsp[0]));
(yyval.pval)->u1.for_init = (yyvsp[-8].str);
@@ -2321,7 +2313,7 @@ yyreduce:
break;
case 75:
-#line 397 "ael.y"
+#line 399 "ael.y"
{
(yyval.pval) = npval2(PV_WHILE, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);
@@ -2329,36 +2321,36 @@ yyreduce:
break;
case 76:
-#line 401 "ael.y"
+#line 403 "ael.y"
{ (yyval.pval) = (yyvsp[0].pval); ;}
break;
case 77:
-#line 402 "ael.y"
+#line 404 "ael.y"
{
(yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[-1])); ;}
break;
case 78:
-#line 404 "ael.y"
+#line 406 "ael.y"
{
(yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;}
break;
case 79:
-#line 406 "ael.y"
+#line 408 "ael.y"
{
(yyval.pval)= npval2(PV_APPLICATION_CALL, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);;}
break;
case 80:
-#line 409 "ael.y"
+#line 411 "ael.y"
{reset_semicount(parseio->scanner);;}
break;
case 81:
-#line 409 "ael.y"
+#line 411 "ael.y"
{
char *bufx;
int tot=0;
@@ -2395,22 +2387,22 @@ yyreduce:
break;
case 82:
-#line 442 "ael.y"
+#line 444 "ael.y"
{ (yyval.pval) = npval2(PV_BREAK, &(yylsp[-1]), &(yylsp[0])); ;}
break;
case 83:
-#line 443 "ael.y"
+#line 445 "ael.y"
{ (yyval.pval) = npval2(PV_RETURN, &(yylsp[-1]), &(yylsp[0])); ;}
break;
case 84:
-#line 444 "ael.y"
+#line 446 "ael.y"
{ (yyval.pval) = npval2(PV_CONTINUE, &(yylsp[-1]), &(yylsp[0])); ;}
break;
case 85:
-#line 445 "ael.y"
+#line 447 "ael.y"
{
(yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[-1]));
(yyval.pval)->u2.statements = (yyvsp[-1].pval);
@@ -2418,41 +2410,41 @@ yyreduce:
break;
case 86:
-#line 449 "ael.y"
+#line 451 "ael.y"
{ (yyval.pval)=0; ;}
break;
case 87:
-#line 452 "ael.y"
+#line 454 "ael.y"
{ (yyval.pval) = (yyvsp[0].pval); ;}
break;
case 88:
-#line 453 "ael.y"
+#line 455 "ael.y"
{ (yyval.pval) = NULL ; ;}
break;
case 89:
-#line 458 "ael.y"
+#line 460 "ael.y"
{ (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;}
break;
case 90:
-#line 459 "ael.y"
+#line 461 "ael.y"
{
(yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
(yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
break;
case 91:
-#line 462 "ael.y"
+#line 464 "ael.y"
{
(yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
(yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
break;
case 92:
-#line 465 "ael.y"
+#line 467 "ael.y"
{
(yyval.pval) = nword((yyvsp[-4].str), &(yylsp[-4]));
(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
@@ -2460,7 +2452,7 @@ yyreduce:
break;
case 93:
-#line 469 "ael.y"
+#line 471 "ael.y"
{
(yyval.pval) = nword((yyvsp[-4].str), &(yylsp[-4]));
(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
@@ -2468,7 +2460,7 @@ yyreduce:
break;
case 94:
-#line 473 "ael.y"
+#line 475 "ael.y"
{
(yyval.pval) = nword(strdup("default"), &(yylsp[-4]));
(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
@@ -2476,7 +2468,7 @@ yyreduce:
break;
case 95:
-#line 477 "ael.y"
+#line 479 "ael.y"
{
(yyval.pval) = nword(strdup("default"), &(yylsp[-4]));
(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
@@ -2484,21 +2476,21 @@ yyreduce:
break;
case 96:
-#line 484 "ael.y"
+#line 486 "ael.y"
{ /* ext, 1 */
(yyval.pval) = nword((yyvsp[0].str), &(yylsp[0]));
(yyval.pval)->next = nword(strdup("1"), &(yylsp[0])); ;}
break;
case 97:
-#line 487 "ael.y"
+#line 489 "ael.y"
{ /* ext, pri */
(yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
(yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
break;
case 98:
-#line 490 "ael.y"
+#line 492 "ael.y"
{ /* context, ext, pri */
(yyval.pval) = nword((yyvsp[0].str), &(yylsp[0]));
(yyval.pval)->next = nword((yyvsp[-4].str), &(yylsp[-4]));
@@ -2506,7 +2498,7 @@ yyreduce:
break;
case 99:
-#line 494 "ael.y"
+#line 496 "ael.y"
{ /* context, ext, 1 */
(yyval.pval) = nword((yyvsp[0].str), &(yylsp[0]));
(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
@@ -2514,12 +2506,12 @@ yyreduce:
break;
case 100:
-#line 500 "ael.y"
+#line 502 "ael.y"
{reset_argcount(parseio->scanner);;}
break;
case 101:
-#line 500 "ael.y"
+#line 502 "ael.y"
{
/* XXX original code had @2 but i think we need @5 */
(yyval.pval) = npval2(PV_MACRO_CALL, &(yylsp[-4]), &(yylsp[0]));
@@ -2528,19 +2520,19 @@ yyreduce:
break;
case 102:
-#line 505 "ael.y"
+#line 507 "ael.y"
{
(yyval.pval)= npval2(PV_MACRO_CALL, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str); ;}
break;
case 103:
-#line 513 "ael.y"
+#line 515 "ael.y"
{reset_argcount(parseio->scanner);;}
break;
case 104:
-#line 513 "ael.y"
+#line 515 "ael.y"
{
if (strcasecmp((yyvsp[-2].str),"goto") == 0) {
(yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[-1]));
@@ -2553,7 +2545,7 @@ yyreduce:
break;
case 105:
-#line 524 "ael.y"
+#line 526 "ael.y"
{
(yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[0]));
if( (yyval.pval)->type == PV_GOTO )
@@ -2564,201 +2556,190 @@ yyreduce:
break;
case 106:
-#line 531 "ael.y"
+#line 533 "ael.y"
{ (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;}
break;
case 107:
-#line 534 "ael.y"
+#line 536 "ael.y"
{ (yyval.str) = (yyvsp[0].str) ;}
break;
case 108:
-#line 535 "ael.y"
+#line 537 "ael.y"
{ (yyval.str) = strdup(""); ;}
break;
case 109:
-#line 538 "ael.y"
+#line 540 "ael.y"
{ (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;}
break;
case 110:
-#line 539 "ael.y"
+#line 541 "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 111:
-#line 542 "ael.y"
+#line 544 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[0].str), &(yylsp[0]))); ;}
break;
case 112:
-#line 545 "ael.y"
+#line 547 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
case 113:
-#line 546 "ael.y"
+#line 548 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 114:
-#line 547 "ael.y"
+#line 549 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
break;
case 115:
-#line 550 "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);;}
+#line 553 "ael.y"
+ { (yyval.pval) = NULL; ;}
break;
case 116:
#line 554 "ael.y"
- {
- (yyval.pval) = npval2(PV_DEFAULT, &(yylsp[-2]), &(yylsp[0]));
- (yyval.pval)->u1.str = NULL;
- (yyval.pval)->u2.statements = (yyvsp[0].pval);;}
+ { (yyval.pval) = (yyvsp[0].pval); ;}
break;
case 117:
-#line 558 "ael.y"
+#line 557 "ael.y"
{
- (yyval.pval) = npval2(PV_PATTERN, &(yylsp[-3]), &(yylsp[0])); /* XXX@3 or @4 ? */
+ (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 118:
-#line 562 "ael.y"
+#line 561 "ael.y"
{
- (yyval.pval) = npval2(PV_CASE, &(yylsp[-2]), &(yylsp[0]));
- (yyval.pval)->u1.str = (yyvsp[-1].str);;}
+ (yyval.pval) = npval2(PV_DEFAULT, &(yylsp[-2]), &(yylsp[0]));
+ (yyval.pval)->u1.str = NULL;
+ (yyval.pval)->u2.statements = (yyvsp[0].pval);;}
break;
case 119:
#line 565 "ael.y"
{
- (yyval.pval) = npval2(PV_DEFAULT, &(yylsp[-1]), &(yylsp[0]));
- (yyval.pval)->u1.str = NULL;;}
+ (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 120:
-#line 568 "ael.y"
- {
- (yyval.pval) = npval2(PV_PATTERN, &(yylsp[-2]), &(yylsp[0]));
- (yyval.pval)->u1.str = (yyvsp[-1].str);;}
- break;
-
- case 121:
-#line 573 "ael.y"
+#line 571 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
- case 122:
-#line 574 "ael.y"
+ case 121:
+#line 572 "ael.y"
{(yyval.pval) = (yyvsp[0].pval);;}
break;
- case 123:
-#line 575 "ael.y"
+ case 122:
+#line 573 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
break;
- case 124:
-#line 578 "ael.y"
+ case 123:
+#line 576 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
- case 125:
-#line 579 "ael.y"
+ case 124:
+#line 577 "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 126:
-#line 585 "ael.y"
+ case 125:
+#line 583 "ael.y"
{
(yyval.pval) = npval2(PV_SWITCHES, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[0].pval); ;}
break;
- case 127:
-#line 590 "ael.y"
+ case 126:
+#line 588 "ael.y"
{
(yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[0].pval); ;}
break;
- case 128:
-#line 595 "ael.y"
+ case 127:
+#line 593 "ael.y"
{ (yyval.pval) = (yyvsp[-1].pval); ;}
break;
- case 129:
-#line 596 "ael.y"
+ case 128:
+#line 594 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
- case 130:
-#line 599 "ael.y"
+ case 129:
+#line 597 "ael.y"
{ (yyval.pval) = nword((yyvsp[-1].str), &(yylsp[-1])); ;}
break;
- case 131:
-#line 600 "ael.y"
+ case 130:
+#line 598 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[-1].str), &(yylsp[-1]))); ;}
break;
- case 132:
-#line 601 "ael.y"
+ case 131:
+#line 599 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
- case 133:
-#line 604 "ael.y"
+ case 132:
+#line 602 "ael.y"
{ (yyval.pval) = nword((yyvsp[-1].str), &(yylsp[-1])); ;}
break;
- case 134:
-#line 605 "ael.y"
+ case 133:
+#line 603 "ael.y"
{
(yyval.pval) = nword((yyvsp[-3].str), &(yylsp[-3]));
(yyval.pval)->u2.arglist = (yyvsp[-1].pval);
prev_word=0; /* XXX sure ? */ ;}
break;
- case 135:
-#line 612 "ael.y"
+ case 134:
+#line 610 "ael.y"
{ (yyval.pval) = (yyvsp[0].pval); ;}
break;
- case 136:
-#line 613 "ael.y"
+ case 135:
+#line 611 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
break;
- case 137:
-#line 614 "ael.y"
+ case 136:
+#line 612 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
- case 138:
-#line 617 "ael.y"
+ case 137:
+#line 615 "ael.y"
{
(yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[-1].pval);;}
break;
- case 139:
-#line 620 "ael.y"
+ case 138:
+#line 618 "ael.y"
{
(yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-2]), &(yylsp[0]));;}
break;
@@ -2768,7 +2749,7 @@ yyreduce:
}
/* Line 1126 of yacc.c. */
-#line 2772 "ael.tab.c"
+#line 2753 "ael.tab.c"
yyvsp -= yylen;
yyssp -= yylen;
@@ -3043,7 +3024,7 @@ yyreturn:
}
-#line 625 "ael.y"
+#line 623 "ael.y"
static char *token_equivs1[] =
diff --git a/pbx/ael/ael.y b/pbx/ael/ael.y
index f73b385aa..e46a002d3 100644
--- a/pbx/ael/ael.y
+++ b/pbx/ael/ael.y
@@ -121,6 +121,7 @@ static pval *update_last(pval *, YYLTYPE *);
%type <pval>switchlist_block
%type <pval>timespec
%type <pval>included_entry
+%type <pval>opt_statements
%type <str>opt_word
%type <str>context_name
@@ -169,6 +170,7 @@ static pval *update_last(pval *, YYLTYPE *);
opt_else
elements_block switchlist_block
timespec included_entry
+ opt_statements
%destructor { free($$);} word word_list goto_word word3_list opt_word context_name
timerange
@@ -547,27 +549,23 @@ case_statements: /* empty */ { $$ = NULL; }
| case_statements case_statement { $$ = linku1($1, $2); }
;
-case_statement: KW_CASE word COLON statements {
+/* statement in a switch body after a label */
+opt_statements : { $$ = NULL; }
+ | statements { $$ = $1; }
+ ;
+
+case_statement: KW_CASE word COLON opt_statements {
$$ = npval2(PV_CASE, &@1, &@3); /* XXX 3 or 4 ? */
$$->u1.str = $2;
$$->u2.statements = $4;}
- | KW_DEFAULT COLON statements {
+ | KW_DEFAULT COLON opt_statements {
$$ = npval2(PV_DEFAULT, &@1, &@3);
$$->u1.str = NULL;
$$->u2.statements = $3;}
- | KW_PATTERN word COLON statements {
+ | KW_PATTERN word COLON opt_statements {
$$ = npval2(PV_PATTERN, &@1, &@4); /* XXX@3 or @4 ? */
$$->u1.str = $2;
$$->u2.statements = $4;}
- | KW_CASE word COLON {
- $$ = npval2(PV_CASE, &@1, &@3);
- $$->u1.str = $2;}
- | KW_DEFAULT COLON {
- $$ = npval2(PV_DEFAULT, &@1, &@2);
- $$->u1.str = NULL;}
- | KW_PATTERN word COLON {
- $$ = npval2(PV_PATTERN, &@1, &@3);
- $$->u1.str = $2;}
;
macro_statements: /* empty */ { $$ = NULL; }