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.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

View File

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

View File

@@ -577,6 +577,7 @@ macro_statements: /* empty */ { $$ = NULL; }
;
macro_statement : statement {$$=$1;}
| includes { $$=$1;}
| KW_CATCH word LC statements RC {
$$ = npval2(PV_CATCH, &@1, &@5);
$$->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);
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... */
gen_prios(exten, p->u1.str, p->u3.macro_statements, 0, context );
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
@cp $< $@
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
@cp $< $@