Merged revisions 67526 via svnmerge from

https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r67526 | murf | 2007-06-05 15:30:18 -0600 (Tue, 05 Jun 2007) | 1 line

this fixes bug 9883, wherein macros were not allowing the includes construct. fixed and tested, looks OK. Now includes can serve as an adjunct to catch.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67529 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Steve Murphy
2007-06-05 22:04:22 +00:00
parent 7903eac38f
commit 52efde5c65
5 changed files with 274 additions and 235 deletions

View File

@@ -32,7 +32,7 @@ ael/ael_lex.o: ael/ael_lex.c ../include/asterisk/ael_structs.h ael/ael.tab.h
ael/ael_lex.o: ASTCFLAGS+=-I. ael/ael_lex.o: ASTCFLAGS+=-I.
ael/ael.tab.o: ael/ael.tab.c ael/ael.tab.h ../include/asterisk/ael_structs.h ael/ael.tab.o: ael/ael.tab.c ael/ael.tab.h ../include/asterisk/ael_structs.h
ael/ael.tab.o: ASTCFLAGS+=-I. ael/ael.tab.o: ASTCFLAGS+=-I. -DYYENABLE_NLS=0
$(if $(filter pbx_ael,$(EMBEDDED_MODS)),modules.link,pbx_ael.so): ael/ael.tab.o ael/ael_lex.o $(if $(filter pbx_ael,$(EMBEDDED_MODS)),modules.link,pbx_ael.so): ael/ael.tab.o ael/ael_lex.o

View File

@@ -325,7 +325,7 @@ typedef short int yytype_int16;
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
#ifndef YY_ #ifndef YY_
# ifdef YYENABLE_NLS # if YYENABLE_NLS
# if ENABLE_NLS # if ENABLE_NLS
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */ # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
# define YY_(msgid) dgettext ("bison-runtime", msgid) # define YY_(msgid) dgettext ("bison-runtime", msgid)
@@ -490,16 +490,16 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */ /* YYFINAL -- State number of the termination state. */
#define YYFINAL 14 #define YYFINAL 14
/* YYLAST -- Last index in YYTABLE. */ /* YYLAST -- Last index in YYTABLE. */
#define YYLAST 303 #define YYLAST 350
/* YYNTOKENS -- Number of terminals. */ /* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 42 #define YYNTOKENS 42
/* YYNNTS -- Number of nonterminals. */ /* YYNNTS -- Number of nonterminals. */
#define YYNNTS 54 #define YYNNTS 54
/* YYNRULES -- Number of rules. */ /* YYNRULES -- Number of rules. */
#define YYNRULES 132 #define YYNRULES 133
/* YYNRULES -- Number of states. */ /* YYNRULES -- Number of states. */
#define YYNSTATES 266 #define YYNSTATES 267
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2 #define YYUNDEFTOK 2
@@ -560,8 +560,8 @@ static const yytype_uint16 yyprhs[] =
287, 291, 297, 303, 309, 315, 316, 319, 322, 327, 287, 291, 297, 303, 309, 315, 316, 319, 322, 327,
328, 334, 338, 339, 343, 347, 350, 352, 353, 355, 328, 334, 338, 339, 343, 347, 350, 352, 353, 355,
356, 360, 361, 364, 369, 373, 378, 379, 382, 384, 356, 360, 361, 364, 369, 373, 378, 379, 382, 384,
390, 395, 400, 401, 405, 411, 414, 416, 420, 423, 386, 392, 397, 402, 403, 407, 413, 416, 418, 422,
427, 430, 435 425, 429, 432, 437
}; };
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ /* YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -605,12 +605,13 @@ static const yytype_int8 yyrhs[] =
41, -1, -1, 65, -1, -1, 85, 10, 84, -1, 41, -1, -1, 65, -1, -1, 85, 10, 84, -1,
-1, 87, 86, -1, 34, 41, 11, 59, -1, 36, -1, 87, 86, -1, 34, 41, 11, 59, -1, 36,
11, 59, -1, 35, 41, 11, 59, -1, -1, 89, 11, 59, -1, 35, 41, 11, 59, -1, -1, 89,
88, -1, 70, -1, 37, 41, 4, 59, 5, -1, 88, -1, 70, -1, 95, -1, 37, 41, 4, 59,
38, 4, 92, 5, -1, 39, 4, 92, 5, -1, 5, -1, 38, 4, 92, 5, -1, 39, 4, 92,
-1, 41, 8, 92, -1, 41, 14, 41, 8, 92, 5, -1, -1, 41, 8, 92, -1, 41, 14, 41,
-1, 92, 1, -1, 46, -1, 46, 13, 61, -1, 8, 92, -1, 92, 1, -1, 46, -1, 46, 13,
93, 8, -1, 94, 93, 8, -1, 94, 1, -1, 61, -1, 93, 8, -1, 94, 93, 8, -1, 94,
40, 4, 94, 5, -1, 40, 4, 5, -1 1, -1, 40, 4, 94, 5, -1, 40, 4, 5,
-1
}; };
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@@ -628,8 +629,8 @@ static const yytype_uint16 yyrline[] =
477, 480, 484, 488, 492, 498, 499, 503, 506, 512, 477, 480, 484, 488, 492, 498, 499, 503, 506, 512,
512, 517, 525, 525, 536, 543, 546, 547, 550, 551, 512, 517, 525, 525, 536, 543, 546, 547, 550, 551,
554, 557, 558, 561, 565, 569, 575, 576, 579, 580, 554, 557, 558, 561, 565, 569, 575, 576, 579, 580,
586, 591, 596, 597, 598, 600, 603, 604, 611, 612, 581, 587, 592, 597, 598, 599, 601, 604, 605, 612,
613, 616, 619 613, 614, 617, 620
}; };
#endif #endif
@@ -686,8 +687,8 @@ static const yytype_uint8 yyr1[] =
76, 76, 76, 76, 76, 77, 77, 78, 78, 80, 76, 76, 76, 76, 76, 77, 77, 78, 78, 80,
79, 79, 82, 81, 83, 83, 84, 84, 85, 85, 79, 79, 82, 81, 83, 83, 84, 84, 85, 85,
85, 86, 86, 87, 87, 87, 88, 88, 89, 89, 85, 86, 86, 87, 87, 87, 88, 88, 89, 89,
90, 91, 92, 92, 92, 92, 93, 93, 94, 94, 89, 90, 91, 92, 92, 92, 92, 93, 93, 94,
94, 95, 95 94, 94, 95, 95
}; };
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -704,9 +705,9 @@ static const yytype_uint8 yyr2[] =
5, 2, 2, 2, 3, 1, 2, 0, 1, 3, 5, 2, 2, 2, 3, 1, 2, 0, 1, 3,
3, 5, 5, 5, 5, 0, 2, 2, 4, 0, 3, 5, 5, 5, 5, 0, 2, 2, 4, 0,
5, 3, 0, 3, 3, 2, 1, 0, 1, 0, 5, 3, 0, 3, 3, 2, 1, 0, 1, 0,
3, 0, 2, 4, 3, 4, 0, 2, 1, 5, 3, 0, 2, 4, 3, 4, 0, 2, 1, 1,
4, 4, 0, 3, 5, 2, 1, 3, 2, 3, 5, 4, 4, 0, 3, 5, 2, 1, 3, 2,
2, 4, 3 3, 2, 4, 3
}; };
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -719,159 +720,169 @@ static const yytype_uint8 yydefact[] =
0, 17, 11, 10, 0, 23, 0, 20, 19, 16, 0, 17, 11, 10, 0, 23, 0, 20, 19, 16,
0, 26, 25, 0, 0, 0, 36, 0, 0, 0, 0, 26, 25, 0, 0, 0, 36, 0, 0, 0,
0, 0, 0, 0, 34, 0, 26, 33, 29, 31, 0, 0, 0, 0, 34, 0, 26, 33, 29, 31,
32, 30, 116, 24, 0, 0, 0, 0, 0, 122, 32, 30, 116, 24, 0, 0, 0, 0, 0, 123,
122, 0, 35, 0, 28, 12, 0, 42, 85, 0, 123, 0, 35, 0, 28, 12, 0, 42, 85, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 66, 0, 75, 118, 109, 0, 0, 0, 0, 0, 66, 0, 75, 118, 109, 0, 0,
116, 21, 0, 0, 0, 55, 0, 0, 0, 0, 116, 119, 21, 0, 0, 0, 55, 0, 0, 0,
132, 126, 0, 0, 38, 0, 42, 0, 0, 48, 0, 133, 127, 0, 0, 38, 0, 42, 0, 0,
0, 50, 0, 51, 0, 61, 88, 0, 95, 0, 48, 0, 50, 0, 51, 0, 61, 88, 0, 95,
82, 81, 83, 70, 0, 0, 102, 78, 69, 87, 0, 82, 81, 83, 70, 0, 0, 102, 78, 69,
105, 53, 108, 0, 77, 79, 15, 117, 37, 0, 87, 105, 53, 108, 0, 77, 79, 15, 117, 37,
39, 0, 0, 56, 122, 0, 125, 120, 121, 0, 0, 39, 0, 0, 56, 123, 0, 126, 121, 122,
128, 130, 131, 0, 44, 65, 0, 99, 76, 0, 0, 129, 131, 132, 0, 44, 65, 0, 99, 76,
111, 46, 0, 0, 0, 0, 0, 62, 0, 0, 0, 111, 46, 0, 0, 0, 0, 0, 62, 0,
0, 67, 0, 97, 68, 0, 74, 42, 103, 0, 0, 0, 67, 0, 97, 68, 0, 74, 42, 103,
84, 54, 104, 107, 0, 0, 0, 57, 0, 0, 0, 84, 54, 104, 107, 0, 0, 0, 57, 0,
127, 129, 101, 109, 0, 0, 0, 0, 0, 111, 0, 128, 130, 101, 109, 0, 0, 0, 0, 0,
59, 0, 52, 0, 0, 0, 90, 63, 89, 96, 111, 59, 0, 52, 0, 0, 0, 90, 63, 89,
0, 0, 0, 86, 106, 110, 0, 0, 0, 122, 96, 0, 0, 0, 86, 106, 110, 0, 0, 0,
0, 49, 0, 0, 42, 64, 112, 60, 58, 0, 123, 0, 49, 0, 0, 42, 64, 112, 60, 58,
0, 0, 0, 0, 0, 98, 71, 119, 80, 0, 0, 0, 0, 0, 0, 0, 98, 71, 120, 80,
40, 0, 100, 42, 42, 0, 0, 0, 94, 93, 0, 40, 0, 100, 42, 42, 0, 0, 0, 94,
92, 91, 0, 41, 0, 0, 0, 45, 0, 0, 93, 92, 91, 0, 41, 0, 0, 0, 45, 0,
72, 47, 0, 0, 0, 73 0, 72, 47, 0, 0, 0, 73
}; };
/* YYDEFGOTO[NTERM-NUM]. */ /* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] = static const yytype_int16 yydefgoto[] =
{ {
-1, 5, 6, 7, 101, 8, 9, 10, 11, 20, -1, 5, 6, 7, 102, 8, 9, 10, 11, 20,
83, 35, 26, 45, 46, 47, 48, 105, 162, 163, 83, 35, 26, 45, 46, 47, 48, 106, 163, 164,
110, 159, 84, 132, 96, 164, 116, 85, 106, 175, 111, 160, 84, 133, 97, 165, 117, 85, 107, 176,
252, 262, 184, 180, 117, 173, 119, 108, 193, 87, 253, 263, 185, 181, 118, 174, 120, 109, 194, 87,
178, 88, 215, 133, 198, 199, 89, 90, 49, 50, 179, 88, 216, 134, 199, 200, 89, 90, 49, 50,
98, 102, 103, 51 99, 103, 104, 51
}; };
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */ STATE-NUM. */
#define YYPACT_NINF -197 #define YYPACT_NINF -198
static const yytype_int16 yypact[] = static const yytype_int16 yypact[] =
{ {
54, -197, -17, 29, -197, 78, 129, -197, -197, 88, 91, -198, -25, 14, -198, 37, 69, -198, -198, 65,
-197, -197, 99, 65, -197, -197, -197, -21, 90, 147, -198, -198, 55, 78, -198, -198, -198, 26, 107, 140,
11, 65, -197, -197, 151, -197, 27, -197, -197, -197, 75, 78, -198, -198, 74, -198, 23, -198, -198, -198,
79, 95, -197, 171, 142, 144, -197, 168, -14, 196, 81, 138, -198, 152, 130, 133, -198, 159, -14, 184,
199, 200, 201, 12, -197, 84, 95, -197, -197, -197, 187, 201, 205, 12, -198, 116, 138, -198, -198, -198,
-197, -197, 82, -197, 198, 166, 202, 185, 169, 170, -198, -198, 83, -198, 202, 146, 206, 191, 170, 173,
170, 3, -197, 145, -197, -197, 112, 145, -197, 172, 173, 3, -198, 125, -198, -198, 126, 125, -198, 175,
208, 208, 209, 208, 30, 176, 210, 211, 212, 215, 211, 211, 212, 211, 77, 178, 213, 214, 215, 218,
208, 181, 173, -197, 145, -197, -197, 2, 59, 218, 211, 185, 164, -198, 125, -198, -198, 7, 117, 220,
82, -197, 216, 169, 145, -197, 23, 68, 115, 123, 83, -198, -198, 219, 170, 125, -198, 8, 20, 129,
-197, 203, 217, 5, -197, 138, 145, 220, 219, -197, 131, -198, 207, 221, 5, -198, 134, 125, 222, 223,
224, -197, 189, -197, 86, 191, 178, 221, 158, 223, -198, 226, -198, 192, -198, 87, 194, 183, 224, 154,
-197, -197, -197, -197, 145, 229, -197, -197, -197, 213, 228, -198, -198, -198, -198, 125, 230, -198, -198, -198,
-197, 194, -197, 111, -197, -197, -197, -197, -197, 33, 216, -198, 198, -198, 182, -198, -198, -198, -198, -198,
-197, 195, 197, -197, 170, 204, -197, -197, -197, 189, 33, -198, 199, 200, -198, 173, 203, -198, -198, -198,
-197, -197, -197, 231, -197, -197, 13, 230, -197, 205, 192, -198, -198, -198, 234, -198, -198, 18, 231, -198,
161, 20, 227, 234, 232, 176, 176, -197, 176, 206, 204, 167, 1, 233, 236, 237, 178, 178, -198, 178,
176, -197, 207, 228, -197, 214, -197, 145, -197, 145, 208, 178, -198, 209, 238, -198, 210, -198, 125, -198,
-197, -197, -197, 222, 225, 226, 233, -197, 146, 236, 125, -198, -198, -198, 217, 225, 227, 229, -198, 179,
-197, -197, -197, 205, 242, 235, 237, 239, 246, 161, 239, -198, -198, -198, 204, 247, 232, 235, 244, 251,
238, 240, -197, 240, 188, 127, 190, -197, 135, -197, 167, 240, 241, -198, 241, 188, 127, 197, -198, 193,
-21, 244, 149, -197, -197, -197, 245, 241, 145, 170, -198, 26, 249, 180, -198, -198, -198, 252, 243, 125,
183, -197, 243, 247, 145, -197, -197, -197, 248, 249, 173, 190, -198, 248, 250, 125, -198, -198, -198, 242,
250, 176, 176, 176, 176, -197, -197, -197, -197, 145, 256, 253, 178, 178, 178, 178, -198, -198, -198, -198,
-197, 175, -197, 145, 145, 18, 240, 240, 253, 253, 125, -198, 181, -198, 125, 125, 21, 241, 241, 254,
253, 253, 251, -197, 21, 24, 255, -197, 252, 240, 254, 254, 254, 245, -198, 24, 30, 257, -198, 255,
-197, -197, 254, 262, 145, -197 241, -198, -198, 246, 264, 125, -198
}; };
/* YYPGOTO[NTERM-NUM]. */ /* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] = static const yytype_int16 yypgoto[] =
{ {
-197, -197, -197, 264, -16, -197, -197, -197, -197, 256, -198, -198, -198, 266, -16, -198, -198, -198, -198, 258,
52, -197, -197, 257, -197, -197, -197, -102, -197, 107, 58, -198, -198, 259, -198, -198, -198, -103, -198, 112,
8, -197, -197, 100, 179, -196, -73, -197, -52, -197, 10, -198, -198, 114, 186, -197, -73, -198, -52, -198,
-197, -197, -197, -197, -197, -197, -197, -197, -197, -197, -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-197, -197, -197, 80, 72, -197, 184, -197, -197, -197, -198, -198, -198, 84, 85, -198, 260, -198, -198, -198,
-57, 177, -197, -197 -57, 171, -198, -43
}; };
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says. number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, syntax error. */ If YYTABLE_NINF, syntax error. */
#define YYTABLE_NINF -125 #define YYTABLE_NINF -126
static const yytype_int16 yytable[] = static const yytype_int16 yytable[] =
{ {
86, 24, 118, 99, 156, 229, 151, 230, 100, 130, 86, 24, 119, 100, 157, 230, 152, 231, 101, 91,
152, 104, 28, 62, 154, 22, 29, 56, -43, 154, 153, 105, -58, 62, 131, 142, 12, 56, 13, 155,
23, 27, 154, -114, 12, 154, -113, 57, 32, -115, 143, 27, 155, -43, 32, 155, -114, 57, 145, -113,
141, -58, 129, 13, 33, 142, 63, 34, 86, 22, 33, 155, 130, 34, 146, -115, 63, 14, 86, 22,
185, 22, 140, 131, 23, 142, 23, -43, -43, -43, 186, 22, 201, 141, 23, 143, 23, 91, 132, 144,
256, 257, -114, -114, -114, -113, -113, -113, -115, -115, 257, 258, -43, -43, -43, -114, -114, -114, -113, -113,
-115, 200, 1, 261, 143, 21, 114, 134, 135, 2, -113, 18, 22, 262, -115, -115, -115, 23, 17, -2,
3, 115, 176, 21, 143, 212, 144, 4, 14, 111, 15, 21, -14, 177, 144, 213, 28, 1, 31, 21,
28, 113, 145, 44, -18, 64, 67, 188, 124, 65, 29, 112, 28, 114, 2, 3, -18, 67, 189, 44,
68, 17, 204, 205, 69, 206, 165, 208, 44, 166, 125, 68, 4, 205, 206, 69, 207, 166, 209, 1,
70, 71, 72, 36, 73, 18, 19, 74, 75, 76, 167, 70, 71, 72, 44, 73, 2, 3, 74, 75,
77, 78, 37, 64, 79, 80, 146, -27, 182, 81, 76, 77, 78, 115, 4, 79, 80, 64, 116, 19,
147, 183, 245, 82, 146, 38, 39, 213, 148, -2, 81, 65, 246, 42, 82, 135, 136, 64, 214, 67,
15, 25, -14, 40, 41, 42, 43, 1, 169, 154, 147, -27, 147, 68, 148, 155, 149, 69, 170, 156,
232, 254, 255, 155, 2, 3, 169, 146, 234, 67, 233, 255, 256, 70, 71, 72, 36, 73, 25, 27,
154, -123, 4, 68, 237, 31, 27, 69, 248, 249, 74, 75, 76, 77, 78, 37, 52, 79, 80, 249,
250, 251, 241, 70, 71, 72, 240, 73, 172, 169, 250, 251, 252, 242, 173, 170, 82, 241, 38, 39,
74, 75, 76, 77, 78, 52, 146, 79, 80, 126, 127, 53, 128, 27, 54, 129, 40, 41, 42, 43,
-124, 127, 27, 53, 128, 54, 82, 253, 168, 169, 147, 155, 147, 55, -124, 238, -125, 93, 254, 183,
242, 170, 55, 183, 235, 195, 196, 197, 231, 169, 58, 59, 184, 169, 170, 236, 171, 243, 232, 170,
233, 169, 58, 59, 60, 61, 91, 92, 93, 94, 184, 196, 197, 198, 170, 60, 235, 234, 170, 61,
95, 97, 265, 107, 109, 112, 149, 115, 120, 121, 92, 96, 94, 266, 98, 95, 108, 110, 113, 116,
122, 123, 125, 136, 138, 150, 157, 158, 160, 171, 150, 121, 122, 123, 124, 137, 126, 139, 158, 151,
161, 174, 167, 177, 179, 181, 186, 192, 187, 191, 161, 159, 172, 162, 178, 168, 175, 180, 193, 182,
201, 202, 210, 203, 219, 189, 131, 207, 209, 221, 187, 188, 192, 203, 190, 132, 202, 220, 204, 208,
224, 225, 236, 238, 243, 211, 190, 218, 244, 194, 210, 212, 211, 219, 222, 225, 226, 237, 215, 244,
260, 247, 246, 214, 169, 239, 216, 217, 259, 264, 239, 245, 191, 261, 248, 170, 217, 240, 218, 247,
16, 226, 139, 220, 137, 0, 222, 30, 223, 227, 260, 265, 16, 223, 195, 154, 224, 0, 221, 30,
153, 228, 0, 0, 0, 0, 0, 0, 0, 200, 140, 228, 229, 201, 0, 227, 259, 264, 0, 0,
0, 0, 258, 0, 0, 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 66 0, 0, 0, 0, 0, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
138
}; };
static const yytype_int16 yycheck[] = static const yytype_int16 yycheck[] =
{ {
52, 17, 75, 60, 106, 201, 1, 203, 5, 7, 52, 17, 75, 60, 107, 202, 1, 204, 5, 52,
5, 63, 1, 1, 1, 36, 5, 31, 5, 1, 5, 63, 11, 1, 7, 7, 41, 31, 4, 1,
41, 9, 1, 5, 41, 1, 5, 41, 1, 5, 12, 9, 1, 5, 1, 1, 5, 41, 8, 5,
7, 11, 84, 4, 7, 12, 24, 10, 90, 36, 7, 1, 84, 10, 14, 5, 24, 0, 90, 36,
7, 36, 94, 41, 41, 12, 41, 34, 35, 36, 7, 36, 41, 95, 41, 12, 41, 90, 41, 41,
246, 247, 34, 35, 36, 34, 35, 36, 34, 35, 247, 248, 34, 35, 36, 34, 35, 36, 34, 35,
36, 41, 8, 259, 41, 13, 36, 8, 9, 15, 36, 6, 36, 260, 34, 35, 36, 41, 3, 0,
16, 41, 124, 21, 41, 177, 8, 23, 0, 71, 1, 13, 3, 125, 41, 178, 1, 8, 4, 21,
1, 73, 14, 31, 5, 1, 4, 144, 80, 5, 5, 71, 1, 73, 15, 16, 5, 4, 145, 31,
8, 3, 165, 166, 12, 168, 10, 170, 46, 13, 80, 8, 23, 166, 167, 12, 169, 10, 171, 8,
18, 19, 20, 8, 22, 6, 41, 25, 26, 27, 13, 18, 19, 20, 46, 22, 15, 16, 25, 26,
28, 29, 17, 1, 32, 33, 1, 5, 7, 37, 27, 28, 29, 36, 23, 32, 33, 1, 41, 41,
5, 10, 224, 41, 1, 30, 31, 179, 5, 0, 37, 5, 225, 40, 41, 8, 9, 1, 180, 4,
1, 41, 3, 38, 39, 40, 41, 8, 11, 1, 1, 5, 1, 8, 5, 1, 5, 12, 11, 5,
13, 243, 244, 5, 15, 16, 11, 1, 13, 4, 13, 244, 245, 18, 19, 20, 8, 22, 41, 9,
1, 5, 23, 8, 5, 4, 9, 12, 231, 232, 25, 26, 27, 28, 29, 17, 4, 32, 33, 232,
233, 234, 219, 18, 19, 20, 218, 22, 10, 11, 233, 234, 235, 220, 10, 11, 41, 219, 30, 31,
25, 26, 27, 28, 29, 4, 1, 32, 33, 6, 6, 41, 8, 9, 41, 11, 38, 39, 40, 41,
5, 8, 9, 41, 11, 41, 41, 239, 10, 11, 1, 1, 1, 24, 5, 5, 5, 41, 240, 7,
7, 13, 24, 10, 210, 34, 35, 36, 10, 11, 6, 4, 10, 10, 11, 211, 13, 7, 10, 11,
10, 11, 6, 4, 4, 4, 8, 41, 6, 24, 10, 34, 35, 36, 11, 4, 13, 10, 11, 4,
41, 41, 264, 41, 6, 6, 13, 41, 8, 8, 8, 41, 6, 265, 41, 24, 41, 6, 6, 41,
8, 6, 41, 5, 8, 8, 6, 8, 4, 8, 13, 8, 8, 8, 6, 5, 41, 8, 6, 8,
41, 8, 41, 4, 21, 41, 41, 7, 41, 8, 4, 8, 8, 41, 4, 41, 8, 21, 7, 41,
13, 7, 14, 11, 8, 41, 41, 41, 41, 7, 41, 41, 8, 7, 41, 41, 13, 8, 11, 41,
11, 5, 8, 8, 11, 41, 149, 24, 11, 159, 41, 41, 14, 24, 7, 11, 5, 8, 41, 11,
8, 11, 13, 41, 11, 24, 41, 41, 13, 7, 8, 11, 150, 8, 11, 11, 41, 24, 41, 13,
6, 199, 93, 193, 90, -1, 41, 21, 41, 41, 13, 7, 6, 41, 160, 104, 41, -1, 194, 21,
103, 41, -1, -1, -1, -1, -1, -1, -1, 41, 94, 41, 41, 41, -1, 200, 41, 41, -1, -1,
-1, -1, 41, -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 46 -1, -1, -1, -1, -1, 46, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
90
}; };
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -887,24 +898,24 @@ static const yytype_uint8 yystos[] =
4, 4, 1, 24, 1, 5, 55, 4, 8, 12, 4, 4, 1, 24, 1, 5, 55, 4, 8, 12,
18, 19, 20, 22, 25, 26, 27, 28, 29, 32, 18, 19, 20, 22, 25, 26, 27, 28, 29, 32,
33, 37, 41, 52, 64, 69, 70, 81, 83, 88, 33, 37, 41, 52, 64, 69, 70, 81, 83, 88,
89, 8, 41, 6, 24, 41, 66, 41, 92, 92, 89, 95, 8, 41, 6, 24, 41, 66, 41, 92,
5, 46, 93, 94, 70, 59, 70, 41, 79, 6, 92, 5, 46, 93, 94, 70, 59, 70, 41, 79,
62, 62, 6, 62, 36, 41, 68, 76, 68, 78, 6, 62, 62, 6, 62, 36, 41, 68, 76, 68,
8, 8, 8, 6, 62, 41, 6, 8, 11, 70, 78, 8, 8, 8, 6, 62, 41, 6, 8, 11,
7, 41, 65, 85, 8, 9, 5, 88, 8, 66, 70, 7, 41, 65, 85, 8, 9, 5, 88, 8,
70, 7, 12, 41, 8, 14, 1, 5, 5, 13, 66, 70, 7, 12, 41, 8, 14, 1, 5, 5,
8, 1, 5, 93, 1, 5, 59, 6, 8, 63, 13, 8, 1, 5, 93, 1, 5, 59, 6, 8,
4, 41, 60, 61, 67, 10, 13, 41, 10, 11, 63, 4, 41, 60, 61, 67, 10, 13, 41, 10,
13, 8, 10, 77, 8, 71, 70, 4, 82, 21, 11, 13, 8, 10, 77, 8, 71, 70, 4, 82,
75, 41, 7, 10, 74, 7, 41, 41, 92, 41, 21, 75, 41, 7, 10, 74, 7, 41, 41, 92,
61, 8, 7, 80, 65, 34, 35, 36, 86, 87, 41, 61, 8, 7, 80, 65, 34, 35, 36, 86,
41, 13, 7, 11, 68, 68, 68, 41, 68, 41, 87, 41, 13, 7, 11, 68, 68, 68, 41, 68,
14, 41, 59, 70, 41, 84, 41, 41, 24, 8, 41, 14, 41, 59, 70, 41, 84, 41, 41, 24,
85, 7, 41, 41, 11, 5, 86, 41, 41, 67, 8, 85, 7, 41, 41, 11, 5, 86, 41, 41,
67, 10, 13, 10, 13, 46, 8, 5, 8, 24, 67, 67, 10, 13, 10, 13, 46, 8, 5, 8,
70, 92, 7, 11, 11, 59, 13, 11, 68, 68, 24, 70, 92, 7, 11, 11, 59, 13, 11, 68,
68, 68, 72, 70, 59, 59, 67, 67, 41, 13, 68, 68, 68, 72, 70, 59, 59, 67, 67, 41,
8, 67, 73, 41, 7, 70 13, 8, 67, 73, 41, 7, 70
}; };
#define yyerrok (yyerrstatus = 0) #define yyerrok (yyerrstatus = 0)
@@ -1429,7 +1440,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
case 41: /* "word" */ case 41: /* "word" */
#line 177 "ael.y" #line 177 "ael.y"
{ free((yyvaluep->str));}; { free((yyvaluep->str));};
#line 1433 "ael.tab.c" #line 1444 "ael.tab.c"
break; break;
case 44: /* "objects" */ case 44: /* "objects" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1437,7 +1448,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1441 "ael.tab.c" #line 1452 "ael.tab.c"
break; break;
case 45: /* "object" */ case 45: /* "object" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1445,12 +1456,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1449 "ael.tab.c" #line 1460 "ael.tab.c"
break; break;
case 46: /* "context_name" */ case 46: /* "context_name" */
#line 177 "ael.y" #line 177 "ael.y"
{ free((yyvaluep->str));}; { free((yyvaluep->str));};
#line 1454 "ael.tab.c" #line 1465 "ael.tab.c"
break; break;
case 47: /* "context" */ case 47: /* "context" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1458,7 +1469,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1462 "ael.tab.c" #line 1473 "ael.tab.c"
break; break;
case 49: /* "macro" */ case 49: /* "macro" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1466,7 +1477,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1470 "ael.tab.c" #line 1481 "ael.tab.c"
break; break;
case 50: /* "globals" */ case 50: /* "globals" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1474,7 +1485,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1478 "ael.tab.c" #line 1489 "ael.tab.c"
break; break;
case 51: /* "global_statements" */ case 51: /* "global_statements" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1482,7 +1493,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1486 "ael.tab.c" #line 1497 "ael.tab.c"
break; break;
case 52: /* "assignment" */ case 52: /* "assignment" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1490,7 +1501,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1494 "ael.tab.c" #line 1505 "ael.tab.c"
break; break;
case 54: /* "arglist" */ case 54: /* "arglist" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1498,7 +1509,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1502 "ael.tab.c" #line 1513 "ael.tab.c"
break; break;
case 55: /* "elements" */ case 55: /* "elements" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1506,7 +1517,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1510 "ael.tab.c" #line 1521 "ael.tab.c"
break; break;
case 56: /* "element" */ case 56: /* "element" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1514,7 +1525,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1518 "ael.tab.c" #line 1529 "ael.tab.c"
break; break;
case 57: /* "ignorepat" */ case 57: /* "ignorepat" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1522,7 +1533,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1526 "ael.tab.c" #line 1537 "ael.tab.c"
break; break;
case 58: /* "extension" */ case 58: /* "extension" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1530,7 +1541,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1534 "ael.tab.c" #line 1545 "ael.tab.c"
break; break;
case 59: /* "statements" */ case 59: /* "statements" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1538,12 +1549,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1542 "ael.tab.c" #line 1553 "ael.tab.c"
break; break;
case 60: /* "timerange" */ case 60: /* "timerange" */
#line 177 "ael.y" #line 177 "ael.y"
{ free((yyvaluep->str));}; { free((yyvaluep->str));};
#line 1547 "ael.tab.c" #line 1558 "ael.tab.c"
break; break;
case 61: /* "timespec" */ case 61: /* "timespec" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1551,12 +1562,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1555 "ael.tab.c" #line 1566 "ael.tab.c"
break; break;
case 62: /* "test_expr" */ case 62: /* "test_expr" */
#line 177 "ael.y" #line 177 "ael.y"
{ free((yyvaluep->str));}; { free((yyvaluep->str));};
#line 1560 "ael.tab.c" #line 1571 "ael.tab.c"
break; break;
case 64: /* "if_like_head" */ case 64: /* "if_like_head" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1564,22 +1575,22 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1568 "ael.tab.c" #line 1579 "ael.tab.c"
break; break;
case 65: /* "word_list" */ case 65: /* "word_list" */
#line 177 "ael.y" #line 177 "ael.y"
{ free((yyvaluep->str));}; { free((yyvaluep->str));};
#line 1573 "ael.tab.c" #line 1584 "ael.tab.c"
break; break;
case 67: /* "word3_list" */ case 67: /* "word3_list" */
#line 177 "ael.y" #line 177 "ael.y"
{ free((yyvaluep->str));}; { free((yyvaluep->str));};
#line 1578 "ael.tab.c" #line 1589 "ael.tab.c"
break; break;
case 68: /* "goto_word" */ case 68: /* "goto_word" */
#line 177 "ael.y" #line 177 "ael.y"
{ free((yyvaluep->str));}; { free((yyvaluep->str));};
#line 1583 "ael.tab.c" #line 1594 "ael.tab.c"
break; break;
case 69: /* "switch_statement" */ case 69: /* "switch_statement" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1587,7 +1598,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1591 "ael.tab.c" #line 1602 "ael.tab.c"
break; break;
case 70: /* "statement" */ case 70: /* "statement" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1595,7 +1606,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1599 "ael.tab.c" #line 1610 "ael.tab.c"
break; break;
case 75: /* "opt_else" */ case 75: /* "opt_else" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1603,7 +1614,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1607 "ael.tab.c" #line 1618 "ael.tab.c"
break; break;
case 76: /* "target" */ case 76: /* "target" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1611,12 +1622,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1615 "ael.tab.c" #line 1626 "ael.tab.c"
break; break;
case 77: /* "opt_pri" */ case 77: /* "opt_pri" */
#line 177 "ael.y" #line 177 "ael.y"
{ free((yyvaluep->str));}; { free((yyvaluep->str));};
#line 1620 "ael.tab.c" #line 1631 "ael.tab.c"
break; break;
case 78: /* "jumptarget" */ case 78: /* "jumptarget" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1624,7 +1635,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1628 "ael.tab.c" #line 1639 "ael.tab.c"
break; break;
case 79: /* "macro_call" */ case 79: /* "macro_call" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1632,7 +1643,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1636 "ael.tab.c" #line 1647 "ael.tab.c"
break; break;
case 81: /* "application_call_head" */ case 81: /* "application_call_head" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1640,7 +1651,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1644 "ael.tab.c" #line 1655 "ael.tab.c"
break; break;
case 83: /* "application_call" */ case 83: /* "application_call" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1648,12 +1659,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1652 "ael.tab.c" #line 1663 "ael.tab.c"
break; break;
case 84: /* "opt_word" */ case 84: /* "opt_word" */
#line 177 "ael.y" #line 177 "ael.y"
{ free((yyvaluep->str));}; { free((yyvaluep->str));};
#line 1657 "ael.tab.c" #line 1668 "ael.tab.c"
break; break;
case 85: /* "eval_arglist" */ case 85: /* "eval_arglist" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1661,7 +1672,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1665 "ael.tab.c" #line 1676 "ael.tab.c"
break; break;
case 86: /* "case_statements" */ case 86: /* "case_statements" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1669,7 +1680,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1673 "ael.tab.c" #line 1684 "ael.tab.c"
break; break;
case 87: /* "case_statement" */ case 87: /* "case_statement" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1677,7 +1688,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1681 "ael.tab.c" #line 1692 "ael.tab.c"
break; break;
case 88: /* "macro_statements" */ case 88: /* "macro_statements" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1685,7 +1696,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1689 "ael.tab.c" #line 1700 "ael.tab.c"
break; break;
case 89: /* "macro_statement" */ case 89: /* "macro_statement" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1693,7 +1704,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1697 "ael.tab.c" #line 1708 "ael.tab.c"
break; break;
case 90: /* "switches" */ case 90: /* "switches" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1701,7 +1712,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1705 "ael.tab.c" #line 1716 "ael.tab.c"
break; break;
case 91: /* "eswitches" */ case 91: /* "eswitches" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1709,7 +1720,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1713 "ael.tab.c" #line 1724 "ael.tab.c"
break; break;
case 92: /* "switchlist" */ case 92: /* "switchlist" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1717,7 +1728,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1721 "ael.tab.c" #line 1732 "ael.tab.c"
break; break;
case 93: /* "included_entry" */ case 93: /* "included_entry" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1725,7 +1736,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1729 "ael.tab.c" #line 1740 "ael.tab.c"
break; break;
case 94: /* "includeslist" */ case 94: /* "includeslist" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1733,7 +1744,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1737 "ael.tab.c" #line 1748 "ael.tab.c"
break; break;
case 95: /* "includes" */ case 95: /* "includes" */
#line 164 "ael.y" #line 164 "ael.y"
@@ -1741,7 +1752,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseio)
destroy_pval((yyvaluep->pval)); destroy_pval((yyvaluep->pval));
prev_word=0; prev_word=0;
}; };
#line 1745 "ael.tab.c" #line 1756 "ael.tab.c"
break; break;
default: default:
@@ -2836,91 +2847,96 @@ yyreduce:
case 119: case 119:
#line 580 "ael.y" #line 580 "ael.y"
{ (yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break;
case 120:
#line 581 "ael.y"
{ {
(yyval.pval) = npval2(PV_CATCH, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)])); (yyval.pval) = npval2(PV_CATCH, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (5)].str); (yyval.pval)->u1.str = (yyvsp[(2) - (5)].str);
(yyval.pval)->u2.statements = (yyvsp[(4) - (5)].pval); set_dads((yyval.pval),(yyvsp[(4) - (5)].pval));;} (yyval.pval)->u2.statements = (yyvsp[(4) - (5)].pval); set_dads((yyval.pval),(yyvsp[(4) - (5)].pval));;}
break; break;
case 120: case 121:
#line 586 "ael.y" #line 587 "ael.y"
{ {
(yyval.pval) = npval2(PV_SWITCHES, &(yylsp[(1) - (4)]), &(yylsp[(2) - (4)])); (yyval.pval) = npval2(PV_SWITCHES, &(yylsp[(1) - (4)]), &(yylsp[(2) - (4)]));
(yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval); set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;} (yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval); set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;}
break; break;
case 121: case 122:
#line 591 "ael.y" #line 592 "ael.y"
{ {
(yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[(1) - (4)]), &(yylsp[(2) - (4)])); (yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[(1) - (4)]), &(yylsp[(2) - (4)]));
(yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval); set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;} (yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval); set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;}
break; break;
case 122:
#line 596 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
case 123: case 123:
#line 597 "ael.y" #line 597 "ael.y"
{ (yyval.pval) = linku1(nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)])), (yyvsp[(3) - (3)].pval)); ;} { (yyval.pval) = NULL; ;}
break; break;
case 124: case 124:
#line 598 "ael.y" #line 598 "ael.y"
{ (yyval.pval) = linku1(nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)])), (yyvsp[(3) - (3)].pval)); ;}
break;
case 125:
#line 599 "ael.y"
{ char *x; asprintf(&x,"%s@%s", (yyvsp[(1) - (5)].str),(yyvsp[(3) - (5)].str)); free((yyvsp[(1) - (5)].str)); free((yyvsp[(3) - (5)].str)); { char *x; asprintf(&x,"%s@%s", (yyvsp[(1) - (5)].str),(yyvsp[(3) - (5)].str)); free((yyvsp[(1) - (5)].str)); free((yyvsp[(3) - (5)].str));
(yyval.pval) = linku1(nword(x, &(yylsp[(1) - (5)])), (yyvsp[(5) - (5)].pval));;} (yyval.pval) = linku1(nword(x, &(yylsp[(1) - (5)])), (yyvsp[(5) - (5)].pval));;}
break; break;
case 125:
#line 600 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
break;
case 126: case 126:
#line 603 "ael.y" #line 601 "ael.y"
{ (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;} {(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
break; break;
case 127: case 127:
#line 604 "ael.y" #line 604 "ael.y"
{ (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;}
break;
case 128:
#line 605 "ael.y"
{ {
(yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)])); (yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)]));
(yyval.pval)->u2.arglist = (yyvsp[(3) - (3)].pval); (yyval.pval)->u2.arglist = (yyvsp[(3) - (3)].pval);
prev_word=0; /* XXX sure ? */ ;} prev_word=0; /* XXX sure ? */ ;}
break; break;
case 128:
#line 611 "ael.y"
{ (yyval.pval) = (yyvsp[(1) - (2)].pval); ;}
break;
case 129: case 129:
#line 612 "ael.y" #line 612 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), (yyvsp[(2) - (3)].pval)); ;} { (yyval.pval) = (yyvsp[(1) - (2)].pval); ;}
break; break;
case 130: case 130:
#line 613 "ael.y" #line 613 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (2)].pval);;} { (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), (yyvsp[(2) - (3)].pval)); ;}
break; break;
case 131: case 131:
#line 616 "ael.y" #line 614 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
break;
case 132:
#line 617 "ael.y"
{ {
(yyval.pval) = npval2(PV_INCLUDES, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)])); (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)]));
(yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval);set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;} (yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval);set_dads((yyval.pval),(yyvsp[(3) - (4)].pval));;}
break; break;
case 132: case 133:
#line 619 "ael.y" #line 620 "ael.y"
{ {
(yyval.pval) = npval2(PV_INCLUDES, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));;} (yyval.pval) = npval2(PV_INCLUDES, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));;}
break; break;
/* Line 1270 of yacc.c. */ /* Line 1270 of yacc.c. */
#line 2924 "ael.tab.c" #line 2940 "ael.tab.c"
default: break; default: break;
} }
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -3139,7 +3155,7 @@ yyreturn:
} }
#line 624 "ael.y" #line 625 "ael.y"
static char *token_equivs1[] = static char *token_equivs1[] =

View File

@@ -577,6 +577,7 @@ macro_statements: /* empty */ { $$ = NULL; }
; ;
macro_statement : statement {$$=$1;} macro_statement : statement {$$=$1;}
| includes { $$=$1;}
| KW_CATCH word LC statements RC { | KW_CATCH word LC statements RC {
$$ = npval2(PV_CATCH, &@1, &@5); $$ = npval2(PV_CATCH, &@1, &@5);
$$->u1.str = $2; $$->u1.str = $2;

View File

@@ -3891,7 +3891,29 @@ void ast_compile_ael2(struct ast_context **local_contexts, struct pval *root)
np2->appargs = strdup(buf); np2->appargs = strdup(buf);
linkprio(exten, np2); linkprio(exten, np2);
} }
/* add any includes */
for (p2=p->u3.macro_statements; p2; p2=p2->next) {
pval *p3;
switch (p2->type) {
case PV_INCLUDES:
for (p3 = p2->u1.list; p3 ;p3=p3->next) {
if ( p3->u2.arglist ) {
snprintf(buf,sizeof(buf), "%s|%s|%s|%s|%s",
p3->u1.str,
p3->u2.arglist->u1.str,
p3->u2.arglist->next->u1.str,
p3->u2.arglist->next->next->u1.str,
p3->u2.arglist->next->next->next->u1.str);
ast_context_add_include2(context, buf, registrar);
} else
ast_context_add_include2(context, p3->u1.str, registrar);
}
break;
default:
break;
}
}
/* CONTAINS APPCALLS, CATCH, just like extensions... */ /* CONTAINS APPCALLS, CATCH, just like extensions... */
gen_prios(exten, p->u1.str, p->u3.macro_statements, 0, context ); gen_prios(exten, p->u1.str, p->u3.macro_statements, 0, context );
if (exten->return_needed) { /* most likely, this will go away */ if (exten->return_needed) { /* most likely, this will go away */

View File

@@ -93,7 +93,7 @@ check_expr: check_expr.o ast_expr2.o ast_expr2f.o
aelbison.c: ../pbx/ael/ael.tab.c aelbison.c: ../pbx/ael/ael.tab.c
@cp $< $@ @cp $< $@
aelbison.o: aelbison.c ../pbx/ael/ael.tab.h ../include/asterisk/ael_structs.h aelbison.o: aelbison.c ../pbx/ael/ael.tab.h ../include/asterisk/ael_structs.h
aelbison.o: ASTCFLAGS+=-I../pbx aelbison.o: ASTCFLAGS+=-I../pbx/ael -DYYENABLE_NLS=0
pbx_ael.c: ../pbx/pbx_ael.c pbx_ael.c: ../pbx/pbx_ael.c
@cp $< $@ @cp $< $@