aboutsummaryrefslogtreecommitdiffstats
path: root/res
diff options
context:
space:
mode:
authorseanbright <seanbright@f38db490-d61c-443f-a65b-d21fe96a405b>2009-04-20 21:31:36 +0000
committerseanbright <seanbright@f38db490-d61c-443f-a65b-d21fe96a405b>2009-04-20 21:31:36 +0000
commit601fe7944fd587c6e0c0bc7178f7ce820c617b34 (patch)
tree126801c32c5f4677cd3a84bc31f6995906ee61d1 /res
parent5b16420413bf55030a4f249adc5f71b021e57ef1 (diff)
Merged revisions 189464 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ................ r189464 | seanbright | 2009-04-20 17:09:59 -0400 (Mon, 20 Apr 2009) | 20 lines Merged revisions 189462 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r189462 | seanbright | 2009-04-20 16:58:39 -0400 (Mon, 20 Apr 2009) | 13 lines Properly handle @s within hints in AEL. AEL was not handling the case of a device hint containing an @ symbol, which caused parking hints (e.g. hint(park:exten@context)) to error out the parser. This patch makes AEL treat the @ the same way it treats colon and ampersand now, meaning the characters are included in verbatim. (closes issue #14941) Reported by: bpgoldsb Patches: bug14941.patch uploaded by seanbright (license 71) Tested by: bpgoldsb ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@189525 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res')
-rw-r--r--res/ael/ael.tab.c763
-rw-r--r--res/ael/ael.y9
2 files changed, 397 insertions, 375 deletions
diff --git a/res/ael/ael.tab.c b/res/ael/ael.tab.c
index 9c6b9e65d..e1ba8de6d 100644
--- a/res/ael/ael.tab.c
+++ b/res/ael/ael.tab.c
@@ -512,16 +512,16 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 17
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 373
+#define YYLAST 371
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 44
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 56
/* YYNRULES -- Number of rules. */
-#define YYNRULES 142
+#define YYNRULES 143
/* YYNRULES -- Number of states. */
-#define YYNSTATES 281
+#define YYNSTATES 283
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -576,15 +576,15 @@ static const yytype_uint16 yyprhs[] =
86, 89, 90, 93, 96, 98, 100, 102, 104, 106,
108, 110, 113, 115, 120, 124, 130, 135, 143, 152,
153, 156, 159, 165, 167, 175, 176, 181, 184, 187,
- 192, 194, 197, 199, 202, 206, 210, 212, 215, 219,
- 221, 224, 228, 234, 238, 240, 242, 246, 250, 253,
- 254, 255, 256, 269, 273, 275, 279, 282, 285, 286,
- 292, 295, 298, 301, 305, 307, 310, 311, 313, 317,
- 321, 327, 333, 339, 345, 346, 349, 352, 357, 358,
- 364, 368, 369, 373, 377, 380, 382, 383, 385, 386,
- 390, 391, 394, 399, 403, 408, 409, 412, 414, 416,
- 422, 427, 432, 433, 437, 443, 446, 448, 452, 455,
- 459, 462, 467
+ 192, 194, 197, 199, 202, 206, 210, 214, 216, 219,
+ 223, 225, 228, 232, 238, 242, 244, 246, 250, 254,
+ 257, 258, 259, 260, 273, 277, 279, 283, 286, 289,
+ 290, 296, 299, 302, 305, 309, 311, 314, 315, 317,
+ 321, 325, 331, 337, 343, 349, 350, 353, 356, 361,
+ 362, 368, 372, 373, 377, 381, 384, 386, 387, 389,
+ 390, 394, 395, 398, 403, 407, 412, 413, 416, 418,
+ 420, 426, 431, 436, 437, 441, 447, 450, 452, 456,
+ 459, 463, 466, 471
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -611,33 +611,33 @@ static const yytype_int8 yyrhs[] =
-1, 19, 66, -1, 22, 66, -1, 20, 6, 65,
7, -1, 43, -1, 43, 43, -1, 43, -1, 70,
43, -1, 70, 11, 43, -1, 70, 12, 43, -1,
- 43, -1, 43, 43, -1, 43, 43, 43, -1, 43,
- -1, 43, 43, -1, 72, 11, 43, -1, 18, 66,
- 4, 90, 5, -1, 4, 63, 5, -1, 54, -1,
- 56, -1, 26, 80, 8, -1, 27, 82, 8, -1,
- 43, 11, -1, -1, -1, -1, 33, 6, 75, 43,
- 8, 76, 43, 8, 77, 43, 7, 74, -1, 34,
- 66, 74, -1, 73, -1, 12, 83, 8, -1, 87,
- 8, -1, 43, 8, -1, -1, 87, 9, 78, 43,
- 8, -1, 29, 8, -1, 28, 8, -1, 30, 8,
- -1, 68, 74, 79, -1, 8, -1, 21, 74, -1,
- -1, 72, -1, 72, 13, 72, -1, 72, 10, 72,
- -1, 72, 13, 72, 13, 72, -1, 72, 10, 72,
- 10, 72, -1, 37, 13, 72, 13, 72, -1, 37,
- 10, 72, 10, 72, -1, -1, 10, 43, -1, 72,
- 81, -1, 72, 81, 14, 48, -1, -1, 43, 6,
- 84, 89, 7, -1, 43, 6, 7, -1, -1, 43,
- 6, 86, -1, 85, 89, 7, -1, 85, 7, -1,
- 43, -1, -1, 69, -1, -1, 89, 10, 88, -1,
- -1, 90, 91, -1, 35, 43, 11, 63, -1, 37,
- 11, 63, -1, 36, 43, 11, 63, -1, -1, 92,
- 93, -1, 74, -1, 99, -1, 38, 43, 4, 63,
- 5, -1, 39, 4, 96, 5, -1, 40, 4, 96,
- 5, -1, -1, 96, 43, 8, -1, 96, 43, 14,
- 43, 8, -1, 1, 96, -1, 48, -1, 48, 13,
- 65, -1, 97, 8, -1, 98, 97, 8, -1, 98,
- 1, -1, 41, 4, 98, 5, -1, 41, 4, 5,
- -1
+ 70, 14, 43, -1, 43, -1, 43, 43, -1, 43,
+ 43, 43, -1, 43, -1, 43, 43, -1, 72, 11,
+ 43, -1, 18, 66, 4, 90, 5, -1, 4, 63,
+ 5, -1, 54, -1, 56, -1, 26, 80, 8, -1,
+ 27, 82, 8, -1, 43, 11, -1, -1, -1, -1,
+ 33, 6, 75, 43, 8, 76, 43, 8, 77, 43,
+ 7, 74, -1, 34, 66, 74, -1, 73, -1, 12,
+ 83, 8, -1, 87, 8, -1, 43, 8, -1, -1,
+ 87, 9, 78, 43, 8, -1, 29, 8, -1, 28,
+ 8, -1, 30, 8, -1, 68, 74, 79, -1, 8,
+ -1, 21, 74, -1, -1, 72, -1, 72, 13, 72,
+ -1, 72, 10, 72, -1, 72, 13, 72, 13, 72,
+ -1, 72, 10, 72, 10, 72, -1, 37, 13, 72,
+ 13, 72, -1, 37, 10, 72, 10, 72, -1, -1,
+ 10, 43, -1, 72, 81, -1, 72, 81, 14, 48,
+ -1, -1, 43, 6, 84, 89, 7, -1, 43, 6,
+ 7, -1, -1, 43, 6, 86, -1, 85, 89, 7,
+ -1, 85, 7, -1, 43, -1, -1, 69, -1, -1,
+ 89, 10, 88, -1, -1, 90, 91, -1, 35, 43,
+ 11, 63, -1, 37, 11, 63, -1, 36, 43, 11,
+ 63, -1, -1, 92, 93, -1, 74, -1, 99, -1,
+ 38, 43, 4, 63, 5, -1, 39, 4, 96, 5,
+ -1, 40, 4, 96, 5, -1, -1, 96, 43, 8,
+ -1, 96, 43, 14, 43, 8, -1, 1, 96, -1,
+ 48, -1, 48, 13, 65, -1, 97, 8, -1, 98,
+ 97, 8, -1, 98, 1, -1, 41, 4, 98, 5,
+ -1, 41, 4, 5, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@@ -649,15 +649,15 @@ static const yytype_uint16 yyrline[] =
263, 266, 267, 268, 271, 272, 273, 274, 275, 276,
277, 278, 279, 282, 287, 291, 299, 304, 309, 318,
319, 320, 326, 336, 340, 348, 348, 352, 355, 358,
- 369, 370, 382, 383, 392, 401, 412, 413, 423, 436,
- 437, 446, 457, 466, 469, 470, 471, 474, 477, 480,
- 481, 482, 480, 488, 492, 493, 494, 495, 498, 498,
- 531, 532, 533, 534, 538, 541, 542, 545, 546, 549,
- 552, 556, 560, 564, 570, 571, 575, 578, 584, 584,
- 589, 597, 597, 608, 615, 618, 619, 622, 623, 626,
- 629, 630, 633, 637, 641, 647, 648, 651, 652, 653,
- 659, 664, 669, 670, 671, 682, 685, 686, 693, 694,
- 695, 698, 701
+ 369, 370, 382, 383, 392, 401, 410, 421, 422, 432,
+ 445, 446, 455, 466, 475, 478, 479, 480, 483, 486,
+ 489, 490, 491, 489, 497, 501, 502, 503, 504, 507,
+ 507, 540, 541, 542, 543, 547, 550, 551, 554, 555,
+ 558, 561, 565, 569, 573, 579, 580, 584, 587, 593,
+ 593, 598, 606, 606, 617, 624, 627, 628, 631, 632,
+ 635, 638, 639, 642, 646, 650, 656, 657, 660, 661,
+ 662, 668, 673, 678, 679, 680, 691, 694, 695, 702,
+ 703, 704, 707, 710
};
#endif
@@ -709,15 +709,15 @@ static const yytype_uint8 yyr1[] =
58, 59, 59, 59, 60, 60, 60, 60, 60, 60,
60, 60, 60, 61, 62, 62, 62, 62, 62, 63,
63, 63, 64, 64, 65, 67, 66, 68, 68, 68,
- 69, 69, 70, 70, 70, 70, 71, 71, 71, 72,
- 72, 72, 73, 74, 74, 74, 74, 74, 74, 75,
- 76, 77, 74, 74, 74, 74, 74, 74, 78, 74,
- 74, 74, 74, 74, 74, 79, 79, 80, 80, 80,
- 80, 80, 80, 80, 81, 81, 82, 82, 84, 83,
- 83, 86, 85, 87, 87, 88, 88, 89, 89, 89,
- 90, 90, 91, 91, 91, 92, 92, 93, 93, 93,
- 94, 95, 96, 96, 96, 96, 97, 97, 98, 98,
- 98, 99, 99
+ 69, 69, 70, 70, 70, 70, 70, 71, 71, 71,
+ 72, 72, 72, 73, 74, 74, 74, 74, 74, 74,
+ 75, 76, 77, 74, 74, 74, 74, 74, 74, 78,
+ 74, 74, 74, 74, 74, 74, 79, 79, 80, 80,
+ 80, 80, 80, 80, 80, 81, 81, 82, 82, 84,
+ 83, 83, 86, 85, 87, 87, 88, 88, 89, 89,
+ 89, 90, 90, 91, 91, 91, 92, 92, 93, 93,
+ 93, 94, 95, 96, 96, 96, 96, 97, 97, 98,
+ 98, 98, 99, 99
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -729,15 +729,15 @@ static const yytype_uint8 yyr2[] =
2, 0, 2, 2, 1, 1, 1, 1, 1, 1,
1, 2, 1, 4, 3, 5, 4, 7, 8, 0,
2, 2, 5, 1, 7, 0, 4, 2, 2, 4,
- 1, 2, 1, 2, 3, 3, 1, 2, 3, 1,
- 2, 3, 5, 3, 1, 1, 3, 3, 2, 0,
- 0, 0, 12, 3, 1, 3, 2, 2, 0, 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, 1, 5,
- 4, 4, 0, 3, 5, 2, 1, 3, 2, 3,
- 2, 4, 3
+ 1, 2, 1, 2, 3, 3, 3, 1, 2, 3,
+ 1, 2, 3, 5, 3, 1, 1, 3, 3, 2,
+ 0, 0, 0, 12, 3, 1, 3, 2, 2, 0,
+ 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, 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
@@ -749,178 +749,178 @@ static const yytype_uint8 yydefact[] =
0, 7, 8, 0, 0, 17, 16, 1, 5, 4,
0, 27, 0, 0, 11, 10, 0, 28, 0, 22,
19, 0, 21, 0, 30, 0, 0, 23, 0, 0,
- 125, 29, 0, 33, 12, 42, 0, 0, 0, 0,
+ 126, 29, 0, 33, 12, 42, 0, 0, 0, 0,
0, 0, 0, 0, 39, 40, 32, 38, 34, 36,
37, 35, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 41, 0, 0, 0, 18, 94, 0, 0,
+ 0, 0, 41, 0, 0, 0, 18, 95, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 74, 75, 0, 84, 127, 118, 0, 126,
- 128, 24, 0, 0, 0, 62, 0, 0, 0, 0,
- 142, 136, 0, 0, 25, 0, 44, 0, 0, 0,
- 0, 55, 0, 57, 0, 58, 0, 69, 97, 0,
- 104, 0, 91, 90, 92, 79, 0, 0, 111, 87,
- 78, 96, 114, 60, 117, 0, 86, 88, 43, 0,
- 46, 0, 0, 0, 63, 135, 130, 0, 131, 0,
- 138, 140, 141, 0, 0, 0, 51, 73, 50, 108,
- 85, 0, 120, 53, 0, 0, 0, 0, 0, 70,
- 0, 0, 0, 76, 0, 106, 77, 0, 83, 0,
- 112, 0, 93, 61, 113, 116, 0, 0, 0, 64,
- 65, 133, 0, 137, 139, 0, 45, 110, 118, 0,
- 0, 67, 0, 59, 0, 0, 0, 99, 71, 98,
- 105, 0, 0, 0, 95, 115, 119, 0, 0, 0,
- 0, 26, 0, 56, 72, 0, 0, 0, 121, 68,
- 66, 0, 0, 0, 0, 0, 0, 107, 80, 129,
- 89, 0, 47, 134, 109, 0, 0, 0, 0, 0,
- 103, 102, 101, 100, 0, 48, 0, 0, 123, 0,
- 52, 0, 122, 124, 0, 81, 54, 0, 0, 0,
- 82
+ 0, 0, 75, 76, 0, 85, 128, 119, 0, 127,
+ 129, 24, 0, 0, 0, 62, 0, 0, 0, 0,
+ 143, 137, 0, 0, 25, 0, 44, 0, 0, 0,
+ 0, 55, 0, 57, 0, 58, 0, 70, 98, 0,
+ 105, 0, 92, 91, 93, 80, 0, 0, 112, 88,
+ 79, 97, 115, 60, 118, 0, 87, 89, 43, 0,
+ 46, 0, 0, 0, 0, 63, 136, 131, 0, 132,
+ 0, 139, 141, 142, 0, 0, 0, 51, 74, 50,
+ 109, 86, 0, 121, 53, 0, 0, 0, 0, 0,
+ 71, 0, 0, 0, 77, 0, 107, 78, 0, 84,
+ 0, 113, 0, 94, 61, 114, 117, 0, 0, 0,
+ 64, 65, 66, 134, 0, 138, 140, 0, 45, 111,
+ 119, 0, 0, 68, 0, 59, 0, 0, 0, 100,
+ 72, 99, 106, 0, 0, 0, 96, 116, 120, 0,
+ 0, 0, 0, 26, 0, 56, 73, 0, 0, 0,
+ 122, 69, 67, 0, 0, 0, 0, 0, 0, 108,
+ 81, 130, 90, 0, 47, 135, 110, 0, 0, 0,
+ 0, 0, 104, 103, 102, 101, 0, 48, 0, 0,
+ 124, 0, 52, 0, 123, 125, 0, 82, 54, 0,
+ 0, 0, 83
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 6, 7, 8, 111, 9, 10, 11, 12, 23,
- 92, 42, 93, 164, 28, 39, 56, 57, 58, 118,
- 174, 175, 122, 171, 94, 144, 106, 176, 128, 95,
- 168, 187, 264, 277, 196, 192, 129, 185, 131, 120,
- 208, 97, 190, 98, 226, 145, 210, 238, 62, 99,
+ 92, 42, 93, 165, 28, 39, 56, 57, 58, 118,
+ 175, 176, 122, 172, 94, 144, 106, 177, 128, 95,
+ 169, 188, 266, 279, 197, 193, 129, 186, 131, 120,
+ 210, 97, 191, 98, 228, 145, 212, 240, 62, 99,
59, 60, 108, 112, 113, 61
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -209
+#define YYPACT_NINF -211
static const yytype_int16 yypact[] =
{
- 262, -209, -32, 21, 5, 13, 69, 296, -209, -209,
- 112, -209, -209, 115, 14, -209, -209, -209, -209, -209,
- -29, 85, 14, 0, -209, -209, 129, -209, 116, 92,
- -209, 140, -209, 105, -209, 147, 125, -209, 105, 99,
- -209, -209, 132, 252, -209, -209, 163, -25, 159, 182,
- 186, 197, 162, 242, -209, -209, -209, -209, -209, -209,
- -209, -209, 165, 201, 170, 222, 204, 187, 16, 16,
- 68, 223, -209, 190, 246, 59, -209, -209, 193, 234,
- 234, 236, 234, -27, 212, 249, 251, 255, 238, 234,
- 228, 292, -209, -209, 246, -209, -209, 15, 146, -209,
- -209, -209, 273, 187, 246, -209, 107, 16, 25, 29,
- -209, 269, 279, 39, -209, 265, -209, 19, 192, 299,
- 294, -209, 302, -209, 264, -209, 70, 266, 161, 300,
- 168, 305, -209, -209, -209, -209, 246, 306, -209, -209,
- -209, 293, -209, 272, -209, 84, -209, -209, -209, 113,
- -209, 274, 275, 278, -209, 280, -209, 76, -209, 264,
- -209, -209, -209, 308, 281, 246, 246, -209, -209, 315,
- -209, 282, -209, 22, 313, 320, 317, 212, 212, -209,
- 212, 286, 212, -209, 287, 318, -209, 288, -209, 59,
- -209, 246, -209, -209, -209, 290, 291, 295, 310, -209,
- -209, -209, 297, -209, -209, 328, -209, -209, 282, 330,
- 122, 298, 301, -209, 301, 171, 86, 205, -209, 121,
- -209, -29, 331, 219, -209, -209, -209, 334, 321, 246,
- 335, -209, 102, -209, -209, 304, 307, 337, -209, -209,
- 309, 332, 338, 212, 212, 212, 212, -209, -209, -209,
- -209, 246, -209, -209, -209, 340, 342, 19, 301, 301,
- 343, 343, 343, 343, 312, -209, 19, 19, 246, 344,
- -209, 348, 246, 246, 301, -209, -209, 316, 351, 246,
- -209
+ 166, -211, -32, 15, 12, 36, 40, 316, -211, -211,
+ 75, -211, -211, 82, 17, -211, -211, -211, -211, -211,
+ -28, 57, 17, 0, -211, -211, 127, -211, 6, 109,
+ -211, 152, -211, 136, -211, 169, 143, -211, 136, 117,
+ -211, -211, 144, 272, -211, -211, 170, -15, 191, 197,
+ 199, 201, 168, 137, -211, -211, -211, -211, -211, -211,
+ -211, -211, 180, 204, 172, 219, 202, 185, 25, 25,
+ 28, 217, -211, 186, 266, 90, -211, -211, 190, 229,
+ 229, 230, 229, 21, 194, 240, 241, 242, 246, 229,
+ 210, 312, -211, -211, 266, -211, -211, 1, 61, -211,
+ -211, -211, 248, 185, 266, -211, 68, 25, 24, 29,
+ -211, 247, 254, 20, -211, 238, -211, 19, 212, 258,
+ 263, -211, 271, -211, 233, -211, 126, 234, 183, 275,
+ 95, 279, -211, -211, -211, -211, 266, 286, -211, -211,
+ -211, 270, -211, 236, -211, 140, -211, -211, -211, 78,
+ -211, 255, 259, 262, 264, -211, 267, -211, 69, -211,
+ 233, -211, -211, -211, 289, 282, 266, 266, -211, -211,
+ 294, -211, 283, -211, 70, 293, 315, 317, 194, 194,
+ -211, 194, 284, 194, -211, 287, 319, -211, 291, -211,
+ 90, -211, 266, -211, -211, -211, 292, 295, 298, 304,
+ -211, -211, -211, -211, 299, -211, -211, 328, -211, -211,
+ 283, 330, 135, 300, 301, -211, 301, 104, 73, 132,
+ -211, 116, -211, -28, 337, 239, -211, -211, -211, 338,
+ 322, 266, 340, -211, 173, -211, -211, 306, 307, 341,
+ -211, -211, 308, 342, 343, 194, 194, 194, 194, -211,
+ -211, -211, -211, 266, -211, -211, -211, 345, 346, 19,
+ 301, 301, 347, 347, 347, 347, 310, -211, 19, 19,
+ 266, 348, -211, 351, 266, 266, 301, -211, -211, 320,
+ 353, 266, -211
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -209, -209, -209, 353, -19, -209, -209, -209, -209, 339,
- 137, -209, -30, -209, -209, 324, -209, -209, -209, -114,
- -209, 206, -54, -209, -209, 195, 260, -208, -82, -209,
- -62, -209, -209, -209, -209, -209, -209, -209, -209, -209,
- -209, -209, -209, -209, -209, 156, -209, -209, -209, -209,
- -209, -209, 1, 254, -209, 311
+ -211, -211, -211, 355, -19, -211, -211, -211, -211, 344,
+ 64, -211, -29, -211, -211, 326, -211, -211, -211, -114,
+ -211, 205, 46, -211, -211, 195, 265, -210, -82, -211,
+ -62, -211, -211, -211, -211, -211, -211, -211, -211, -211,
+ -211, -211, -211, -211, -211, 159, -211, -211, -211, -211,
+ -211, -211, -34, 257, -211, 309
};
/* 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 -133
+#define YYTABLE_NINF -134
static const yytype_int16 yytable[] =
{
- 96, 26, 130, 166, 241, 30, 242, 65, 24, 55,
- 126, 13, 116, 55, 25, 22, 127, 107, 66, -20,
- 117, -132, 142, -49, -49, 14, 123, -49, 125, 15,
- 156, -49, 141, -66, 158, 136, 16, -49, -49, -49,
- 161, -49, 150, 31, 162, -49, -49, -49, -49, -49,
- 269, 270, -49, -49, -49, -49, -49, -20, 143, -132,
- 117, -49, -49, -49, -49, 211, 276, -49, 157, 17,
- 109, -49, 157, 110, 188, 223, 24, -49, -49, -49,
- 177, -49, 25, 178, 201, -49, -49, -49, -49, -49,
- 202, 194, -49, -49, 195, 215, 216, 181, 217, 244,
- 219, -49, -49, 206, 44, 24, 38, 45, 155, 254,
- -31, 25, 195, -31, 151, 20, 46, 34, 152, 153,
- 197, 21, -31, 35, 152, 153, 36, 234, 27, 224,
- 47, 48, 181, 33, 246, 31, -31, -31, 49, 50,
- 51, 52, 53, 268, -31, -31, -31, -31, -31, 37,
- 154, 40, 272, 273, 146, 147, 154, 235, 236, 237,
- 32, 260, 261, 262, 263, 67, 32, 252, 41, 75,
- 76, 180, 181, 77, 182, 63, 54, 78, 184, 181,
- 54, 243, 181, 79, 80, 81, 68, 82, 64, 265,
- 69, 83, 84, 85, 86, 87, 75, 167, 88, 89,
- 77, 70, 247, 90, 78, 71, 51, 52, 91, 101,
- 79, 80, 81, 102, 82, 245, 181, 280, 83, 84,
- 85, 86, 87, 75, 249, 88, 89, 77, 103, 104,
- 105, 78, 114, 115, 52, 91, 119, 79, 80, 81,
- 121, 82, 124, 72, 135, 83, 84, 85, 86, 87,
- 75, 37, 88, 89, 77, 127, 73, 132, 78, 133,
- 45, 52, 91, 134, 79, 80, 81, 74, 82, 46,
- 1, 137, 83, 84, 85, 86, 87, 2, 3, 88,
- 89, 148, 159, 47, 48, 4, 5, 160, 52, 91,
- 165, 49, 50, 51, 52, 53, -2, 18, 138, -14,
- 139, 37, 170, 140, 1, 169, 172, 173, 183, 179,
- 189, 2, 3, 186, 191, 193, 204, 198, 199, 4,
- 5, 200, 207, 157, 205, 143, 212, 213, 214, 218,
- 220, 222, 221, 225, 227, 229, 231, 233, 228, 248,
- 230, 239, 250, 253, 240, 258, 251, 255, 257, 259,
- 256, 266, 211, 267, 181, 271, 275, 274, 279, 278,
- 19, 29, 43, 149, 232, 203, 209, 163, 0, 0,
- 0, 0, 0, 100
+ 96, 26, 130, 167, 243, 30, 244, 34, 142, 24,
+ 55, 13, 116, 35, 55, 25, 36, 65, 22, 14,
+ 117, 162, -20, -49, -49, 163, 107, -49, 66, 157,
+ -133, -49, 141, 110, 159, 109, 15, -49, -49, -49,
+ 17, -49, 150, 31, 143, -49, -49, -49, -49, -49,
+ 271, 272, -49, -49, -49, -49, -49, 24, 126, 16,
+ -20, -49, -49, 25, 127, 24, 278, 158, -133, 146,
+ 147, 25, 158, 156, 189, 151, 225, 203, 20, 152,
+ 153, -67, 154, 204, 182, 198, 246, 32, 21, 152,
+ 153, 117, 154, 32, -49, -49, 217, 218, -49, 219,
+ 27, 221, -49, 54, 208, 185, 182, 54, -49, -49,
+ -49, 155, -49, 213, 245, 182, -49, -49, -49, -49,
+ -49, 155, 44, -49, -49, 45, 123, 182, 125, 248,
+ 226, 33, -49, -49, 46, 136, 178, 38, 72, 179,
+ 236, -31, 247, 182, -31, 270, 37, 195, 47, 48,
+ 196, 73, 31, -31, 274, 275, 49, 50, 51, 52,
+ 53, 37, 74, 262, 263, 264, 265, -31, -31, 254,
+ 237, 238, 239, 40, 1, -31, -31, -31, -31, -31,
+ 256, 2, 3, 196, 75, 76, 41, 63, 77, 4,
+ 5, 267, 78, 181, 182, 64, 183, 67, 79, 80,
+ 81, 68, 82, 69, 249, 70, 83, 84, 85, 86,
+ 87, 71, 101, 88, 89, 102, 75, 168, 90, 282,
+ 77, 51, 52, 91, 78, 103, 114, 104, 105, 115,
+ 79, 80, 81, 119, 82, 121, 124, 127, 83, 84,
+ 85, 86, 87, 75, 251, 88, 89, 77, 132, 133,
+ 134, 78, 135, 137, 52, 91, 148, 79, 80, 81,
+ 160, 82, 161, 166, 170, 83, 84, 85, 86, 87,
+ 75, 171, 88, 89, 77, 173, 174, 180, 78, 194,
+ 45, 52, 91, 184, 79, 80, 81, 187, 82, 46,
+ 190, 192, 83, 84, 85, 86, 87, 206, 199, 88,
+ 89, 209, 200, 47, 48, 201, 214, 202, 52, 91,
+ 158, 49, 50, 51, 52, 53, -2, 18, 138, -14,
+ 139, 37, 215, 140, 1, 207, 143, 220, 216, 231,
+ 222, 2, 3, 223, 224, 227, 233, 235, 229, 4,
+ 5, 230, 232, 241, 242, 250, 252, 253, 255, 257,
+ 258, 213, 259, 273, 261, 260, 268, 269, 182, 277,
+ 281, 276, 19, 280, 43, 205, 29, 211, 149, 234,
+ 164, 100
};
-static const yytype_int16 yycheck[] =
+static const yytype_uint16 yycheck[] =
{
- 62, 20, 84, 117, 212, 5, 214, 32, 37, 39,
- 37, 43, 74, 43, 43, 1, 43, 1, 43, 5,
- 1, 5, 7, 4, 5, 4, 80, 8, 82, 24,
- 5, 12, 94, 11, 5, 89, 23, 18, 19, 20,
- 1, 22, 104, 43, 5, 26, 27, 28, 29, 30,
- 258, 259, 33, 34, 35, 36, 37, 43, 43, 43,
- 1, 42, 43, 4, 5, 43, 274, 8, 43, 0,
- 69, 12, 43, 5, 136, 189, 37, 18, 19, 20,
- 10, 22, 43, 13, 8, 26, 27, 28, 29, 30,
- 14, 7, 33, 34, 10, 177, 178, 11, 180, 13,
- 182, 42, 43, 165, 5, 37, 1, 8, 107, 7,
- 5, 43, 10, 8, 7, 3, 17, 1, 11, 12,
- 7, 6, 17, 7, 11, 12, 10, 5, 43, 191,
- 31, 32, 11, 4, 13, 43, 31, 32, 39, 40,
- 41, 42, 43, 257, 39, 40, 41, 42, 43, 9,
- 43, 4, 266, 267, 8, 9, 43, 35, 36, 37,
- 23, 243, 244, 245, 246, 6, 29, 229, 43, 4,
- 5, 10, 11, 8, 13, 43, 39, 12, 10, 11,
- 43, 10, 11, 18, 19, 20, 4, 22, 25, 251,
- 4, 26, 27, 28, 29, 30, 4, 5, 33, 34,
- 8, 4, 221, 38, 12, 43, 41, 42, 43, 8,
- 18, 19, 20, 43, 22, 10, 11, 279, 26, 27,
- 28, 29, 30, 4, 5, 33, 34, 8, 6, 25,
- 43, 12, 9, 43, 42, 43, 43, 18, 19, 20,
- 6, 22, 6, 1, 6, 26, 27, 28, 29, 30,
- 4, 9, 33, 34, 8, 43, 14, 8, 12, 8,
- 8, 42, 43, 8, 18, 19, 20, 25, 22, 17,
- 8, 43, 26, 27, 28, 29, 30, 15, 16, 33,
- 34, 8, 13, 31, 32, 23, 24, 8, 42, 43,
- 25, 39, 40, 41, 42, 43, 0, 1, 6, 3,
- 8, 9, 8, 11, 8, 6, 4, 43, 8, 43,
- 4, 15, 16, 8, 21, 43, 8, 43, 43, 23,
- 24, 43, 7, 43, 43, 43, 13, 7, 11, 43,
- 43, 43, 14, 43, 43, 25, 8, 7, 43, 8,
- 43, 43, 8, 8, 43, 13, 25, 43, 11, 11,
- 43, 11, 43, 11, 11, 43, 8, 13, 7, 43,
- 7, 22, 38, 103, 208, 159, 171, 113, -1, -1,
- -1, -1, -1, 62
+ 62, 20, 84, 117, 214, 5, 216, 1, 7, 37,
+ 39, 43, 74, 7, 43, 43, 10, 32, 1, 4,
+ 1, 1, 5, 4, 5, 5, 1, 8, 43, 5,
+ 5, 12, 94, 5, 5, 69, 24, 18, 19, 20,
+ 0, 22, 104, 43, 43, 26, 27, 28, 29, 30,
+ 260, 261, 33, 34, 35, 36, 37, 37, 37, 23,
+ 43, 42, 43, 43, 43, 37, 276, 43, 43, 8,
+ 9, 43, 43, 107, 136, 7, 190, 8, 3, 11,
+ 12, 11, 14, 14, 11, 7, 13, 23, 6, 11,
+ 12, 1, 14, 29, 4, 5, 178, 179, 8, 181,
+ 43, 183, 12, 39, 166, 10, 11, 43, 18, 19,
+ 20, 43, 22, 43, 10, 11, 26, 27, 28, 29,
+ 30, 43, 5, 33, 34, 8, 80, 11, 82, 13,
+ 192, 4, 42, 43, 17, 89, 10, 1, 1, 13,
+ 5, 5, 10, 11, 8, 259, 9, 7, 31, 32,
+ 10, 14, 43, 17, 268, 269, 39, 40, 41, 42,
+ 43, 9, 25, 245, 246, 247, 248, 31, 32, 231,
+ 35, 36, 37, 4, 8, 39, 40, 41, 42, 43,
+ 7, 15, 16, 10, 4, 5, 43, 43, 8, 23,
+ 24, 253, 12, 10, 11, 25, 13, 6, 18, 19,
+ 20, 4, 22, 4, 223, 4, 26, 27, 28, 29,
+ 30, 43, 8, 33, 34, 43, 4, 5, 38, 281,
+ 8, 41, 42, 43, 12, 6, 9, 25, 43, 43,
+ 18, 19, 20, 43, 22, 6, 6, 43, 26, 27,
+ 28, 29, 30, 4, 5, 33, 34, 8, 8, 8,
+ 8, 12, 6, 43, 42, 43, 8, 18, 19, 20,
+ 13, 22, 8, 25, 6, 26, 27, 28, 29, 30,
+ 4, 8, 33, 34, 8, 4, 43, 43, 12, 43,
+ 8, 42, 43, 8, 18, 19, 20, 8, 22, 17,
+ 4, 21, 26, 27, 28, 29, 30, 8, 43, 33,
+ 34, 7, 43, 31, 32, 43, 13, 43, 42, 43,
+ 43, 39, 40, 41, 42, 43, 0, 1, 6, 3,
+ 8, 9, 7, 11, 8, 43, 43, 43, 11, 25,
+ 43, 15, 16, 14, 43, 43, 8, 7, 43, 23,
+ 24, 43, 43, 43, 43, 8, 8, 25, 8, 43,
+ 43, 43, 11, 43, 11, 13, 11, 11, 11, 8,
+ 7, 13, 7, 43, 38, 160, 22, 172, 103, 210,
+ 113, 62
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -942,20 +942,20 @@ static const yytype_uint8 yystos[] =
83, 6, 66, 66, 6, 66, 37, 43, 72, 80,
72, 82, 8, 8, 8, 6, 66, 43, 6, 8,
11, 74, 7, 43, 69, 89, 8, 9, 8, 70,
- 74, 7, 11, 12, 43, 96, 5, 43, 5, 13,
- 8, 1, 5, 97, 57, 25, 63, 5, 74, 6,
- 8, 67, 4, 43, 64, 65, 71, 10, 13, 43,
- 10, 11, 13, 8, 10, 81, 8, 75, 74, 4,
- 86, 21, 79, 43, 7, 10, 78, 7, 43, 43,
- 43, 8, 14, 65, 8, 43, 74, 7, 84, 69,
- 90, 43, 13, 7, 11, 72, 72, 72, 43, 72,
- 43, 14, 43, 63, 74, 43, 88, 43, 43, 25,
- 43, 8, 89, 7, 5, 35, 36, 37, 91, 43,
- 43, 71, 71, 10, 13, 10, 13, 48, 8, 5,
- 8, 25, 74, 8, 7, 43, 43, 11, 13, 11,
- 72, 72, 72, 72, 76, 74, 11, 11, 63, 71,
- 71, 43, 63, 63, 13, 8, 71, 77, 43, 7,
- 74
+ 74, 7, 11, 12, 14, 43, 96, 5, 43, 5,
+ 13, 8, 1, 5, 97, 57, 25, 63, 5, 74,
+ 6, 8, 67, 4, 43, 64, 65, 71, 10, 13,
+ 43, 10, 11, 13, 8, 10, 81, 8, 75, 74,
+ 4, 86, 21, 79, 43, 7, 10, 78, 7, 43,
+ 43, 43, 43, 8, 14, 65, 8, 43, 74, 7,
+ 84, 69, 90, 43, 13, 7, 11, 72, 72, 72,
+ 43, 72, 43, 14, 43, 63, 74, 43, 88, 43,
+ 43, 25, 43, 8, 89, 7, 5, 35, 36, 37,
+ 91, 43, 43, 71, 71, 10, 13, 10, 13, 48,
+ 8, 5, 8, 25, 74, 8, 7, 43, 43, 11,
+ 13, 11, 72, 72, 72, 72, 76, 74, 11, 11,
+ 63, 71, 71, 43, 63, 63, 13, 8, 71, 77,
+ 43, 7, 74
};
#define yyerrok (yyerrstatus = 0)
@@ -2542,12 +2542,25 @@ yyreduce:
break;
case 66:
-#line 412 "ael.y"
- { (yyval.str) = (yyvsp[(1) - (1)].str);;}
+#line 410 "ael.y"
+ {
+ if (asprintf(&((yyval.str)), "%s@%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)) < 0) {
+ ast_log(LOG_WARNING, "asprintf() failed\n");
+ (yyval.str) = NULL;
+ } else {
+ free((yyvsp[(1) - (3)].str));
+ free((yyvsp[(3) - (3)].str));
+ }
+ ;}
break;
case 67:
-#line 413 "ael.y"
+#line 421 "ael.y"
+ { (yyval.str) = (yyvsp[(1) - (1)].str);;}
+ break;
+
+ case 68:
+#line 422 "ael.y"
{
if (asprintf(&((yyval.str)), "%s%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str)) < 0) {
ast_log(LOG_WARNING, "asprintf() failed\n");
@@ -2560,8 +2573,8 @@ yyreduce:
;}
break;
- case 68:
-#line 423 "ael.y"
+ case 69:
+#line 432 "ael.y"
{
if (asprintf(&((yyval.str)), "%s%s%s", (yyvsp[(1) - (3)].str), (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str)) < 0) {
ast_log(LOG_WARNING, "asprintf() failed\n");
@@ -2575,13 +2588,13 @@ yyreduce:
;}
break;
- case 69:
-#line 436 "ael.y"
+ case 70:
+#line 445 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str);;}
break;
- case 70:
-#line 437 "ael.y"
+ case 71:
+#line 446 "ael.y"
{
if (asprintf(&((yyval.str)), "%s%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str)) < 0) {
ast_log(LOG_WARNING, "asprintf() failed\n");
@@ -2593,8 +2606,8 @@ yyreduce:
;}
break;
- case 71:
-#line 446 "ael.y"
+ case 72:
+#line 455 "ael.y"
{
if (asprintf(&((yyval.str)), "%s:%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)) < 0) {
ast_log(LOG_WARNING, "asprintf() failed\n");
@@ -2606,69 +2619,69 @@ yyreduce:
;}
break;
- case 72:
-#line 457 "ael.y"
+ case 73:
+#line 466 "ael.y"
{
(yyval.pval) = npval2(PV_SWITCH, &(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 73:
-#line 466 "ael.y"
+ case 74:
+#line 475 "ael.y"
{
(yyval.pval) = npval2(PV_STATEMENTBLOCK, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.list = (yyvsp[(2) - (3)].pval); set_dads((yyval.pval),(yyvsp[(2) - (3)].pval));;}
break;
- case 74:
-#line 469 "ael.y"
+ case 75:
+#line 478 "ael.y"
{ (yyval.pval) = (yyvsp[(1) - (1)].pval); ;}
break;
- case 75:
-#line 470 "ael.y"
+ case 76:
+#line 479 "ael.y"
{ (yyval.pval) = (yyvsp[(1) - (1)].pval); ;}
break;
- case 76:
-#line 471 "ael.y"
+ case 77:
+#line 480 "ael.y"
{
(yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.list = (yyvsp[(2) - (3)].pval);;}
break;
- case 77:
-#line 474 "ael.y"
+ case 78:
+#line 483 "ael.y"
{
(yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.list = (yyvsp[(2) - (3)].pval);;}
break;
- case 78:
-#line 477 "ael.y"
+ case 79:
+#line 486 "ael.y"
{
(yyval.pval) = npval2(PV_LABEL, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)]));
(yyval.pval)->u1.str = (yyvsp[(1) - (2)].str); ;}
break;
- case 79:
-#line 480 "ael.y"
+ case 80:
+#line 489 "ael.y"
{reset_semicount(parseio->scanner);;}
break;
- case 80:
-#line 481 "ael.y"
+ case 81:
+#line 490 "ael.y"
{reset_semicount(parseio->scanner);;}
break;
- case 81:
-#line 482 "ael.y"
+ case 82:
+#line 491 "ael.y"
{reset_parencount(parseio->scanner);;}
break;
- case 82:
-#line 482 "ael.y"
+ case 83:
+#line 491 "ael.y"
{ /* XXX word_list maybe ? */
(yyval.pval) = npval2(PV_FOR, &(yylsp[(1) - (12)]), &(yylsp[(12) - (12)]));
(yyval.pval)->u1.for_init = (yyvsp[(4) - (12)].str);
@@ -2677,43 +2690,43 @@ yyreduce:
(yyval.pval)->u4.for_statements = (yyvsp[(12) - (12)].pval); set_dads((yyval.pval),(yyvsp[(12) - (12)].pval));;}
break;
- case 83:
-#line 488 "ael.y"
+ case 84:
+#line 497 "ael.y"
{
(yyval.pval) = npval2(PV_WHILE, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (3)].str);
(yyval.pval)->u2.statements = (yyvsp[(3) - (3)].pval); set_dads((yyval.pval),(yyvsp[(3) - (3)].pval));;}
break;
- case 84:
-#line 492 "ael.y"
+ case 85:
+#line 501 "ael.y"
{ (yyval.pval) = (yyvsp[(1) - (1)].pval); ;}
break;
- case 85:
-#line 493 "ael.y"
+ case 86:
+#line 502 "ael.y"
{ (yyval.pval) = update_last((yyvsp[(2) - (3)].pval), &(yylsp[(2) - (3)])); ;}
break;
- case 86:
-#line 494 "ael.y"
+ case 87:
+#line 503 "ael.y"
{ (yyval.pval) = update_last((yyvsp[(1) - (2)].pval), &(yylsp[(2) - (2)])); ;}
break;
- case 87:
-#line 495 "ael.y"
+ case 88:
+#line 504 "ael.y"
{
(yyval.pval)= npval2(PV_APPLICATION_CALL, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)]));
(yyval.pval)->u1.str = (yyvsp[(1) - (2)].str);;}
break;
- case 88:
-#line 498 "ael.y"
+ case 89:
+#line 507 "ael.y"
{reset_semicount(parseio->scanner);;}
break;
- case 89:
-#line 498 "ael.y"
+ case 90:
+#line 507 "ael.y"
{
char *bufx;
int tot=0;
@@ -2749,127 +2762,127 @@ yyreduce:
;}
break;
- case 90:
-#line 531 "ael.y"
+ case 91:
+#line 540 "ael.y"
{ (yyval.pval) = npval2(PV_BREAK, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); ;}
break;
- case 91:
-#line 532 "ael.y"
+ case 92:
+#line 541 "ael.y"
{ (yyval.pval) = npval2(PV_RETURN, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); ;}
break;
- case 92:
-#line 533 "ael.y"
+ case 93:
+#line 542 "ael.y"
{ (yyval.pval) = npval2(PV_CONTINUE, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); ;}
break;
- case 93:
-#line 534 "ael.y"
+ case 94:
+#line 543 "ael.y"
{
(yyval.pval) = update_last((yyvsp[(1) - (3)].pval), &(yylsp[(2) - (3)]));
(yyval.pval)->u2.statements = (yyvsp[(2) - (3)].pval); set_dads((yyval.pval),(yyvsp[(2) - (3)].pval));
(yyval.pval)->u3.else_statements = (yyvsp[(3) - (3)].pval);set_dads((yyval.pval),(yyvsp[(3) - (3)].pval));;}
break;
- case 94:
-#line 538 "ael.y"
+ case 95:
+#line 547 "ael.y"
{ (yyval.pval)=0; ;}
break;
- case 95:
-#line 541 "ael.y"
+ case 96:
+#line 550 "ael.y"
{ (yyval.pval) = (yyvsp[(2) - (2)].pval); ;}
break;
- case 96:
-#line 542 "ael.y"
+ case 97:
+#line 551 "ael.y"
{ (yyval.pval) = NULL ; ;}
break;
- case 97:
-#line 545 "ael.y"
+ case 98:
+#line 554 "ael.y"
{ (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;}
break;
- case 98:
-#line 546 "ael.y"
+ case 99:
+#line 555 "ael.y"
{
(yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)]));
(yyval.pval)->next = nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)])); ;}
break;
- case 99:
-#line 549 "ael.y"
+ case 100:
+#line 558 "ael.y"
{
(yyval.pval) = nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)]));
(yyval.pval)->next = nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)])); ;}
break;
- case 100:
-#line 552 "ael.y"
+ case 101:
+#line 561 "ael.y"
{
(yyval.pval) = nword((yyvsp[(1) - (5)].str), &(yylsp[(1) - (5)]));
(yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)]));
(yyval.pval)->next->next = nword((yyvsp[(5) - (5)].str), &(yylsp[(5) - (5)])); ;}
break;
- case 101:
-#line 556 "ael.y"
+ case 102:
+#line 565 "ael.y"
{
(yyval.pval) = nword((yyvsp[(1) - (5)].str), &(yylsp[(1) - (5)]));
(yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)]));
(yyval.pval)->next->next = nword((yyvsp[(5) - (5)].str), &(yylsp[(5) - (5)])); ;}
break;
- case 102:
-#line 560 "ael.y"
+ case 103:
+#line 569 "ael.y"
{
(yyval.pval) = nword(strdup("default"), &(yylsp[(1) - (5)]));
(yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)]));
(yyval.pval)->next->next = nword((yyvsp[(5) - (5)].str), &(yylsp[(5) - (5)])); ;}
break;
- case 103:
-#line 564 "ael.y"
+ case 104:
+#line 573 "ael.y"
{
(yyval.pval) = nword(strdup("default"), &(yylsp[(1) - (5)]));
(yyval.pval)->next = nword((yyvsp[(3) - (5)].str), &(yylsp[(3) - (5)]));
(yyval.pval)->next->next = nword((yyvsp[(5) - (5)].str), &(yylsp[(5) - (5)])); ;}
break;
- case 104:
-#line 570 "ael.y"
+ case 105:
+#line 579 "ael.y"
{ (yyval.str) = strdup("1"); ;}
break;
- case 105:
-#line 571 "ael.y"
+ case 106:
+#line 580 "ael.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
- case 106:
-#line 575 "ael.y"
+ case 107:
+#line 584 "ael.y"
{ /* ext[, pri] default 1 */
(yyval.pval) = nword((yyvsp[(1) - (2)].str), &(yylsp[(1) - (2)]));
(yyval.pval)->next = nword((yyvsp[(2) - (2)].str), &(yylsp[(2) - (2)])); ;}
break;
- case 107:
-#line 578 "ael.y"
+ case 108:
+#line 587 "ael.y"
{ /* context, ext, pri */
(yyval.pval) = nword((yyvsp[(4) - (4)].str), &(yylsp[(4) - (4)]));
(yyval.pval)->next = nword((yyvsp[(1) - (4)].str), &(yylsp[(1) - (4)]));
(yyval.pval)->next->next = nword((yyvsp[(2) - (4)].str), &(yylsp[(2) - (4)])); ;}
break;
- case 108:
-#line 584 "ael.y"
+ case 109:
+#line 593 "ael.y"
{reset_argcount(parseio->scanner);;}
break;
- case 109:
-#line 584 "ael.y"
+ case 110:
+#line 593 "ael.y"
{
/* XXX original code had @2 but i think we need @5 */
(yyval.pval) = npval2(PV_MACRO_CALL, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)]));
@@ -2877,20 +2890,20 @@ yyreduce:
(yyval.pval)->u2.arglist = (yyvsp[(4) - (5)].pval);;}
break;
- case 110:
-#line 589 "ael.y"
+ case 111:
+#line 598 "ael.y"
{
(yyval.pval)= npval2(PV_MACRO_CALL, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.str = (yyvsp[(1) - (3)].str); ;}
break;
- case 111:
-#line 597 "ael.y"
+ case 112:
+#line 606 "ael.y"
{reset_argcount(parseio->scanner);;}
break;
- case 112:
-#line 597 "ael.y"
+ case 113:
+#line 606 "ael.y"
{
if (strcasecmp((yyvsp[(1) - (3)].str),"goto") == 0) {
(yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(2) - (3)]));
@@ -2902,8 +2915,8 @@ yyreduce:
} ;}
break;
- case 113:
-#line 608 "ael.y"
+ case 114:
+#line 617 "ael.y"
{
(yyval.pval) = update_last((yyvsp[(1) - (3)].pval), &(yylsp[(3) - (3)]));
if( (yyval.pval)->type == PV_GOTO )
@@ -2913,126 +2926,126 @@ yyreduce:
;}
break;
- case 114:
-#line 615 "ael.y"
+ case 115:
+#line 624 "ael.y"
{ (yyval.pval) = update_last((yyvsp[(1) - (2)].pval), &(yylsp[(2) - (2)])); ;}
break;
- case 115:
-#line 618 "ael.y"
+ case 116:
+#line 627 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str) ;}
break;
- case 116:
-#line 619 "ael.y"
+ case 117:
+#line 628 "ael.y"
{ (yyval.str) = strdup(""); ;}
break;
- case 117:
-#line 622 "ael.y"
+ case 118:
+#line 631 "ael.y"
{ (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;}
break;
- case 118:
-#line 623 "ael.y"
+ case 119:
+#line 632 "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 626 "ael.y"
+ case 120:
+#line 635 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)]))); ;}
break;
- case 120:
-#line 629 "ael.y"
+ case 121:
+#line 638 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
- case 121:
-#line 630 "ael.y"
+ case 122:
+#line 639 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;}
break;
- case 122:
-#line 633 "ael.y"
+ case 123:
+#line 642 "ael.y"
{
(yyval.pval) = npval2(PV_CASE, &(yylsp[(1) - (4)]), &(yylsp[(3) - (4)])); /* XXX 3 or 4 ? */
(yyval.pval)->u1.str = (yyvsp[(2) - (4)].str);
(yyval.pval)->u2.statements = (yyvsp[(4) - (4)].pval); set_dads((yyval.pval),(yyvsp[(4) - (4)].pval));;}
break;
- case 123:
-#line 637 "ael.y"
+ case 124:
+#line 646 "ael.y"
{
(yyval.pval) = npval2(PV_DEFAULT, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.str = NULL;
(yyval.pval)->u2.statements = (yyvsp[(3) - (3)].pval);set_dads((yyval.pval),(yyvsp[(3) - (3)].pval));;}
break;
- case 124:
-#line 641 "ael.y"
+ case 125:
+#line 650 "ael.y"
{
(yyval.pval) = npval2(PV_PATTERN, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)])); /* XXX@3 or @4 ? */
(yyval.pval)->u1.str = (yyvsp[(2) - (4)].str);
(yyval.pval)->u2.statements = (yyvsp[(4) - (4)].pval);set_dads((yyval.pval),(yyvsp[(4) - (4)].pval));;}
break;
- case 125:
-#line 647 "ael.y"
+ case 126:
+#line 656 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
- case 126:
-#line 648 "ael.y"
+ case 127:
+#line 657 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;}
break;
- case 127:
-#line 651 "ael.y"
+ case 128:
+#line 660 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break;
- case 128:
-#line 652 "ael.y"
+ case 129:
+#line 661 "ael.y"
{ (yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break;
- case 129:
-#line 653 "ael.y"
+ case 130:
+#line 662 "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 130:
-#line 659 "ael.y"
+ case 131:
+#line 668 "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 131:
-#line 664 "ael.y"
+ case 132:
+#line 673 "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 132:
-#line 669 "ael.y"
+ case 133:
+#line 678 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
- case 133:
-#line 670 "ael.y"
+ case 134:
+#line 679 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (3)].pval),nword((yyvsp[(2) - (3)].str), &(yylsp[(2) - (3)]))); ;}
break;
- case 134:
-#line 671 "ael.y"
+ case 135:
+#line 680 "ael.y"
{
char *x;
if (asprintf(&x,"%s@%s", (yyvsp[(2) - (5)].str), (yyvsp[(4) - (5)].str)) < 0) {
@@ -3046,55 +3059,55 @@ yyreduce:
;}
break;
- case 135:
-#line 682 "ael.y"
+ case 136:
+#line 691 "ael.y"
{(yyval.pval)=(yyvsp[(2) - (2)].pval);;}
break;
- case 136:
-#line 685 "ael.y"
+ case 137:
+#line 694 "ael.y"
{ (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;}
break;
- case 137:
-#line 686 "ael.y"
+ case 138:
+#line 695 "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 138:
-#line 693 "ael.y"
+ case 139:
+#line 702 "ael.y"
{ (yyval.pval) = (yyvsp[(1) - (2)].pval); ;}
break;
- case 139:
-#line 694 "ael.y"
+ case 140:
+#line 703 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), (yyvsp[(2) - (3)].pval)); ;}
break;
- case 140:
-#line 695 "ael.y"
+ case 141:
+#line 704 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
break;
- case 141:
-#line 698 "ael.y"
+ case 142:
+#line 707 "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 142:
-#line 701 "ael.y"
+ case 143:
+#line 710 "ael.y"
{
(yyval.pval) = npval2(PV_INCLUDES, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));;}
break;
/* Line 1267 of yacc.c. */
-#line 3098 "ael.tab.c"
+#line 3111 "ael.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -3314,7 +3327,7 @@ yyreturn:
}
-#line 706 "ael.y"
+#line 715 "ael.y"
static char *token_equivs1[] =
diff --git a/res/ael/ael.y b/res/ael/ael.y
index 4208ccf3c..306a70fd3 100644
--- a/res/ael/ael.y
+++ b/res/ael/ael.y
@@ -407,6 +407,15 @@ hint_word : word { $$ = $1; }
free($3);
}
}
+ | hint_word AT word {
+ if (asprintf(&($$), "%s@%s", $1, $3) < 0) {
+ ast_log(LOG_WARNING, "asprintf() failed\n");
+ $$ = NULL;
+ } else {
+ free($1);
+ free($3);
+ }
+ }
;
word3_list : word { $$ = $1;}