From 9eaa57bebc0c8b8b2f730bd9b77da1ee427a6271 Mon Sep 17 00:00:00 2001 From: Luigi Rizzo Date: Tue, 2 May 2006 18:41:57 +0000 Subject: simplify handling of 'include' lists git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@24255 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- pbx/ael/ael.tab.c | 867 +++++++++++++++++++++++++++--------------------------- pbx/ael/ael.y | 19 +- 2 files changed, 441 insertions(+), 445 deletions(-) (limited to 'pbx/ael') diff --git a/pbx/ael/ael.tab.c b/pbx/ael/ael.tab.c index 4c541fbc8..cebb9993d 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 475 +#define YYLAST 442 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 42 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 57 +#define YYNNTS 58 /* YYNRULES -- Number of rules. */ #define YYNRULES 146 /* YYNRULES -- Number of states. */ -#define YYNSTATES 291 +#define YYNSTATES 288 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -492,7 +492,7 @@ static const unsigned short int yyprhs[] = 392, 398, 402, 403, 407, 411, 414, 416, 417, 419, 420, 424, 426, 429, 434, 438, 443, 447, 450, 454, 456, 459, 461, 467, 470, 473, 477, 480, 483, 487, - 490, 493, 498, 502, 508, 511, 516 + 490, 493, 498, 500, 503, 506, 511 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -509,7 +509,7 @@ static const yysigned_char yyrhs[] = 1, -1, -1, 41, 9, 53, 41, 8, -1, 41, -1, 54, 10, 41, -1, 54, 1, -1, 4, 5, -1, 4, 56, 5, -1, 57, -1, 1, -1, 56, - 57, -1, 56, 1, -1, 60, -1, 98, -1, 93, + 57, -1, 56, 1, -1, 60, -1, 99, -1, 93, -1, 94, -1, 59, -1, -1, 41, 9, 58, 41, 8, -1, 41, 1, -1, 8, -1, 17, 24, 41, 8, -1, 41, 24, 72, -1, 30, 41, 24, 72, @@ -547,29 +547,29 @@ static const yysigned_char yyrhs[] = -1, 37, 41, 4, 61, 5, -1, 38, 95, -1, 39, 95, -1, 4, 96, 5, -1, 4, 5, -1, 41, 8, -1, 96, 41, 8, -1, 96, 1, -1, - 46, 8, -1, 46, 13, 63, 8, -1, 97, 46, - 8, -1, 97, 46, 13, 63, 8, -1, 97, 1, - -1, 40, 4, 97, 5, -1, 40, 4, 5, -1 + 46, 8, -1, 46, 13, 63, 8, -1, 97, -1, + 98, 97, -1, 98, 1, -1, 40, 4, 98, 5, + -1, 40, 4, 5, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short int yyrline[] = { - 0, 177, 177, 180, 181, 182, 185, 186, 187, 188, - 191, 192, 195, 203, 204, 207, 210, 213, 217, 222, - 225, 229, 230, 231, 234, 234, 240, 241, 242, 245, - 246, 249, 250, 251, 252, 255, 256, 257, 258, 259, - 260, 260, 264, 265, 268, 273, 277, 282, 287, 296, - 297, 298, 304, 309, 313, 321, 321, 324, 324, 327, - 338, 339, 346, 347, 352, 360, 361, 365, 371, 371, - 379, 382, 382, 386, 389, 392, 395, 396, 397, 395, - 403, 403, 407, 409, 412, 414, 416, 419, 419, 452, - 453, 454, 455, 459, 462, 463, 468, 469, 472, 475, - 479, 483, 487, 494, 497, 500, 504, 508, 512, 518, - 518, 523, 531, 531, 542, 549, 552, 553, 556, 557, - 560, 563, 564, 567, 571, 575, 579, 582, 585, 590, - 591, 594, 595, 601, 606, 611, 612, 615, 616, 617, - 620, 621, 625, 626, 631, 634, 637 + 0, 178, 178, 181, 182, 183, 186, 187, 188, 189, + 192, 193, 196, 204, 205, 208, 211, 214, 218, 223, + 226, 230, 231, 232, 235, 235, 241, 242, 243, 246, + 247, 250, 251, 252, 253, 256, 257, 258, 259, 260, + 261, 261, 265, 266, 269, 274, 278, 283, 288, 297, + 298, 299, 305, 310, 314, 322, 322, 325, 325, 328, + 339, 340, 347, 348, 353, 361, 362, 366, 372, 372, + 380, 383, 383, 387, 390, 393, 396, 397, 398, 396, + 404, 404, 408, 410, 413, 415, 417, 420, 420, 453, + 454, 455, 456, 460, 463, 464, 469, 470, 473, 476, + 480, 484, 488, 495, 498, 501, 505, 509, 513, 519, + 519, 524, 532, 532, 543, 550, 553, 554, 557, 558, + 561, 564, 565, 568, 572, 576, 580, 583, 586, 591, + 592, 595, 596, 602, 607, 612, 613, 616, 617, 618, + 622, 623, 630, 631, 632, 635, 638 }; #endif @@ -594,8 +594,8 @@ static const char *const yytname[] = "jumptarget", "macro_call", "@12", "application_call_head", "@13", "application_call", "opt_word", "eval_arglist", "case_statements", "case_statement", "macro_statements", "macro_statement", "switches", - "eswitches", "switchlist_block", "switchlist", "includeslist", - "includes", 0 + "eswitches", "switchlist_block", "switchlist", "included_entry", + "includeslist", "includes", 0 }; #endif @@ -629,7 +629,7 @@ static const unsigned char yyr1[] = 82, 82, 85, 84, 86, 86, 87, 87, 88, 88, 88, 89, 89, 90, 90, 90, 90, 90, 90, 91, 91, 92, 92, 93, 94, 95, 95, 96, 96, 96, - 97, 97, 97, 97, 97, 98, 98 + 97, 97, 98, 98, 98, 99, 99 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -649,7 +649,7 @@ static const unsigned char yyr2[] = 5, 3, 0, 3, 3, 2, 1, 0, 1, 0, 3, 1, 2, 4, 3, 4, 3, 2, 3, 1, 2, 1, 5, 2, 2, 3, 2, 2, 3, 2, - 2, 4, 3, 5, 2, 4, 3 + 2, 4, 1, 2, 2, 4, 3 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -672,80 +672,78 @@ static const unsigned char yydefact[] = 71, 75, 95, 82, 0, 0, 0, 0, 121, 115, 60, 118, 0, 85, 87, 17, 130, 16, 0, 25, 0, 0, 0, 62, 0, 136, 0, 0, 146, 0, - 0, 0, 45, 51, 70, 50, 109, 84, 0, 0, - 53, 0, 0, 0, 0, 0, 0, 0, 66, 0, - 0, 73, 0, 0, 74, 0, 0, 0, 113, 0, - 0, 92, 0, 0, 127, 83, 122, 61, 114, 117, - 0, 15, 44, 0, 46, 63, 0, 137, 139, 135, - 0, 140, 0, 144, 145, 0, 0, 111, 119, 0, - 0, 0, 59, 0, 0, 0, 0, 67, 98, 97, - 65, 104, 108, 106, 0, 0, 0, 0, 94, 126, - 128, 0, 116, 120, 0, 0, 64, 0, 138, 0, - 142, 0, 41, 0, 0, 56, 0, 0, 58, 0, - 0, 0, 0, 0, 77, 0, 132, 72, 0, 0, - 88, 0, 0, 141, 0, 110, 69, 0, 0, 102, - 101, 100, 99, 107, 105, 0, 81, 0, 47, 143, - 0, 52, 0, 48, 0, 78, 54, 0, 0, 0, - 79 + 142, 0, 0, 45, 51, 70, 50, 109, 84, 0, + 0, 53, 0, 0, 0, 0, 0, 0, 0, 66, + 0, 0, 73, 0, 0, 74, 0, 0, 0, 113, + 0, 0, 92, 0, 0, 127, 83, 122, 61, 114, + 117, 0, 15, 44, 0, 46, 63, 0, 137, 139, + 135, 0, 140, 0, 144, 145, 143, 0, 111, 119, + 0, 0, 0, 59, 0, 0, 0, 0, 67, 98, + 97, 65, 104, 108, 106, 0, 0, 0, 0, 94, + 126, 128, 0, 116, 120, 0, 0, 64, 0, 138, + 0, 41, 0, 0, 56, 0, 0, 58, 0, 0, + 0, 0, 0, 77, 0, 132, 72, 0, 0, 88, + 0, 0, 141, 110, 69, 0, 0, 102, 101, 100, + 99, 107, 105, 0, 81, 0, 47, 0, 52, 0, + 48, 0, 78, 54, 0, 0, 0, 79 }; /* YYDEFGOTO[NTERM-NUM]. */ static const short int yydefgoto[] = { - -1, 5, 6, 7, 25, 8, 9, 10, 11, 21, - 22, 39, 28, 34, 50, 51, 151, 52, 53, 98, - 161, 162, 74, 159, 164, 131, 163, 108, 75, 158, - 99, 179, 175, 275, 287, 176, 190, 181, 109, 111, - 101, 208, 77, 178, 78, 233, 132, 127, 128, 79, - 80, 54, 55, 89, 147, 150, 56 + -1, 5, 6, 7, 149, 8, 9, 10, 11, 21, + 22, 39, 28, 34, 50, 51, 152, 52, 53, 98, + 162, 163, 74, 160, 165, 131, 164, 108, 75, 159, + 99, 180, 176, 273, 284, 177, 191, 182, 109, 111, + 101, 209, 77, 179, 78, 234, 132, 127, 128, 79, + 80, 54, 55, 89, 147, 150, 151, 56 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -195 +#define YYPACT_NINF -174 static const short int yypact[] = { - 108, -195, -24, 19, -195, 31, 151, -195, -195, 3, - -195, -195, 46, 2, -195, -195, -195, -17, 25, -195, - 112, 9, -195, -195, -195, 68, 69, -195, 86, -195, - -195, -195, -195, 37, -195, 330, -195, 124, 88, 96, - -195, -195, -195, 120, 39, 132, 169, 169, 172, 70, - 306, -195, -195, -195, -195, -195, -195, 434, -195, -195, - 136, 173, 174, 177, 178, 49, 137, 181, 184, 187, - 193, 194, 162, 152, 434, 64, -195, 41, 80, 356, - -195, 382, -195, 196, 164, 200, 186, 171, 10, -195, - -195, 24, -195, -195, 434, -195, -195, -195, 8, -195, - 207, 211, -195, -195, 185, -195, 107, 63, 143, 217, - 81, 220, -195, -195, -195, -195, -195, 198, -195, -195, - -195, -195, 208, -195, 190, 192, 223, 76, -195, -195, - 197, -195, 161, -195, -195, -195, -195, -195, 408, -195, - 229, 171, 434, 199, 234, -195, 236, 20, -195, 84, - 17, 204, -195, -195, -195, -195, 239, -195, 206, 214, - 73, 235, 245, 250, 214, 137, 137, 221, -195, 137, - 137, -195, 227, 94, -195, 228, 230, 434, -195, 237, - 434, -195, 264, 265, 434, -195, -195, -195, -195, 238, - 241, -195, -195, 273, -195, 242, 243, -195, -195, -195, - 277, -195, 185, -195, -195, 149, 278, -195, 214, 283, - 285, 171, -195, 171, 286, 289, 287, -195, 296, 295, - 72, -195, -195, -195, 301, 305, 189, 307, -195, 434, - 434, 114, -195, -195, 308, 272, -195, 293, -195, 310, - -195, 185, -195, 165, 315, -195, 309, 313, -195, 137, - 137, 137, 137, 128, -195, 434, -195, -195, 231, 269, - -195, 297, 434, -195, 312, -195, -195, 171, 171, -195, - -195, -195, -195, -195, -195, 284, -195, 434, -195, -195, - 314, -195, 318, -195, 171, -195, -195, 288, 321, 434, - -195 + 155, -174, -16, 37, -174, 32, 159, -174, -174, 62, + -174, -174, 73, 21, -174, -174, -174, 56, 1, -174, + 63, 10, -174, -174, -174, 82, 95, -174, 86, -174, + -174, -174, -174, 160, -174, 297, -174, 110, 125, 131, + -174, -174, -174, 114, 47, 152, 169, 169, 179, 97, + 273, -174, -174, -174, -174, -174, -174, 401, -174, -174, + 143, 188, 197, 200, 202, 81, 144, 201, 203, 204, + 210, 212, 174, 196, 401, 66, -174, 6, 8, 323, + -174, 349, -174, 216, 184, 214, 206, 191, 28, -174, + -174, 4, -174, -174, 401, -174, -174, -174, 209, -174, + 227, 231, -174, -174, 205, -174, 100, 7, 126, 235, + 9, 236, -174, -174, -174, -174, -174, 243, -174, -174, + -174, -174, 232, -174, 213, 217, 246, 119, -174, -174, + 218, -174, 122, -174, -174, -174, -174, -174, 375, -174, + 247, 191, 401, 219, 254, -174, 257, 90, -174, 117, + -174, 49, 226, -174, -174, -174, -174, 261, -174, 234, + 238, 53, 267, 275, 272, 238, 144, 144, 245, -174, + 144, 144, -174, 248, 116, -174, 250, 251, 401, -174, + 252, 401, -174, 276, 277, 401, -174, -174, -174, -174, + 253, 255, -174, -174, 288, -174, 256, 258, -174, -174, + -174, 290, -174, 205, -174, -174, -174, 292, -174, 238, + 299, 300, 191, -174, 191, 301, 274, 305, -174, 310, + 308, 104, -174, -174, -174, 302, 325, 244, 328, -174, + 401, 401, 2, -174, -174, 329, 298, -174, 309, -174, + 332, -174, 186, 340, -174, 333, 336, -174, 144, 144, + 144, 144, 128, -174, 401, -174, -174, 48, 115, -174, + 334, 401, -174, -174, -174, 191, 191, -174, -174, -174, + -174, -174, -174, 318, -174, 401, -174, 350, -174, 354, + -174, 191, -174, -174, 324, 359, 401, -174 }; /* YYPGOTO[NTERM-NUM]. */ static const short int yypgoto[] = { - -195, -195, -195, 324, -88, -195, -195, -195, -195, -195, - 311, -195, -195, -195, -195, 281, -195, -195, -195, -173, - -195, -194, -195, -195, -195, 6, -86, -64, -195, -195, - -35, -195, -195, -195, -195, -195, -195, -195, -195, -195, - -195, -195, -195, -195, -195, -195, 125, -195, 212, 259, - -74, -195, -195, 294, -195, -195, -195 + -174, -174, -174, 364, 355, -174, -174, -174, -174, -174, + 352, -174, -174, -174, -174, 335, -174, -174, -174, -173, + -174, 181, -174, -174, -174, 16, -86, -62, -174, -174, + -35, -174, -174, -174, -174, -174, -174, -174, -174, -174, + -174, -174, -174, -174, -174, -174, 180, -174, 264, 307, + -77, -174, -174, 345, -174, 259, -174, -174 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -755,106 +753,100 @@ static const short int yypgoto[] = #define YYTABLE_NINF -126 static const short int yytable[] = { - 76, 144, 110, 149, 226, 136, 17, 19, 239, 153, - 30, 231, 57, 154, 31, 145, 59, 12, 203, 23, - 60, 198, 204, 13, 24, 199, 61, 62, 63, 148, - 64, 14, 26, 65, 66, 67, 68, 69, 40, 122, - 70, 71, 41, 20, 76, 42, 76, 264, 129, 73, - 20, 146, 18, 23, 43, 193, 258, 259, 24, 152, - 23, 200, 205, 155, 136, 24, 27, 44, 45, 123, - 85, 92, 33, 35, 167, 46, 47, 48, 49, 93, - 86, 185, 130, 167, -62, 106, 253, 36, 133, 134, - 107, 172, 201, 37, 94, 173, 38, 202, 124, 125, - 126, 215, 216, 76, 168, 218, 219, 194, 221, 223, - 124, 125, 126, 168, 195, 153, 1, 165, 57, -124, - 166, 29, 59, 2, 3, 246, 60, 247, 81, 82, - 222, 4, 61, 62, 63, 107, 64, 83, 87, 65, - 66, 67, 68, 69, 84, 228, 70, 71, -124, -124, - -124, -2, 15, 169, -14, 73, 170, 240, 118, 1, - 119, 120, 241, 121, 273, 210, 2, 3, 188, 274, - 214, 189, 265, 88, 4, 189, 91, 100, 107, 102, - 103, 280, 281, 104, 105, 269, 270, 271, 272, 112, - 153, 155, 113, 57, 256, 114, 155, 59, 286, 115, - 116, 60, 177, 117, 139, 140, 141, 61, 62, 63, - 142, 64, 143, 156, 65, 66, 67, 68, 69, 157, - 276, 70, 71, 155, 155, 171, 160, 278, 174, 180, - 73, 182, 153, 183, 184, 57, -123, 192, 187, 59, - 195, 196, 283, 60, 197, 206, 207, 209, 211, 61, - 62, 63, 212, 64, 290, 130, 65, 66, 67, 68, - 69, 213, 217, 70, 71, -123, -123, -123, 220, 224, - 153, 225, 73, 57, -125, 229, 230, 59, 227, 232, - 235, 60, 234, 236, 237, 238, 242, 61, 62, 63, - 244, 64, 245, 248, 65, 66, 67, 68, 69, 249, - 250, 70, 71, -125, -125, -125, 251, 95, 252, 254, - 73, 96, 255, 261, 42, 257, 260, 262, 263, 266, - 279, 277, 267, 43, 268, 282, 285, 284, 289, 288, - 16, 97, 32, 243, 57, 58, 44, 45, 59, 186, - 138, 90, 60, 0, 46, 47, 48, 49, 61, 62, - 63, 0, 64, 0, 0, 65, 66, 67, 68, 69, - 57, 135, 70, 71, 59, 0, 0, 72, 60, 0, - 0, 73, 0, 0, 61, 62, 63, 0, 64, 0, - 0, 65, 66, 67, 68, 69, 57, 137, 70, 71, - 59, 0, 0, 72, 60, 0, 0, 73, 0, 0, - 61, 62, 63, 0, 64, 0, 0, 65, 66, 67, - 68, 69, 57, 191, 70, 71, 59, 0, 0, 72, - 60, 0, 0, 73, 0, 0, 61, 62, 63, 0, - 64, 0, 0, 65, 66, 67, 68, 69, 57, 0, - 70, 71, 59, 0, 0, 72, 60, 0, 0, 73, - 0, 0, 61, 62, 63, 0, 64, 0, 0, 65, - 66, 67, 68, 69, 0, 0, 70, 71, 0, 0, - 0, 0, 0, 0, 0, 73 + 76, 144, 136, 154, 110, 227, 57, -124, 26, 148, + 59, 30, 232, 129, 60, 31, 133, 134, 168, 173, + 61, 62, 63, 174, 64, 12, 19, 65, 66, 67, + 68, 69, 14, 145, 70, 71, -124, -124, -124, 122, + 23, 13, 27, 73, 76, 24, 76, 130, 169, 154, + 204, 20, 57, -123, 205, 194, 59, 257, 258, 153, + 60, 136, 20, 156, -62, 17, 61, 62, 63, 146, + 64, 123, 29, 65, 66, 67, 68, 69, 85, 18, + 70, 71, -123, -123, -123, 23, 33, 36, 86, 73, + 24, 199, 23, 37, 196, 200, 38, 24, 92, 35, + 124, 125, 126, 76, 216, 217, 93, 195, 219, 220, + 166, 222, 224, 167, 81, 168, 154, 106, 252, 57, + -125, 94, 107, 59, 186, 202, 245, 60, 246, 189, + 203, 201, 190, 61, 62, 63, 170, 64, 84, 171, + 65, 66, 67, 68, 69, 169, 229, 70, 71, -125, + -125, -125, 223, 124, 125, 126, 73, 107, 87, -2, + 15, 40, -14, 1, 271, 41, 82, 1, 42, 272, + 2, 3, 83, 88, 2, 3, 211, 43, 4, 277, + 278, 215, 4, 91, 100, 107, 267, 268, 269, 270, + 44, 45, 156, 263, 102, 283, 190, 156, 46, 47, + 48, 49, 118, 103, 119, 120, 104, 121, 105, 112, + 154, 113, 114, 57, 155, 117, 115, 59, 116, 274, + 141, 60, 156, 156, 139, 140, 276, 61, 62, 63, + 142, 64, 143, 157, 65, 66, 67, 68, 69, 158, + 280, 70, 71, 172, 175, 154, 161, 178, 57, 255, + 73, 287, 59, 181, 183, 193, 60, 185, 184, 188, + 196, 197, 61, 62, 63, 198, 64, 207, 208, 65, + 66, 67, 68, 69, 95, 210, 70, 71, 96, 130, + 212, 42, 213, 214, 248, 73, 218, 230, 231, 221, + 43, 225, 226, 228, 233, 236, 235, 237, 239, 238, + 241, 57, 58, 44, 45, 59, 243, 244, 247, 60, + 253, 46, 47, 48, 49, 61, 62, 63, 249, 64, + 250, 251, 65, 66, 67, 68, 69, 57, 135, 70, + 71, 59, 254, 261, 72, 60, 256, 259, 73, 260, + 262, 61, 62, 63, 264, 64, 265, 266, 65, 66, + 67, 68, 69, 57, 137, 70, 71, 59, 275, 279, + 72, 60, 282, 281, 73, 285, 286, 61, 62, 63, + 16, 64, 25, 32, 65, 66, 67, 68, 69, 57, + 192, 70, 71, 59, 240, 97, 72, 60, 138, 242, + 73, 187, 90, 61, 62, 63, 0, 64, 0, 0, + 65, 66, 67, 68, 69, 57, 0, 70, 71, 59, + 206, 0, 72, 60, 0, 0, 73, 0, 0, 61, + 62, 63, 0, 64, 0, 0, 65, 66, 67, 68, + 69, 0, 0, 70, 71, 0, 0, 0, 0, 0, + 0, 0, 73 }; static const short int yycheck[] = { - 35, 87, 66, 91, 177, 79, 3, 5, 202, 1, - 1, 184, 4, 5, 5, 5, 8, 41, 1, 36, - 12, 1, 5, 4, 41, 5, 18, 19, 20, 5, - 22, 0, 7, 25, 26, 27, 28, 29, 1, 74, - 32, 33, 5, 41, 79, 8, 81, 241, 7, 41, - 41, 41, 6, 36, 17, 141, 229, 230, 41, 94, - 36, 41, 150, 98, 138, 41, 41, 30, 31, 5, - 31, 1, 4, 4, 11, 38, 39, 40, 41, 9, - 41, 5, 41, 11, 11, 36, 14, 1, 8, 9, - 41, 10, 8, 7, 24, 14, 10, 13, 34, 35, - 36, 165, 166, 138, 41, 169, 170, 142, 172, 173, - 34, 35, 36, 41, 41, 1, 8, 10, 4, 5, - 13, 9, 8, 15, 16, 211, 12, 213, 4, 41, - 36, 23, 18, 19, 20, 41, 22, 41, 6, 25, - 26, 27, 28, 29, 24, 180, 32, 33, 34, 35, - 36, 0, 1, 10, 3, 41, 13, 8, 6, 8, - 8, 9, 13, 11, 36, 159, 15, 16, 7, 41, - 164, 10, 7, 4, 23, 10, 4, 41, 41, 6, - 6, 267, 268, 6, 6, 249, 250, 251, 252, 8, - 1, 226, 8, 4, 5, 8, 231, 8, 284, 6, - 6, 12, 4, 41, 8, 41, 6, 18, 19, 20, + 35, 87, 79, 1, 66, 178, 4, 5, 7, 5, + 8, 1, 185, 7, 12, 5, 8, 9, 11, 10, + 18, 19, 20, 14, 22, 41, 5, 25, 26, 27, + 28, 29, 0, 5, 32, 33, 34, 35, 36, 74, + 36, 4, 41, 41, 79, 41, 81, 41, 41, 1, + 1, 41, 4, 5, 5, 141, 8, 230, 231, 94, + 12, 138, 41, 98, 11, 3, 18, 19, 20, 41, + 22, 5, 9, 25, 26, 27, 28, 29, 31, 6, + 32, 33, 34, 35, 36, 36, 4, 1, 41, 41, + 41, 1, 36, 7, 41, 5, 10, 41, 1, 4, + 34, 35, 36, 138, 166, 167, 9, 142, 170, 171, + 10, 173, 174, 13, 4, 11, 1, 36, 14, 4, + 5, 24, 41, 8, 5, 8, 212, 12, 214, 7, + 13, 41, 10, 18, 19, 20, 10, 22, 24, 13, + 25, 26, 27, 28, 29, 41, 181, 32, 33, 34, + 35, 36, 36, 34, 35, 36, 41, 41, 6, 0, + 1, 1, 3, 8, 36, 5, 41, 8, 8, 41, + 15, 16, 41, 4, 15, 16, 160, 17, 23, 265, + 266, 165, 23, 4, 41, 41, 248, 249, 250, 251, + 30, 31, 227, 7, 6, 281, 10, 232, 38, 39, + 40, 41, 6, 6, 8, 9, 6, 11, 6, 8, + 1, 8, 8, 4, 5, 41, 6, 8, 6, 254, + 6, 12, 257, 258, 8, 41, 261, 18, 19, 20, 24, 22, 41, 6, 25, 26, 27, 28, 29, 8, - 255, 32, 33, 258, 259, 8, 41, 262, 8, 21, - 41, 41, 1, 41, 11, 4, 5, 8, 41, 8, - 41, 7, 277, 12, 8, 41, 7, 41, 13, 18, - 19, 20, 7, 22, 289, 41, 25, 26, 27, 28, - 29, 11, 41, 32, 33, 34, 35, 36, 41, 41, - 1, 41, 41, 4, 5, 11, 11, 8, 41, 41, - 7, 12, 41, 41, 41, 8, 8, 18, 19, 20, - 7, 22, 7, 7, 25, 26, 27, 28, 29, 10, - 13, 32, 33, 34, 35, 36, 10, 1, 13, 8, - 41, 5, 7, 41, 8, 8, 8, 24, 8, 4, - 8, 24, 13, 17, 11, 41, 8, 13, 7, 41, - 6, 50, 21, 208, 4, 5, 30, 31, 8, 127, - 81, 47, 12, -1, 38, 39, 40, 41, 18, 19, - 20, -1, 22, -1, -1, 25, 26, 27, 28, 29, - 4, 5, 32, 33, 8, -1, -1, 37, 12, -1, - -1, 41, -1, -1, 18, 19, 20, -1, 22, -1, - -1, 25, 26, 27, 28, 29, 4, 5, 32, 33, - 8, -1, -1, 37, 12, -1, -1, 41, -1, -1, - 18, 19, 20, -1, 22, -1, -1, 25, 26, 27, - 28, 29, 4, 5, 32, 33, 8, -1, -1, 37, - 12, -1, -1, 41, -1, -1, 18, 19, 20, -1, - 22, -1, -1, 25, 26, 27, 28, 29, 4, -1, - 32, 33, 8, -1, -1, 37, 12, -1, -1, 41, - -1, -1, 18, 19, 20, -1, 22, -1, -1, 25, - 26, 27, 28, 29, -1, -1, 32, 33, -1, -1, - -1, -1, -1, -1, -1, 41 + 275, 32, 33, 8, 8, 1, 41, 4, 4, 5, + 41, 286, 8, 21, 41, 8, 12, 11, 41, 41, + 41, 7, 18, 19, 20, 8, 22, 41, 7, 25, + 26, 27, 28, 29, 1, 41, 32, 33, 5, 41, + 13, 8, 7, 11, 10, 41, 41, 11, 11, 41, + 17, 41, 41, 41, 41, 7, 41, 41, 8, 41, + 8, 4, 5, 30, 31, 8, 7, 7, 7, 12, + 8, 38, 39, 40, 41, 18, 19, 20, 13, 22, + 10, 13, 25, 26, 27, 28, 29, 4, 5, 32, + 33, 8, 7, 24, 37, 12, 8, 8, 41, 41, + 8, 18, 19, 20, 4, 22, 13, 11, 25, 26, + 27, 28, 29, 4, 5, 32, 33, 8, 24, 41, + 37, 12, 8, 13, 41, 41, 7, 18, 19, 20, + 6, 22, 17, 21, 25, 26, 27, 28, 29, 4, + 5, 32, 33, 8, 203, 50, 37, 12, 81, 209, + 41, 127, 47, 18, 19, 20, -1, 22, -1, -1, + 25, 26, 27, 28, 29, 4, -1, 32, 33, 8, + 151, -1, 37, 12, -1, -1, 41, -1, -1, 18, + 19, 20, -1, 22, -1, -1, 25, 26, 27, 28, + 29, -1, -1, 32, 33, -1, -1, -1, -1, -1, + -1, -1, 41 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -866,7 +858,7 @@ static const unsigned char yystos[] = 41, 51, 52, 36, 41, 46, 7, 41, 54, 9, 1, 5, 52, 4, 55, 4, 1, 7, 10, 53, 1, 5, 8, 17, 30, 31, 38, 39, 40, 41, - 56, 57, 59, 60, 93, 94, 98, 4, 5, 8, + 56, 57, 59, 60, 93, 94, 99, 4, 5, 8, 12, 18, 19, 20, 22, 25, 26, 27, 28, 29, 32, 33, 37, 41, 64, 70, 72, 84, 86, 91, 92, 4, 41, 41, 24, 31, 41, 6, 4, 95, @@ -876,21 +868,20 @@ static const unsigned char yystos[] = 9, 11, 72, 5, 34, 35, 36, 89, 90, 7, 41, 67, 88, 8, 9, 5, 92, 5, 91, 8, 41, 6, 24, 41, 68, 5, 41, 96, 5, 46, - 97, 58, 72, 1, 5, 72, 6, 8, 71, 65, - 41, 62, 63, 68, 66, 10, 13, 11, 41, 10, - 13, 8, 10, 14, 8, 74, 77, 4, 85, 73, - 21, 79, 41, 41, 11, 5, 90, 41, 7, 10, - 78, 5, 8, 68, 72, 41, 7, 8, 1, 5, - 41, 8, 13, 1, 5, 46, 41, 7, 83, 41, - 67, 13, 7, 11, 67, 69, 69, 41, 69, 69, - 41, 69, 36, 69, 41, 41, 61, 41, 72, 11, - 11, 61, 41, 87, 41, 7, 41, 41, 8, 63, - 8, 13, 8, 88, 7, 7, 68, 68, 7, 10, - 13, 10, 13, 14, 8, 7, 5, 8, 61, 61, - 8, 41, 24, 8, 63, 7, 4, 13, 11, 69, - 69, 69, 69, 36, 41, 75, 72, 24, 72, 8, - 68, 68, 41, 72, 13, 8, 68, 76, 41, 7, - 72 + 97, 98, 58, 72, 1, 5, 72, 6, 8, 71, + 65, 41, 62, 63, 68, 66, 10, 13, 11, 41, + 10, 13, 8, 10, 14, 8, 74, 77, 4, 85, + 73, 21, 79, 41, 41, 11, 5, 90, 41, 7, + 10, 78, 5, 8, 68, 72, 41, 7, 8, 1, + 5, 41, 8, 13, 1, 5, 97, 41, 7, 83, + 41, 67, 13, 7, 11, 67, 69, 69, 41, 69, + 69, 41, 69, 36, 69, 41, 41, 61, 41, 72, + 11, 11, 61, 41, 87, 41, 7, 41, 41, 8, + 63, 8, 88, 7, 7, 68, 68, 7, 10, 13, + 10, 13, 14, 8, 7, 5, 8, 61, 61, 8, + 41, 24, 8, 7, 4, 13, 11, 69, 69, 69, + 69, 36, 41, 75, 72, 24, 72, 68, 68, 41, + 72, 13, 8, 68, 76, 41, 7, 72 }; #define yyerrok (yyerrstatus = 0) @@ -1266,319 +1257,327 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp) switch (yytype) { case 41: /* "word" */ -#line 171 "ael.y" +#line 172 "ael.y" { free((yyvaluep->str));}; -#line 1272 "ael.tab.c" +#line 1263 "ael.tab.c" break; case 44: /* "objects" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1280 "ael.tab.c" +#line 1271 "ael.tab.c" break; case 45: /* "object" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1288 "ael.tab.c" +#line 1279 "ael.tab.c" break; case 46: /* "word_or_default" */ -#line 171 "ael.y" +#line 172 "ael.y" { free((yyvaluep->str));}; -#line 1293 "ael.tab.c" +#line 1284 "ael.tab.c" break; case 47: /* "context" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1301 "ael.tab.c" +#line 1292 "ael.tab.c" break; case 49: /* "macro" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1309 "ael.tab.c" +#line 1300 "ael.tab.c" break; case 50: /* "globals" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1317 "ael.tab.c" +#line 1308 "ael.tab.c" break; case 51: /* "global_statements" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1325 "ael.tab.c" +#line 1316 "ael.tab.c" break; case 52: /* "global_statement" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1333 "ael.tab.c" +#line 1324 "ael.tab.c" break; case 54: /* "arglist" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1341 "ael.tab.c" +#line 1332 "ael.tab.c" break; case 55: /* "elements_block" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1349 "ael.tab.c" +#line 1340 "ael.tab.c" break; case 56: /* "elements" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1357 "ael.tab.c" +#line 1348 "ael.tab.c" break; case 57: /* "element" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1365 "ael.tab.c" +#line 1356 "ael.tab.c" break; case 59: /* "ignorepat" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1373 "ael.tab.c" +#line 1364 "ael.tab.c" break; case 60: /* "extension" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1381 "ael.tab.c" +#line 1372 "ael.tab.c" break; case 61: /* "statements" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1389 "ael.tab.c" +#line 1380 "ael.tab.c" break; case 62: /* "timerange" */ -#line 171 "ael.y" +#line 172 "ael.y" { free((yyvaluep->str));}; -#line 1394 "ael.tab.c" +#line 1385 "ael.tab.c" break; case 63: /* "timespec" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1402 "ael.tab.c" +#line 1393 "ael.tab.c" break; case 64: /* "if_like_head" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1410 "ael.tab.c" +#line 1401 "ael.tab.c" break; case 67: /* "word_list" */ -#line 171 "ael.y" +#line 172 "ael.y" { free((yyvaluep->str));}; -#line 1415 "ael.tab.c" +#line 1406 "ael.tab.c" break; case 68: /* "word3_list" */ -#line 171 "ael.y" +#line 172 "ael.y" { free((yyvaluep->str));}; -#line 1420 "ael.tab.c" +#line 1411 "ael.tab.c" break; case 69: /* "goto_word" */ -#line 171 "ael.y" +#line 172 "ael.y" { free((yyvaluep->str));}; -#line 1425 "ael.tab.c" +#line 1416 "ael.tab.c" break; case 70: /* "switch_head" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1433 "ael.tab.c" +#line 1424 "ael.tab.c" break; case 72: /* "statement" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1441 "ael.tab.c" +#line 1432 "ael.tab.c" break; case 79: /* "opt_else" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1449 "ael.tab.c" +#line 1440 "ael.tab.c" break; case 80: /* "target" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1457 "ael.tab.c" +#line 1448 "ael.tab.c" break; case 81: /* "jumptarget" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1465 "ael.tab.c" +#line 1456 "ael.tab.c" break; case 82: /* "macro_call" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1473 "ael.tab.c" +#line 1464 "ael.tab.c" break; case 84: /* "application_call_head" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1481 "ael.tab.c" +#line 1472 "ael.tab.c" break; case 86: /* "application_call" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1489 "ael.tab.c" +#line 1480 "ael.tab.c" break; case 87: /* "opt_word" */ -#line 171 "ael.y" +#line 172 "ael.y" { free((yyvaluep->str));}; -#line 1494 "ael.tab.c" +#line 1485 "ael.tab.c" break; case 88: /* "eval_arglist" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1502 "ael.tab.c" +#line 1493 "ael.tab.c" break; case 89: /* "case_statements" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1510 "ael.tab.c" +#line 1501 "ael.tab.c" break; case 90: /* "case_statement" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1518 "ael.tab.c" +#line 1509 "ael.tab.c" break; case 91: /* "macro_statements" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1526 "ael.tab.c" +#line 1517 "ael.tab.c" break; case 92: /* "macro_statement" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1534 "ael.tab.c" +#line 1525 "ael.tab.c" break; case 93: /* "switches" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1542 "ael.tab.c" +#line 1533 "ael.tab.c" break; case 94: /* "eswitches" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1550 "ael.tab.c" +#line 1541 "ael.tab.c" break; case 95: /* "switchlist_block" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1558 "ael.tab.c" +#line 1549 "ael.tab.c" break; case 96: /* "switchlist" */ -#line 157 "ael.y" +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1566 "ael.tab.c" +#line 1557 "ael.tab.c" break; - case 97: /* "includeslist" */ -#line 157 "ael.y" + case 97: /* "included_entry" */ +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1574 "ael.tab.c" +#line 1565 "ael.tab.c" break; - case 98: /* "includes" */ -#line 157 "ael.y" + case 98: /* "includeslist" */ +#line 158 "ael.y" { destroy_pval((yyvaluep->pval)); prev_word=0; }; -#line 1582 "ael.tab.c" +#line 1573 "ael.tab.c" + break; + case 99: /* "includes" */ +#line 158 "ael.y" + { + destroy_pval((yyvaluep->pval)); + prev_word=0; + }; +#line 1581 "ael.tab.c" break; default: @@ -1895,57 +1894,57 @@ yyreduce: switch (yyn) { case 2: -#line 177 "ael.y" +#line 178 "ael.y" { (yyval.pval) = parseio->pval = (yyvsp[0].pval); ;} break; case 3: -#line 180 "ael.y" +#line 181 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 4: -#line 181 "ael.y" +#line 182 "ael.y" { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;} break; case 5: -#line 182 "ael.y" +#line 183 "ael.y" {(yyval.pval)=(yyvsp[-1].pval);;} break; case 6: -#line 185 "ael.y" +#line 186 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 7: -#line 186 "ael.y" +#line 187 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 8: -#line 187 "ael.y" +#line 188 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 9: -#line 188 "ael.y" +#line 189 "ael.y" {(yyval.pval)=0;/* allow older docs to be read */;} break; case 10: -#line 191 "ael.y" +#line 192 "ael.y" { (yyval.str) = (yyvsp[0].str); ;} break; case 11: -#line 192 "ael.y" +#line 193 "ael.y" { (yyval.str) = strdup("default"); ;} break; case 12: -#line 195 "ael.y" +#line 196 "ael.y" { (yyval.pval) = npval2(PV_CONTEXT, &(yylsp[-3]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-1].str); @@ -1954,31 +1953,31 @@ yyreduce: break; case 13: -#line 203 "ael.y" +#line 204 "ael.y" { (yyval.intval) = 1; ;} break; case 14: -#line 204 "ael.y" +#line 205 "ael.y" { (yyval.intval) = 0; ;} break; case 15: -#line 207 "ael.y" +#line 208 "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 210 "ael.y" +#line 211 "ael.y" { (yyval.pval) = npval2(PV_MACRO, &(yylsp[-6]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-5].str); (yyval.pval)->u2.arglist = (yyvsp[-3].pval); ;} break; case 17: -#line 213 "ael.y" +#line 214 "ael.y" { (yyval.pval) = npval2(PV_MACRO, &(yylsp[-6]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-5].str); @@ -1986,47 +1985,47 @@ yyreduce: break; case 18: -#line 217 "ael.y" +#line 218 "ael.y" { (yyval.pval) = npval2(PV_MACRO, &(yylsp[-5]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-4].str); ;} break; case 19: -#line 222 "ael.y" +#line 223 "ael.y" { (yyval.pval) = npval2(PV_GLOBALS, &(yylsp[-3]), &(yylsp[0])); (yyval.pval)->u1.statements = (yyvsp[-1].pval);;} break; case 20: -#line 225 "ael.y" +#line 226 "ael.y" { /* empty globals is OK */ (yyval.pval) = npval2(PV_GLOBALS, &(yylsp[-2]), &(yylsp[0])); ;} break; case 21: -#line 229 "ael.y" +#line 230 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 22: -#line 230 "ael.y" +#line 231 "ael.y" {(yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;} break; case 23: -#line 231 "ael.y" +#line 232 "ael.y" {(yyval.pval)=(yyvsp[-1].pval);;} break; case 24: -#line 234 "ael.y" +#line 235 "ael.y" { reset_semicount(parseio->scanner); ;} break; case 25: -#line 234 "ael.y" +#line 235 "ael.y" { (yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-4].str); @@ -2034,82 +2033,82 @@ yyreduce: break; case 26: -#line 240 "ael.y" +#line 241 "ael.y" { (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;} break; case 27: -#line 241 "ael.y" +#line 242 "ael.y" { (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[0].str), &(yylsp[0]))); ;} break; case 28: -#line 242 "ael.y" +#line 243 "ael.y" {(yyval.pval)=(yyvsp[-1].pval);;} break; case 29: -#line 245 "ael.y" +#line 246 "ael.y" { (yyval.pval) = NULL; ;} break; case 30: -#line 246 "ael.y" +#line 247 "ael.y" { (yyval.pval) = (yyvsp[-1].pval); ;} break; case 31: -#line 249 "ael.y" +#line 250 "ael.y" { (yyval.pval)=(yyvsp[0].pval);;} break; case 32: -#line 250 "ael.y" +#line 251 "ael.y" {(yyval.pval)=0;;} break; case 33: -#line 251 "ael.y" +#line 252 "ael.y" { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;} break; case 34: -#line 252 "ael.y" +#line 253 "ael.y" { (yyval.pval)=(yyvsp[-1].pval);;} break; case 35: -#line 255 "ael.y" +#line 256 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 36: -#line 256 "ael.y" +#line 257 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 37: -#line 257 "ael.y" +#line 258 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 38: -#line 258 "ael.y" +#line 259 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 39: -#line 259 "ael.y" +#line 260 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 40: -#line 260 "ael.y" +#line 261 "ael.y" { reset_semicount(parseio->scanner); ;} break; case 41: -#line 260 "ael.y" +#line 261 "ael.y" { (yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-4].str); @@ -2117,24 +2116,24 @@ yyreduce: break; case 42: -#line 264 "ael.y" +#line 265 "ael.y" {free((yyvsp[-1].str)); (yyval.pval)=0;;} break; case 43: -#line 265 "ael.y" +#line 266 "ael.y" {(yyval.pval)=0;/* allow older docs to be read */;} break; case 44: -#line 268 "ael.y" +#line 269 "ael.y" { (yyval.pval) = npval2(PV_IGNOREPAT, &(yylsp[-3]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-1].str);;} break; case 45: -#line 273 "ael.y" +#line 274 "ael.y" { (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-2]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-2].str); @@ -2142,7 +2141,7 @@ yyreduce: break; case 46: -#line 277 "ael.y" +#line 278 "ael.y" { (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-3]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-2].str); @@ -2151,7 +2150,7 @@ yyreduce: break; case 47: -#line 282 "ael.y" +#line 283 "ael.y" { (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-6]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-2].str); @@ -2160,7 +2159,7 @@ yyreduce: break; case 48: -#line 287 "ael.y" +#line 288 "ael.y" { (yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-7]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-2].str); @@ -2170,22 +2169,22 @@ yyreduce: break; case 49: -#line 296 "ael.y" +#line 297 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 50: -#line 297 "ael.y" +#line 298 "ael.y" { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;} break; case 51: -#line 298 "ael.y" +#line 299 "ael.y" {(yyval.pval)=(yyvsp[-1].pval);;} break; case 52: -#line 304 "ael.y" +#line 305 "ael.y" { asprintf(&(yyval.str), "%s:%s:%s", (yyvsp[-4].str), (yyvsp[-2].str), (yyvsp[0].str)); free((yyvsp[-4].str)); @@ -2194,12 +2193,12 @@ yyreduce: break; case 53: -#line 309 "ael.y" +#line 310 "ael.y" { (yyval.str) = (yyvsp[0].str); ;} break; case 54: -#line 313 "ael.y" +#line 314 "ael.y" { (yyval.pval) = nword((yyvsp[-6].str), &(yylsp[-6])); (yyval.pval)->u1.list = nword((yyvsp[-4].str), &(yylsp[-4])); @@ -2208,31 +2207,31 @@ yyreduce: break; case 55: -#line 321 "ael.y" +#line 322 "ael.y" { reset_parencount(parseio->scanner); ;} break; case 56: -#line 321 "ael.y" +#line 322 "ael.y" { (yyval.pval)= npval2(PV_IF, &(yylsp[-4]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-1].str); ;} break; case 57: -#line 324 "ael.y" +#line 325 "ael.y" { reset_parencount(parseio->scanner); ;} break; case 58: -#line 324 "ael.y" +#line 325 "ael.y" { (yyval.pval) = npval2(PV_RANDOM, &(yylsp[-4]), &(yylsp[0])); (yyval.pval)->u1.str=(yyvsp[-1].str);;} break; case 59: -#line 327 "ael.y" +#line 328 "ael.y" { (yyval.pval) = npval2(PV_IFTIME, &(yylsp[-3]), &(yylsp[0])); (yyval.pval)->u1.list = (yyvsp[-1].pval); @@ -2240,12 +2239,12 @@ yyreduce: break; case 60: -#line 338 "ael.y" +#line 339 "ael.y" { (yyval.str) = (yyvsp[0].str);;} break; case 61: -#line 339 "ael.y" +#line 340 "ael.y" { asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str)); free((yyvsp[-1].str)); @@ -2254,12 +2253,12 @@ yyreduce: break; case 62: -#line 346 "ael.y" +#line 347 "ael.y" { (yyval.str) = (yyvsp[0].str);;} break; case 63: -#line 347 "ael.y" +#line 348 "ael.y" { asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str)); free((yyvsp[-1].str)); @@ -2268,7 +2267,7 @@ yyreduce: break; case 64: -#line 352 "ael.y" +#line 353 "ael.y" { asprintf(&((yyval.str)), "%s%s%s", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str)); free((yyvsp[-2].str)); @@ -2278,12 +2277,12 @@ yyreduce: break; case 65: -#line 360 "ael.y" +#line 361 "ael.y" { (yyval.str) = (yyvsp[0].str);;} break; case 66: -#line 361 "ael.y" +#line 362 "ael.y" { asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str)); free((yyvsp[-1].str)); @@ -2291,7 +2290,7 @@ yyreduce: break; case 67: -#line 365 "ael.y" +#line 366 "ael.y" { asprintf(&((yyval.str)), "%s:%s", (yyvsp[-2].str), (yyvsp[0].str)); free((yyvsp[-2].str)); @@ -2299,31 +2298,31 @@ yyreduce: break; case 68: -#line 371 "ael.y" +#line 372 "ael.y" { reset_parencount(parseio->scanner); ;} break; case 69: -#line 371 "ael.y" +#line 372 "ael.y" { (yyval.pval) = npval2(PV_SWITCH, &(yylsp[-5]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-2].str); ;} break; case 70: -#line 379 "ael.y" +#line 380 "ael.y" { (yyval.pval) = npval2(PV_STATEMENTBLOCK, &(yylsp[-2]), &(yylsp[0])); (yyval.pval)->u1.list = (yyvsp[-1].pval); ;} break; case 71: -#line 382 "ael.y" +#line 383 "ael.y" {reset_semicount(parseio->scanner);;} break; case 72: -#line 382 "ael.y" +#line 383 "ael.y" { (yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-4].str); @@ -2331,43 +2330,43 @@ yyreduce: break; case 73: -#line 386 "ael.y" +#line 387 "ael.y" { (yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0])); (yyval.pval)->u1.list = (yyvsp[-1].pval);;} break; case 74: -#line 389 "ael.y" +#line 390 "ael.y" { (yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0])); (yyval.pval)->u1.list = (yyvsp[-1].pval);;} break; case 75: -#line 392 "ael.y" +#line 393 "ael.y" { (yyval.pval) = npval2(PV_LABEL, &(yylsp[-1]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-1].str); ;} break; case 76: -#line 395 "ael.y" +#line 396 "ael.y" {reset_semicount(parseio->scanner);;} break; case 77: -#line 396 "ael.y" +#line 397 "ael.y" {reset_semicount(parseio->scanner);;} break; case 78: -#line 397 "ael.y" +#line 398 "ael.y" {reset_parencount(parseio->scanner);;} break; case 79: -#line 397 "ael.y" +#line 398 "ael.y" { (yyval.pval) = npval2(PV_FOR, &(yylsp[-11]), &(yylsp[0])); (yyval.pval)->u1.for_init = (yyvsp[-8].str); @@ -2377,12 +2376,12 @@ yyreduce: break; case 80: -#line 403 "ael.y" +#line 404 "ael.y" {reset_parencount(parseio->scanner);;} break; case 81: -#line 403 "ael.y" +#line 404 "ael.y" { (yyval.pval) = npval2(PV_WHILE, &(yylsp[-5]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-2].str); @@ -2390,44 +2389,44 @@ yyreduce: break; case 82: -#line 407 "ael.y" +#line 408 "ael.y" { (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;} break; case 83: -#line 409 "ael.y" +#line 410 "ael.y" { (yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[0])); (yyval.pval)->u2.statements = (yyvsp[-1].pval);;} break; case 84: -#line 412 "ael.y" +#line 413 "ael.y" { (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[-1])); ;} break; case 85: -#line 414 "ael.y" +#line 415 "ael.y" { (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;} break; case 86: -#line 416 "ael.y" +#line 417 "ael.y" { (yyval.pval)= npval2(PV_APPLICATION_CALL, &(yylsp[-1]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-1].str);;} break; case 87: -#line 419 "ael.y" +#line 420 "ael.y" {reset_semicount(parseio->scanner);;} break; case 88: -#line 419 "ael.y" +#line 420 "ael.y" { char *bufx; int tot=0; @@ -2464,22 +2463,22 @@ yyreduce: break; case 89: -#line 452 "ael.y" +#line 453 "ael.y" { (yyval.pval) = npval2(PV_BREAK, &(yylsp[-1]), &(yylsp[0])); ;} break; case 90: -#line 453 "ael.y" +#line 454 "ael.y" { (yyval.pval) = npval2(PV_RETURN, &(yylsp[-1]), &(yylsp[0])); ;} break; case 91: -#line 454 "ael.y" +#line 455 "ael.y" { (yyval.pval) = npval2(PV_CONTINUE, &(yylsp[-1]), &(yylsp[0])); ;} break; case 92: -#line 455 "ael.y" +#line 456 "ael.y" { (yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[-1])); (yyval.pval)->u2.statements = (yyvsp[-1].pval); @@ -2487,41 +2486,41 @@ yyreduce: break; case 93: -#line 459 "ael.y" +#line 460 "ael.y" { (yyval.pval)=0; ;} break; case 94: -#line 462 "ael.y" +#line 463 "ael.y" { (yyval.pval) = (yyvsp[0].pval); ;} break; case 95: -#line 463 "ael.y" +#line 464 "ael.y" { (yyval.pval) = NULL ; ;} break; case 96: -#line 468 "ael.y" +#line 469 "ael.y" { (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;} break; case 97: -#line 469 "ael.y" +#line 470 "ael.y" { (yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2])); (yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;} break; case 98: -#line 472 "ael.y" +#line 473 "ael.y" { (yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2])); (yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;} break; case 99: -#line 475 "ael.y" +#line 476 "ael.y" { (yyval.pval) = nword((yyvsp[-4].str), &(yylsp[-4])); (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2])); @@ -2529,7 +2528,7 @@ yyreduce: break; case 100: -#line 479 "ael.y" +#line 480 "ael.y" { (yyval.pval) = nword((yyvsp[-4].str), &(yylsp[-4])); (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2])); @@ -2537,7 +2536,7 @@ yyreduce: break; case 101: -#line 483 "ael.y" +#line 484 "ael.y" { (yyval.pval) = nword(strdup("default"), &(yylsp[-4])); (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2])); @@ -2545,7 +2544,7 @@ yyreduce: break; case 102: -#line 487 "ael.y" +#line 488 "ael.y" { (yyval.pval) = nword(strdup("default"), &(yylsp[-4])); (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2])); @@ -2553,21 +2552,21 @@ yyreduce: break; case 103: -#line 494 "ael.y" +#line 495 "ael.y" { (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); (yyval.pval)->next = nword(strdup("1"), &(yylsp[0])); ;} break; case 104: -#line 497 "ael.y" +#line 498 "ael.y" { (yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2])); (yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;} break; case 105: -#line 500 "ael.y" +#line 501 "ael.y" { /* XXX they are stored in a different order */ (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); (yyval.pval)->next = nword((yyvsp[-4].str), &(yylsp[-4])); @@ -2575,7 +2574,7 @@ yyreduce: break; case 106: -#line 504 "ael.y" +#line 505 "ael.y" { (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2])); @@ -2583,7 +2582,7 @@ yyreduce: break; case 107: -#line 508 "ael.y" +#line 509 "ael.y" { (yyval.pval) = nword(strdup("default"), &(yylsp[-4])); (yyval.pval)->next = nword((yyvsp[-4].str), &(yylsp[-4])); @@ -2591,7 +2590,7 @@ yyreduce: break; case 108: -#line 512 "ael.y" +#line 513 "ael.y" { (yyval.pval) = nword(strdup("default"), &(yylsp[-2])); (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[0])); @@ -2599,12 +2598,12 @@ yyreduce: break; case 109: -#line 518 "ael.y" +#line 519 "ael.y" {reset_argcount(parseio->scanner);;} break; case 110: -#line 518 "ael.y" +#line 519 "ael.y" { /* XXX original code had @2 but i think we need @5 */ (yyval.pval) = npval2(PV_MACRO_CALL, &(yylsp[-4]), &(yylsp[0])); @@ -2613,19 +2612,19 @@ yyreduce: break; case 111: -#line 523 "ael.y" +#line 524 "ael.y" { (yyval.pval)= npval2(PV_MACRO_CALL, &(yylsp[-2]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-2].str); ;} break; case 112: -#line 531 "ael.y" +#line 532 "ael.y" {reset_argcount(parseio->scanner);;} break; case 113: -#line 531 "ael.y" +#line 532 "ael.y" { if (strcasecmp((yyvsp[-2].str),"goto") == 0) { (yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[-1])); @@ -2638,7 +2637,7 @@ yyreduce: break; case 114: -#line 542 "ael.y" +#line 543 "ael.y" { (yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[0])); if( (yyval.pval)->type == PV_GOTO ) @@ -2649,49 +2648,49 @@ yyreduce: break; case 115: -#line 549 "ael.y" +#line 550 "ael.y" { (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;} break; case 116: -#line 552 "ael.y" +#line 553 "ael.y" { (yyval.str) = (yyvsp[0].str) ;} break; case 117: -#line 553 "ael.y" +#line 554 "ael.y" { (yyval.str) = strdup(""); ;} break; case 118: -#line 556 "ael.y" +#line 557 "ael.y" { (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;} break; case 119: -#line 557 "ael.y" +#line 558 "ael.y" { (yyval.pval)= npval(PV_WORD,0/*@1.first_line*/,0/*@1.last_line*/,0/* @1.first_column*/, 0/*@1.last_column*/); (yyval.pval)->u1.str = strdup(""); ;} break; case 120: -#line 560 "ael.y" +#line 561 "ael.y" { (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[0].str), &(yylsp[0]))); ;} break; case 121: -#line 563 "ael.y" +#line 564 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 122: -#line 564 "ael.y" +#line 565 "ael.y" { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;} break; case 123: -#line 567 "ael.y" +#line 568 "ael.y" { (yyval.pval) = npval2(PV_CASE, &(yylsp[-3]), &(yylsp[-1])); /* XXX 3 or 4 ? */ (yyval.pval)->u1.str = (yyvsp[-2].str); @@ -2699,7 +2698,7 @@ yyreduce: break; case 124: -#line 571 "ael.y" +#line 572 "ael.y" { (yyval.pval) = npval2(PV_DEFAULT, &(yylsp[-2]), &(yylsp[0])); (yyval.pval)->u1.str = NULL; @@ -2707,7 +2706,7 @@ yyreduce: break; case 125: -#line 575 "ael.y" +#line 576 "ael.y" { (yyval.pval) = npval2(PV_PATTERN, &(yylsp[-3]), &(yylsp[0])); /* XXX@3 or @4 ? */ (yyval.pval)->u1.str = (yyvsp[-2].str); @@ -2715,43 +2714,43 @@ yyreduce: break; case 126: -#line 579 "ael.y" +#line 580 "ael.y" { (yyval.pval) = npval2(PV_CASE, &(yylsp[-2]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-1].str);;} break; case 127: -#line 582 "ael.y" +#line 583 "ael.y" { (yyval.pval) = npval2(PV_DEFAULT, &(yylsp[-1]), &(yylsp[0])); (yyval.pval)->u1.str = NULL;;} break; case 128: -#line 585 "ael.y" +#line 586 "ael.y" { (yyval.pval) = npval2(PV_PATTERN, &(yylsp[-2]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-1].str);;} break; case 129: -#line 590 "ael.y" +#line 591 "ael.y" {(yyval.pval) = (yyvsp[0].pval);;} break; case 130: -#line 591 "ael.y" +#line 592 "ael.y" { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;} break; case 131: -#line 594 "ael.y" +#line 595 "ael.y" {(yyval.pval)=(yyvsp[0].pval);;} break; case 132: -#line 595 "ael.y" +#line 596 "ael.y" { (yyval.pval) = npval2(PV_CATCH, &(yylsp[-4]), &(yylsp[0])); (yyval.pval)->u1.str = (yyvsp[-3].str); @@ -2759,85 +2758,81 @@ yyreduce: break; case 133: -#line 601 "ael.y" +#line 602 "ael.y" { (yyval.pval) = npval2(PV_SWITCHES, &(yylsp[-1]), &(yylsp[0])); (yyval.pval)->u1.list = (yyvsp[0].pval); ;} break; case 134: -#line 606 "ael.y" +#line 607 "ael.y" { (yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[-1]), &(yylsp[0])); (yyval.pval)->u1.list = (yyvsp[0].pval); ;} break; case 135: -#line 611 "ael.y" +#line 612 "ael.y" { (yyval.pval) = (yyvsp[-1].pval); ;} break; case 136: -#line 612 "ael.y" +#line 613 "ael.y" { (yyval.pval) = NULL; ;} break; case 137: -#line 615 "ael.y" +#line 616 "ael.y" { (yyval.pval) = nword((yyvsp[-1].str), &(yylsp[-1])); ;} break; case 138: -#line 616 "ael.y" +#line 617 "ael.y" { (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[-1].str), &(yylsp[-1]))); ;} break; case 139: -#line 617 "ael.y" +#line 618 "ael.y" {(yyval.pval)=(yyvsp[-1].pval);;} break; case 140: -#line 620 "ael.y" +#line 622 "ael.y" { (yyval.pval) = nword((yyvsp[-1].str), &(yylsp[-1])); ;} break; case 141: -#line 621 "ael.y" +#line 623 "ael.y" { (yyval.pval) = nword((yyvsp[-3].str), &(yylsp[-3])); (yyval.pval)->u2.arglist = (yyvsp[-1].pval); - prev_word=0; ;} + prev_word=0; /* XXX sure ? */ ;} break; case 142: -#line 625 "ael.y" - { (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[-1].str), &(yylsp[-1]))); ;} +#line 630 "ael.y" + { (yyval.pval) = (yyvsp[0].pval); ;} break; case 143: -#line 626 "ael.y" - { - pval *z = nword((yyvsp[-3].str), &(yylsp[-3])); - z->u2.arglist = (yyvsp[-1].pval); - (yyval.pval) = linku1((yyvsp[-4].pval), z); - prev_word=0; ;} +#line 631 "ael.y" + { (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;} break; case 144: -#line 631 "ael.y" +#line 632 "ael.y" {(yyval.pval)=(yyvsp[-1].pval);;} break; case 145: -#line 634 "ael.y" +#line 635 "ael.y" { (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-3]), &(yylsp[0])); (yyval.pval)->u1.list = (yyvsp[-1].pval);;} break; case 146: -#line 637 "ael.y" +#line 638 "ael.y" { (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-2]), &(yylsp[0]));;} break; @@ -2847,7 +2842,7 @@ yyreduce: } /* Line 1126 of yacc.c. */ -#line 2851 "ael.tab.c" +#line 2846 "ael.tab.c" yyvsp -= yylen; yyssp -= yylen; @@ -3122,7 +3117,7 @@ yyreturn: } -#line 642 "ael.y" +#line 643 "ael.y" static char *token_equivs1[] = diff --git a/pbx/ael/ael.y b/pbx/ael/ael.y index e51777895..2a58b732a 100644 --- a/pbx/ael/ael.y +++ b/pbx/ael/ael.y @@ -120,6 +120,7 @@ static pval *update_last(pval *, YYLTYPE *); %type elements_block %type switchlist_block %type timespec +%type included_entry %type opt_word %type word_or_default @@ -166,7 +167,7 @@ static pval *update_last(pval *, YYLTYPE *); global_statements globals macro context object objects opt_else elements_block switchlist_block - timespec + timespec included_entry %destructor { free($$);} word word_list goto_word word3_list opt_word word_or_default timerange @@ -617,17 +618,17 @@ switchlist : word SEMI { $$ = nword($1, &@1); } | switchlist error {$$=$1;} ; -includeslist : word_or_default SEMI { $$ = nword($1, &@1); } + +included_entry : word_or_default SEMI { $$ = nword($1, &@1); } | word_or_default BAR timespec SEMI { $$ = nword($1, &@1); $$->u2.arglist = $3; - prev_word=0; } - | includeslist word_or_default SEMI { $$ = linku1($1, nword($2, &@2)); } - | includeslist word_or_default BAR timespec SEMI { - pval *z = nword($2, &@2); - z->u2.arglist = $4; - $$ = linku1($1, z); - prev_word=0; } + prev_word=0; /* XXX sure ? */ } + ; + +/* list of ';' separated context names followed by optional timespec */ +includeslist : included_entry { $$ = $1; } + | includeslist included_entry { $$ = linku1($1, $2); } | includeslist error {$$=$1;} ; -- cgit v1.2.3