From fb458f5cf763e065d9ea3177bdc21dbf315d6a84 Mon Sep 17 00:00:00 2001 From: rizzo Date: Wed, 3 May 2006 16:33:00 +0000 Subject: [PATCH] remove a redundant rule git-svn-id: http://svn.digium.com/svn/asterisk/trunk@24426 f38db490-d61c-443f-a65b-d21fe96a405b --- pbx/ael/ael.tab.c | 933 ++++++++++++++++++++++------------------------ pbx/ael/ael.y | 21 +- 2 files changed, 459 insertions(+), 495 deletions(-) diff --git a/pbx/ael/ael.tab.c b/pbx/ael/ael.tab.c index 10103b089..aeff148db 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 321 +#define YYLAST 302 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 42 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 55 +#define YYNNTS 54 /* YYNRULES -- Number of rules. */ -#define YYNRULES 135 +#define YYNRULES 132 /* YYNRULES -- Number of states. */ -#define YYNSTATES 263 +#define YYNSTATES 262 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -482,16 +482,16 @@ static const unsigned short int yyprhs[] = 21, 23, 25, 30, 32, 33, 42, 47, 48, 51, 54, 55, 61, 62, 64, 68, 71, 75, 76, 79, 82, 84, 86, 88, 90, 92, 94, 97, 99, 104, - 108, 113, 121, 130, 132, 135, 138, 144, 146, 154, - 155, 160, 163, 166, 171, 173, 176, 178, 181, 185, - 187, 190, 194, 200, 204, 206, 210, 214, 217, 218, - 219, 220, 233, 237, 239, 243, 246, 249, 250, 256, - 259, 262, 265, 269, 271, 274, 275, 277, 281, 285, - 291, 297, 303, 309, 311, 315, 321, 325, 326, 332, - 336, 337, 341, 345, 348, 350, 351, 353, 354, 358, - 359, 361, 364, 365, 367, 372, 376, 381, 382, 384, - 387, 389, 395, 398, 401, 405, 408, 411, 415, 418, - 420, 424, 427, 431, 434, 439 + 108, 113, 121, 130, 131, 134, 137, 143, 145, 153, + 154, 159, 162, 165, 170, 172, 175, 177, 180, 184, + 186, 189, 193, 199, 203, 205, 209, 213, 216, 217, + 218, 219, 232, 236, 238, 242, 245, 248, 249, 255, + 258, 261, 264, 268, 270, 273, 274, 276, 280, 284, + 290, 296, 302, 308, 310, 314, 320, 324, 325, 331, + 335, 336, 340, 344, 347, 349, 350, 352, 353, 357, + 358, 361, 366, 370, 375, 376, 378, 381, 383, 389, + 392, 395, 399, 402, 405, 409, 412, 414, 418, 421, + 425, 428, 433 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -500,67 +500,66 @@ 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, 88, + 23, -1, -1, 15, 41, 6, 54, 7, 4, 87, 5, -1, 16, 4, 51, 5, -1, -1, 52, 51, -1, 51, 1, -1, -1, 41, 9, 53, 41, 8, -1, -1, 41, -1, 54, 10, 41, -1, 54, 1, -1, 4, 56, 5, -1, -1, 57, 56, -1, 56, - 1, -1, 59, -1, 96, -1, 90, -1, 91, -1, + 1, -1, 59, -1, 95, -1, 89, -1, 90, -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, 70, -1, 30, 31, 6, 67, 7, 41, 24, 70, -1, - 70, -1, 60, 70, -1, 60, 1, -1, 67, 11, - 67, 11, 67, -1, 41, -1, 61, 13, 67, 13, - 67, 13, 67, -1, -1, 6, 64, 66, 7, -1, - 19, 63, -1, 22, 63, -1, 20, 6, 62, 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, 18, 63, 4, 85, 5, -1, - 4, 60, 5, -1, 52, -1, 25, 76, 8, -1, - 26, 77, 8, -1, 41, 11, -1, -1, -1, -1, - 32, 6, 71, 41, 8, 72, 41, 8, 73, 41, - 7, 70, -1, 33, 63, 70, -1, 69, -1, 12, - 78, 8, -1, 82, 8, -1, 41, 8, -1, -1, - 82, 9, 74, 41, 8, -1, 28, 8, -1, 27, - 8, -1, 29, 8, -1, 65, 70, 75, -1, 8, - -1, 21, 70, -1, -1, 68, -1, 68, 13, 68, - -1, 68, 10, 68, -1, 68, 13, 68, 13, 68, - -1, 68, 10, 68, 10, 68, -1, 36, 13, 68, - 13, 68, -1, 36, 10, 68, 10, 68, -1, 68, - -1, 68, 10, 68, -1, 68, 10, 41, 14, 46, - -1, 68, 14, 46, -1, -1, 41, 6, 79, 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, 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, -1, - 46, 13, 62, -1, 94, 8, -1, 95, 94, 8, - -1, 95, 1, -1, 40, 4, 95, 5, -1, 40, - 4, 5, -1 + -1, 70, 60, -1, 60, 1, -1, 67, 11, 67, + 11, 67, -1, 41, -1, 61, 13, 67, 13, 67, + 13, 67, -1, -1, 6, 64, 66, 7, -1, 19, + 63, -1, 22, 63, -1, 20, 6, 62, 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, 18, 63, 4, 85, 5, -1, 4, + 60, 5, -1, 52, -1, 25, 76, 8, -1, 26, + 77, 8, -1, 41, 11, -1, -1, -1, -1, 32, + 6, 71, 41, 8, 72, 41, 8, 73, 41, 7, + 70, -1, 33, 63, 70, -1, 69, -1, 12, 78, + 8, -1, 82, 8, -1, 41, 8, -1, -1, 82, + 9, 74, 41, 8, -1, 28, 8, -1, 27, 8, + -1, 29, 8, -1, 65, 70, 75, -1, 8, -1, + 21, 70, -1, -1, 68, -1, 68, 13, 68, -1, + 68, 10, 68, -1, 68, 13, 68, 13, 68, -1, + 68, 10, 68, 10, 68, -1, 36, 13, 68, 13, + 68, -1, 36, 10, 68, 10, 68, -1, 68, -1, + 68, 10, 68, -1, 68, 10, 41, 14, 46, -1, + 68, 14, 46, -1, -1, 41, 6, 79, 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, 85, + -1, 34, 41, 11, 60, -1, 36, 11, 60, -1, + 35, 41, 11, 60, -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, -1, 46, 13, 62, -1, 93, 8, + -1, 94, 93, 8, -1, 94, 1, -1, 40, 4, + 94, 5, -1, 40, 4, 5, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short int yyrline[] = { - 0, 182, 182, 185, 186, 187, 190, 191, 192, 193, - 196, 197, 200, 208, 209, 212, 217, 222, 223, 224, - 227, 227, 233, 234, 235, 236, 239, 242, 243, 244, - 247, 248, 249, 250, 251, 252, 253, 254, 257, 262, - 266, 271, 276, 285, 286, 287, 293, 298, 302, 310, - 310, 315, 318, 321, 332, 333, 340, 341, 346, 354, - 355, 359, 365, 374, 377, 378, 381, 384, 387, 388, - 389, 387, 395, 399, 400, 402, 404, 407, 407, 440, - 441, 442, 443, 447, 450, 451, 456, 457, 460, 463, - 467, 471, 475, 482, 485, 488, 492, 498, 498, 503, - 511, 511, 522, 529, 532, 533, 536, 537, 540, 543, - 544, 545, 549, 550, 553, 557, 561, 567, 568, 569, - 572, 573, 579, 584, 589, 590, 593, 594, 595, 598, - 599, 606, 607, 608, 611, 614 + 0, 180, 180, 183, 184, 185, 188, 189, 190, 191, + 194, 195, 198, 206, 207, 210, 215, 220, 221, 222, + 225, 225, 231, 232, 233, 234, 237, 240, 241, 242, + 245, 246, 247, 248, 249, 250, 251, 252, 255, 260, + 264, 269, 274, 284, 285, 286, 292, 297, 301, 309, + 309, 314, 317, 320, 331, 332, 339, 340, 345, 353, + 354, 358, 364, 373, 376, 377, 380, 383, 386, 387, + 388, 386, 394, 398, 399, 401, 403, 406, 406, 439, + 440, 441, 442, 446, 449, 450, 455, 456, 459, 462, + 466, 470, 474, 481, 484, 487, 491, 497, 497, 502, + 510, 510, 521, 528, 531, 532, 535, 536, 539, 542, + 543, 546, 550, 554, 560, 561, 562, 565, 566, 572, + 577, 582, 583, 586, 587, 588, 591, 592, 599, 600, + 601, 604, 607 }; #endif @@ -583,10 +582,9 @@ 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", "opt_statements", "case_statement", - "macro_statements", "macro_statement", "switches", "eswitches", - "switchlist_block", "switchlist", "included_entry", "includeslist", - "includes", 0 + "eval_arglist", "case_statements", "case_statement", "macro_statements", + "macro_statement", "switches", "eswitches", "switchlist_block", + "switchlist", "included_entry", "includeslist", "includes", 0 }; #endif @@ -617,9 +615,9 @@ static const unsigned char yyr1[] = 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, 87, 87, 87, 88, 88, 88, - 89, 89, 90, 91, 92, 92, 93, 93, 93, 94, - 94, 95, 95, 95, 96, 96 + 85, 86, 86, 86, 87, 87, 87, 88, 88, 89, + 90, 91, 91, 92, 92, 92, 93, 93, 94, 94, + 94, 95, 95 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -629,16 +627,16 @@ static const unsigned char yyr2[] = 1, 1, 4, 1, 0, 8, 4, 0, 2, 2, 0, 5, 0, 1, 3, 2, 3, 0, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 4, 3, - 4, 7, 8, 1, 2, 2, 5, 1, 7, 0, + 4, 7, 8, 0, 2, 2, 5, 1, 7, 0, 4, 2, 2, 4, 1, 2, 1, 2, 3, 1, 2, 3, 5, 3, 1, 3, 3, 2, 0, 0, 0, 12, 3, 1, 3, 2, 2, 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, 0, 1, 4, 3, 4, 0, 1, 2, - 1, 5, 2, 2, 3, 2, 2, 3, 2, 1, - 3, 2, 3, 2, 4, 3 + 2, 4, 3, 4, 0, 1, 2, 1, 5, 2, + 2, 3, 2, 2, 3, 2, 1, 3, 2, 3, + 2, 4, 3 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -651,84 +649,84 @@ static const unsigned char yydefact[] = 0, 17, 11, 10, 0, 23, 0, 20, 19, 16, 0, 27, 12, 25, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 35, 0, 27, 34, 30, - 32, 33, 31, 117, 24, 0, 0, 0, 0, 0, - 0, 122, 123, 0, 36, 0, 29, 26, 0, 0, + 32, 33, 31, 114, 24, 0, 0, 0, 0, 0, + 0, 119, 120, 0, 36, 0, 29, 26, 0, 43, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 64, 0, 73, 120, 107, - 0, 0, 118, 21, 0, 0, 0, 56, 0, 125, - 0, 0, 135, 129, 0, 0, 39, 0, 43, 0, + 0, 0, 0, 0, 0, 64, 0, 73, 117, 107, + 0, 0, 115, 21, 0, 0, 0, 56, 0, 122, + 0, 0, 132, 126, 0, 0, 39, 0, 43, 0, 0, 49, 0, 51, 0, 52, 0, 59, 86, 0, 93, 0, 80, 79, 81, 68, 0, 0, 100, 76, - 67, 85, 103, 54, 106, 0, 75, 77, 15, 119, - 38, 0, 40, 57, 0, 126, 128, 124, 0, 0, - 131, 133, 134, 0, 45, 63, 44, 97, 74, 0, + 67, 85, 103, 54, 106, 0, 75, 77, 15, 116, + 38, 0, 40, 57, 0, 123, 125, 121, 0, 0, + 128, 130, 131, 0, 45, 63, 0, 97, 74, 0, 109, 47, 0, 0, 0, 0, 0, 0, 60, 0, - 0, 65, 0, 0, 66, 0, 72, 0, 101, 0, - 82, 55, 102, 105, 0, 0, 58, 0, 127, 130, - 132, 99, 107, 0, 0, 0, 0, 0, 110, 0, + 0, 65, 0, 0, 66, 0, 72, 43, 101, 0, + 82, 55, 102, 105, 0, 0, 58, 0, 124, 127, + 129, 99, 107, 0, 0, 0, 0, 0, 109, 0, 53, 0, 0, 0, 61, 88, 87, 59, 94, 96, 0, 0, 84, 104, 108, 0, 0, 0, 0, 50, - 0, 0, 112, 62, 111, 0, 0, 0, 0, 0, - 0, 0, 69, 121, 78, 0, 41, 98, 112, 112, - 0, 115, 0, 0, 92, 91, 90, 89, 95, 0, - 42, 114, 116, 0, 46, 0, 0, 70, 48, 0, - 0, 0, 71 + 0, 0, 43, 62, 110, 0, 0, 0, 0, 0, + 0, 0, 69, 118, 78, 0, 41, 98, 43, 43, + 0, 0, 0, 92, 91, 90, 89, 95, 0, 42, + 0, 0, 0, 46, 0, 0, 70, 48, 0, 0, + 0, 71 }; /* YYDEFGOTO[NTERM-NUM]. */ static const short int yydefgoto[] = { -1, 5, 6, 7, 103, 8, 9, 10, 11, 20, - 85, 36, 26, 32, 46, 47, 48, 49, 240, 162, + 85, 36, 26, 32, 46, 47, 48, 49, 107, 162, 163, 112, 159, 86, 134, 164, 118, 87, 108, 175, - 249, 259, 184, 180, 119, 121, 110, 192, 89, 178, - 90, 214, 135, 197, 241, 198, 91, 92, 50, 51, - 61, 101, 104, 105, 52 + 248, 258, 184, 180, 119, 121, 110, 192, 89, 178, + 90, 214, 135, 197, 198, 91, 92, 50, 51, 61, + 101, 104, 105, 52 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -73 +#define YYPACT_NINF -106 static const short int yypact[] = { - 116, -73, -19, 28, -73, 67, 122, -73, -73, 72, - -73, -73, 95, 71, -73, -73, -73, 45, 85, 119, - 18, 71, -73, -73, 137, -73, 19, -73, -73, -73, - 135, 20, -73, -73, 154, 123, 127, -73, 146, -16, - 163, 167, 167, 168, 7, -73, 142, 20, -73, -73, - -73, -73, -73, 245, -73, 165, 133, 169, 152, 136, - 0, -73, -73, -1, -73, 271, -73, -73, 149, 271, - -73, 138, 172, 172, 174, 172, 68, 141, 173, 176, - 179, 183, 172, 150, 140, -73, 271, -73, -73, 5, - 110, 219, -73, -73, 182, 136, 271, 151, 186, -73, - 187, 13, -73, 189, 188, 6, -73, 88, -73, 194, - 195, -73, 200, -73, 166, -73, 11, -5, 81, 198, - 143, 202, -73, -73, -73, -73, 271, 204, -73, -73, - -73, 196, -73, 175, -73, 23, -73, -73, -73, -73, - -73, 221, -73, 191, 192, -73, -73, -73, 222, 166, - -73, -73, -73, 227, -73, -73, -73, 229, -73, 199, - 99, 46, 216, 235, 232, 141, 141, 209, -73, 141, - 141, -73, 213, 45, -73, 214, -73, 271, -73, 271, - -73, -73, -73, 217, 218, 220, -73, 238, -73, -73, - -73, -73, 199, 259, 228, 239, 257, 48, -73, 136, - -73, 136, 266, 268, -73, 274, 272, 54, -73, -73, - 279, 193, -73, -73, -73, 280, 270, 271, 145, -73, - 281, 284, 271, -73, -73, 288, 291, 141, 141, 141, - 141, 45, -73, -73, -73, 271, -73, -73, 271, 271, - 44, -73, 136, 136, -73, -73, -73, -73, -73, 264, - -73, -73, -73, 293, -73, 299, 136, -73, -73, 267, - 302, 271, -73 + 122, -106, -25, 13, -106, 36, 166, -106, -106, 40, + -106, -106, 69, 50, -106, -106, -106, 21, 60, 102, + 93, 50, -106, -106, 128, -106, 96, -106, -106, -106, + 103, 123, -106, -106, 137, 107, 108, -106, 151, 17, + 185, 188, 188, 200, 104, -106, 124, 123, -106, -106, + -106, -106, -106, 0, -106, 197, 169, 201, 187, 171, + 9, -106, -106, 6, -106, 168, -106, -106, 134, 168, + -106, 172, 209, 209, 210, 209, 46, 176, 211, 212, + 213, 216, 209, 177, 101, -106, 168, -106, -106, 8, + 59, 51, -106, -106, 215, 171, 168, 183, 218, -106, + 219, 5, -106, 217, 220, 4, -106, 142, 168, 223, + 224, -106, 222, -106, 190, -106, 158, 12, 160, 225, + 136, 226, -106, -106, -106, -106, 168, 231, -106, -106, + -106, 221, -106, 195, -106, 192, -106, -106, -106, -106, + -106, 230, -106, 198, 199, -106, -106, -106, 233, 190, + -106, -106, -106, 235, -106, -106, 30, 237, -106, 204, + 143, 19, 234, 239, 227, 176, 176, 207, -106, 176, + 176, -106, 208, 21, -106, 214, -106, 168, -106, 168, + -106, -106, -106, 228, 229, 232, -106, 236, -106, -106, + -106, -106, 204, 243, 238, 240, 241, 246, 143, 171, + -106, 171, 244, 245, -106, 247, 248, 10, -106, -106, + 251, 150, -106, -106, -106, 254, 242, 168, 196, -106, + 252, 253, 168, -106, -106, 255, 256, 176, 176, 176, + 176, 21, -106, -106, -106, 168, -106, -106, 168, 168, + 80, 171, 171, -106, -106, -106, -106, -106, 249, -106, + 85, 88, 258, -106, 257, 171, -106, -106, 250, 265, + 168, -106 }; /* YYPGOTO[NTERM-NUM]. */ static const short int yypgoto[] = { - -73, -73, -73, 304, -17, -73, -73, -73, -73, 290, - -4, -73, -73, -73, 269, -73, -73, -73, -66, -73, - 164, 15, -73, -73, 155, -57, -67, -73, -52, -73, - -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, - -73, -73, 125, -73, -72, 118, -73, 230, -73, -73, - 276, -73, 215, -73, -73 + -106, -106, -106, 268, -17, -106, -106, -106, -106, 259, + 105, -106, -106, -106, 206, -106, -106, -106, -105, -106, + 126, -21, -106, -106, 97, -57, -70, -106, -52, -106, + -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, + -106, -106, 84, 79, -106, -106, 191, -106, -106, 260, + -106, 173, -106, -106 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -738,76 +736,72 @@ static const short int yypgoto[] = #define YYTABLE_NINF -114 static const short int yytable[] = { - 24, 88, 98, 107, 102, 99, 167, 151, 64, 21, - 120, 152, 132, 106, 146, 57, 27, 21, 147, 28, - 33, 165, 12, 29, 166, 58, 34, 45, 37, 35, - 182, 65, 13, 183, 131, 22, 168, 38, 141, 88, - 23, 100, 22, 45, 142, 154, 133, 23, 69, -113, - 39, 40, 70, 223, 148, 156, 71, -56, 41, 42, - 43, 44, 72, 73, 74, 167, 75, 14, 231, 76, - 77, 78, 79, 80, 176, 17, 81, 82, -113, -113, - -113, 22, 194, 195, 196, 84, 23, 143, 113, 154, - 115, 169, 69, 155, 170, 168, 70, 126, 202, 203, - 71, 18, 205, 206, 116, 208, 72, 73, 74, 117, - 75, 211, 19, 76, 77, 78, 79, 80, 136, 137, - 81, 82, -2, 15, 1, -14, 25, 212, 27, 84, - 1, 2, 3, 194, 195, 196, 28, 2, 3, 4, - -18, 31, 225, 66, 226, 4, 128, 67, 129, 27, - 66, 130, 237, 172, -28, 183, 209, 173, 53, 156, - 244, 245, 246, 247, 54, 236, 251, 252, 55, 59, - 56, 60, 63, 93, 94, 95, 96, 97, 111, 109, - 114, 122, 117, 250, 123, 253, 254, 124, 156, 125, - 140, 127, 143, 144, 154, 145, 150, 69, 233, 258, - 157, 70, 149, 158, 160, 71, 171, 161, 177, 262, - 174, 72, 73, 74, 248, 75, 181, 179, 76, 77, - 78, 79, 80, 69, 138, 81, 82, 70, 185, 199, - 188, 71, 186, 187, 84, 190, 191, 72, 73, 74, - 133, 75, 200, 201, 76, 77, 78, 79, 80, 69, - 204, 81, 82, 70, 207, 210, 83, 71, 213, 215, - 84, 216, 217, 72, 73, 74, 219, 75, 222, 220, - 76, 77, 78, 79, 80, 69, 227, 81, 82, 70, - 221, 228, 83, 71, 229, 230, 84, 232, 234, 72, - 73, 74, 238, 75, 235, 239, 76, 77, 78, 79, - 80, 242, 243, 81, 82, 255, 256, 257, 260, 261, - 16, 30, 84, 189, 193, 224, 68, 218, 62, 0, - 153, 139 + 24, 88, 98, 156, 69, 151, 146, 120, 70, 152, + 147, 102, 71, 106, 99, 132, 12, 13, 72, 73, + 74, 167, 75, 167, 231, 76, 77, 78, 79, 80, + -56, 154, 81, 82, 131, -44, 14, 83, 141, 88, + 22, 84, 22, 17, 142, 23, 148, 23, 57, 133, + 100, 168, 113, 168, 115, 69, 138, 22, 58, 70, + 143, 126, 23, 71, -44, -44, -44, 136, 137, 72, + 73, 74, 211, 75, 176, 18, 76, 77, 78, 79, + 80, 154, 116, 81, 82, -112, 154, 117, 83, 154, + -111, 19, 84, -113, 28, 202, 203, 33, 29, 205, + 206, 25, 208, 34, 28, 64, 35, 128, -18, 129, + 27, 27, 130, 27, -112, -112, -112, 240, 21, -111, + -111, -111, -113, -113, -113, 66, 21, 212, 65, 67, + 1, 37, 31, 250, 251, 66, 45, 2, 3, -28, + 38, 53, 225, 154, 226, 4, 172, 155, 54, 55, + 173, 154, 45, 39, 40, 233, 209, 243, 244, 245, + 246, 41, 42, 43, 44, 236, -2, 15, 165, -14, + 169, 166, 69, 170, 1, 56, 70, 194, 195, 196, + 71, 2, 3, 249, 252, 253, 72, 73, 74, 4, + 75, 59, 60, 76, 77, 78, 79, 80, 257, 182, + 81, 82, 183, 237, 63, 93, 183, 95, 261, 84, + 94, 96, 97, 109, 247, 111, 114, 117, 127, 122, + 123, 124, 125, 140, 143, 144, 160, 145, 150, 157, + 149, 161, 158, 171, 174, 177, 181, 185, 201, 186, + 187, 188, 179, 190, 191, 133, 200, 199, 204, 207, + 219, 223, 222, 68, 227, 210, 193, 229, 228, 232, + 217, 230, 234, 238, 239, 256, 235, 242, 241, 213, + 215, 255, 260, 216, 16, 189, 218, 224, 153, 220, + 30, 221, 139, 0, 0, 0, 0, 0, 0, 0, + 254, 259, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 62 }; static const short int yycheck[] = { - 17, 53, 59, 69, 5, 5, 11, 1, 1, 13, - 77, 5, 7, 65, 1, 31, 9, 21, 5, 1, - 1, 10, 41, 5, 13, 41, 7, 31, 8, 10, - 7, 24, 4, 10, 86, 36, 41, 17, 95, 91, - 41, 41, 36, 47, 96, 1, 41, 41, 4, 5, - 30, 31, 8, 5, 41, 107, 12, 11, 38, 39, - 40, 41, 18, 19, 20, 11, 22, 0, 14, 25, - 26, 27, 28, 29, 126, 3, 32, 33, 34, 35, - 36, 36, 34, 35, 36, 41, 41, 41, 73, 1, - 75, 10, 4, 5, 13, 41, 8, 82, 165, 166, - 12, 6, 169, 170, 36, 172, 18, 19, 20, 41, - 22, 177, 41, 25, 26, 27, 28, 29, 8, 9, - 32, 33, 0, 1, 8, 3, 41, 179, 9, 41, - 8, 15, 16, 34, 35, 36, 1, 15, 16, 23, - 5, 4, 199, 1, 201, 23, 6, 5, 8, 9, - 1, 11, 7, 10, 5, 10, 173, 14, 4, 211, - 227, 228, 229, 230, 41, 217, 238, 239, 41, 6, - 24, 4, 4, 8, 41, 6, 24, 41, 6, 41, - 6, 8, 41, 235, 8, 242, 243, 8, 240, 6, - 8, 41, 41, 7, 1, 8, 8, 4, 5, 256, - 6, 8, 13, 8, 4, 12, 8, 41, 4, 261, - 8, 18, 19, 20, 231, 22, 41, 21, 25, 26, - 27, 28, 29, 4, 5, 32, 33, 8, 7, 13, - 8, 12, 41, 41, 41, 8, 7, 18, 19, 20, - 41, 22, 7, 11, 25, 26, 27, 28, 29, 4, - 41, 32, 33, 8, 41, 41, 37, 12, 41, 41, - 41, 41, 24, 18, 19, 20, 7, 22, 11, 41, - 25, 26, 27, 28, 29, 4, 10, 32, 33, 8, - 41, 13, 37, 12, 10, 13, 41, 8, 8, 18, - 19, 20, 11, 22, 24, 11, 25, 26, 27, 28, - 29, 13, 11, 32, 33, 41, 13, 8, 41, 7, - 6, 21, 41, 149, 159, 197, 47, 192, 42, -1, - 105, 91 + 17, 53, 59, 108, 4, 1, 1, 77, 8, 5, + 5, 5, 12, 65, 5, 7, 41, 4, 18, 19, + 20, 11, 22, 11, 14, 25, 26, 27, 28, 29, + 11, 1, 32, 33, 86, 5, 0, 37, 95, 91, + 36, 41, 36, 3, 96, 41, 41, 41, 31, 41, + 41, 41, 73, 41, 75, 4, 5, 36, 41, 8, + 41, 82, 41, 12, 34, 35, 36, 8, 9, 18, + 19, 20, 177, 22, 126, 6, 25, 26, 27, 28, + 29, 1, 36, 32, 33, 5, 1, 41, 37, 1, + 5, 41, 41, 5, 1, 165, 166, 1, 5, 169, + 170, 41, 172, 7, 1, 1, 10, 6, 5, 8, + 9, 9, 11, 9, 34, 35, 36, 222, 13, 34, + 35, 36, 34, 35, 36, 1, 21, 179, 24, 5, + 8, 8, 4, 238, 239, 1, 31, 15, 16, 5, + 17, 4, 199, 1, 201, 23, 10, 5, 41, 41, + 14, 1, 47, 30, 31, 5, 173, 227, 228, 229, + 230, 38, 39, 40, 41, 217, 0, 1, 10, 3, + 10, 13, 4, 13, 8, 24, 8, 34, 35, 36, + 12, 15, 16, 235, 241, 242, 18, 19, 20, 23, + 22, 6, 4, 25, 26, 27, 28, 29, 255, 7, + 32, 33, 10, 7, 4, 8, 10, 6, 260, 41, + 41, 24, 41, 41, 231, 6, 6, 41, 41, 8, + 8, 8, 6, 8, 41, 7, 4, 8, 8, 6, + 13, 41, 8, 8, 8, 4, 41, 7, 11, 41, + 41, 8, 21, 8, 7, 41, 7, 13, 41, 41, + 7, 5, 11, 47, 10, 41, 159, 10, 13, 8, + 24, 13, 8, 11, 11, 8, 24, 11, 13, 41, + 41, 13, 7, 41, 6, 149, 192, 198, 105, 41, + 21, 41, 91, -1, -1, -1, -1, -1, -1, -1, + 41, 41, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 42 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -819,28 +813,28 @@ static const unsigned char yystos[] = 51, 52, 36, 41, 46, 41, 54, 9, 1, 5, 51, 4, 55, 1, 7, 10, 53, 8, 17, 30, 31, 38, 39, 40, 41, 52, 56, 57, 58, 59, - 90, 91, 96, 4, 41, 41, 24, 31, 41, 6, - 4, 92, 92, 4, 1, 24, 1, 5, 56, 4, + 89, 90, 95, 4, 41, 41, 24, 31, 41, 6, + 4, 91, 91, 4, 1, 24, 1, 5, 56, 4, 8, 12, 18, 19, 20, 22, 25, 26, 27, 28, 29, 32, 33, 37, 41, 52, 65, 69, 70, 80, - 82, 88, 89, 8, 41, 6, 24, 41, 67, 5, - 41, 93, 5, 46, 94, 95, 70, 60, 70, 41, + 82, 87, 88, 8, 41, 6, 24, 41, 67, 5, + 41, 92, 5, 46, 93, 94, 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, 89, + 11, 70, 7, 41, 66, 84, 8, 9, 5, 88, 8, 67, 70, 41, 7, 8, 1, 5, 41, 13, - 8, 1, 5, 94, 1, 5, 70, 6, 8, 64, + 8, 1, 5, 93, 1, 5, 60, 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, - 8, 7, 79, 66, 34, 35, 36, 85, 87, 13, + 8, 7, 79, 66, 34, 35, 36, 85, 86, 13, 7, 11, 68, 68, 41, 68, 68, 41, 68, 46, 41, 60, 70, 41, 83, 41, 41, 24, 84, 7, - 41, 41, 11, 5, 87, 67, 67, 10, 13, 10, + 41, 41, 11, 5, 85, 67, 67, 10, 13, 10, 13, 14, 8, 5, 8, 24, 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 + 60, 13, 11, 68, 68, 68, 68, 46, 72, 70, + 60, 60, 67, 67, 41, 13, 8, 67, 73, 41, + 7, 70 }; #define yyerrok (yyerrstatus = 0) @@ -1216,340 +1210,332 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp) switch (yytype) { case 41: /* "word" */ -#line 175 "ael.y" +#line 173 "ael.y" { free((yyvaluep->str));}; -#line 1222 "ael.tab.c" +#line 1216 "ael.tab.c" break; case 44: /* "objects" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1230 "ael.tab.c" +#line 1224 "ael.tab.c" break; case 45: /* "object" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1238 "ael.tab.c" +#line 1232 "ael.tab.c" break; case 46: /* "context_name" */ -#line 175 "ael.y" +#line 173 "ael.y" { free((yyvaluep->str));}; -#line 1243 "ael.tab.c" +#line 1237 "ael.tab.c" break; case 47: /* "context" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1251 "ael.tab.c" +#line 1245 "ael.tab.c" break; case 49: /* "macro" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1259 "ael.tab.c" +#line 1253 "ael.tab.c" break; case 50: /* "globals" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1267 "ael.tab.c" +#line 1261 "ael.tab.c" break; case 51: /* "global_statements" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1275 "ael.tab.c" +#line 1269 "ael.tab.c" break; case 52: /* "assignment" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1283 "ael.tab.c" +#line 1277 "ael.tab.c" break; case 54: /* "arglist" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1291 "ael.tab.c" +#line 1285 "ael.tab.c" break; case 55: /* "elements_block" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1299 "ael.tab.c" +#line 1293 "ael.tab.c" break; case 56: /* "elements" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1307 "ael.tab.c" +#line 1301 "ael.tab.c" break; case 57: /* "element" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1315 "ael.tab.c" +#line 1309 "ael.tab.c" break; case 58: /* "ignorepat" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1323 "ael.tab.c" +#line 1317 "ael.tab.c" break; case 59: /* "extension" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1331 "ael.tab.c" +#line 1325 "ael.tab.c" break; case 60: /* "statements" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1339 "ael.tab.c" +#line 1333 "ael.tab.c" break; case 61: /* "timerange" */ -#line 175 "ael.y" +#line 173 "ael.y" { free((yyvaluep->str));}; -#line 1344 "ael.tab.c" +#line 1338 "ael.tab.c" break; case 62: /* "timespec" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1352 "ael.tab.c" +#line 1346 "ael.tab.c" break; case 63: /* "test_expr" */ -#line 175 "ael.y" +#line 173 "ael.y" { free((yyvaluep->str));}; -#line 1357 "ael.tab.c" +#line 1351 "ael.tab.c" break; case 65: /* "if_like_head" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1365 "ael.tab.c" +#line 1359 "ael.tab.c" break; case 66: /* "word_list" */ -#line 175 "ael.y" +#line 173 "ael.y" { free((yyvaluep->str));}; -#line 1370 "ael.tab.c" +#line 1364 "ael.tab.c" break; case 67: /* "word3_list" */ -#line 175 "ael.y" +#line 173 "ael.y" { free((yyvaluep->str));}; -#line 1375 "ael.tab.c" +#line 1369 "ael.tab.c" break; case 68: /* "goto_word" */ -#line 175 "ael.y" +#line 173 "ael.y" { free((yyvaluep->str));}; -#line 1380 "ael.tab.c" +#line 1374 "ael.tab.c" break; case 69: /* "switch_statement" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1388 "ael.tab.c" +#line 1382 "ael.tab.c" break; case 70: /* "statement" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1396 "ael.tab.c" +#line 1390 "ael.tab.c" break; case 75: /* "opt_else" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1404 "ael.tab.c" +#line 1398 "ael.tab.c" break; case 76: /* "target" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1412 "ael.tab.c" +#line 1406 "ael.tab.c" break; case 77: /* "jumptarget" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1420 "ael.tab.c" +#line 1414 "ael.tab.c" break; case 78: /* "macro_call" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1428 "ael.tab.c" +#line 1422 "ael.tab.c" break; case 80: /* "application_call_head" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1436 "ael.tab.c" +#line 1430 "ael.tab.c" break; case 82: /* "application_call" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1444 "ael.tab.c" +#line 1438 "ael.tab.c" break; case 83: /* "opt_word" */ -#line 175 "ael.y" +#line 173 "ael.y" { free((yyvaluep->str));}; -#line 1449 "ael.tab.c" +#line 1443 "ael.tab.c" break; case 84: /* "eval_arglist" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1457 "ael.tab.c" +#line 1451 "ael.tab.c" break; case 85: /* "case_statements" */ -#line 160 "ael.y" +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1465 "ael.tab.c" +#line 1459 "ael.tab.c" break; - case 86: /* "opt_statements" */ -#line 160 "ael.y" + case 86: /* "case_statement" */ +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1473 "ael.tab.c" +#line 1467 "ael.tab.c" break; - case 87: /* "case_statement" */ -#line 160 "ael.y" + case 87: /* "macro_statements" */ +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1481 "ael.tab.c" +#line 1475 "ael.tab.c" break; - case 88: /* "macro_statements" */ -#line 160 "ael.y" + case 88: /* "macro_statement" */ +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1489 "ael.tab.c" +#line 1483 "ael.tab.c" break; - case 89: /* "macro_statement" */ -#line 160 "ael.y" + case 89: /* "switches" */ +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1497 "ael.tab.c" +#line 1491 "ael.tab.c" break; - case 90: /* "switches" */ -#line 160 "ael.y" + case 90: /* "eswitches" */ +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1505 "ael.tab.c" +#line 1499 "ael.tab.c" break; - case 91: /* "eswitches" */ -#line 160 "ael.y" + case 91: /* "switchlist_block" */ +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1513 "ael.tab.c" +#line 1507 "ael.tab.c" break; - case 92: /* "switchlist_block" */ -#line 160 "ael.y" + case 92: /* "switchlist" */ +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1521 "ael.tab.c" +#line 1515 "ael.tab.c" break; - case 93: /* "switchlist" */ -#line 160 "ael.y" + case 93: /* "included_entry" */ +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1529 "ael.tab.c" +#line 1523 "ael.tab.c" break; - case 94: /* "included_entry" */ -#line 160 "ael.y" + case 94: /* "includeslist" */ +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1537 "ael.tab.c" +#line 1531 "ael.tab.c" break; - case 95: /* "includeslist" */ -#line 160 "ael.y" + case 95: /* "includes" */ +#line 159 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1545 "ael.tab.c" - break; - case 96: /* "includes" */ -#line 160 "ael.y" - { - destroy_pval((yyvaluep->pval)); - prev_word=0; - }; -#line 1553 "ael.tab.c" +#line 1539 "ael.tab.c" break; default: @@ -1866,57 +1852,57 @@ yyreduce: switch (yyn) { case 2: -#line 182 "ael.y" +#line 180 "ael.y" { (yyval.pval) = parseio->pval = (yyvsp[0].pval); ;} break; case 3: -#line 185 "ael.y" +#line 183 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 4: -#line 186 "ael.y" +#line 184 "ael.y" { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;} break; case 5: -#line 187 "ael.y" +#line 185 "ael.y" {(yyval.pval)=(yyvsp[-1].pval);;} break; case 6: -#line 190 "ael.y" +#line 188 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 7: -#line 191 "ael.y" +#line 189 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 8: -#line 192 "ael.y" +#line 190 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 9: -#line 193 "ael.y" +#line 191 "ael.y" {(yyval.pval)=0;/* allow older docs to be read */;} break; case 10: -#line 196 "ael.y" +#line 194 "ael.y" { (yyval.str) = (yyvsp[0].str); ;} break; case 11: -#line 197 "ael.y" +#line 195 "ael.y" { (yyval.str) = strdup("default"); ;} break; case 12: -#line 200 "ael.y" +#line 198 "ael.y" { (yyval.pval) = npval2(PV_CONTEXT, &(yylsp[-3]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-1].str); @@ -1925,51 +1911,51 @@ yyreduce: break; case 13: -#line 208 "ael.y" +#line 206 "ael.y" { (yyval.intval) = 1; ;} break; case 14: -#line 209 "ael.y" +#line 207 "ael.y" { (yyval.intval) = 0; ;} break; case 15: -#line 212 "ael.y" +#line 210 "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 217 "ael.y" +#line 215 "ael.y" { (yyval.pval) = npval2(PV_GLOBALS, &(yylsp[-3]), &(yylsp[0])); (yyval.pval)->u1.statements = (yyvsp[-1].pval);;} break; case 17: -#line 222 "ael.y" +#line 220 "ael.y" { (yyval.pval) = NULL; ;} break; case 18: -#line 223 "ael.y" +#line 221 "ael.y" {(yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;} break; case 19: -#line 224 "ael.y" +#line 222 "ael.y" {(yyval.pval)=(yyvsp[-1].pval);;} break; case 20: -#line 227 "ael.y" +#line 225 "ael.y" { reset_semicount(parseio->scanner); ;} break; case 21: -#line 227 "ael.y" +#line 225 "ael.y" { (yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-4].str); @@ -1977,94 +1963,94 @@ yyreduce: break; case 22: -#line 233 "ael.y" +#line 231 "ael.y" { (yyval.pval) = NULL; ;} break; case 23: -#line 234 "ael.y" +#line 232 "ael.y" { (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;} break; case 24: -#line 235 "ael.y" +#line 233 "ael.y" { (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[0].str), &(yylsp[0]))); ;} break; case 25: -#line 236 "ael.y" +#line 234 "ael.y" {(yyval.pval)=(yyvsp[-1].pval);;} break; case 26: -#line 239 "ael.y" +#line 237 "ael.y" { (yyval.pval) = (yyvsp[-1].pval); ;} break; case 27: -#line 242 "ael.y" +#line 240 "ael.y" {(yyval.pval)=0;;} break; case 28: -#line 243 "ael.y" +#line 241 "ael.y" { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;} break; case 29: -#line 244 "ael.y" +#line 242 "ael.y" { (yyval.pval)=(yyvsp[-1].pval);;} break; case 30: -#line 247 "ael.y" +#line 245 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 31: -#line 248 "ael.y" +#line 246 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 32: -#line 249 "ael.y" +#line 247 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 33: -#line 250 "ael.y" +#line 248 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 34: -#line 251 "ael.y" +#line 249 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 35: -#line 252 "ael.y" +#line 250 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 36: -#line 253 "ael.y" +#line 251 "ael.y" {free((yyvsp[-1].str)); (yyval.pval)=0;;} break; case 37: -#line 254 "ael.y" +#line 252 "ael.y" {(yyval.pval)=0;/* allow older docs to be read */;} break; case 38: -#line 257 "ael.y" +#line 255 "ael.y" { (yyval.pval) = npval2(PV_IGNOREPAT, &(yylsp[-3]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-1].str);;} break; case 39: -#line 262 "ael.y" +#line 260 "ael.y" { (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-2]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-2].str); @@ -2072,7 +2058,7 @@ yyreduce: break; case 40: -#line 266 "ael.y" +#line 264 "ael.y" { (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-3]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-2].str); @@ -2081,7 +2067,7 @@ yyreduce: break; case 41: -#line 271 "ael.y" +#line 269 "ael.y" { (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-6]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-2].str); @@ -2090,7 +2076,7 @@ yyreduce: break; case 42: -#line 276 "ael.y" +#line 274 "ael.y" { (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-7]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-2].str); @@ -2100,22 +2086,22 @@ yyreduce: break; case 43: -#line 285 "ael.y" - {(yyval.pval)=(yyvsp[0].pval);;} +#line 284 "ael.y" + { (yyval.pval) = NULL; ;} break; case 44: -#line 286 "ael.y" +#line 285 "ael.y" { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;} break; case 45: -#line 287 "ael.y" +#line 286 "ael.y" {(yyval.pval)=(yyvsp[-1].pval);;} break; case 46: -#line 293 "ael.y" +#line 292 "ael.y" { asprintf(&(yyval.str), "%s:%s:%s", (yyvsp[-4].str), (yyvsp[-2].str), (yyvsp[0].str)); free((yyvsp[-4].str)); @@ -2124,12 +2110,12 @@ yyreduce: break; case 47: -#line 298 "ael.y" +#line 297 "ael.y" { (yyval.str) = (yyvsp[0].str); ;} break; case 48: -#line 302 "ael.y" +#line 301 "ael.y" { (yyval.pval) = nword((yyvsp[-6].str), &(yylsp[-6])); (yyval.pval)->next = nword((yyvsp[-4].str), &(yylsp[-4])); @@ -2138,32 +2124,32 @@ yyreduce: break; case 49: -#line 310 "ael.y" +#line 309 "ael.y" { reset_parencount(parseio->scanner); ;} break; case 50: -#line 310 "ael.y" +#line 309 "ael.y" { (yyval.str) = (yyvsp[-1].str); ;} break; case 51: -#line 315 "ael.y" +#line 314 "ael.y" { (yyval.pval)= npval2(PV_IF, &(yylsp[-1]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[0].str); ;} break; case 52: -#line 318 "ael.y" +#line 317 "ael.y" { (yyval.pval) = npval2(PV_RANDOM, &(yylsp[-1]), &(yylsp[0])); (yyval.pval)->u1.str=(yyvsp[0].str);;} break; case 53: -#line 321 "ael.y" +#line 320 "ael.y" { (yyval.pval) = npval2(PV_IFTIME, &(yylsp[-3]), &(yylsp[0])); (yyval.pval)->u1.list = (yyvsp[-1].pval); @@ -2171,12 +2157,12 @@ yyreduce: break; case 54: -#line 332 "ael.y" +#line 331 "ael.y" { (yyval.str) = (yyvsp[0].str);;} break; case 55: -#line 333 "ael.y" +#line 332 "ael.y" { asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str)); free((yyvsp[-1].str)); @@ -2185,12 +2171,12 @@ yyreduce: break; case 56: -#line 340 "ael.y" +#line 339 "ael.y" { (yyval.str) = (yyvsp[0].str);;} break; case 57: -#line 341 "ael.y" +#line 340 "ael.y" { asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str)); free((yyvsp[-1].str)); @@ -2199,7 +2185,7 @@ yyreduce: break; case 58: -#line 346 "ael.y" +#line 345 "ael.y" { asprintf(&((yyval.str)), "%s%s%s", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str)); free((yyvsp[-2].str)); @@ -2209,12 +2195,12 @@ yyreduce: break; case 59: -#line 354 "ael.y" +#line 353 "ael.y" { (yyval.str) = (yyvsp[0].str);;} break; case 60: -#line 355 "ael.y" +#line 354 "ael.y" { asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str)); free((yyvsp[-1].str)); @@ -2222,7 +2208,7 @@ yyreduce: break; case 61: -#line 359 "ael.y" +#line 358 "ael.y" { asprintf(&((yyval.str)), "%s:%s", (yyvsp[-2].str), (yyvsp[0].str)); free((yyvsp[-2].str)); @@ -2230,7 +2216,7 @@ yyreduce: break; case 62: -#line 365 "ael.y" +#line 364 "ael.y" { (yyval.pval) = npval2(PV_SWITCH, &(yylsp[-4]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-3].str); @@ -2238,55 +2224,55 @@ yyreduce: break; case 63: -#line 374 "ael.y" +#line 373 "ael.y" { (yyval.pval) = npval2(PV_STATEMENTBLOCK, &(yylsp[-2]), &(yylsp[0])); (yyval.pval)->u1.list = (yyvsp[-1].pval); ;} break; case 64: -#line 377 "ael.y" +#line 376 "ael.y" { (yyval.pval) = (yyvsp[0].pval); ;} break; case 65: -#line 378 "ael.y" +#line 377 "ael.y" { (yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0])); (yyval.pval)->u1.list = (yyvsp[-1].pval);;} break; case 66: -#line 381 "ael.y" +#line 380 "ael.y" { (yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0])); (yyval.pval)->u1.list = (yyvsp[-1].pval);;} break; case 67: -#line 384 "ael.y" +#line 383 "ael.y" { (yyval.pval) = npval2(PV_LABEL, &(yylsp[-1]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-1].str); ;} break; case 68: -#line 387 "ael.y" +#line 386 "ael.y" {reset_semicount(parseio->scanner);;} break; case 69: -#line 388 "ael.y" +#line 387 "ael.y" {reset_semicount(parseio->scanner);;} break; case 70: -#line 389 "ael.y" +#line 388 "ael.y" {reset_parencount(parseio->scanner);;} break; case 71: -#line 389 "ael.y" +#line 388 "ael.y" { /* XXX word_list maybe ? */ (yyval.pval) = npval2(PV_FOR, &(yylsp[-11]), &(yylsp[0])); (yyval.pval)->u1.for_init = (yyvsp[-8].str); @@ -2296,7 +2282,7 @@ yyreduce: break; case 72: -#line 395 "ael.y" +#line 394 "ael.y" { (yyval.pval) = npval2(PV_WHILE, &(yylsp[-2]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-1].str); @@ -2304,36 +2290,36 @@ yyreduce: break; case 73: -#line 399 "ael.y" +#line 398 "ael.y" { (yyval.pval) = (yyvsp[0].pval); ;} break; case 74: -#line 400 "ael.y" +#line 399 "ael.y" { (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[-1])); ;} break; case 75: -#line 402 "ael.y" +#line 401 "ael.y" { (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;} break; case 76: -#line 404 "ael.y" +#line 403 "ael.y" { (yyval.pval)= npval2(PV_APPLICATION_CALL, &(yylsp[-1]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-1].str);;} break; case 77: -#line 407 "ael.y" +#line 406 "ael.y" {reset_semicount(parseio->scanner);;} break; case 78: -#line 407 "ael.y" +#line 406 "ael.y" { char *bufx; int tot=0; @@ -2370,22 +2356,22 @@ yyreduce: break; case 79: -#line 440 "ael.y" +#line 439 "ael.y" { (yyval.pval) = npval2(PV_BREAK, &(yylsp[-1]), &(yylsp[0])); ;} break; case 80: -#line 441 "ael.y" +#line 440 "ael.y" { (yyval.pval) = npval2(PV_RETURN, &(yylsp[-1]), &(yylsp[0])); ;} break; case 81: -#line 442 "ael.y" +#line 441 "ael.y" { (yyval.pval) = npval2(PV_CONTINUE, &(yylsp[-1]), &(yylsp[0])); ;} break; case 82: -#line 443 "ael.y" +#line 442 "ael.y" { (yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[-1])); (yyval.pval)->u2.statements = (yyvsp[-1].pval); @@ -2393,41 +2379,41 @@ yyreduce: break; case 83: -#line 447 "ael.y" +#line 446 "ael.y" { (yyval.pval)=0; ;} break; case 84: -#line 450 "ael.y" +#line 449 "ael.y" { (yyval.pval) = (yyvsp[0].pval); ;} break; case 85: -#line 451 "ael.y" +#line 450 "ael.y" { (yyval.pval) = NULL ; ;} break; case 86: -#line 456 "ael.y" +#line 455 "ael.y" { (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;} break; case 87: -#line 457 "ael.y" +#line 456 "ael.y" { (yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2])); (yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;} break; case 88: -#line 460 "ael.y" +#line 459 "ael.y" { (yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2])); (yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;} break; case 89: -#line 463 "ael.y" +#line 462 "ael.y" { (yyval.pval) = nword((yyvsp[-4].str), &(yylsp[-4])); (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2])); @@ -2435,7 +2421,7 @@ yyreduce: break; case 90: -#line 467 "ael.y" +#line 466 "ael.y" { (yyval.pval) = nword((yyvsp[-4].str), &(yylsp[-4])); (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2])); @@ -2443,7 +2429,7 @@ yyreduce: break; case 91: -#line 471 "ael.y" +#line 470 "ael.y" { (yyval.pval) = nword(strdup("default"), &(yylsp[-4])); (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2])); @@ -2451,7 +2437,7 @@ yyreduce: break; case 92: -#line 475 "ael.y" +#line 474 "ael.y" { (yyval.pval) = nword(strdup("default"), &(yylsp[-4])); (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2])); @@ -2459,21 +2445,21 @@ yyreduce: break; case 93: -#line 482 "ael.y" +#line 481 "ael.y" { /* ext, 1 */ (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); (yyval.pval)->next = nword(strdup("1"), &(yylsp[0])); ;} break; case 94: -#line 485 "ael.y" +#line 484 "ael.y" { /* ext, pri */ (yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2])); (yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;} break; case 95: -#line 488 "ael.y" +#line 487 "ael.y" { /* context, ext, pri */ (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); (yyval.pval)->next = nword((yyvsp[-4].str), &(yylsp[-4])); @@ -2481,7 +2467,7 @@ yyreduce: break; case 96: -#line 492 "ael.y" +#line 491 "ael.y" { /* context, ext, 1 */ (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2])); @@ -2489,12 +2475,12 @@ yyreduce: break; case 97: -#line 498 "ael.y" +#line 497 "ael.y" {reset_argcount(parseio->scanner);;} break; case 98: -#line 498 "ael.y" +#line 497 "ael.y" { /* XXX original code had @2 but i think we need @5 */ (yyval.pval) = npval2(PV_MACRO_CALL, &(yylsp[-4]), &(yylsp[0])); @@ -2503,19 +2489,19 @@ yyreduce: break; case 99: -#line 503 "ael.y" +#line 502 "ael.y" { (yyval.pval)= npval2(PV_MACRO_CALL, &(yylsp[-2]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-2].str); ;} break; case 100: -#line 511 "ael.y" +#line 510 "ael.y" {reset_argcount(parseio->scanner);;} break; case 101: -#line 511 "ael.y" +#line 510 "ael.y" { if (strcasecmp((yyvsp[-2].str),"goto") == 0) { (yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[-1])); @@ -2528,7 +2514,7 @@ yyreduce: break; case 102: -#line 522 "ael.y" +#line 521 "ael.y" { (yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[0])); if( (yyval.pval)->type == PV_GOTO ) @@ -2539,190 +2525,175 @@ yyreduce: break; case 103: -#line 529 "ael.y" +#line 528 "ael.y" { (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;} break; case 104: -#line 532 "ael.y" +#line 531 "ael.y" { (yyval.str) = (yyvsp[0].str) ;} break; case 105: -#line 533 "ael.y" +#line 532 "ael.y" { (yyval.str) = strdup(""); ;} break; case 106: -#line 536 "ael.y" +#line 535 "ael.y" { (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;} break; case 107: -#line 537 "ael.y" +#line 536 "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 108: -#line 540 "ael.y" +#line 539 "ael.y" { (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[0].str), &(yylsp[0]))); ;} break; case 109: -#line 543 "ael.y" +#line 542 "ael.y" { (yyval.pval) = NULL; ;} break; case 110: -#line 544 "ael.y" - {(yyval.pval)=(yyvsp[0].pval);;} - break; - - case 111: -#line 545 "ael.y" +#line 543 "ael.y" { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;} break; - case 112: -#line 549 "ael.y" - { (yyval.pval) = NULL; ;} - break; - - case 113: -#line 550 "ael.y" - { (yyval.pval) = (yyvsp[0].pval); ;} - break; - - case 114: -#line 553 "ael.y" + case 111: +#line 546 "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 115: -#line 557 "ael.y" + case 112: +#line 550 "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 116: -#line 561 "ael.y" + case 113: +#line 554 "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 117: -#line 567 "ael.y" + case 114: +#line 560 "ael.y" { (yyval.pval) = NULL; ;} break; - case 118: -#line 568 "ael.y" + case 115: +#line 561 "ael.y" {(yyval.pval) = (yyvsp[0].pval);;} break; - case 119: -#line 569 "ael.y" + case 116: +#line 562 "ael.y" { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;} break; - case 120: -#line 572 "ael.y" + case 117: +#line 565 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; - case 121: -#line 573 "ael.y" + case 118: +#line 566 "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 122: -#line 579 "ael.y" + case 119: +#line 572 "ael.y" { (yyval.pval) = npval2(PV_SWITCHES, &(yylsp[-1]), &(yylsp[0])); (yyval.pval)->u1.list = (yyvsp[0].pval); ;} break; - case 123: -#line 584 "ael.y" + case 120: +#line 577 "ael.y" { (yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[-1]), &(yylsp[0])); (yyval.pval)->u1.list = (yyvsp[0].pval); ;} break; - case 124: -#line 589 "ael.y" + case 121: +#line 582 "ael.y" { (yyval.pval) = (yyvsp[-1].pval); ;} break; - case 125: -#line 590 "ael.y" + case 122: +#line 583 "ael.y" { (yyval.pval) = NULL; ;} break; - case 126: -#line 593 "ael.y" + case 123: +#line 586 "ael.y" { (yyval.pval) = nword((yyvsp[-1].str), &(yylsp[-1])); ;} break; - case 127: -#line 594 "ael.y" + case 124: +#line 587 "ael.y" { (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[-1].str), &(yylsp[-1]))); ;} break; - case 128: -#line 595 "ael.y" + case 125: +#line 588 "ael.y" {(yyval.pval)=(yyvsp[-1].pval);;} break; - case 129: -#line 598 "ael.y" + case 126: +#line 591 "ael.y" { (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;} break; - case 130: -#line 599 "ael.y" + case 127: +#line 592 "ael.y" { (yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2])); (yyval.pval)->u2.arglist = (yyvsp[0].pval); prev_word=0; /* XXX sure ? */ ;} break; - case 131: -#line 606 "ael.y" + case 128: +#line 599 "ael.y" { (yyval.pval) = (yyvsp[-1].pval); ;} break; - case 132: -#line 607 "ael.y" + case 129: +#line 600 "ael.y" { (yyval.pval) = linku1((yyvsp[-2].pval), (yyvsp[-1].pval)); ;} break; - case 133: -#line 608 "ael.y" + case 130: +#line 601 "ael.y" {(yyval.pval)=(yyvsp[-1].pval);;} break; - case 134: -#line 611 "ael.y" + case 131: +#line 604 "ael.y" { (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-3]), &(yylsp[0])); (yyval.pval)->u1.list = (yyvsp[-1].pval);;} break; - case 135: -#line 614 "ael.y" + case 132: +#line 607 "ael.y" { (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-2]), &(yylsp[0]));;} break; @@ -2732,7 +2703,7 @@ yyreduce: } /* Line 1126 of yacc.c. */ -#line 2736 "ael.tab.c" +#line 2707 "ael.tab.c" yyvsp -= yylen; yyssp -= yylen; @@ -3007,7 +2978,7 @@ yyreturn: } -#line 619 "ael.y" +#line 612 "ael.y" static char *token_equivs1[] = diff --git a/pbx/ael/ael.y b/pbx/ael/ael.y index 2b4108b90..f9b543594 100644 --- a/pbx/ael/ael.y +++ b/pbx/ael/ael.y @@ -121,7 +121,6 @@ static pval *update_last(pval *, YYLTYPE *); %type switchlist_block %type timespec %type included_entry -%type opt_statements %type opt_word %type context_name @@ -170,7 +169,6 @@ 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 @@ -282,8 +280,9 @@ extension : word EXTENMARK statement { ; -statements : statement {$$=$1;} - | statements statement { $$ = linku1($1, $2); } +/* list of statements in a block or after a case label - can be empty */ +statements : /* empty */ { $$ = NULL; } + | statement statements { $$ = linku1($1, $2); } | statements error {$$=$1;} ; @@ -541,24 +540,18 @@ eval_arglist : word_list { $$ = nword($1, &@1); } ; case_statements: /* empty */ { $$ = NULL; } - | case_statement {$$=$1;} - | case_statements case_statement { $$ = linku1($1, $2); } + | case_statement case_statements { $$ = linku1($1, $2); } ; -/* statement in a switch body after a label */ -opt_statements : { $$ = NULL; } - | statements { $$ = $1; } - ; - -case_statement: KW_CASE word COLON opt_statements { +case_statement: KW_CASE word COLON statements { $$ = npval2(PV_CASE, &@1, &@3); /* XXX 3 or 4 ? */ $$->u1.str = $2; $$->u2.statements = $4;} - | KW_DEFAULT COLON opt_statements { + | KW_DEFAULT COLON statements { $$ = npval2(PV_DEFAULT, &@1, &@3); $$->u1.str = NULL; $$->u2.statements = $3;} - | KW_PATTERN word COLON opt_statements { + | KW_PATTERN word COLON statements { $$ = npval2(PV_PATTERN, &@1, &@4); /* XXX@3 or @4 ? */ $$->u1.str = $2; $$->u2.statements = $4;}