aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrizzo <rizzo@f38db490-d61c-443f-a65b-d21fe96a405b>2006-04-30 12:44:54 +0000
committerrizzo <rizzo@f38db490-d61c-443f-a65b-d21fe96a405b>2006-04-30 12:44:54 +0000
commit68f13a13c7615d8d0ad47bec404a4e5abe656d61 (patch)
tree666dd24cef924f83c816761e0a29b3519479186b
parent52268e0664cc8a36908e3d0b08f6b2ffdea59755 (diff)
more merge of common blocks through intermediate rules.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@23614 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--pbx/ael/ael.tab.c1548
-rw-r--r--pbx/ael/ael.tab.h7
-rw-r--r--pbx/ael/ael.y35
3 files changed, 809 insertions, 781 deletions
diff --git a/pbx/ael/ael.tab.c b/pbx/ael/ael.tab.c
index f0e5d78a5..1f9eb1292 100644
--- a/pbx/ael/ael.tab.c
+++ b/pbx/ael/ael.tab.c
@@ -223,11 +223,12 @@ static char *ael_token_subst(char *mess);
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
#line 53 "ael.y"
typedef union YYSTYPE {
- char *str;
- struct pval *pval;
+ int intval; /* integer value, typically flags */
+ char *str; /* strings */
+ struct pval *pval; /* full objects */
} YYSTYPE;
/* Line 196 of yacc.c. */
-#line 231 "ael.tab.c"
+#line 232 "ael.tab.c"
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
@@ -248,7 +249,7 @@ typedef struct YYLTYPE
/* Copy the second part of user declarations. */
-#line 58 "ael.y"
+#line 59 "ael.y"
/* declaring these AFTER the union makes things a lot simpler! */
void yyerror(YYLTYPE *locp, struct parse_io *parseio, char const *s);
@@ -264,7 +265,7 @@ static pval *update_last(pval *, YYLTYPE *);
/* Line 219 of yacc.c. */
-#line 268 "ael.tab.c"
+#line 269 "ael.tab.c"
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# define YYSIZE_T __SIZE_TYPE__
@@ -415,18 +416,18 @@ union yyalloc
#endif
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 18
+#define YYFINAL 14
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 488
+#define YYLAST 489
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 42
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 56
+#define YYNNTS 58
/* YYNRULES -- Number of rules. */
-#define YYNRULES 149
+#define YYNRULES 151
/* YYNRULES -- Number of states. */
-#define YYNSTATES 344
+#define YYNSTATES 343
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -476,104 +477,106 @@ static const unsigned char yytranslate[] =
static const unsigned short int yyprhs[] =
{
0, 0, 3, 5, 7, 10, 13, 15, 17, 19,
- 21, 23, 25, 29, 34, 43, 51, 59, 66, 71,
- 75, 77, 80, 83, 84, 90, 92, 96, 99, 102,
- 106, 108, 110, 113, 116, 118, 120, 122, 124, 126,
- 127, 133, 136, 138, 143, 147, 152, 160, 169, 171,
- 174, 177, 178, 184, 185, 191, 206, 217, 219, 222,
- 224, 227, 231, 233, 236, 240, 241, 248, 252, 253,
- 259, 263, 267, 270, 271, 272, 273, 286, 287, 294,
- 297, 301, 305, 308, 311, 312, 318, 321, 324, 327,
- 331, 335, 339, 341, 344, 345, 347, 351, 355, 361,
- 367, 373, 379, 381, 385, 391, 395, 401, 405, 406,
- 412, 416, 417, 421, 425, 428, 430, 431, 433, 434,
- 438, 440, 443, 448, 452, 457, 461, 464, 468, 470,
- 473, 475, 481, 486, 490, 495, 499, 502, 506, 509,
- 512, 527, 538, 542, 558, 570, 573, 575, 577, 582
+ 21, 23, 25, 30, 32, 33, 42, 50, 58, 65,
+ 70, 74, 76, 79, 82, 83, 89, 91, 95, 98,
+ 101, 105, 107, 109, 112, 115, 117, 119, 121, 123,
+ 125, 126, 132, 135, 137, 142, 146, 151, 159, 168,
+ 170, 173, 176, 177, 183, 184, 190, 205, 216, 218,
+ 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, 485, 489, 492, 496, 499, 502,
+ 506, 509, 512, 527, 538, 542, 558, 570, 573, 575,
+ 577, 582
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yysigned_char yyrhs[] =
{
43, 0, -1, 44, -1, 45, -1, 44, 45, -1,
- 44, 1, -1, 47, -1, 48, -1, 49, -1, 8,
- -1, 41, -1, 36, -1, 3, 46, 54, -1, 23,
- 3, 46, 54, -1, 15, 41, 6, 53, 7, 4,
- 90, 5, -1, 15, 41, 6, 53, 7, 4, 5,
- -1, 15, 41, 6, 7, 4, 90, 5, -1, 15,
- 41, 6, 7, 4, 5, -1, 16, 4, 50, 5,
- -1, 16, 4, 5, -1, 51, -1, 50, 51, -1,
- 50, 1, -1, -1, 41, 9, 52, 41, 8, -1,
- 41, -1, 53, 10, 41, -1, 53, 1, -1, 4,
- 5, -1, 4, 55, 5, -1, 56, -1, 1, -1,
- 55, 56, -1, 55, 1, -1, 59, -1, 97, -1,
- 92, -1, 93, -1, 58, -1, -1, 41, 9, 57,
- 41, 8, -1, 41, 1, -1, 8, -1, 17, 24,
- 41, 8, -1, 41, 24, 71, -1, 30, 41, 24,
- 71, -1, 31, 6, 67, 7, 41, 24, 71, -1,
- 30, 31, 6, 67, 7, 41, 24, 71, -1, 71,
- -1, 60, 71, -1, 60, 1, -1, -1, 19, 6,
- 62, 66, 7, -1, -1, 22, 6, 64, 66, 7,
- -1, 20, 6, 67, 11, 67, 11, 67, 13, 67,
- 13, 67, 13, 67, 7, -1, 20, 6, 41, 13,
- 67, 13, 67, 13, 67, 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, 70, 41, 7, 4, -1, 4, 60,
- 5, -1, -1, 41, 9, 72, 41, 8, -1, 25,
- 79, 8, -1, 26, 80, 8, -1, 41, 11, -1,
- -1, -1, -1, 32, 6, 73, 41, 8, 74, 41,
- 8, 75, 41, 7, 71, -1, -1, 33, 6, 76,
- 41, 7, 71, -1, 69, 5, -1, 69, 88, 5,
- -1, 12, 81, 8, -1, 85, 8, -1, 41, 8,
- -1, -1, 85, 9, 77, 41, 8, -1, 28, 8,
- -1, 27, 8, -1, 29, 8, -1, 63, 71, 78,
- -1, 61, 71, 78, -1, 65, 71, 78, -1, 8,
- -1, 21, 71, -1, -1, 68, -1, 68, 13, 68,
- -1, 68, 10, 68, -1, 68, 13, 68, 13, 68,
- -1, 68, 10, 68, 10, 68, -1, 36, 13, 68,
- 13, 68, -1, 36, 10, 68, 10, 68, -1, 68,
- -1, 68, 10, 68, -1, 68, 10, 41, 14, 41,
- -1, 68, 14, 68, -1, 68, 10, 41, 14, 36,
- -1, 68, 14, 36, -1, -1, 41, 6, 82, 87,
- 7, -1, 41, 6, 7, -1, -1, 41, 84, 6,
- -1, 83, 87, 7, -1, 83, 7, -1, 41, -1,
- -1, 66, -1, -1, 87, 10, 86, -1, 89, -1,
- 88, 89, -1, 34, 41, 11, 60, -1, 36, 11,
- 60, -1, 35, 41, 11, 60, -1, 34, 41, 11,
- -1, 36, 11, -1, 35, 41, 11, -1, 91, -1,
- 90, 91, -1, 71, -1, 37, 41, 4, 60, 5,
- -1, 38, 4, 94, 5, -1, 38, 4, 5, -1,
- 39, 4, 94, 5, -1, 39, 4, 5, -1, 41,
- 8, -1, 94, 41, 8, -1, 94, 1, -1, 96,
- 8, -1, 96, 13, 67, 11, 67, 11, 67, 13,
- 67, 13, 67, 13, 67, 8, -1, 96, 13, 41,
- 13, 67, 13, 67, 13, 67, 8, -1, 95, 96,
- 8, -1, 95, 96, 13, 67, 11, 67, 11, 67,
- 13, 67, 13, 67, 13, 67, 8, -1, 95, 96,
- 13, 41, 13, 67, 13, 67, 13, 67, 8, -1,
- 95, 1, -1, 41, -1, 36, -1, 40, 4, 95,
+ 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,
+ 5, -1, 15, 41, 6, 54, 7, 4, 5, -1,
+ 15, 41, 6, 7, 4, 91, 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, 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,
+ -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,
+ -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, 85, 6, -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, 4, 96, 5, -1, 38, 4, 5, -1, 39,
+ 95, -1, 4, 96, 5, -1, 4, 5, -1, 41,
+ 8, -1, 96, 41, 8, -1, 96, 1, -1, 98,
+ 8, -1, 98, 13, 68, 11, 68, 11, 68, 13,
+ 68, 13, 68, 13, 68, 8, -1, 98, 13, 41,
+ 13, 68, 13, 68, 13, 68, 8, -1, 97, 98,
+ 8, -1, 97, 98, 13, 68, 11, 68, 11, 68,
+ 13, 68, 13, 68, 13, 68, 8, -1, 97, 98,
+ 13, 41, 13, 68, 13, 68, 13, 68, 8, -1,
+ 97, 1, -1, 41, -1, 36, -1, 40, 4, 97,
5, -1, 40, 4, 5, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const unsigned short int yyrline[] =
{
- 0, 170, 170, 173, 174, 185, 188, 189, 190, 191,
- 194, 195, 198, 202, 209, 212, 215, 219, 224, 227,
- 231, 232, 233, 236, 236, 242, 245, 249, 252, 253,
- 256, 257, 258, 261, 264, 265, 266, 267, 268, 269,
- 269, 273, 274, 277, 282, 286, 291, 296, 305, 306,
- 309, 312, 312, 317, 317, 322, 338, 358, 359, 366,
- 367, 372, 380, 381, 385, 391, 391, 399, 402, 402,
- 406, 409, 412, 415, 416, 417, 415, 423, 423, 427,
- 429, 432, 434, 436, 439, 439, 472, 473, 474, 475,
- 479, 483, 487, 490, 491, 496, 498, 503, 508, 515,
- 522, 529, 538, 543, 548, 555, 562, 569, 578, 578,
- 583, 588, 588, 598, 605, 608, 609, 612, 615, 618,
- 625, 626, 631, 635, 639, 643, 646, 649, 654, 655,
- 660, 661, 667, 670, 674, 677, 681, 684, 689, 692,
- 695, 712, 725, 730, 748, 763, 766, 767, 770, 773
+ 0, 174, 174, 177, 178, 189, 192, 193, 194, 195,
+ 198, 199, 202, 210, 211, 214, 217, 220, 224, 229,
+ 232, 236, 237, 238, 241, 241, 247, 250, 254, 257,
+ 258, 261, 262, 263, 266, 269, 270, 271, 272, 273,
+ 274, 274, 278, 279, 282, 287, 291, 296, 301, 310,
+ 311, 314, 317, 317, 322, 322, 327, 343, 363, 364,
+ 371, 372, 377, 385, 386, 390, 396, 396, 404, 407,
+ 407, 411, 414, 417, 420, 421, 422, 420, 428, 428,
+ 432, 434, 437, 439, 441, 444, 444, 477, 478, 479,
+ 480, 484, 488, 492, 495, 496, 501, 503, 508, 513,
+ 520, 527, 534, 543, 548, 553, 560, 567, 574, 583,
+ 583, 588, 593, 593, 603, 610, 613, 614, 617, 620,
+ 623, 630, 631, 636, 640, 644, 648, 651, 654, 659,
+ 660, 665, 666, 672, 675, 679, 684, 685, 688, 691,
+ 696, 699, 702, 719, 732, 737, 755, 770, 773, 774,
+ 777, 780
};
#endif
@@ -589,16 +592,17 @@ static const char *const yytname[] =
"KW_RETURN", "KW_BREAK", "KW_CONTINUE", "KW_REGEXTEN", "KW_HINT",
"KW_FOR", "KW_WHILE", "KW_CASE", "KW_PATTERN", "KW_DEFAULT", "KW_CATCH",
"KW_SWITCHES", "KW_ESWITCHES", "KW_INCLUDES", "word", "$accept", "file",
- "objects", "object", "word_or_default", "context", "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", "includeslist", "includedname", "includes", 0
+ "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",
+ "includedname", "includes", 0
};
#endif
@@ -619,40 +623,42 @@ static const unsigned short int yytoknum[] =
static const unsigned char yyr1[] =
{
0, 42, 43, 44, 44, 44, 45, 45, 45, 45,
- 46, 46, 47, 47, 48, 48, 48, 48, 49, 49,
- 50, 50, 50, 52, 51, 53, 53, 53, 54, 54,
- 55, 55, 55, 55, 56, 56, 56, 56, 56, 57,
- 56, 56, 56, 58, 59, 59, 59, 59, 60, 60,
- 60, 62, 61, 64, 63, 65, 65, 66, 66, 67,
- 67, 67, 68, 68, 68, 70, 69, 71, 72, 71,
- 71, 71, 71, 73, 74, 75, 71, 76, 71, 71,
- 71, 71, 71, 71, 77, 71, 71, 71, 71, 71,
- 71, 71, 71, 78, 78, 79, 79, 79, 79, 79,
- 79, 79, 80, 80, 80, 80, 80, 80, 82, 81,
- 81, 84, 83, 85, 85, 86, 86, 87, 87, 87,
- 88, 88, 89, 89, 89, 89, 89, 89, 90, 90,
- 91, 91, 92, 92, 93, 93, 94, 94, 94, 95,
- 95, 95, 95, 95, 95, 95, 96, 96, 97, 97
+ 46, 46, 47, 48, 48, 49, 49, 49, 49, 50,
+ 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, 93, 94, 95, 95, 96, 96,
+ 96, 97, 97, 97, 97, 97, 97, 97, 98, 98,
+ 99, 99
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
static const unsigned char yyr2[] =
{
0, 2, 1, 1, 2, 2, 1, 1, 1, 1,
- 1, 1, 3, 4, 8, 7, 7, 6, 4, 3,
- 1, 2, 2, 0, 5, 1, 3, 2, 2, 3,
- 1, 1, 2, 2, 1, 1, 1, 1, 1, 0,
- 5, 2, 1, 4, 3, 4, 7, 8, 1, 2,
- 2, 0, 5, 0, 5, 14, 10, 1, 2, 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, 4, 3, 4, 3, 2, 3, 2, 2,
- 14, 10, 3, 15, 11, 2, 1, 1, 4, 3
+ 1, 1, 4, 1, 0, 8, 7, 7, 6, 4,
+ 3, 1, 2, 2, 0, 5, 1, 3, 2, 2,
+ 3, 1, 1, 2, 2, 1, 1, 1, 1, 1,
+ 0, 5, 2, 1, 4, 3, 4, 7, 8, 1,
+ 2, 2, 0, 5, 0, 5, 14, 10, 1, 2,
+ 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, 4, 3, 2, 3, 2, 2, 3,
+ 2, 2, 14, 10, 3, 15, 11, 2, 1, 1,
+ 4, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -660,257 +666,257 @@ static const unsigned char yyr2[] =
means the default is an error. */
static const unsigned char yydefact[] =
{
- 0, 0, 9, 0, 0, 0, 0, 0, 3, 6,
- 7, 8, 11, 10, 0, 0, 0, 0, 1, 5,
- 4, 0, 12, 0, 19, 0, 0, 20, 0, 31,
- 28, 42, 0, 0, 0, 0, 0, 0, 0, 0,
- 30, 38, 34, 36, 37, 35, 0, 25, 0, 23,
- 22, 18, 21, 13, 0, 0, 0, 0, 0, 0,
- 0, 41, 39, 0, 33, 29, 32, 0, 27, 0,
- 0, 0, 0, 0, 0, 59, 0, 133, 0, 0,
- 135, 0, 149, 147, 146, 0, 0, 0, 0, 92,
+ 14, 9, 0, 0, 13, 0, 0, 3, 6, 0,
+ 7, 8, 0, 0, 1, 5, 4, 0, 0, 20,
+ 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 111, 0, 0, 0, 0, 44, 118, 0,
- 17, 0, 130, 0, 128, 0, 26, 0, 43, 0,
- 45, 60, 0, 136, 138, 132, 0, 134, 145, 148,
- 0, 139, 0, 0, 0, 48, 0, 0, 65, 51,
- 0, 53, 0, 62, 95, 0, 102, 0, 87, 86,
- 88, 73, 77, 83, 68, 72, 0, 94, 94, 94,
- 79, 0, 0, 0, 0, 120, 114, 57, 117, 0,
- 82, 84, 0, 16, 129, 15, 0, 24, 0, 61,
- 0, 137, 142, 0, 59, 0, 40, 50, 67, 49,
- 108, 81, 0, 0, 59, 0, 0, 0, 0, 0,
- 63, 0, 0, 70, 0, 0, 71, 0, 0, 0,
- 112, 0, 90, 89, 91, 0, 0, 126, 80, 121,
- 58, 113, 116, 0, 0, 14, 0, 0, 59, 0,
- 0, 0, 110, 118, 0, 0, 0, 0, 0, 0,
- 0, 64, 97, 96, 62, 103, 107, 105, 0, 0,
- 0, 93, 125, 127, 0, 115, 119, 0, 0, 0,
- 46, 0, 0, 0, 0, 0, 0, 52, 0, 0,
- 54, 0, 0, 0, 0, 0, 74, 0, 69, 0,
- 0, 85, 131, 47, 0, 0, 0, 0, 109, 66,
- 0, 0, 101, 100, 99, 98, 106, 104, 0, 78,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 75, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 141, 0, 56, 0, 0, 144, 0,
- 0, 0, 0, 0, 0, 0, 76, 0, 0, 0,
- 0, 140, 55, 143
+ 0, 0, 0, 112, 0, 0, 0, 0, 131, 119,
+ 0, 0, 129, 0, 27, 0, 0, 0, 0, 0,
+ 0, 0, 135, 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,
+ 84, 69, 73, 0, 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, 134,
+ 0, 0, 137, 0, 151, 149, 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, 0, 113, 0, 91, 90, 92,
+ 0, 0, 127, 81, 122, 59, 114, 117, 0, 15,
+ 44, 0, 46, 61, 0, 138, 140, 133, 0, 136,
+ 147, 150, 0, 141, 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, 139, 144, 0, 60,
+ 0, 41, 0, 0, 53, 0, 0, 55, 0, 0,
+ 0, 0, 0, 75, 0, 132, 70, 0, 0, 86,
+ 0, 0, 60, 0, 0, 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, 0, 0, 143, 0, 0,
+ 77, 146, 0, 0, 0, 0, 0, 56, 0, 0,
+ 0, 142, 145
};
/* YYDEFGOTO[NTERM-NUM]. */
static const short int yydefgoto[] =
{
- -1, 6, 7, 8, 14, 9, 10, 11, 26, 27,
- 71, 48, 22, 39, 40, 87, 41, 42, 134, 103,
- 193, 104, 196, 105, 168, 76, 144, 106, 192, 135,
- 209, 207, 298, 320, 208, 223, 212, 145, 147, 137,
- 233, 108, 156, 109, 256, 169, 164, 165, 113, 114,
- 43, 44, 79, 85, 86, 45
+ -1, 5, 6, 7, 25, 8, 9, 10, 11, 21,
+ 22, 39, 28, 34, 50, 51, 159, 52, 53, 100,
+ 74, 167, 75, 170, 76, 135, 148, 110, 77, 166,
+ 101, 184, 181, 286, 311, 182, 198, 187, 111, 113,
+ 103, 217, 79, 123, 80, 241, 136, 131, 132, 81,
+ 82, 54, 55, 92, 151, 157, 158, 56
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -192
+#define YYPACT_NINF -182
static const short int yypact[] =
{
- 178, 76, -192, -36, 21, 13, 18, 465, -192, -192,
- -192, -192, -192, -192, 43, 66, 52, 76, -192, -192,
- -192, 144, -192, 5, -192, 61, 14, -192, 43, -192,
- -192, -192, 62, 113, 89, 143, 166, 176, 134, 201,
- -192, -192, -192, -192, -192, -192, 184, -192, 152, -192,
- -192, -192, -192, -192, 148, 213, 196, 149, 64, 93,
- 3, -192, -192, 431, -192, -192, -192, 327, -192, 225,
- 189, 192, 226, 149, 431, 194, 231, -192, 235, 44,
- -192, 53, -192, -192, -192, 12, 138, 203, 431, -192,
- 208, 246, 247, 248, 249, 124, 215, 250, 251, 253,
- 257, 258, 160, 431, 431, 431, 106, -192, 25, 70,
- -192, 216, -192, 353, -192, 379, -192, 259, -192, 261,
- -192, 233, 236, -192, -192, -192, 270, -192, -192, -192,
- 179, -192, 239, 273, 271, -192, 260, 274, -192, -192,
- 243, -192, 198, 109, 200, 277, 193, 278, -192, -192,
- -192, -192, -192, -192, -192, -192, 281, 267, 267, 267,
- -192, 254, 266, 283, 121, -192, -192, 269, -192, 205,
- -192, -192, 288, -192, -192, -192, 405, -192, 275, -192,
- 284, -192, -192, 276, 10, 290, -192, -192, -192, -192,
- 304, -192, 295, 296, 51, 303, 296, 215, 215, 297,
- -192, 215, 215, -192, 299, 163, -192, 300, 302, 307,
- -192, 431, -192, -192, -192, 311, 313, 431, -192, -192,
- -192, -192, 309, 310, 431, -192, 291, 431, 86, 314,
- 149, 149, -192, 296, 337, 355, 149, 149, 356, 308,
- 354, -192, 359, 357, 122, -192, -192, -192, 358, 367,
- 368, -192, 431, 431, 2, -192, -192, 369, 301, 431,
- -192, 149, 149, 375, 378, 214, 388, -192, 380, 384,
- -192, 215, 215, 215, 215, 164, -192, 431, -192, 55,
- 96, -192, -192, -192, 383, 389, 149, 149, -192, -192,
- 149, 149, -192, -192, -192, -192, -192, -192, 361, -192,
- 149, 149, 390, 401, 402, 406, 410, 408, 409, 149,
- 149, 149, 149, -192, 149, 149, 418, 415, 422, 423,
- 399, 433, 432, -192, 149, -192, 149, 437, -192, 149,
- 434, 435, 431, 439, 149, 149, -192, 149, 446, 448,
- 453, -192, -192, -192
+ 145, -182, -23, 22, -182, 58, 187, -182, -182, 70,
+ -182, -182, 92, 12, -182, -182, -182, 82, 1, -182,
+ 105, 14, -182, -182, -182, 117, 126, -182, 112, -182,
+ -182, -182, -182, 301, -182, 344, -182, 133, 74, 109,
+ -182, -182, -182, 122, 68, 152, 163, 171, 172, 107,
+ 306, -182, -182, -182, -182, -182, -182, 448, -182, -182,
+ 148, 194, 199, 207, 208, 98, 189, 185, 229, 231,
+ 234, 235, 204, 183, 448, 448, 448, 40, -182, 18,
+ -4, 370, -182, 396, -182, 240, 210, 243, 228, 214,
+ 27, 28, -182, 11, -182, -182, 448, -182, -182, -182,
+ 242, -182, 250, 249, -182, -182, 218, -182, 173, 71,
+ 188, 255, 130, 257, -182, -182, -182, -182, -182, 254,
+ -182, -182, -182, 260, 251, 251, 251, -182, 237, 238,
+ 270, 67, -182, -182, 241, -182, 212, -182, -182, -182,
+ -182, -182, 422, -182, 277, 214, 448, 245, 280, -182,
+ 285, 49, -182, 65, -182, -182, -182, 8, 135, 247,
+ -182, -182, -182, -182, 288, -182, 262, 267, 76, 299,
+ 267, 189, 189, 271, -182, 189, 189, -182, 274, 111,
+ -182, 275, 276, 448, 278, -182, 448, -182, -182, -182,
+ 309, 310, 448, -182, -182, -182, -182, 281, 283, -182,
+ -182, 289, -182, 284, 286, -182, -182, -182, 318, -182,
+ -182, -182, 166, -182, 287, 321, -182, 267, 323, 326,
+ 214, 214, 327, 325, 330, -182, 328, 337, 69, -182,
+ -182, -182, 343, 346, 272, 347, -182, 448, 448, 2,
+ -182, -182, 349, 313, -182, 334, -182, -182, 319, 83,
+ 348, -182, 217, 357, -182, 352, 356, -182, 189, 189,
+ 189, 189, 141, -182, 448, -182, -182, 59, 137, -182,
+ 355, 448, 84, 369, 214, 214, -182, -182, 214, 214,
+ -182, -182, -182, -182, -182, -182, 342, -182, 448, -182,
+ 214, 214, 371, 375, 374, 378, 360, -182, 380, 383,
+ 214, 214, 214, 214, -182, 214, 214, 392, 393, 402,
+ 397, 372, 399, 404, 214, 214, -182, 214, 412, 214,
+ 214, 423, 407, 419, 448, 427, 425, -182, 214, 214,
+ -182, -182, 214, 426, 429, 430, 214, -182, 214, 437,
+ 438, -182, -182
};
/* YYPGOTO[NTERM-NUM]. */
static const short int yypgoto[] =
{
- -192, -192, -192, 455, 450, -192, -192, -192, -192, 443,
- -192, -192, 442, -192, 436, -192, -192, -192, -191, -192,
- -192, -192, -192, -192, 32, -64, -95, -192, -192, -63,
- -192, -192, -192, -192, -192, -192, -20, -192, -192, -192,
- -192, -192, -192, -192, -192, 238, -192, 312, 362, -111,
- -192, -192, 419, -192, 394, -192
+ -182, -182, -182, 447, -182, -182, -182, -182, -182, -182,
+ 436, -182, -182, -182, -182, 408, -182, -182, -182, -181,
+ -182, -182, -182, -182, -182, 61, -94, -43, -182, -182,
+ -35, -182, -182, -182, -182, -182, -182, -21, -182, -182,
+ -182, -182, -182, -182, -182, -182, 244, -182, 331, 381,
+ -80, -182, -182, -182, 387, -182, 308, -182
};
/* 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 -125
+#define YYTABLE_NINF -126
static const short int yytable[] =
{
- 107, 146, 174, 187, 112, 15, 88, -123, 82, 119,
- 89, 120, 46, 128, 90, 50, 17, 129, 18, 51,
- 91, 92, 93, 230, 94, 16, 254, 95, 96, 97,
- 98, 99, 166, 258, 100, 101, -123, -123, -123, 83,
- 157, 158, 159, 102, 84, 124, 47, 21, 83, 125,
- 112, 121, 112, 84, 124, 25, 187, 24, 127, 88,
- -122, 279, 280, 89, 236, 174, 167, 90, 185, 77,
- 49, 189, 23, 91, 92, 93, 195, 94, 170, 171,
- 95, 96, 97, 98, 99, 126, 54, 100, 101, -122,
- -122, -122, 121, 25, 126, 57, 102, 187, 80, 261,
- 88, -124, 239, 240, 89, 78, 242, 243, 90, 245,
- 247, 160, 12, 112, 91, 92, 93, 13, 94, 229,
- 199, 95, 96, 97, 98, 99, 218, 121, 100, 101,
- -124, -124, -124, 199, 78, 61, 275, 102, 213, 214,
- 161, 162, 163, 62, 55, 29, 131, 58, 251, 30,
- 200, 132, 31, 68, 56, 161, 162, 163, 63, 69,
- 142, 32, 70, 200, 260, 143, 263, 264, 153, 154,
- 59, 155, 268, 269, 33, 34, 292, 293, 294, 295,
- 60, 1, 35, 36, 37, 38, 2, 182, 67, 72,
- 75, 189, 183, 3, 4, 189, 283, 284, 285, 246,
- 296, 5, 64, 204, 143, 297, 65, 205, 197, 31,
- 201, 198, 221, 202, 299, 222, 189, 189, 32, 73,
- 74, 288, 302, 303, 222, 235, 304, 305, 238, 115,
- 116, 33, 34, 117, 118, 121, 307, 308, 122, 35,
- 36, 37, 38, 123, 133, 316, 317, 318, 319, 136,
- 321, 322, 138, 139, 140, 141, 143, 172, 148, 149,
- 330, 150, 331, 151, 152, 333, 190, 177, 178, 336,
- 338, 339, 187, 340, 179, 88, 188, 180, 181, 89,
- 184, 186, 191, 90, 194, 203, 206, 210, 211, 91,
- 92, 93, 224, 94, 217, 215, 95, 96, 97, 98,
- 99, 231, 187, 100, 101, 88, 282, 216, 227, 89,
- 220, 232, 102, 90, 237, 259, 226, 228, 271, 91,
- 92, 93, 252, 94, 253, 262, 95, 96, 97, 98,
- 99, 88, 110, 100, 101, 89, 234, 167, 241, 90,
- 244, 248, 102, 249, 266, 91, 92, 93, 250, 94,
- 255, 257, 95, 96, 97, 98, 99, 88, 173, 100,
- 101, 89, 267, 270, 111, 90, 276, 272, 102, 273,
- 274, 91, 92, 93, 277, 94, 278, 281, 95, 96,
- 97, 98, 99, 88, 175, 100, 101, 89, 286, 287,
- 111, 90, 289, 290, 102, 291, 300, 91, 92, 93,
- 301, 94, 306, 309, 95, 96, 97, 98, 99, 88,
- 225, 100, 101, 89, 310, 311, 111, 90, 313, 312,
- 102, 314, 315, 91, 92, 93, 323, 94, 324, 325,
- 95, 96, 97, 98, 99, 88, 326, 100, 101, 89,
- 327, 328, 111, 90, 332, 329, 102, 334, 335, 91,
- 92, 93, 337, 94, 341, 342, 95, 96, 97, 98,
- 99, 343, 20, 100, 101, -2, 19, 28, 1, 52,
- 53, 265, 102, 2, 0, 66, 219, 176, 81, 130,
- 3, 4, 0, 0, 0, 0, 0, 0, 5
+ 78, 140, 234, 161, 137, 138, 57, -124, 26, 210,
+ 59, 239, 169, 211, 60, 30, 154, 19, 12, 31,
+ 61, 62, 63, 112, 64, 133, 13, 65, 66, 67,
+ 68, 69, 149, 152, 70, 71, -124, -124, -124, 124,
+ 125, 126, 27, 73, 155, 127, 78, 155, 78, 156,
+ 206, 201, 156, 20, 207, 20, 267, 268, 14, 134,
+ 161, 160, 140, 57, -123, 163, 206, 59, 150, 150,
+ 209, 60, 193, 17, 128, 129, 130, 61, 62, 63,
+ 173, 64, 173, 262, 65, 66, 67, 68, 69, 220,
+ 208, 70, 71, -123, -123, -123, 274, 290, 18, 87,
+ 73, 128, 129, 130, 188, 189, 208, 78, 94, 88,
+ 174, 202, 174, 36, 29, 84, 95, 203, 23, 37,
+ 250, 33, 38, 24, 203, 203, 255, 256, 223, 224,
+ 35, 96, 226, 227, 108, 229, 231, 83, 161, 109,
+ 178, 57, -125, 213, 179, 59, 86, 230, 214, 60,
+ 85, 236, 109, 1, 273, 61, 62, 63, 89, 64,
+ 2, 3, 65, 66, 67, 68, 69, 90, 4, 70,
+ 71, -125, -125, -125, 247, 91, 93, 284, 73, 248,
+ 292, 293, 285, 171, 294, 295, 172, -2, 15, 102,
+ -14, 120, 121, 114, 122, 1, 298, 299, 175, 163,
+ 104, 176, 2, 3, 163, 105, 307, 308, 309, 310,
+ 4, 312, 313, 106, 107, 280, 281, 282, 283, 196,
+ 321, 322, 197, 323, 276, 325, 326, 197, 219, 287,
+ 109, 222, 163, 163, 333, 334, 289, 115, 335, 116,
+ 117, 118, 339, 161, 340, 119, 57, 162, 143, 145,
+ 59, 144, 146, 297, 60, 147, 164, 165, 183, 168,
+ 61, 62, 63, 177, 64, 180, 185, 65, 66, 67,
+ 68, 69, 186, 161, 70, 71, 57, 265, 190, 191,
+ 59, 192, 195, 73, 60, 200, 203, 204, 215, 330,
+ 61, 62, 63, 205, 64, 216, 243, 65, 66, 67,
+ 68, 69, 40, 218, 70, 71, 41, 97, 134, 42,
+ 221, 98, 225, 73, 42, 228, 232, 233, 43, 235,
+ 237, 238, 240, 43, 242, 244, 246, 245, 249, 251,
+ 253, 44, 45, 254, 257, 258, 44, 45, 260, 46,
+ 47, 48, 49, 259, 46, 47, 48, 49, 57, 58,
+ 261, 263, 59, 264, 270, 266, 60, 269, 271, 275,
+ 272, 277, 61, 62, 63, 278, 64, 279, 304, 65,
+ 66, 67, 68, 69, 57, 139, 70, 71, 59, 288,
+ 291, 72, 60, 296, 300, 73, 301, 302, 61, 62,
+ 63, 303, 64, 305, 306, 65, 66, 67, 68, 69,
+ 57, 141, 70, 71, 59, 314, 315, 72, 60, 316,
+ 317, 73, 319, 318, 61, 62, 63, 320, 64, 324,
+ 328, 65, 66, 67, 68, 69, 57, 199, 70, 71,
+ 59, 327, 329, 72, 60, 331, 337, 73, 332, 336,
+ 61, 62, 63, 338, 64, 341, 342, 65, 66, 67,
+ 68, 69, 57, 16, 70, 71, 59, 32, 99, 72,
+ 60, 252, 194, 73, 142, 212, 61, 62, 63, 0,
+ 64, 0, 0, 65, 66, 67, 68, 69, 153, 0,
+ 70, 71, 0, 0, 0, 0, 0, 0, 0, 73
};
static const short int yycheck[] =
{
- 63, 96, 113, 1, 67, 41, 4, 5, 5, 73,
- 8, 74, 7, 1, 12, 1, 3, 5, 0, 5,
- 18, 19, 20, 13, 22, 4, 217, 25, 26, 27,
- 28, 29, 7, 224, 32, 33, 34, 35, 36, 36,
- 103, 104, 105, 41, 41, 1, 41, 4, 36, 5,
- 113, 41, 115, 41, 1, 41, 1, 5, 5, 4,
- 5, 252, 253, 8, 13, 176, 41, 12, 132, 5,
- 9, 134, 6, 18, 19, 20, 140, 22, 8, 9,
- 25, 26, 27, 28, 29, 41, 24, 32, 33, 34,
- 35, 36, 41, 41, 41, 6, 41, 1, 5, 13,
- 4, 5, 197, 198, 8, 41, 201, 202, 12, 204,
- 205, 5, 36, 176, 18, 19, 20, 41, 22, 183,
- 11, 25, 26, 27, 28, 29, 5, 41, 32, 33,
- 34, 35, 36, 11, 41, 1, 14, 41, 158, 159,
- 34, 35, 36, 9, 31, 1, 8, 4, 211, 5,
- 41, 13, 8, 1, 41, 34, 35, 36, 24, 7,
- 36, 17, 10, 41, 227, 41, 230, 231, 8, 9,
- 4, 11, 236, 237, 30, 31, 271, 272, 273, 274,
- 4, 3, 38, 39, 40, 41, 8, 8, 4, 41,
- 41, 254, 13, 15, 16, 258, 259, 261, 262, 36,
- 36, 23, 1, 10, 41, 41, 5, 14, 10, 8,
- 10, 13, 7, 13, 277, 10, 279, 280, 17, 6,
- 24, 7, 286, 287, 10, 193, 290, 291, 196, 4,
- 41, 30, 31, 41, 8, 41, 300, 301, 7, 38,
- 39, 40, 41, 8, 41, 309, 310, 311, 312, 41,
- 314, 315, 6, 6, 6, 6, 41, 41, 8, 8,
- 324, 8, 326, 6, 6, 329, 6, 8, 7, 332,
- 334, 335, 1, 337, 41, 4, 5, 41, 8, 8,
- 41, 8, 8, 12, 41, 8, 8, 6, 21, 18,
- 19, 20, 4, 22, 11, 41, 25, 26, 27, 28,
- 29, 11, 1, 32, 33, 4, 5, 41, 24, 8,
- 41, 7, 41, 12, 11, 24, 41, 41, 10, 18,
- 19, 20, 11, 22, 11, 11, 25, 26, 27, 28,
- 29, 4, 5, 32, 33, 8, 41, 41, 41, 12,
- 41, 41, 41, 41, 7, 18, 19, 20, 41, 22,
- 41, 41, 25, 26, 27, 28, 29, 4, 5, 32,
- 33, 8, 7, 7, 37, 12, 8, 13, 41, 10,
- 13, 18, 19, 20, 7, 22, 8, 8, 25, 26,
- 27, 28, 29, 4, 5, 32, 33, 8, 13, 11,
- 37, 12, 4, 13, 41, 11, 13, 18, 19, 20,
- 11, 22, 41, 13, 25, 26, 27, 28, 29, 4,
- 5, 32, 33, 8, 13, 13, 37, 12, 8, 13,
- 41, 13, 13, 18, 19, 20, 8, 22, 13, 7,
- 25, 26, 27, 28, 29, 4, 13, 32, 33, 8,
- 41, 8, 37, 12, 7, 13, 41, 13, 13, 18,
- 19, 20, 13, 22, 8, 7, 25, 26, 27, 28,
- 29, 8, 7, 32, 33, 0, 1, 17, 3, 26,
- 28, 233, 41, 8, -1, 39, 164, 115, 59, 85,
- 15, 16, -1, -1, -1, -1, -1, -1, 23
+ 35, 81, 183, 1, 8, 9, 4, 5, 7, 1,
+ 8, 192, 106, 5, 12, 1, 5, 5, 41, 5,
+ 18, 19, 20, 66, 22, 7, 4, 25, 26, 27,
+ 28, 29, 5, 5, 32, 33, 34, 35, 36, 74,
+ 75, 76, 41, 41, 36, 5, 81, 36, 83, 41,
+ 1, 145, 41, 41, 5, 41, 237, 238, 0, 41,
+ 1, 96, 142, 4, 5, 100, 1, 8, 41, 41,
+ 5, 12, 5, 3, 34, 35, 36, 18, 19, 20,
+ 11, 22, 11, 14, 25, 26, 27, 28, 29, 13,
+ 41, 32, 33, 34, 35, 36, 13, 13, 6, 31,
+ 41, 34, 35, 36, 125, 126, 41, 142, 1, 41,
+ 41, 146, 41, 1, 9, 41, 9, 41, 36, 7,
+ 214, 4, 10, 41, 41, 41, 220, 221, 171, 172,
+ 4, 24, 175, 176, 36, 178, 179, 4, 1, 41,
+ 10, 4, 5, 8, 14, 8, 24, 36, 13, 12,
+ 41, 186, 41, 8, 248, 18, 19, 20, 6, 22,
+ 15, 16, 25, 26, 27, 28, 29, 4, 23, 32,
+ 33, 34, 35, 36, 8, 4, 4, 36, 41, 13,
+ 274, 275, 41, 10, 278, 279, 13, 0, 1, 41,
+ 3, 8, 9, 8, 11, 8, 290, 291, 10, 234,
+ 6, 13, 15, 16, 239, 6, 300, 301, 302, 303,
+ 23, 305, 306, 6, 6, 258, 259, 260, 261, 7,
+ 314, 315, 10, 317, 7, 319, 320, 10, 167, 264,
+ 41, 170, 267, 268, 328, 329, 271, 8, 332, 8,
+ 6, 6, 336, 1, 338, 41, 4, 5, 8, 6,
+ 8, 41, 24, 288, 12, 41, 6, 8, 4, 41,
+ 18, 19, 20, 8, 22, 8, 6, 25, 26, 27,
+ 28, 29, 21, 1, 32, 33, 4, 5, 41, 41,
+ 8, 11, 41, 41, 12, 8, 41, 7, 41, 324,
+ 18, 19, 20, 8, 22, 7, 7, 25, 26, 27,
+ 28, 29, 1, 41, 32, 33, 5, 1, 41, 8,
+ 11, 5, 41, 41, 8, 41, 41, 41, 17, 41,
+ 11, 11, 41, 17, 41, 41, 8, 41, 41, 8,
+ 7, 30, 31, 7, 7, 10, 30, 31, 10, 38,
+ 39, 40, 41, 13, 38, 39, 40, 41, 4, 5,
+ 13, 8, 8, 7, 41, 8, 12, 8, 24, 11,
+ 41, 4, 18, 19, 20, 13, 22, 11, 8, 25,
+ 26, 27, 28, 29, 4, 5, 32, 33, 8, 24,
+ 11, 37, 12, 41, 13, 41, 11, 13, 18, 19,
+ 20, 13, 22, 13, 11, 25, 26, 27, 28, 29,
+ 4, 5, 32, 33, 8, 13, 13, 37, 12, 7,
+ 13, 41, 13, 41, 18, 19, 20, 13, 22, 7,
+ 13, 25, 26, 27, 28, 29, 4, 5, 32, 33,
+ 8, 8, 13, 37, 12, 8, 7, 41, 13, 13,
+ 18, 19, 20, 13, 22, 8, 8, 25, 26, 27,
+ 28, 29, 4, 6, 32, 33, 8, 21, 50, 37,
+ 12, 217, 131, 41, 83, 157, 18, 19, 20, -1,
+ 22, -1, -1, 25, 26, 27, 28, 29, 91, -1,
+ 32, 33, -1, -1, -1, -1, -1, -1, -1, 41
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const unsigned char yystos[] =
{
- 0, 3, 8, 15, 16, 23, 43, 44, 45, 47,
- 48, 49, 36, 41, 46, 41, 4, 3, 0, 1,
- 45, 4, 54, 6, 5, 41, 50, 51, 46, 1,
- 5, 8, 17, 30, 31, 38, 39, 40, 41, 55,
- 56, 58, 59, 92, 93, 97, 7, 41, 53, 9,
- 1, 5, 51, 54, 24, 31, 41, 6, 4, 4,
- 4, 1, 9, 24, 1, 5, 56, 4, 1, 7,
- 10, 52, 41, 6, 24, 41, 67, 5, 41, 94,
- 5, 94, 5, 36, 41, 95, 96, 57, 4, 8,
+ 0, 8, 15, 16, 23, 43, 44, 45, 47, 48,
+ 49, 50, 41, 4, 0, 1, 45, 3, 6, 5,
+ 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, 99, 4, 5, 8,
12, 18, 19, 20, 22, 25, 26, 27, 28, 29,
- 32, 33, 41, 61, 63, 65, 69, 71, 83, 85,
- 5, 37, 71, 90, 91, 4, 41, 41, 8, 67,
- 71, 41, 7, 8, 1, 5, 41, 5, 1, 5,
- 96, 8, 13, 41, 60, 71, 41, 81, 6, 6,
- 6, 6, 36, 41, 68, 79, 68, 80, 8, 8,
- 8, 6, 6, 8, 9, 11, 84, 71, 71, 71,
- 5, 34, 35, 36, 88, 89, 7, 41, 66, 87,
- 8, 9, 41, 5, 91, 5, 90, 8, 7, 41,
- 41, 8, 8, 13, 41, 67, 8, 1, 5, 71,
- 6, 8, 70, 62, 41, 67, 64, 10, 13, 11,
- 41, 10, 13, 8, 10, 14, 8, 73, 76, 72,
- 6, 21, 78, 78, 78, 41, 41, 11, 5, 89,
- 41, 7, 10, 77, 4, 5, 41, 24, 41, 67,
- 13, 11, 7, 82, 41, 66, 13, 11, 66, 68,
- 68, 41, 68, 68, 41, 68, 36, 68, 41, 41,
- 41, 71, 11, 11, 60, 41, 86, 41, 60, 24,
- 71, 13, 11, 67, 67, 87, 7, 7, 67, 67,
- 7, 10, 13, 10, 13, 14, 8, 7, 8, 60,
- 60, 8, 5, 71, 67, 67, 13, 11, 7, 4,
- 13, 11, 68, 68, 68, 68, 36, 41, 74, 71,
- 13, 11, 67, 67, 67, 67, 41, 67, 67, 13,
- 13, 13, 13, 8, 13, 13, 67, 67, 67, 67,
- 75, 67, 67, 8, 13, 7, 13, 41, 8, 13,
- 67, 67, 7, 67, 13, 13, 71, 13, 67, 67,
- 67, 8, 7, 8
+ 32, 33, 37, 41, 62, 64, 66, 70, 72, 84,
+ 86, 91, 92, 4, 41, 41, 24, 31, 41, 6,
+ 4, 4, 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,
+ 8, 9, 11, 85, 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, 96, 5, 36, 41, 97, 98, 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, 73, 6, 21, 79, 79, 79,
+ 41, 41, 11, 5, 90, 41, 7, 10, 78, 5,
+ 8, 68, 72, 41, 7, 8, 1, 5, 41, 5,
+ 1, 5, 98, 8, 13, 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, 8, 13, 41,
+ 68, 8, 88, 7, 7, 68, 68, 7, 10, 13,
+ 10, 13, 14, 8, 7, 5, 8, 61, 61, 8,
+ 41, 24, 41, 68, 13, 11, 7, 4, 13, 11,
+ 69, 69, 69, 69, 36, 41, 75, 72, 24, 72,
+ 13, 11, 68, 68, 68, 68, 41, 72, 68, 68,
+ 13, 11, 13, 13, 8, 13, 11, 68, 68, 68,
+ 68, 76, 68, 68, 13, 13, 7, 13, 41, 13,
+ 13, 68, 68, 68, 7, 68, 68, 8, 13, 13,
+ 72, 8, 13, 68, 68, 68, 13, 7, 13, 68,
+ 68, 8, 8
};
#define yyerrok (yyerrstatus = 0)
@@ -1286,319 +1292,327 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
switch (yytype)
{
case 41: /* "word" */
-#line 165 "ael.y"
+#line 169 "ael.y"
{ free((yyvaluep->str));};
-#line 1292 "ael.tab.c"
+#line 1298 "ael.tab.c"
break;
case 44: /* "objects" */
-#line 152 "ael.y"
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1300 "ael.tab.c"
+#line 1306 "ael.tab.c"
break;
case 45: /* "object" */
-#line 152 "ael.y"
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1308 "ael.tab.c"
+#line 1314 "ael.tab.c"
break;
case 46: /* "word_or_default" */
-#line 165 "ael.y"
+#line 169 "ael.y"
{ free((yyvaluep->str));};
-#line 1313 "ael.tab.c"
+#line 1319 "ael.tab.c"
break;
case 47: /* "context" */
-#line 152 "ael.y"
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1321 "ael.tab.c"
+#line 1327 "ael.tab.c"
break;
- case 48: /* "macro" */
-#line 152 "ael.y"
+ case 49: /* "macro" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1329 "ael.tab.c"
+#line 1335 "ael.tab.c"
break;
- case 49: /* "globals" */
-#line 152 "ael.y"
+ case 50: /* "globals" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1337 "ael.tab.c"
+#line 1343 "ael.tab.c"
break;
- case 50: /* "global_statements" */
-#line 152 "ael.y"
+ case 51: /* "global_statements" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1345 "ael.tab.c"
+#line 1351 "ael.tab.c"
break;
- case 51: /* "global_statement" */
-#line 152 "ael.y"
+ case 52: /* "global_statement" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1353 "ael.tab.c"
+#line 1359 "ael.tab.c"
break;
- case 53: /* "arglist" */
-#line 152 "ael.y"
+ case 54: /* "arglist" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1361 "ael.tab.c"
+#line 1367 "ael.tab.c"
break;
- case 54: /* "elements_block" */
-#line 152 "ael.y"
+ case 55: /* "elements_block" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1369 "ael.tab.c"
+#line 1375 "ael.tab.c"
break;
- case 55: /* "elements" */
-#line 152 "ael.y"
+ case 56: /* "elements" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1377 "ael.tab.c"
+#line 1383 "ael.tab.c"
break;
- case 56: /* "element" */
-#line 152 "ael.y"
+ case 57: /* "element" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1385 "ael.tab.c"
+#line 1391 "ael.tab.c"
break;
- case 58: /* "ignorepat" */
-#line 152 "ael.y"
+ case 59: /* "ignorepat" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1393 "ael.tab.c"
+#line 1399 "ael.tab.c"
break;
- case 59: /* "extension" */
-#line 152 "ael.y"
+ case 60: /* "extension" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1401 "ael.tab.c"
+#line 1407 "ael.tab.c"
break;
- case 60: /* "statements" */
-#line 152 "ael.y"
+ case 61: /* "statements" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1409 "ael.tab.c"
+#line 1415 "ael.tab.c"
break;
- case 61: /* "if_head" */
-#line 152 "ael.y"
+ case 62: /* "if_head" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1417 "ael.tab.c"
+#line 1423 "ael.tab.c"
break;
- case 63: /* "random_head" */
-#line 152 "ael.y"
+ case 64: /* "random_head" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1425 "ael.tab.c"
+#line 1431 "ael.tab.c"
break;
- case 65: /* "iftime_head" */
-#line 152 "ael.y"
+ case 66: /* "iftime_head" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1433 "ael.tab.c"
+#line 1439 "ael.tab.c"
break;
- case 66: /* "word_list" */
-#line 165 "ael.y"
+ case 67: /* "word_list" */
+#line 169 "ael.y"
{ free((yyvaluep->str));};
-#line 1438 "ael.tab.c"
+#line 1444 "ael.tab.c"
break;
- case 67: /* "word3_list" */
-#line 165 "ael.y"
+ case 68: /* "word3_list" */
+#line 169 "ael.y"
{ free((yyvaluep->str));};
-#line 1443 "ael.tab.c"
+#line 1449 "ael.tab.c"
break;
- case 68: /* "goto_word" */
-#line 165 "ael.y"
+ case 69: /* "goto_word" */
+#line 169 "ael.y"
{ free((yyvaluep->str));};
-#line 1448 "ael.tab.c"
+#line 1454 "ael.tab.c"
break;
- case 69: /* "switch_head" */
-#line 152 "ael.y"
+ case 70: /* "switch_head" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1456 "ael.tab.c"
+#line 1462 "ael.tab.c"
break;
- case 71: /* "statement" */
-#line 152 "ael.y"
+ case 72: /* "statement" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1464 "ael.tab.c"
+#line 1470 "ael.tab.c"
break;
- case 78: /* "opt_else" */
-#line 152 "ael.y"
+ case 79: /* "opt_else" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1472 "ael.tab.c"
+#line 1478 "ael.tab.c"
break;
- case 79: /* "target" */
-#line 152 "ael.y"
+ case 80: /* "target" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1480 "ael.tab.c"
+#line 1486 "ael.tab.c"
break;
- case 80: /* "jumptarget" */
-#line 152 "ael.y"
+ case 81: /* "jumptarget" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1488 "ael.tab.c"
+#line 1494 "ael.tab.c"
break;
- case 81: /* "macro_call" */
-#line 152 "ael.y"
+ case 82: /* "macro_call" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1496 "ael.tab.c"
+#line 1502 "ael.tab.c"
break;
- case 83: /* "application_call_head" */
-#line 152 "ael.y"
+ case 84: /* "application_call_head" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1504 "ael.tab.c"
+#line 1510 "ael.tab.c"
break;
- case 85: /* "application_call" */
-#line 152 "ael.y"
+ case 86: /* "application_call" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1512 "ael.tab.c"
+#line 1518 "ael.tab.c"
break;
- case 86: /* "opt_word" */
-#line 165 "ael.y"
+ case 87: /* "opt_word" */
+#line 169 "ael.y"
{ free((yyvaluep->str));};
-#line 1517 "ael.tab.c"
+#line 1523 "ael.tab.c"
+ break;
+ case 88: /* "eval_arglist" */
+#line 156 "ael.y"
+ {
+ destroy_pval((yyvaluep->pval));
+ prev_word=0;
+ };
+#line 1531 "ael.tab.c"
break;
- case 87: /* "eval_arglist" */
-#line 152 "ael.y"
+ case 89: /* "case_statements" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1525 "ael.tab.c"
+#line 1539 "ael.tab.c"
break;
- case 88: /* "case_statements" */
-#line 152 "ael.y"
+ case 90: /* "case_statement" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1533 "ael.tab.c"
+#line 1547 "ael.tab.c"
break;
- case 89: /* "case_statement" */
-#line 152 "ael.y"
+ case 91: /* "macro_statements" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1541 "ael.tab.c"
+#line 1555 "ael.tab.c"
break;
- case 90: /* "macro_statements" */
-#line 152 "ael.y"
+ case 92: /* "macro_statement" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1549 "ael.tab.c"
+#line 1563 "ael.tab.c"
break;
- case 91: /* "macro_statement" */
-#line 152 "ael.y"
+ case 93: /* "switches" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1557 "ael.tab.c"
+#line 1571 "ael.tab.c"
break;
- case 92: /* "switches" */
-#line 152 "ael.y"
+ case 94: /* "eswitches" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1565 "ael.tab.c"
+#line 1579 "ael.tab.c"
break;
- case 93: /* "eswitches" */
-#line 152 "ael.y"
+ case 95: /* "switchlist_block" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1573 "ael.tab.c"
+#line 1587 "ael.tab.c"
break;
- case 94: /* "switchlist" */
-#line 152 "ael.y"
+ case 96: /* "switchlist" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1581 "ael.tab.c"
+#line 1595 "ael.tab.c"
break;
- case 95: /* "includeslist" */
-#line 152 "ael.y"
+ case 97: /* "includeslist" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1589 "ael.tab.c"
+#line 1603 "ael.tab.c"
break;
- case 96: /* "includedname" */
-#line 165 "ael.y"
+ case 98: /* "includedname" */
+#line 169 "ael.y"
{ free((yyvaluep->str));};
-#line 1594 "ael.tab.c"
+#line 1608 "ael.tab.c"
break;
- case 97: /* "includes" */
-#line 152 "ael.y"
+ case 99: /* "includes" */
+#line 156 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1602 "ael.tab.c"
+#line 1616 "ael.tab.c"
break;
default:
@@ -1915,17 +1929,17 @@ yyreduce:
switch (yyn)
{
case 2:
-#line 170 "ael.y"
+#line 174 "ael.y"
{ (yyval.pval) = parseio->pval = (yyvsp[0].pval); ;}
break;
case 3:
-#line 173 "ael.y"
+#line 177 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 4:
-#line 175 "ael.y"
+#line 179 "ael.y"
{
if ( (yyvsp[-1].pval) && (yyvsp[0].pval) ) {
(yyval.pval)=(yyvsp[-1].pval);
@@ -1939,244 +1953,246 @@ yyreduce:
break;
case 5:
-#line 185 "ael.y"
+#line 189 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
case 6:
-#line 188 "ael.y"
+#line 192 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 7:
-#line 189 "ael.y"
+#line 193 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 8:
-#line 190 "ael.y"
+#line 194 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 9:
-#line 191 "ael.y"
+#line 195 "ael.y"
{(yyval.pval)=0;/* allow older docs to be read */;}
break;
case 10:
-#line 194 "ael.y"
+#line 198 "ael.y"
{ (yyval.str) = (yyvsp[0].str); ;}
break;
case 11:
-#line 195 "ael.y"
+#line 199 "ael.y"
{ (yyval.str) = strdup("default"); ;}
break;
case 12:
-#line 198 "ael.y"
- {
- (yyval.pval) = npval2(PV_CONTEXT, &(yylsp[-2]), &(yylsp[0]));
- (yyval.pval)->u1.str = (yyvsp[-1].str);
- (yyval.pval)->u2.statements = (yyvsp[0].pval); ;}
- break;
-
- case 13:
#line 202 "ael.y"
{
(yyval.pval) = npval2(PV_CONTEXT, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);
(yyval.pval)->u2.statements = (yyvsp[0].pval);
- (yyval.pval)->u3.abstract = 1; ;}
+ (yyval.pval)->u3.abstract = (yyvsp[-3].intval); ;}
+ break;
+
+ case 13:
+#line 210 "ael.y"
+ { (yyval.intval) = 1; ;}
break;
case 14:
-#line 209 "ael.y"
+#line 211 "ael.y"
+ { (yyval.intval) = 0; ;}
+ break;
+
+ case 15:
+#line 214 "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 15:
-#line 212 "ael.y"
+ case 16:
+#line 217 "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 16:
-#line 215 "ael.y"
+ case 17:
+#line 220 "ael.y"
{
(yyval.pval) = npval2(PV_MACRO, &(yylsp[-6]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-5].str);
(yyval.pval)->u3.macro_statements = (yyvsp[-1].pval); ;}
break;
- case 17:
-#line 219 "ael.y"
+ case 18:
+#line 224 "ael.y"
{
(yyval.pval) = npval2(PV_MACRO, &(yylsp[-5]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-4].str); ;}
break;
- case 18:
-#line 224 "ael.y"
+ case 19:
+#line 229 "ael.y"
{
(yyval.pval) = npval2(PV_GLOBALS, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.statements = (yyvsp[-1].pval);;}
break;
- case 19:
-#line 227 "ael.y"
+ case 20:
+#line 232 "ael.y"
{ /* empty globals is OK */
(yyval.pval) = npval2(PV_GLOBALS, &(yylsp[-2]), &(yylsp[0])); ;}
break;
- case 20:
-#line 231 "ael.y"
+ case 21:
+#line 236 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
- case 21:
-#line 232 "ael.y"
+ case 22:
+#line 237 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval); linku1((yyval.pval),(yyvsp[0].pval));;}
break;
- case 22:
-#line 233 "ael.y"
+ case 23:
+#line 238 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
- case 23:
-#line 236 "ael.y"
+ case 24:
+#line 241 "ael.y"
{ reset_semicount(parseio->scanner); ;}
break;
- case 24:
-#line 236 "ael.y"
+ case 25:
+#line 241 "ael.y"
{
(yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-4].str);
(yyval.pval)->u2.val = (yyvsp[-1].str); ;}
break;
- case 25:
-#line 242 "ael.y"
+ case 26:
+#line 247 "ael.y"
{
(yyval.pval)= npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[0].str); ;}
break;
- case 26:
-#line 245 "ael.y"
+ case 27:
+#line 250 "ael.y"
{
pval *z = npval2(PV_WORD, &(yylsp[-2]), &(yylsp[0]));
z->u1.str = (yyvsp[0].str);
(yyval.pval) = linku1((yyvsp[-2].pval),z); ;}
break;
- case 27:
-#line 249 "ael.y"
+ case 28:
+#line 254 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
- case 28:
-#line 252 "ael.y"
+ case 29:
+#line 257 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
- case 29:
-#line 253 "ael.y"
+ case 30:
+#line 258 "ael.y"
{ (yyval.pval) = (yyvsp[-1].pval); ;}
break;
- case 30:
-#line 256 "ael.y"
+ case 31:
+#line 261 "ael.y"
{ (yyval.pval)=(yyvsp[0].pval);;}
break;
- case 31:
-#line 257 "ael.y"
+ case 32:
+#line 262 "ael.y"
{(yyval.pval)=0;;}
break;
- case 32:
-#line 258 "ael.y"
+ case 33:
+#line 263 "ael.y"
{ if ( (yyvsp[-1].pval) && (yyvsp[0].pval) ) {(yyval.pval)=(yyvsp[-1].pval); linku1((yyval.pval),(yyvsp[0].pval));}
else if ( (yyvsp[-1].pval) ) {(yyval.pval)=(yyvsp[-1].pval);}
else if ( (yyvsp[0].pval) ) {(yyval.pval)=(yyvsp[0].pval);} ;}
break;
- case 33:
-#line 261 "ael.y"
- { (yyval.pval)=(yyvsp[-1].pval);;}
- break;
-
case 34:
-#line 264 "ael.y"
- {(yyval.pval)=(yyvsp[0].pval);;}
+#line 266 "ael.y"
+ { (yyval.pval)=(yyvsp[-1].pval);;}
break;
case 35:
-#line 265 "ael.y"
+#line 269 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 36:
-#line 266 "ael.y"
+#line 270 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 37:
-#line 267 "ael.y"
+#line 271 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 38:
-#line 268 "ael.y"
+#line 272 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 39:
-#line 269 "ael.y"
- { reset_semicount(parseio->scanner); ;}
+#line 273 "ael.y"
+ {(yyval.pval)=(yyvsp[0].pval);;}
break;
case 40:
-#line 269 "ael.y"
+#line 274 "ael.y"
+ { reset_semicount(parseio->scanner); ;}
+ break;
+
+ case 41:
+#line 274 "ael.y"
{
(yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-4].str);
(yyval.pval)->u2.val = (yyvsp[-1].str); ;}
break;
- case 41:
-#line 273 "ael.y"
+ case 42:
+#line 278 "ael.y"
{free((yyvsp[-1].str)); (yyval.pval)=0;;}
break;
- case 42:
-#line 274 "ael.y"
+ case 43:
+#line 279 "ael.y"
{(yyval.pval)=0;/* allow older docs to be read */;}
break;
- case 43:
-#line 277 "ael.y"
+ case 44:
+#line 282 "ael.y"
{
(yyval.pval) = npval2(PV_IGNOREPAT, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);;}
break;
- case 44:
-#line 282 "ael.y"
+ case 45:
+#line 287 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str);
(yyval.pval)->u2.statements = (yyvsp[0].pval); ;}
break;
- case 45:
-#line 286 "ael.y"
+ case 46:
+#line 291 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2184,8 +2200,8 @@ yyreduce:
(yyval.pval)->u4.regexten=1;;}
break;
- case 46:
-#line 291 "ael.y"
+ case 47:
+#line 296 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-6]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2193,8 +2209,8 @@ yyreduce:
(yyval.pval)->u3.hints = (yyvsp[-4].str);;}
break;
- case 47:
-#line 296 "ael.y"
+ case 48:
+#line 301 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-7]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2203,49 +2219,49 @@ yyreduce:
(yyval.pval)->u3.hints = (yyvsp[-4].str);;}
break;
- case 48:
-#line 305 "ael.y"
+ case 49:
+#line 310 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
- case 49:
-#line 306 "ael.y"
+ case 50:
+#line 311 "ael.y"
{if ( (yyvsp[-1].pval) && (yyvsp[0].pval) ) {(yyval.pval)=(yyvsp[-1].pval); linku1((yyval.pval),(yyvsp[0].pval));}
else if ( (yyvsp[-1].pval) ) {(yyval.pval)=(yyvsp[-1].pval);}
else if ( (yyvsp[0].pval) ) {(yyval.pval)=(yyvsp[0].pval);} ;}
break;
- case 50:
-#line 309 "ael.y"
+ case 51:
+#line 314 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
- case 51:
-#line 312 "ael.y"
+ case 52:
+#line 317 "ael.y"
{ reset_parencount(parseio->scanner); ;}
break;
- case 52:
-#line 312 "ael.y"
+ case 53:
+#line 317 "ael.y"
{
(yyval.pval)= npval2(PV_IF, &(yylsp[-4]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str); ;}
break;
- case 53:
-#line 317 "ael.y"
+ case 54:
+#line 322 "ael.y"
{ reset_parencount(parseio->scanner); ;}
break;
- case 54:
-#line 317 "ael.y"
+ case 55:
+#line 322 "ael.y"
{
(yyval.pval) = npval2(PV_RANDOM, &(yylsp[-4]), &(yylsp[0]));
(yyval.pval)->u1.str=(yyvsp[-1].str);;}
break;
- case 55:
-#line 323 "ael.y"
+ case 56:
+#line 328 "ael.y"
{
(yyval.pval) = npval2(PV_IFTIME, &(yylsp[-13]), &(yylsp[-9])); /* XXX really @5 or more ? */
(yyval.pval)->u1.list = npval2(PV_WORD, &(yylsp[-11]), &(yylsp[-11]));
@@ -2263,8 +2279,8 @@ yyreduce:
;}
break;
- case 56:
-#line 338 "ael.y"
+ case 57:
+#line 343 "ael.y"
{
(yyval.pval) = npval2(PV_IFTIME, &(yylsp[-9]), &(yylsp[-5])); /* XXX @5 or greater ? */
(yyval.pval)->u1.list = npval2(PV_WORD, &(yylsp[-7]), &(yylsp[-7]));
@@ -2279,13 +2295,13 @@ yyreduce:
;}
break;
- case 57:
-#line 358 "ael.y"
+ case 58:
+#line 363 "ael.y"
{ (yyval.str) = (yyvsp[0].str);;}
break;
- case 58:
-#line 359 "ael.y"
+ case 59:
+#line 364 "ael.y"
{
asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
free((yyvsp[-1].str));
@@ -2293,13 +2309,13 @@ yyreduce:
prev_word = (yyval.str);;}
break;
- case 59:
-#line 366 "ael.y"
+ case 60:
+#line 371 "ael.y"
{ (yyval.str) = (yyvsp[0].str);;}
break;
- case 60:
-#line 367 "ael.y"
+ case 61:
+#line 372 "ael.y"
{
asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
free((yyvsp[-1].str));
@@ -2307,8 +2323,8 @@ yyreduce:
prev_word = (yyval.str);;}
break;
- case 61:
-#line 372 "ael.y"
+ case 62:
+#line 377 "ael.y"
{
asprintf(&((yyval.str)), "%s%s%s", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str));
free((yyvsp[-2].str));
@@ -2317,97 +2333,97 @@ yyreduce:
prev_word=(yyval.str);;}
break;
- case 62:
-#line 380 "ael.y"
+ case 63:
+#line 385 "ael.y"
{ (yyval.str) = (yyvsp[0].str);;}
break;
- case 63:
-#line 381 "ael.y"
+ case 64:
+#line 386 "ael.y"
{
asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
free((yyvsp[-1].str));
free((yyvsp[0].str));;}
break;
- case 64:
-#line 385 "ael.y"
+ case 65:
+#line 390 "ael.y"
{
asprintf(&((yyval.str)), "%s:%s", (yyvsp[-2].str), (yyvsp[0].str));
free((yyvsp[-2].str));
free((yyvsp[0].str));;}
break;
- case 65:
-#line 391 "ael.y"
+ case 66:
+#line 396 "ael.y"
{ reset_parencount(parseio->scanner); ;}
break;
- case 66:
-#line 391 "ael.y"
+ case 67:
+#line 396 "ael.y"
{
(yyval.pval) = npval2(PV_SWITCH, &(yylsp[-5]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str); ;}
break;
- case 67:
-#line 399 "ael.y"
+ case 68:
+#line 404 "ael.y"
{
(yyval.pval) = npval2(PV_STATEMENTBLOCK, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[-1].pval); ;}
break;
- case 68:
-#line 402 "ael.y"
+ case 69:
+#line 407 "ael.y"
{reset_semicount(parseio->scanner);;}
break;
- case 69:
-#line 402 "ael.y"
+ case 70:
+#line 407 "ael.y"
{
(yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-4].str);
(yyval.pval)->u2.val = (yyvsp[-1].str); ;}
break;
- case 70:
-#line 406 "ael.y"
+ case 71:
+#line 411 "ael.y"
{
(yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[-1].pval);;}
break;
- case 71:
-#line 409 "ael.y"
+ case 72:
+#line 414 "ael.y"
{
(yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[-1].pval);;}
break;
- case 72:
-#line 412 "ael.y"
+ case 73:
+#line 417 "ael.y"
{
(yyval.pval) = npval2(PV_LABEL, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str); ;}
break;
- case 73:
-#line 415 "ael.y"
+ case 74:
+#line 420 "ael.y"
{reset_semicount(parseio->scanner);;}
break;
- case 74:
-#line 416 "ael.y"
+ case 75:
+#line 421 "ael.y"
{reset_semicount(parseio->scanner);;}
break;
- case 75:
-#line 417 "ael.y"
+ case 76:
+#line 422 "ael.y"
{reset_parencount(parseio->scanner);;}
break;
- case 76:
-#line 417 "ael.y"
+ case 77:
+#line 422 "ael.y"
{
(yyval.pval) = npval2(PV_FOR, &(yylsp[-11]), &(yylsp[0]));
(yyval.pval)->u1.for_init = (yyvsp[-8].str);
@@ -2416,58 +2432,58 @@ yyreduce:
(yyval.pval)->u4.for_statements = (yyvsp[0].pval);;}
break;
- case 77:
-#line 423 "ael.y"
+ case 78:
+#line 428 "ael.y"
{reset_parencount(parseio->scanner);;}
break;
- case 78:
-#line 423 "ael.y"
+ case 79:
+#line 428 "ael.y"
{
(yyval.pval) = npval2(PV_WHILE, &(yylsp[-5]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str);
(yyval.pval)->u2.statements = (yyvsp[0].pval); ;}
break;
- case 79:
-#line 427 "ael.y"
+ case 80:
+#line 432 "ael.y"
{
(yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;}
break;
- case 80:
-#line 429 "ael.y"
+ case 81:
+#line 434 "ael.y"
{
(yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[0]));
(yyval.pval)->u2.statements = (yyvsp[-1].pval);;}
break;
- case 81:
-#line 432 "ael.y"
+ case 82:
+#line 437 "ael.y"
{
(yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[-1])); ;}
break;
- case 82:
-#line 434 "ael.y"
+ case 83:
+#line 439 "ael.y"
{
(yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;}
break;
- case 83:
-#line 436 "ael.y"
+ case 84:
+#line 441 "ael.y"
{
(yyval.pval)= npval2(PV_APPLICATION_CALL, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);;}
break;
- case 84:
-#line 439 "ael.y"
+ case 85:
+#line 444 "ael.y"
{reset_semicount(parseio->scanner);;}
break;
- case 85:
-#line 439 "ael.y"
+ case 86:
+#line 444 "ael.y"
{
char *bufx;
int tot=0;
@@ -2503,68 +2519,68 @@ yyreduce:
;}
break;
- case 86:
-#line 472 "ael.y"
+ case 87:
+#line 477 "ael.y"
{ (yyval.pval) = npval2(PV_BREAK, &(yylsp[-1]), &(yylsp[0])); ;}
break;
- case 87:
-#line 473 "ael.y"
+ case 88:
+#line 478 "ael.y"
{ (yyval.pval) = npval2(PV_RETURN, &(yylsp[-1]), &(yylsp[0])); ;}
break;
- case 88:
-#line 474 "ael.y"
+ case 89:
+#line 479 "ael.y"
{ (yyval.pval) = npval2(PV_CONTINUE, &(yylsp[-1]), &(yylsp[0])); ;}
break;
- case 89:
-#line 475 "ael.y"
+ case 90:
+#line 480 "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 90:
-#line 479 "ael.y"
+ case 91:
+#line 484 "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 91:
-#line 483 "ael.y"
+ case 92:
+#line 488 "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 487 "ael.y"
+ case 93:
+#line 492 "ael.y"
{ (yyval.pval)=0; ;}
break;
- case 93:
-#line 490 "ael.y"
+ case 94:
+#line 495 "ael.y"
{ (yyval.pval) = (yyvsp[0].pval); ;}
break;
- case 94:
-#line 491 "ael.y"
+ case 95:
+#line 496 "ael.y"
{ (yyval.pval) = NULL ; ;}
break;
- case 95:
-#line 496 "ael.y"
+ case 96:
+#line 501 "ael.y"
{ (yyval.pval) = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[0].str);;}
break;
- case 96:
-#line 498 "ael.y"
+ case 97:
+#line 503 "ael.y"
{
(yyval.pval) = npval2(PV_WORD, &(yylsp[-2]), &(yylsp[-2]));
(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2572,8 +2588,8 @@ yyreduce:
(yyval.pval)->next->u1.str = (yyvsp[0].str);;}
break;
- case 97:
-#line 503 "ael.y"
+ case 98:
+#line 508 "ael.y"
{
(yyval.pval) = npval2(PV_WORD, &(yylsp[-2]), &(yylsp[-2]));
(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2581,8 +2597,8 @@ yyreduce:
(yyval.pval)->next->u1.str = (yyvsp[0].str);;}
break;
- case 98:
-#line 508 "ael.y"
+ case 99:
+#line 513 "ael.y"
{
(yyval.pval) = npval2(PV_WORD, &(yylsp[-4]), &(yylsp[-4]));
(yyval.pval)->u1.str = (yyvsp[-4].str);
@@ -2592,8 +2608,8 @@ yyreduce:
(yyval.pval)->next->next->u1.str = (yyvsp[0].str); ;}
break;
- case 99:
-#line 515 "ael.y"
+ case 100:
+#line 520 "ael.y"
{
(yyval.pval) = npval2(PV_WORD, &(yylsp[-4]), &(yylsp[-4]));
(yyval.pval)->u1.str = (yyvsp[-4].str);
@@ -2603,8 +2619,8 @@ yyreduce:
(yyval.pval)->next->next->u1.str = (yyvsp[0].str); ;}
break;
- case 100:
-#line 522 "ael.y"
+ case 101:
+#line 527 "ael.y"
{
(yyval.pval) = npval2(PV_WORD, &(yylsp[-4]), &(yylsp[-4]));
(yyval.pval)->u1.str = strdup("default");
@@ -2614,8 +2630,8 @@ yyreduce:
(yyval.pval)->next->next->u1.str = (yyvsp[0].str); ;}
break;
- case 101:
-#line 529 "ael.y"
+ case 102:
+#line 534 "ael.y"
{
(yyval.pval) = npval2(PV_WORD, &(yylsp[-4]), &(yylsp[-4]));
(yyval.pval)->u1.str = strdup("default");
@@ -2625,8 +2641,8 @@ yyreduce:
(yyval.pval)->next->next->u1.str = (yyvsp[0].str); ;}
break;
- case 102:
-#line 538 "ael.y"
+ case 103:
+#line 543 "ael.y"
{
(yyval.pval) = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[0].str);
@@ -2634,8 +2650,8 @@ yyreduce:
(yyval.pval)->next->u1.str = strdup("1");;}
break;
- case 103:
-#line 543 "ael.y"
+ case 104:
+#line 548 "ael.y"
{
(yyval.pval) = npval2(PV_WORD, &(yylsp[-2]), &(yylsp[-2]));
(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2643,8 +2659,8 @@ yyreduce:
(yyval.pval)->next->u1.str = (yyvsp[0].str);;}
break;
- case 104:
-#line 548 "ael.y"
+ case 105:
+#line 553 "ael.y"
{
(yyval.pval) = npval2(PV_WORD, &(yylsp[-4]), &(yylsp[-4]));
(yyval.pval)->u1.str = (yyvsp[0].str);
@@ -2654,8 +2670,8 @@ yyreduce:
(yyval.pval)->next->next->u1.str = (yyvsp[-2].str); ;}
break;
- case 105:
-#line 555 "ael.y"
+ case 106:
+#line 560 "ael.y"
{
(yyval.pval) = npval2(PV_WORD, &(yylsp[-2]), &(yylsp[-2]));
(yyval.pval)->u1.str = (yyvsp[0].str);
@@ -2665,8 +2681,8 @@ yyreduce:
(yyval.pval)->next->next->u1.str = strdup("1"); ;}
break;
- case 106:
-#line 562 "ael.y"
+ case 107:
+#line 567 "ael.y"
{
(yyval.pval) = npval2(PV_WORD, &(yylsp[-4]), &(yylsp[-4]));
(yyval.pval)->u1.str = strdup("default");
@@ -2676,8 +2692,8 @@ yyreduce:
(yyval.pval)->next->next->u1.str = (yyvsp[-2].str); ;}
break;
- case 107:
-#line 569 "ael.y"
+ case 108:
+#line 574 "ael.y"
{
(yyval.pval) = npval2(PV_WORD, &(yylsp[-2]), &(yylsp[-2]));
(yyval.pval)->u1.str = strdup("default");
@@ -2687,13 +2703,13 @@ yyreduce:
(yyval.pval)->next->next->u1.str = strdup("1"); ;}
break;
- case 108:
-#line 578 "ael.y"
+ case 109:
+#line 583 "ael.y"
{reset_argcount(parseio->scanner);;}
break;
- case 109:
-#line 578 "ael.y"
+ case 110:
+#line 583 "ael.y"
{
/* XXX original code had @2 but i think we need @5 */
(yyval.pval) = npval2(PV_MACRO_CALL, &(yylsp[-4]), &(yylsp[0]));
@@ -2701,20 +2717,20 @@ yyreduce:
(yyval.pval)->u2.arglist = (yyvsp[-1].pval);;}
break;
- case 110:
-#line 583 "ael.y"
+ case 111:
+#line 588 "ael.y"
{
(yyval.pval)= npval2(PV_MACRO_CALL, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str); ;}
break;
- case 111:
-#line 588 "ael.y"
+ case 112:
+#line 593 "ael.y"
{reset_argcount(parseio->scanner);;}
break;
- case 112:
-#line 588 "ael.y"
+ case 113:
+#line 593 "ael.y"
{
if (strcasecmp((yyvsp[-2].str),"goto") == 0) {
(yyval.pval)= npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0]));
@@ -2725,8 +2741,8 @@ yyreduce:
(yyval.pval)->u1.str = (yyvsp[-2].str); ;}
break;
- case 113:
-#line 598 "ael.y"
+ case 114:
+#line 603 "ael.y"
{
(yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[0]));
if( (yyval.pval)->type == PV_GOTO )
@@ -2736,37 +2752,37 @@ yyreduce:
;}
break;
- case 114:
-#line 605 "ael.y"
+ case 115:
+#line 610 "ael.y"
{ (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;}
break;
- case 115:
-#line 608 "ael.y"
+ case 116:
+#line 613 "ael.y"
{ (yyval.str) = (yyvsp[0].str) ;}
break;
- case 116:
-#line 609 "ael.y"
+ case 117:
+#line 614 "ael.y"
{ (yyval.str) = strdup(""); ;}
break;
- case 117:
-#line 612 "ael.y"
+ case 118:
+#line 617 "ael.y"
{
(yyval.pval)= npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[0].str);;}
break;
- case 118:
-#line 615 "ael.y"
+ case 119:
+#line 620 "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 119:
-#line 618 "ael.y"
+ case 120:
+#line 623 "ael.y"
{
pval *z = npval2(PV_WORD, &(yylsp[0]), &(yylsp[0]));
(yyval.pval) = (yyvsp[-2].pval);
@@ -2774,123 +2790,127 @@ yyreduce:
z->u1.str = (yyvsp[0].str);;}
break;
- case 120:
-#line 625 "ael.y"
+ case 121:
+#line 630 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
- case 121:
-#line 626 "ael.y"
+ case 122:
+#line 631 "ael.y"
{ if ( (yyvsp[-1].pval) && (yyvsp[0].pval) ) {(yyval.pval)=(yyvsp[-1].pval); linku1((yyval.pval),(yyvsp[0].pval));}
else if ( (yyvsp[-1].pval) ) {(yyval.pval)=(yyvsp[-1].pval);}
else if ( (yyvsp[0].pval) ) {(yyval.pval)=(yyvsp[0].pval);} ;}
break;
- case 122:
-#line 631 "ael.y"
+ case 123:
+#line 636 "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 123:
-#line 635 "ael.y"
+ case 124:
+#line 640 "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 124:
-#line 639 "ael.y"
+ case 125:
+#line 644 "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 125:
-#line 643 "ael.y"
+ case 126:
+#line 648 "ael.y"
{
(yyval.pval) = npval2(PV_CASE, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);;}
break;
- case 126:
-#line 646 "ael.y"
+ case 127:
+#line 651 "ael.y"
{
(yyval.pval) = npval2(PV_DEFAULT, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.str = NULL;;}
break;
- case 127:
-#line 649 "ael.y"
+ case 128:
+#line 654 "ael.y"
{
(yyval.pval) = npval2(PV_PATTERN, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);;}
break;
- case 128:
-#line 654 "ael.y"
+ case 129:
+#line 659 "ael.y"
{(yyval.pval) = (yyvsp[0].pval);;}
break;
- case 129:
-#line 655 "ael.y"
+ case 130:
+#line 660 "ael.y"
{ if ( (yyvsp[-1].pval) && (yyvsp[0].pval) ) {(yyval.pval)=(yyvsp[-1].pval); linku1((yyval.pval),(yyvsp[0].pval));}
else if ( (yyvsp[-1].pval) ) {(yyval.pval)=(yyvsp[-1].pval);}
else if ( (yyvsp[0].pval) ) {(yyval.pval)=(yyvsp[0].pval);} ;}
break;
- case 130:
-#line 660 "ael.y"
+ case 131:
+#line 665 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
- case 131:
-#line 661 "ael.y"
+ case 132:
+#line 666 "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 132:
-#line 667 "ael.y"
+ case 133:
+#line 672 "ael.y"
{
(yyval.pval) = npval2(PV_SWITCHES, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[-1].pval); ;}
break;
- case 133:
-#line 670 "ael.y"
+ case 134:
+#line 675 "ael.y"
{
(yyval.pval) = npval2(PV_SWITCHES, &(yylsp[-2]), &(yylsp[0])); ;}
break;
- case 134:
-#line 674 "ael.y"
+ case 135:
+#line 679 "ael.y"
{
- (yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[-3]), &(yylsp[0]));
- (yyval.pval)->u1.list = (yyvsp[-1].pval); ;}
+ (yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[-1]), &(yylsp[0]));
+ (yyval.pval)->u1.list = (yyvsp[0].pval); ;}
break;
- case 135:
-#line 677 "ael.y"
- { /* empty switch list OK */
- (yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[-2]), &(yylsp[0])); ;}
+ case 136:
+#line 684 "ael.y"
+ { (yyval.pval) = (yyvsp[-1].pval); ;}
break;
- case 136:
-#line 681 "ael.y"
+ case 137:
+#line 685 "ael.y"
+ { (yyval.pval) = NULL; ;}
+ break;
+
+ case 138:
+#line 688 "ael.y"
{
(yyval.pval) = npval2(PV_WORD, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);;}
break;
- case 137:
-#line 684 "ael.y"
+ case 139:
+#line 691 "ael.y"
{
pval *z = npval2(PV_WORD, &(yylsp[-1]), &(yylsp[0]));
z->u1.str = (yyvsp[-1].str);
@@ -2898,20 +2918,20 @@ yyreduce:
linku1((yyval.pval),z); ;}
break;
- case 138:
-#line 689 "ael.y"
+ case 140:
+#line 696 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
- case 139:
-#line 692 "ael.y"
+ case 141:
+#line 699 "ael.y"
{
(yyval.pval) = npval2(PV_WORD, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);;}
break;
- case 140:
-#line 696 "ael.y"
+ case 142:
+#line 703 "ael.y"
{
(yyval.pval) = npval2(PV_WORD, &(yylsp[-13]), &(yylsp[-12]));
(yyval.pval)->u1.str = (yyvsp[-13].str);
@@ -2930,8 +2950,8 @@ yyreduce:
;}
break;
- case 141:
-#line 712 "ael.y"
+ case 143:
+#line 719 "ael.y"
{
(yyval.pval) = npval2(PV_WORD, &(yylsp[-9]), &(yylsp[-8]));
(yyval.pval)->u1.str = (yyvsp[-9].str);
@@ -2947,8 +2967,8 @@ yyreduce:
;}
break;
- case 142:
-#line 725 "ael.y"
+ case 144:
+#line 732 "ael.y"
{
pval *z = npval2(PV_WORD, &(yylsp[-1]), &(yylsp[0])); /* XXX don't we need @1-@3 ?*/
(yyval.pval)=(yyvsp[-2].pval);
@@ -2956,8 +2976,8 @@ yyreduce:
linku1((yyval.pval),z); ;}
break;
- case 143:
-#line 731 "ael.y"
+ case 145:
+#line 738 "ael.y"
{
pval *z = npval2(PV_WORD, &(yylsp[-13]), &(yylsp[-12]));
(yyval.pval)=(yyvsp[-14].pval); z->u1.str = (yyvsp[-13].str);
@@ -2977,8 +2997,8 @@ yyreduce:
;}
break;
- case 144:
-#line 748 "ael.y"
+ case 146:
+#line 755 "ael.y"
{
pval *z = npval2(PV_WORD, &(yylsp[-9]), &(yylsp[-8]));
(yyval.pval)=(yyvsp[-10].pval);
@@ -2996,30 +3016,30 @@ yyreduce:
;}
break;
- case 145:
-#line 763 "ael.y"
+ case 147:
+#line 770 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
- case 146:
-#line 766 "ael.y"
+ case 148:
+#line 773 "ael.y"
{ (yyval.str) = (yyvsp[0].str);;}
break;
- case 147:
-#line 767 "ael.y"
+ case 149:
+#line 774 "ael.y"
{(yyval.str)=strdup("default");;}
break;
- case 148:
-#line 770 "ael.y"
+ case 150:
+#line 777 "ael.y"
{
(yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[-1].pval);;}
break;
- case 149:
-#line 773 "ael.y"
+ case 151:
+#line 780 "ael.y"
{
(yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-2]), &(yylsp[0]));;}
break;
@@ -3029,7 +3049,7 @@ yyreduce:
}
/* Line 1126 of yacc.c. */
-#line 3033 "ael.tab.c"
+#line 3053 "ael.tab.c"
yyvsp -= yylen;
yyssp -= yylen;
@@ -3304,7 +3324,7 @@ yyreturn:
}
-#line 778 "ael.y"
+#line 785 "ael.y"
static char *token_equivs1[] =
diff --git a/pbx/ael/ael.tab.h b/pbx/ael/ael.tab.h
index d4a924b63..199a5b58a 100644
--- a/pbx/ael/ael.tab.h
+++ b/pbx/ael/ael.tab.h
@@ -117,11 +117,12 @@
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
#line 53 "ael.y"
typedef union YYSTYPE {
- char *str;
- struct pval *pval;
+ int intval; /* integer value, typically flags */
+ char *str; /* strings */
+ struct pval *pval; /* full objects */
} YYSTYPE;
/* Line 1447 of yacc.c. */
-#line 125 "ael.tab.h"
+#line 126 "ael.tab.h"
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
diff --git a/pbx/ael/ael.y b/pbx/ael/ael.y
index cf71eb1db..f1d20a3de 100644
--- a/pbx/ael/ael.y
+++ b/pbx/ael/ael.y
@@ -51,8 +51,9 @@ static char *ael_token_subst(char *mess);
%union {
- char *str;
- struct pval *pval;
+ int intval; /* integer value, typically flags */
+ char *str; /* strings */
+ struct pval *pval; /* full objects */
}
%{
@@ -117,6 +118,7 @@ static pval *update_last(pval *, YYLTYPE *);
/* XXX lr changes */
%type <pval>opt_else
%type <pval>elements_block
+%type <pval>switchlist_block
%type <str>opt_word
%type <str>word_or_default
@@ -126,6 +128,8 @@ static pval *update_last(pval *, YYLTYPE *);
%type <str>word3_list
%type <str>includedname
+%type <intval>opt_abstract
+
/*
* OPTIONS
*/
@@ -160,7 +164,7 @@ static pval *update_last(pval *, YYLTYPE *);
ignorepat element elements arglist global_statement
global_statements globals macro context object objects
opt_else
- elements_block
+ elements_block switchlist_block
%destructor { free($$);} word word_list goto_word word3_list includedname opt_word word_or_default
@@ -195,15 +199,16 @@ word_or_default : word { $$ = $1; }
| KW_DEFAULT { $$ = strdup("default"); }
;
-context : KW_CONTEXT word_or_default elements_block {
- $$ = npval2(PV_CONTEXT, &@1, &@3);
- $$->u1.str = $2;
- $$->u2.statements = $3; }
- | KW_ABSTRACT KW_CONTEXT word_or_default elements_block {
+context : opt_abstract KW_CONTEXT word_or_default elements_block {
$$ = npval2(PV_CONTEXT, &@1, &@4);
$$->u1.str = $3;
$$->u2.statements = $4;
- $$->u3.abstract = 1; }
+ $$->u3.abstract = $1; }
+ ;
+
+/* optional "abstract" keyword */
+opt_abstract: KW_ABSTRACT { $$ = 1; }
+ | /* nothing */ { $$ = 0; }
;
macro : KW_MACRO word LP arglist RP LC macro_statements RC {
@@ -671,11 +676,13 @@ switches : KW_SWITCHES LC switchlist RC {
$$ = npval2(PV_SWITCHES, &@1, &@3); }
;
-eswitches : KW_ESWITCHES LC switchlist RC {
- $$ = npval2(PV_ESWITCHES, &@1, &@4);
- $$->u1.list = $3; }
- | KW_ESWITCHES LC RC { /* empty switch list OK */
- $$ = npval2(PV_ESWITCHES, &@1, &@3); } /* if there's nothing to declare, why include it? */
+eswitches : KW_ESWITCHES switchlist_block {
+ $$ = npval2(PV_ESWITCHES, &@1, &@2);
+ $$->u1.list = $2; }
+ ;
+
+switchlist_block : LC switchlist RC { $$ = $2; }
+ | LC RC { $$ = NULL; }
;
switchlist : word SEMI {