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