aboutsummaryrefslogtreecommitdiffstats
path: root/pbx/ael
diff options
context:
space:
mode:
authorrizzo <rizzo@f38db490-d61c-443f-a65b-d21fe96a405b>2006-05-03 17:07:56 +0000
committerrizzo <rizzo@f38db490-d61c-443f-a65b-d21fe96a405b>2006-05-03 17:07:56 +0000
commit89c5a6308818c249d43df8c2e80717b14fa6edf3 (patch)
tree8b9fdf419cb6b5d78b8707a9b0155d7bcfceffe5 /pbx/ael
parentaf3527e67dbbaf559147deb5e19e42dd0b36ce86 (diff)
more simplifications
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@24460 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'pbx/ael')
-rw-r--r--pbx/ael/ael.tab.c757
-rw-r--r--pbx/ael/ael.y32
2 files changed, 391 insertions, 398 deletions
diff --git a/pbx/ael/ael.tab.c b/pbx/ael/ael.tab.c
index e62b35fa5..999818cff 100644
--- a/pbx/ael/ael.tab.c
+++ b/pbx/ael/ael.tab.c
@@ -420,16 +420,16 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 14
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 273
+#define YYLAST 275
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 42
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 52
+#define YYNNTS 53
/* YYNRULES -- Number of rules. */
#define YYNRULES 128
/* YYNRULES -- Number of states. */
-#define YYNSTATES 259
+#define YYNSTATES 258
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -487,10 +487,10 @@ static const unsigned short int yyprhs[] =
187, 191, 197, 201, 203, 207, 211, 214, 215, 216,
217, 230, 234, 236, 240, 243, 246, 247, 253, 256,
259, 262, 266, 268, 271, 272, 274, 278, 282, 288,
- 294, 300, 306, 308, 312, 318, 322, 323, 329, 333,
- 334, 338, 342, 345, 347, 348, 350, 351, 355, 356,
- 359, 364, 368, 373, 374, 377, 379, 385, 390, 395,
- 396, 400, 403, 405, 409, 412, 416, 419, 424
+ 294, 300, 306, 307, 310, 313, 318, 319, 325, 329,
+ 330, 334, 338, 341, 343, 344, 346, 347, 351, 352,
+ 355, 360, 364, 369, 370, 373, 375, 381, 386, 391,
+ 392, 396, 399, 401, 405, 408, 412, 415, 420
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -500,11 +500,11 @@ static const yysigned_char yyrhs[] =
44, 1, -1, 47, -1, 49, -1, 50, -1, 8,
-1, 41, -1, 36, -1, 48, 3, 46, 4, 55,
5, -1, 23, -1, -1, 15, 41, 6, 54, 7,
- 4, 86, 5, -1, 16, 4, 51, 5, -1, -1,
+ 4, 87, 5, -1, 16, 4, 51, 5, -1, -1,
52, 51, -1, 51, 1, -1, -1, 41, 9, 53,
41, 8, -1, -1, 41, -1, 54, 10, 41, -1,
54, 1, -1, -1, 56, 55, -1, 55, 1, -1,
- 58, -1, 93, -1, 88, -1, 89, -1, 57, -1,
+ 58, -1, 94, -1, 89, -1, 90, -1, 57, -1,
52, -1, 41, 1, -1, 8, -1, 17, 24, 41,
8, -1, 41, 24, 69, -1, 30, 41, 24, 69,
-1, 31, 6, 66, 7, 41, 24, 69, -1, 30,
@@ -515,48 +515,48 @@ static const yysigned_char yyrhs[] =
22, 62, -1, 20, 6, 61, 7, -1, 41, -1,
41, 41, -1, 41, -1, 41, 41, -1, 41, 41,
41, -1, 41, -1, 41, 41, -1, 41, 11, 41,
- -1, 18, 62, 4, 84, 5, -1, 4, 59, 5,
- -1, 52, -1, 25, 75, 8, -1, 26, 76, 8,
+ -1, 18, 62, 4, 85, 5, -1, 4, 59, 5,
+ -1, 52, -1, 25, 75, 8, -1, 26, 77, 8,
-1, 41, 11, -1, -1, -1, -1, 32, 6, 70,
41, 8, 71, 41, 8, 72, 41, 7, 69, -1,
- 33, 62, 69, -1, 68, -1, 12, 77, 8, -1,
- 81, 8, -1, 41, 8, -1, -1, 81, 9, 73,
+ 33, 62, 69, -1, 68, -1, 12, 78, 8, -1,
+ 82, 8, -1, 41, 8, -1, -1, 82, 9, 73,
41, 8, -1, 28, 8, -1, 27, 8, -1, 29,
8, -1, 64, 69, 74, -1, 8, -1, 21, 69,
-1, -1, 67, -1, 67, 13, 67, -1, 67, 10,
67, -1, 67, 13, 67, 13, 67, -1, 67, 10,
67, 10, 67, -1, 36, 13, 67, 13, 67, -1,
- 36, 10, 67, 10, 67, -1, 67, -1, 67, 10,
- 41, -1, 67, 10, 41, 14, 46, -1, 67, 14,
- 46, -1, -1, 41, 6, 78, 83, 7, -1, 41,
- 6, 7, -1, -1, 41, 6, 80, -1, 79, 83,
- 7, -1, 79, 7, -1, 41, -1, -1, 65, -1,
- -1, 83, 10, 82, -1, -1, 85, 84, -1, 34,
- 41, 11, 59, -1, 36, 11, 59, -1, 35, 41,
- 11, 59, -1, -1, 87, 86, -1, 69, -1, 37,
- 41, 4, 59, 5, -1, 38, 4, 90, 5, -1,
- 39, 4, 90, 5, -1, -1, 41, 8, 90, -1,
- 90, 1, -1, 46, -1, 46, 13, 61, -1, 91,
- 8, -1, 92, 91, 8, -1, 92, 1, -1, 40,
- 4, 92, 5, -1, 40, 4, 5, -1
+ 36, 10, 67, 10, 67, -1, -1, 10, 41, -1,
+ 67, 76, -1, 67, 76, 14, 46, -1, -1, 41,
+ 6, 79, 84, 7, -1, 41, 6, 7, -1, -1,
+ 41, 6, 81, -1, 80, 84, 7, -1, 80, 7,
+ -1, 41, -1, -1, 65, -1, -1, 84, 10, 83,
+ -1, -1, 86, 85, -1, 34, 41, 11, 59, -1,
+ 36, 11, 59, -1, 35, 41, 11, 59, -1, -1,
+ 88, 87, -1, 69, -1, 37, 41, 4, 59, 5,
+ -1, 38, 4, 91, 5, -1, 39, 4, 91, 5,
+ -1, -1, 41, 8, 91, -1, 91, 1, -1, 46,
+ -1, 46, 13, 61, -1, 92, 8, -1, 93, 92,
+ 8, -1, 93, 1, -1, 40, 4, 93, 5, -1,
+ 40, 4, 5, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const unsigned short int yyrline[] =
{
- 0, 177, 177, 180, 181, 182, 185, 186, 187, 188,
- 191, 192, 195, 203, 204, 207, 212, 217, 218, 219,
- 222, 222, 229, 230, 231, 232, 235, 236, 237, 240,
- 241, 242, 243, 244, 245, 246, 247, 250, 255, 259,
- 264, 269, 279, 280, 281, 287, 292, 296, 304, 304,
- 309, 312, 315, 326, 327, 334, 335, 340, 348, 349,
- 353, 359, 368, 371, 372, 375, 378, 381, 382, 383,
- 381, 389, 393, 394, 396, 398, 401, 401, 434, 435,
- 436, 437, 441, 444, 445, 450, 451, 454, 457, 461,
- 465, 469, 476, 479, 482, 486, 492, 492, 497, 505,
- 505, 516, 523, 526, 527, 530, 531, 534, 537, 538,
- 541, 545, 549, 555, 556, 559, 560, 566, 571, 576,
- 577, 578, 581, 582, 589, 590, 591, 594, 597
+ 0, 179, 179, 182, 183, 184, 187, 188, 189, 190,
+ 193, 194, 197, 205, 206, 209, 214, 219, 220, 221,
+ 224, 224, 231, 232, 233, 234, 237, 238, 239, 242,
+ 243, 244, 245, 246, 247, 248, 249, 252, 257, 261,
+ 266, 271, 281, 282, 283, 289, 294, 298, 306, 306,
+ 310, 313, 316, 327, 328, 335, 336, 341, 349, 350,
+ 354, 360, 369, 372, 373, 376, 379, 382, 383, 384,
+ 382, 390, 394, 395, 396, 397, 400, 400, 433, 434,
+ 435, 436, 440, 443, 444, 449, 450, 453, 456, 460,
+ 464, 468, 474, 475, 479, 482, 488, 488, 493, 501,
+ 501, 512, 519, 522, 523, 526, 527, 530, 533, 534,
+ 537, 541, 545, 551, 552, 555, 556, 562, 567, 572,
+ 573, 574, 577, 578, 585, 586, 587, 590, 593
};
#endif
@@ -577,8 +577,8 @@ static const char *const yytname[] =
"elements", "element", "ignorepat", "extension", "statements",
"timerange", "timespec", "test_expr", "@2", "if_like_head", "word_list",
"word3_list", "goto_word", "switch_statement", "statement", "@3", "@4",
- "@5", "@6", "opt_else", "target", "jumptarget", "macro_call", "@7",
- "application_call_head", "@8", "application_call", "opt_word",
+ "@5", "@6", "opt_else", "target", "opt_pri", "jumptarget", "macro_call",
+ "@7", "application_call_head", "@8", "application_call", "opt_word",
"eval_arglist", "case_statements", "case_statement", "macro_statements",
"macro_statement", "switches", "eswitches", "switchlist",
"included_entry", "includeslist", "includes", 0
@@ -610,10 +610,10 @@ static const unsigned char yyr1[] =
67, 68, 69, 69, 69, 69, 69, 70, 71, 72,
69, 69, 69, 69, 69, 69, 73, 69, 69, 69,
69, 69, 69, 74, 74, 75, 75, 75, 75, 75,
- 75, 75, 76, 76, 76, 76, 78, 77, 77, 80,
- 79, 81, 81, 82, 82, 83, 83, 83, 84, 84,
- 85, 85, 85, 86, 86, 87, 87, 88, 89, 90,
- 90, 90, 91, 91, 92, 92, 92, 93, 93
+ 75, 75, 76, 76, 77, 77, 79, 78, 78, 81,
+ 80, 82, 82, 83, 83, 84, 84, 84, 85, 85,
+ 86, 86, 86, 87, 87, 88, 88, 89, 90, 91,
+ 91, 91, 92, 92, 93, 93, 93, 94, 94
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -628,7 +628,7 @@ static const unsigned char yyr2[] =
3, 5, 3, 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, 1, 3, 5, 3, 0, 5, 3, 0,
+ 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, 2, 1, 3, 2, 3, 2, 4, 3
@@ -656,15 +656,15 @@ static const unsigned char yydefact[] =
39, 56, 0, 119, 121, 117, 118, 0, 124, 126,
127, 0, 44, 62, 0, 96, 73, 0, 108, 46,
0, 0, 0, 0, 0, 0, 59, 0, 0, 64,
- 0, 0, 65, 0, 71, 42, 100, 0, 81, 54,
+ 0, 94, 65, 0, 71, 42, 100, 0, 81, 54,
101, 104, 0, 0, 57, 0, 0, 123, 125, 98,
106, 0, 0, 0, 0, 0, 108, 0, 52, 0,
- 0, 0, 60, 87, 86, 93, 95, 0, 0, 83,
+ 0, 0, 60, 87, 86, 93, 0, 0, 0, 83,
103, 107, 0, 0, 0, 0, 49, 0, 0, 42,
- 61, 109, 0, 0, 0, 0, 0, 0, 0, 68,
+ 61, 109, 0, 0, 0, 0, 0, 0, 95, 68,
116, 77, 0, 40, 97, 42, 42, 0, 0, 0,
- 91, 90, 89, 88, 94, 0, 41, 0, 0, 0,
- 45, 0, 0, 69, 47, 0, 0, 0, 70
+ 91, 90, 89, 88, 0, 41, 0, 0, 0, 45,
+ 0, 0, 69, 47, 0, 0, 0, 70
};
/* YYDEFGOTO[NTERM-NUM]. */
@@ -672,54 +672,54 @@ static const short int yydefgoto[] =
{
-1, 5, 6, 7, 101, 8, 9, 10, 11, 20,
83, 35, 26, 45, 46, 47, 48, 105, 160, 161,
- 110, 157, 84, 132, 162, 116, 85, 106, 173, 245,
- 255, 182, 178, 117, 119, 108, 190, 87, 176, 88,
- 211, 133, 195, 196, 89, 90, 49, 50, 98, 102,
- 103, 51
+ 110, 157, 84, 132, 162, 116, 85, 106, 173, 244,
+ 254, 182, 178, 117, 171, 119, 108, 190, 87, 176,
+ 88, 211, 133, 195, 196, 89, 90, 49, 50, 98,
+ 102, 103, 51
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -104
+#define YYPACT_NINF -103
static const short int yypact[] =
{
- 2, -104, -27, 19, -104, 32, 61, -104, -104, 83,
- -104, -104, 113, 39, -104, -104, -104, -12, 66, 129,
- 80, 39, -104, -104, 148, -104, 21, -104, -104, -104,
- 82, 84, -104, 149, 119, 120, -104, 142, -22, 161,
- 164, 165, 167, 12, -104, 92, 84, -104, -104, -104,
- -104, -104, 26, -104, 168, 131, 169, 153, 146, 159,
- 159, -1, -104, 166, -104, -104, 95, 166, -104, 160,
- 173, 173, 174, 173, 30, 162, 181, 182, 189, 196,
- 173, 163, 128, -104, 166, -104, -104, 8, 156, 200,
- 26, -104, 201, 146, 166, 171, 203, 205, 101, 116,
- -104, 195, 206, 6, -104, 130, 166, 209, 208, -104,
- 213, -104, 177, -104, 137, 9, 138, 211, 132, 212,
- -104, -104, -104, -104, 166, 217, -104, -104, -104, 202,
- -104, 183, -104, 58, -104, -104, -104, -104, -104, 215,
- -104, 184, 185, 159, -104, -104, -104, 177, -104, -104,
- -104, 219, -104, -104, 55, 221, -104, 188, 94, 16,
- 218, 223, 222, 162, 162, 191, -104, 162, 162, -104,
- 193, -12, -104, 194, -104, 166, -104, 166, -104, -104,
- -104, 197, 198, 199, -104, 220, 139, -104, -104, -104,
- 188, 229, 204, 207, 226, 236, 94, 146, -104, 146,
- 232, 230, -104, 237, 233, 235, -104, 242, 144, -104,
- -104, -104, 243, 228, 166, 152, -104, 244, 245, 166,
- -104, -104, 240, 246, 162, 162, 162, 162, -12, -104,
- -104, -104, 166, -104, -104, 166, 166, 69, 146, 146,
- -104, -104, -104, -104, -104, 224, -104, 74, 77, 241,
- -104, 250, 146, -104, -104, 225, 252, 166, -104
+ 142, -103, -28, 52, -103, 80, 148, -103, -103, 84,
+ -103, -103, 88, 65, -103, -103, -103, -20, 77, 126,
+ 29, 65, -103, -103, 133, -103, 16, -103, -103, -103,
+ 58, 91, -103, 143, 105, 134, -103, 150, -23, 161,
+ 173, 174, 180, 11, -103, 63, 91, -103, -103, -103,
+ -103, -103, 25, -103, 177, 146, 182, 166, 151, 152,
+ 152, 19, -103, 57, -103, -103, 110, 57, -103, 154,
+ 183, 183, 190, 183, -14, 156, 191, 192, 193, 196,
+ 183, 157, 130, -103, 57, -103, -103, 7, 104, 198,
+ 25, -103, 197, 151, 57, 170, 199, 200, 118, 119,
+ -103, 194, 201, 5, -103, 165, 57, 204, 205, -103,
+ 208, -103, 175, -103, 18, -2, 68, 206, 207, 210,
+ -103, -103, -103, -103, 57, 211, -103, -103, -103, 202,
+ -103, 178, -103, 169, -103, -103, -103, -103, -103, 213,
+ -103, 181, 184, 152, -103, -103, -103, 175, -103, -103,
+ -103, 216, -103, -103, 66, 214, -103, 185, 125, 8,
+ 215, 220, 218, 156, 156, 189, -103, 156, 156, -103,
+ 195, 217, -103, 203, -103, 57, -103, 57, -103, -103,
+ -103, 209, 212, 219, -103, 221, 167, -103, -103, -103,
+ 185, 225, 222, 223, 224, 228, 125, 151, -103, 151,
+ 227, 226, -103, 230, 229, -103, -20, 233, 168, -103,
+ -103, -103, 235, 231, 57, 176, -103, 236, 237, 57,
+ -103, -103, 238, 241, 156, 156, 156, 156, -103, -103,
+ -103, -103, 57, -103, -103, 57, 57, 69, 151, 151,
+ -103, -103, -103, -103, 232, -103, 92, 109, 243, -103,
+ 246, 151, -103, -103, 234, 239, 57, -103
};
/* YYPGOTO[NTERM-NUM]. */
static const short int yypgoto[] =
{
- -104, -104, -104, 254, -17, -104, -104, -104, -104, 247,
- -5, -104, -104, 127, -104, -104, -104, -103, -104, 114,
- 47, -104, -104, 105, -56, -69, -104, -51, -104, -104,
- -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
- -104, 73, 68, -104, 179, -104, -104, -104, -55, 170,
- -104, -104
+ -103, -103, -103, 251, -15, -103, -103, -103, -103, 240,
+ -6, -103, -103, 188, -103, -103, -103, -102, -103, 102,
+ 36, -103, -103, 81, -57, -72, -103, -52, -103, -103,
+ -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
+ -103, -103, 72, 62, -103, 179, -103, -103, -103, -55,
+ 162, -103, -103
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -729,66 +729,66 @@ static const short int yypgoto[] =
#define YYTABLE_NINF -121
static const short int yytable[] =
{
- 24, 86, 96, 154, 100, 99, 118, 149, 21, 56,
- 1, 150, 104, 62, 12, 130, 21, 2, 3, 57,
- 165, 27, 32, 13, 22, 4, 44, -55, 33, 23,
- 67, 34, 14, 129, 68, 22, 63, 139, 69, 86,
- 23, 44, 22, 140, 70, 71, 72, 23, 73, 131,
- 166, 74, 75, 76, 77, 78, 152, 141, 79, 80,
- -43, -2, 15, 81, -14, 180, 114, 82, 181, 1,
- 152, 115, 208, 174, -111, 152, 2, 3, 152, -110,
- 19, 28, -112, 28, 4, 29, 17, -18, 186, -43,
- -43, -43, 36, 64, 200, 201, 64, 65, 203, 204,
- -27, 37, 144, -111, -111, -111, 145, 25, -110, -110,
- -110, -112, -112, -112, 38, 39, 237, 144, 111, 18,
- 113, 146, 40, 41, 42, 43, 209, 124, 192, 193,
- 194, 152, 247, 248, 126, 153, 127, 27, 27, 128,
- 144, 222, 170, 223, -120, 152, 171, 163, 167, 230,
- 164, 168, 31, 52, 206, 240, 241, 242, 243, 234,
- 53, 54, 181, 233, 134, 135, 55, 58, 59, 60,
- 67, 61, 92, 66, 68, 93, 91, 94, 69, 109,
- 112, 246, 249, 250, 70, 71, 72, 95, 73, 120,
- 121, 74, 75, 76, 77, 78, 254, 122, 79, 80,
- 97, 107, 123, 115, 125, 136, 258, 82, 147, 138,
- 142, 244, 141, 143, 148, 155, 156, 158, 159, 169,
- 172, 175, 183, 177, 179, 184, 185, 188, 189, 131,
- 198, 197, 202, 199, 205, 207, 216, 219, 210, 212,
- 213, 220, 224, 225, 214, 217, 227, 226, 218, 228,
- 229, 231, 232, 238, 252, 235, 236, 239, 253, 257,
- 16, 187, 191, 215, 221, 251, 256, 0, 30, 137,
- 0, 0, 0, 151
+ 86, 96, 24, 118, 154, 99, 149, 21, 56, 165,
+ 150, 104, 62, 12, 130, 21, 22, 32, 57, -55,
+ 27, 23, 114, 33, 100, 44, 34, 115, 163, 67,
+ 28, 164, 129, 68, 29, 63, 139, 69, 86, 166,
+ 44, 22, 140, 70, 71, 72, 23, 73, 131, 141,
+ 74, 75, 76, 77, 78, 22, 13, 79, 80, 28,
+ 23, 67, 81, -18, 64, 68, 82, 152, 65, 69,
+ 152, -43, 174, 208, -111, 70, 71, 72, 167, 73,
+ 14, 168, 74, 75, 76, 77, 78, 17, 186, 79,
+ 80, 200, 201, 152, 18, 203, 204, -110, 82, 36,
+ -43, -43, -43, -111, -111, -111, 19, 111, 37, 113,
+ 152, 64, 134, 135, -112, -27, 124, 237, 25, 144,
+ 144, 38, 39, 145, 146, 209, -110, -110, -110, 40,
+ 41, 42, 43, 246, 247, 27, 126, 31, 127, 27,
+ 222, 128, 223, -112, -112, -112, 53, 52, -2, 15,
+ 1, -14, 240, 241, 242, 243, 1, 2, 3, 192,
+ 193, 194, 233, 2, 3, 4, 152, 58, 144, 152,
+ 153, 4, -120, 230, 55, 54, 180, 59, 60, 181,
+ 245, 248, 249, 234, 61, 91, 181, 92, 93, 109,
+ 94, 228, 95, 97, 253, 107, 112, 115, 125, 120,
+ 121, 122, 123, 136, 257, 138, 142, 147, 143, 148,
+ 155, 141, 158, 156, 169, 175, 159, 170, 172, 179,
+ 183, 189, 184, 177, 188, 185, 131, 198, 197, 199,
+ 202, 206, 216, 220, 66, 219, 205, 224, 191, 225,
+ 226, 229, 227, 231, 207, 214, 256, 235, 236, 187,
+ 210, 238, 239, 212, 252, 232, 251, 16, 221, 0,
+ 213, 30, 215, 217, 218, 151, 0, 0, 0, 137,
+ 0, 0, 0, 250, 0, 255
};
static const short int yycheck[] =
{
- 17, 52, 58, 106, 5, 60, 75, 1, 13, 31,
- 8, 5, 63, 1, 41, 7, 21, 15, 16, 41,
- 11, 9, 1, 4, 36, 23, 31, 11, 7, 41,
- 4, 10, 0, 84, 8, 36, 24, 93, 12, 90,
- 41, 46, 36, 94, 18, 19, 20, 41, 22, 41,
- 41, 25, 26, 27, 28, 29, 1, 41, 32, 33,
- 5, 0, 1, 37, 3, 7, 36, 41, 10, 8,
- 1, 41, 175, 124, 5, 1, 15, 16, 1, 5,
- 41, 1, 5, 1, 23, 5, 3, 5, 143, 34,
- 35, 36, 8, 1, 163, 164, 1, 5, 167, 168,
- 5, 17, 1, 34, 35, 36, 5, 41, 34, 35,
- 36, 34, 35, 36, 30, 31, 219, 1, 71, 6,
- 73, 5, 38, 39, 40, 41, 177, 80, 34, 35,
- 36, 1, 235, 236, 6, 5, 8, 9, 9, 11,
- 1, 197, 10, 199, 5, 1, 14, 10, 10, 5,
- 13, 13, 4, 4, 171, 224, 225, 226, 227, 7,
- 41, 41, 10, 214, 8, 9, 24, 6, 4, 4,
- 4, 4, 41, 46, 8, 6, 8, 24, 12, 6,
- 6, 232, 238, 239, 18, 19, 20, 41, 22, 8,
- 8, 25, 26, 27, 28, 29, 252, 8, 32, 33,
- 41, 41, 6, 41, 41, 5, 257, 41, 13, 8,
- 7, 228, 41, 8, 8, 6, 8, 4, 41, 8,
- 8, 4, 7, 21, 41, 41, 41, 8, 7, 41,
- 7, 13, 41, 11, 41, 41, 7, 11, 41, 41,
- 41, 5, 10, 13, 24, 41, 13, 10, 41, 14,
- 8, 8, 24, 13, 13, 11, 11, 11, 8, 7,
- 6, 147, 157, 190, 196, 41, 41, -1, 21, 90,
- -1, -1, -1, 103
+ 52, 58, 17, 75, 106, 60, 1, 13, 31, 11,
+ 5, 63, 1, 41, 7, 21, 36, 1, 41, 11,
+ 9, 41, 36, 7, 5, 31, 10, 41, 10, 4,
+ 1, 13, 84, 8, 5, 24, 93, 12, 90, 41,
+ 46, 36, 94, 18, 19, 20, 41, 22, 41, 41,
+ 25, 26, 27, 28, 29, 36, 4, 32, 33, 1,
+ 41, 4, 37, 5, 1, 8, 41, 1, 5, 12,
+ 1, 5, 124, 175, 5, 18, 19, 20, 10, 22,
+ 0, 13, 25, 26, 27, 28, 29, 3, 143, 32,
+ 33, 163, 164, 1, 6, 167, 168, 5, 41, 8,
+ 34, 35, 36, 34, 35, 36, 41, 71, 17, 73,
+ 1, 1, 8, 9, 5, 5, 80, 219, 41, 1,
+ 1, 30, 31, 5, 5, 177, 34, 35, 36, 38,
+ 39, 40, 41, 235, 236, 9, 6, 4, 8, 9,
+ 197, 11, 199, 34, 35, 36, 41, 4, 0, 1,
+ 8, 3, 224, 225, 226, 227, 8, 15, 16, 34,
+ 35, 36, 214, 15, 16, 23, 1, 6, 1, 1,
+ 5, 23, 5, 5, 24, 41, 7, 4, 4, 10,
+ 232, 238, 239, 7, 4, 8, 10, 41, 6, 6,
+ 24, 206, 41, 41, 251, 41, 6, 41, 41, 8,
+ 8, 8, 6, 5, 256, 8, 7, 13, 8, 8,
+ 6, 41, 4, 8, 8, 4, 41, 10, 8, 41,
+ 7, 7, 41, 21, 8, 41, 41, 7, 13, 11,
+ 41, 14, 7, 5, 46, 11, 41, 10, 157, 13,
+ 10, 8, 13, 8, 41, 24, 7, 11, 11, 147,
+ 41, 13, 11, 41, 8, 24, 13, 6, 196, -1,
+ 41, 21, 190, 41, 41, 103, -1, -1, -1, 90,
+ -1, -1, -1, 41, -1, 41
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -799,28 +799,28 @@ static const unsigned char yystos[] =
49, 50, 41, 4, 0, 1, 45, 3, 6, 41,
51, 52, 36, 41, 46, 41, 54, 9, 1, 5,
51, 4, 1, 7, 10, 53, 8, 17, 30, 31,
- 38, 39, 40, 41, 52, 55, 56, 57, 58, 88,
- 89, 93, 4, 41, 41, 24, 31, 41, 6, 4,
+ 38, 39, 40, 41, 52, 55, 56, 57, 58, 89,
+ 90, 94, 4, 41, 41, 24, 31, 41, 6, 4,
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, 68, 69, 79, 81, 86,
- 87, 8, 41, 6, 24, 41, 66, 41, 90, 90,
- 5, 46, 91, 92, 69, 59, 69, 41, 77, 6,
- 62, 62, 6, 62, 36, 41, 67, 75, 67, 76,
+ 33, 37, 41, 52, 64, 68, 69, 80, 82, 87,
+ 88, 8, 41, 6, 24, 41, 66, 41, 91, 91,
+ 5, 46, 92, 93, 69, 59, 69, 41, 78, 6,
+ 62, 62, 6, 62, 36, 41, 67, 75, 67, 77,
8, 8, 8, 6, 62, 41, 6, 8, 11, 69,
- 7, 41, 65, 83, 8, 9, 5, 86, 8, 66,
+ 7, 41, 65, 84, 8, 9, 5, 87, 8, 66,
69, 41, 7, 8, 1, 5, 5, 13, 8, 1,
- 5, 91, 1, 5, 59, 6, 8, 63, 4, 41,
+ 5, 92, 1, 5, 59, 6, 8, 63, 4, 41,
60, 61, 66, 10, 13, 11, 41, 10, 13, 8,
- 10, 14, 8, 70, 69, 4, 80, 21, 74, 41,
- 7, 10, 73, 7, 41, 41, 90, 61, 8, 7,
- 78, 65, 34, 35, 36, 84, 85, 13, 7, 11,
- 67, 67, 41, 67, 67, 41, 46, 41, 59, 69,
- 41, 82, 41, 41, 24, 83, 7, 41, 41, 11,
- 5, 84, 66, 66, 10, 13, 10, 13, 14, 8,
+ 10, 76, 8, 70, 69, 4, 81, 21, 74, 41,
+ 7, 10, 73, 7, 41, 41, 91, 61, 8, 7,
+ 79, 65, 34, 35, 36, 85, 86, 13, 7, 11,
+ 67, 67, 41, 67, 67, 41, 14, 41, 59, 69,
+ 41, 83, 41, 41, 24, 84, 7, 41, 41, 11,
+ 5, 85, 66, 66, 10, 13, 10, 13, 46, 8,
5, 8, 24, 69, 7, 11, 11, 59, 13, 11,
- 67, 67, 67, 67, 46, 71, 69, 59, 59, 66,
- 66, 41, 13, 8, 66, 72, 41, 7, 69
+ 67, 67, 67, 67, 71, 69, 59, 59, 66, 66,
+ 41, 13, 8, 66, 72, 41, 7, 69
};
#define yyerrok (yyerrstatus = 0)
@@ -1196,12 +1196,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
switch (yytype)
{
case 41: /* "word" */
-#line 170 "ael.y"
+#line 171 "ael.y"
{ free((yyvaluep->str));};
#line 1202 "ael.tab.c"
break;
case 44: /* "objects" */
-#line 157 "ael.y"
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
@@ -1209,7 +1209,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
#line 1210 "ael.tab.c"
break;
case 45: /* "object" */
-#line 157 "ael.y"
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
@@ -1217,12 +1217,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
#line 1218 "ael.tab.c"
break;
case 46: /* "context_name" */
-#line 170 "ael.y"
+#line 171 "ael.y"
{ free((yyvaluep->str));};
#line 1223 "ael.tab.c"
break;
case 47: /* "context" */
-#line 157 "ael.y"
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
@@ -1230,7 +1230,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
#line 1231 "ael.tab.c"
break;
case 49: /* "macro" */
-#line 157 "ael.y"
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
@@ -1238,7 +1238,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
#line 1239 "ael.tab.c"
break;
case 50: /* "globals" */
-#line 157 "ael.y"
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
@@ -1246,7 +1246,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
#line 1247 "ael.tab.c"
break;
case 51: /* "global_statements" */
-#line 157 "ael.y"
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
@@ -1254,7 +1254,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
#line 1255 "ael.tab.c"
break;
case 52: /* "assignment" */
-#line 157 "ael.y"
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
@@ -1262,7 +1262,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
#line 1263 "ael.tab.c"
break;
case 54: /* "arglist" */
-#line 157 "ael.y"
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
@@ -1270,7 +1270,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
#line 1271 "ael.tab.c"
break;
case 55: /* "elements" */
-#line 157 "ael.y"
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
@@ -1278,7 +1278,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
#line 1279 "ael.tab.c"
break;
case 56: /* "element" */
-#line 157 "ael.y"
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
@@ -1286,7 +1286,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
#line 1287 "ael.tab.c"
break;
case 57: /* "ignorepat" */
-#line 157 "ael.y"
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
@@ -1294,7 +1294,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
#line 1295 "ael.tab.c"
break;
case 58: /* "extension" */
-#line 157 "ael.y"
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
@@ -1302,7 +1302,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
#line 1303 "ael.tab.c"
break;
case 59: /* "statements" */
-#line 157 "ael.y"
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
@@ -1310,12 +1310,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
#line 1311 "ael.tab.c"
break;
case 60: /* "timerange" */
-#line 170 "ael.y"
+#line 171 "ael.y"
{ free((yyvaluep->str));};
#line 1316 "ael.tab.c"
break;
case 61: /* "timespec" */
-#line 157 "ael.y"
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
@@ -1323,12 +1323,12 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
#line 1324 "ael.tab.c"
break;
case 62: /* "test_expr" */
-#line 170 "ael.y"
+#line 171 "ael.y"
{ free((yyvaluep->str));};
#line 1329 "ael.tab.c"
break;
case 64: /* "if_like_head" */
-#line 157 "ael.y"
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
@@ -1336,22 +1336,22 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
#line 1337 "ael.tab.c"
break;
case 65: /* "word_list" */
-#line 170 "ael.y"
+#line 171 "ael.y"
{ free((yyvaluep->str));};
#line 1342 "ael.tab.c"
break;
case 66: /* "word3_list" */
-#line 170 "ael.y"
+#line 171 "ael.y"
{ free((yyvaluep->str));};
#line 1347 "ael.tab.c"
break;
case 67: /* "goto_word" */
-#line 170 "ael.y"
+#line 171 "ael.y"
{ free((yyvaluep->str));};
#line 1352 "ael.tab.c"
break;
case 68: /* "switch_statement" */
-#line 157 "ael.y"
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
@@ -1359,7 +1359,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
#line 1360 "ael.tab.c"
break;
case 69: /* "statement" */
-#line 157 "ael.y"
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
@@ -1367,7 +1367,7 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
#line 1368 "ael.tab.c"
break;
case 74: /* "opt_else" */
-#line 157 "ael.y"
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
@@ -1375,137 +1375,142 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
#line 1376 "ael.tab.c"
break;
case 75: /* "target" */
-#line 157 "ael.y"
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
#line 1384 "ael.tab.c"
break;
- case 76: /* "jumptarget" */
-#line 157 "ael.y"
+ case 76: /* "opt_pri" */
+#line 171 "ael.y"
+ { free((yyvaluep->str));};
+#line 1389 "ael.tab.c"
+ break;
+ case 77: /* "jumptarget" */
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1392 "ael.tab.c"
+#line 1397 "ael.tab.c"
break;
- case 77: /* "macro_call" */
-#line 157 "ael.y"
+ case 78: /* "macro_call" */
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1400 "ael.tab.c"
+#line 1405 "ael.tab.c"
break;
- case 79: /* "application_call_head" */
-#line 157 "ael.y"
+ case 80: /* "application_call_head" */
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1408 "ael.tab.c"
+#line 1413 "ael.tab.c"
break;
- case 81: /* "application_call" */
-#line 157 "ael.y"
+ case 82: /* "application_call" */
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1416 "ael.tab.c"
+#line 1421 "ael.tab.c"
break;
- case 82: /* "opt_word" */
-#line 170 "ael.y"
+ case 83: /* "opt_word" */
+#line 171 "ael.y"
{ free((yyvaluep->str));};
-#line 1421 "ael.tab.c"
+#line 1426 "ael.tab.c"
break;
- case 83: /* "eval_arglist" */
-#line 157 "ael.y"
+ case 84: /* "eval_arglist" */
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1429 "ael.tab.c"
+#line 1434 "ael.tab.c"
break;
- case 84: /* "case_statements" */
-#line 157 "ael.y"
+ case 85: /* "case_statements" */
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1437 "ael.tab.c"
+#line 1442 "ael.tab.c"
break;
- case 85: /* "case_statement" */
-#line 157 "ael.y"
+ case 86: /* "case_statement" */
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1445 "ael.tab.c"
+#line 1450 "ael.tab.c"
break;
- case 86: /* "macro_statements" */
-#line 157 "ael.y"
+ case 87: /* "macro_statements" */
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1453 "ael.tab.c"
+#line 1458 "ael.tab.c"
break;
- case 87: /* "macro_statement" */
-#line 157 "ael.y"
+ case 88: /* "macro_statement" */
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1461 "ael.tab.c"
+#line 1466 "ael.tab.c"
break;
- case 88: /* "switches" */
-#line 157 "ael.y"
+ case 89: /* "switches" */
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1469 "ael.tab.c"
+#line 1474 "ael.tab.c"
break;
- case 89: /* "eswitches" */
-#line 157 "ael.y"
+ case 90: /* "eswitches" */
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1477 "ael.tab.c"
+#line 1482 "ael.tab.c"
break;
- case 90: /* "switchlist" */
-#line 157 "ael.y"
+ case 91: /* "switchlist" */
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1485 "ael.tab.c"
+#line 1490 "ael.tab.c"
break;
- case 91: /* "included_entry" */
-#line 157 "ael.y"
+ case 92: /* "included_entry" */
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1493 "ael.tab.c"
+#line 1498 "ael.tab.c"
break;
- case 92: /* "includeslist" */
-#line 157 "ael.y"
+ case 93: /* "includeslist" */
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1501 "ael.tab.c"
+#line 1506 "ael.tab.c"
break;
- case 93: /* "includes" */
-#line 157 "ael.y"
+ case 94: /* "includes" */
+#line 158 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1509 "ael.tab.c"
+#line 1514 "ael.tab.c"
break;
default:
@@ -1822,57 +1827,57 @@ yyreduce:
switch (yyn)
{
case 2:
-#line 177 "ael.y"
+#line 179 "ael.y"
{ (yyval.pval) = parseio->pval = (yyvsp[0].pval); ;}
break;
case 3:
-#line 180 "ael.y"
+#line 182 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 4:
-#line 181 "ael.y"
+#line 183 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
break;
case 5:
-#line 182 "ael.y"
+#line 184 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
case 6:
-#line 185 "ael.y"
+#line 187 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 7:
-#line 186 "ael.y"
+#line 188 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 8:
-#line 187 "ael.y"
+#line 189 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 9:
-#line 188 "ael.y"
+#line 190 "ael.y"
{(yyval.pval)=0;/* allow older docs to be read */;}
break;
case 10:
-#line 191 "ael.y"
+#line 193 "ael.y"
{ (yyval.str) = (yyvsp[0].str); ;}
break;
case 11:
-#line 192 "ael.y"
+#line 194 "ael.y"
{ (yyval.str) = strdup("default"); ;}
break;
case 12:
-#line 195 "ael.y"
+#line 197 "ael.y"
{
(yyval.pval) = npval2(PV_CONTEXT, &(yylsp[-5]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-3].str);
@@ -1881,51 +1886,51 @@ yyreduce:
break;
case 13:
-#line 203 "ael.y"
+#line 205 "ael.y"
{ (yyval.intval) = 1; ;}
break;
case 14:
-#line 204 "ael.y"
+#line 206 "ael.y"
{ (yyval.intval) = 0; ;}
break;
case 15:
-#line 207 "ael.y"
+#line 209 "ael.y"
{
(yyval.pval) = npval2(PV_MACRO, &(yylsp[-7]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-6].str); (yyval.pval)->u2.arglist = (yyvsp[-4].pval); (yyval.pval)->u3.macro_statements = (yyvsp[-1].pval); ;}
break;
case 16:
-#line 212 "ael.y"
+#line 214 "ael.y"
{
(yyval.pval) = npval2(PV_GLOBALS, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.statements = (yyvsp[-1].pval);;}
break;
case 17:
-#line 217 "ael.y"
+#line 219 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
case 18:
-#line 218 "ael.y"
+#line 220 "ael.y"
{(yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
break;
case 19:
-#line 219 "ael.y"
+#line 221 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
case 20:
-#line 222 "ael.y"
+#line 224 "ael.y"
{ reset_semicount(parseio->scanner); ;}
break;
case 21:
-#line 222 "ael.y"
+#line 224 "ael.y"
{
(yyval.pval) = npval2(PV_VARDEC, &(yylsp[-4]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-4].str);
@@ -1933,89 +1938,89 @@ yyreduce:
break;
case 22:
-#line 229 "ael.y"
+#line 231 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
case 23:
-#line 230 "ael.y"
+#line 232 "ael.y"
{ (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;}
break;
case 24:
-#line 231 "ael.y"
+#line 233 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[0].str), &(yylsp[0]))); ;}
break;
case 25:
-#line 232 "ael.y"
+#line 234 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
case 26:
-#line 235 "ael.y"
+#line 237 "ael.y"
{(yyval.pval)=0;;}
break;
case 27:
-#line 236 "ael.y"
+#line 238 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
break;
case 28:
-#line 237 "ael.y"
+#line 239 "ael.y"
{ (yyval.pval)=(yyvsp[-1].pval);;}
break;
case 29:
-#line 240 "ael.y"
+#line 242 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 30:
-#line 241 "ael.y"
+#line 243 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 31:
-#line 242 "ael.y"
+#line 244 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 32:
-#line 243 "ael.y"
+#line 245 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 33:
-#line 244 "ael.y"
+#line 246 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 34:
-#line 245 "ael.y"
+#line 247 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 35:
-#line 246 "ael.y"
+#line 248 "ael.y"
{free((yyvsp[-1].str)); (yyval.pval)=0;;}
break;
case 36:
-#line 247 "ael.y"
+#line 249 "ael.y"
{(yyval.pval)=0;/* allow older docs to be read */;}
break;
case 37:
-#line 250 "ael.y"
+#line 252 "ael.y"
{
(yyval.pval) = npval2(PV_IGNOREPAT, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);;}
break;
case 38:
-#line 255 "ael.y"
+#line 257 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2023,7 +2028,7 @@ yyreduce:
break;
case 39:
-#line 259 "ael.y"
+#line 261 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2032,7 +2037,7 @@ yyreduce:
break;
case 40:
-#line 264 "ael.y"
+#line 266 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-6]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2041,7 +2046,7 @@ yyreduce:
break;
case 41:
-#line 269 "ael.y"
+#line 271 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[-7]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2051,22 +2056,22 @@ yyreduce:
break;
case 42:
-#line 279 "ael.y"
+#line 281 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
case 43:
-#line 280 "ael.y"
+#line 282 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
break;
case 44:
-#line 281 "ael.y"
+#line 283 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
case 45:
-#line 287 "ael.y"
+#line 289 "ael.y"
{
asprintf(&(yyval.str), "%s:%s:%s", (yyvsp[-4].str), (yyvsp[-2].str), (yyvsp[0].str));
free((yyvsp[-4].str));
@@ -2075,12 +2080,12 @@ yyreduce:
break;
case 46:
-#line 292 "ael.y"
+#line 294 "ael.y"
{ (yyval.str) = (yyvsp[0].str); ;}
break;
case 47:
-#line 296 "ael.y"
+#line 298 "ael.y"
{
(yyval.pval) = nword((yyvsp[-6].str), &(yylsp[-6]));
(yyval.pval)->next = nword((yyvsp[-4].str), &(yylsp[-4]));
@@ -2089,32 +2094,31 @@ yyreduce:
break;
case 48:
-#line 304 "ael.y"
+#line 306 "ael.y"
{ reset_parencount(parseio->scanner); ;}
break;
case 49:
-#line 304 "ael.y"
- {
- (yyval.str) = (yyvsp[-1].str); ;}
+#line 306 "ael.y"
+ { (yyval.str) = (yyvsp[-1].str); ;}
break;
case 50:
-#line 309 "ael.y"
+#line 310 "ael.y"
{
(yyval.pval)= npval2(PV_IF, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[0].str); ;}
break;
case 51:
-#line 312 "ael.y"
+#line 313 "ael.y"
{
(yyval.pval) = npval2(PV_RANDOM, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.str=(yyvsp[0].str);;}
break;
case 52:
-#line 315 "ael.y"
+#line 316 "ael.y"
{
(yyval.pval) = npval2(PV_IFTIME, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[-1].pval);
@@ -2122,12 +2126,12 @@ yyreduce:
break;
case 53:
-#line 326 "ael.y"
+#line 327 "ael.y"
{ (yyval.str) = (yyvsp[0].str);;}
break;
case 54:
-#line 327 "ael.y"
+#line 328 "ael.y"
{
asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
free((yyvsp[-1].str));
@@ -2136,12 +2140,12 @@ yyreduce:
break;
case 55:
-#line 334 "ael.y"
+#line 335 "ael.y"
{ (yyval.str) = (yyvsp[0].str);;}
break;
case 56:
-#line 335 "ael.y"
+#line 336 "ael.y"
{
asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
free((yyvsp[-1].str));
@@ -2150,7 +2154,7 @@ yyreduce:
break;
case 57:
-#line 340 "ael.y"
+#line 341 "ael.y"
{
asprintf(&((yyval.str)), "%s%s%s", (yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str));
free((yyvsp[-2].str));
@@ -2160,12 +2164,12 @@ yyreduce:
break;
case 58:
-#line 348 "ael.y"
+#line 349 "ael.y"
{ (yyval.str) = (yyvsp[0].str);;}
break;
case 59:
-#line 349 "ael.y"
+#line 350 "ael.y"
{
asprintf(&((yyval.str)), "%s%s", (yyvsp[-1].str), (yyvsp[0].str));
free((yyvsp[-1].str));
@@ -2173,7 +2177,7 @@ yyreduce:
break;
case 60:
-#line 353 "ael.y"
+#line 354 "ael.y"
{
asprintf(&((yyval.str)), "%s:%s", (yyvsp[-2].str), (yyvsp[0].str));
free((yyvsp[-2].str));
@@ -2181,7 +2185,7 @@ yyreduce:
break;
case 61:
-#line 359 "ael.y"
+#line 360 "ael.y"
{
(yyval.pval) = npval2(PV_SWITCH, &(yylsp[-4]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-3].str);
@@ -2189,55 +2193,55 @@ yyreduce:
break;
case 62:
-#line 368 "ael.y"
+#line 369 "ael.y"
{
(yyval.pval) = npval2(PV_STATEMENTBLOCK, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[-1].pval); ;}
break;
case 63:
-#line 371 "ael.y"
+#line 372 "ael.y"
{ (yyval.pval) = (yyvsp[0].pval); ;}
break;
case 64:
-#line 372 "ael.y"
+#line 373 "ael.y"
{
(yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[-1].pval);;}
break;
case 65:
-#line 375 "ael.y"
+#line 376 "ael.y"
{
(yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[-1].pval);;}
break;
case 66:
-#line 378 "ael.y"
+#line 379 "ael.y"
{
(yyval.pval) = npval2(PV_LABEL, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str); ;}
break;
case 67:
-#line 381 "ael.y"
+#line 382 "ael.y"
{reset_semicount(parseio->scanner);;}
break;
case 68:
-#line 382 "ael.y"
+#line 383 "ael.y"
{reset_semicount(parseio->scanner);;}
break;
case 69:
-#line 383 "ael.y"
+#line 384 "ael.y"
{reset_parencount(parseio->scanner);;}
break;
case 70:
-#line 383 "ael.y"
+#line 384 "ael.y"
{ /* XXX word_list maybe ? */
(yyval.pval) = npval2(PV_FOR, &(yylsp[-11]), &(yylsp[0]));
(yyval.pval)->u1.for_init = (yyvsp[-8].str);
@@ -2247,7 +2251,7 @@ yyreduce:
break;
case 71:
-#line 389 "ael.y"
+#line 390 "ael.y"
{
(yyval.pval) = npval2(PV_WHILE, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);
@@ -2255,36 +2259,34 @@ yyreduce:
break;
case 72:
-#line 393 "ael.y"
+#line 394 "ael.y"
{ (yyval.pval) = (yyvsp[0].pval); ;}
break;
case 73:
-#line 394 "ael.y"
- {
- (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[-1])); ;}
+#line 395 "ael.y"
+ { (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[-1])); ;}
break;
case 74:
#line 396 "ael.y"
- {
- (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;}
+ { (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;}
break;
case 75:
-#line 398 "ael.y"
+#line 397 "ael.y"
{
(yyval.pval)= npval2(PV_APPLICATION_CALL, &(yylsp[-1]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-1].str);;}
break;
case 76:
-#line 401 "ael.y"
+#line 400 "ael.y"
{reset_semicount(parseio->scanner);;}
break;
case 77:
-#line 401 "ael.y"
+#line 400 "ael.y"
{
char *bufx;
int tot=0;
@@ -2321,22 +2323,22 @@ yyreduce:
break;
case 78:
-#line 434 "ael.y"
+#line 433 "ael.y"
{ (yyval.pval) = npval2(PV_BREAK, &(yylsp[-1]), &(yylsp[0])); ;}
break;
case 79:
-#line 435 "ael.y"
+#line 434 "ael.y"
{ (yyval.pval) = npval2(PV_RETURN, &(yylsp[-1]), &(yylsp[0])); ;}
break;
case 80:
-#line 436 "ael.y"
+#line 435 "ael.y"
{ (yyval.pval) = npval2(PV_CONTINUE, &(yylsp[-1]), &(yylsp[0])); ;}
break;
case 81:
-#line 437 "ael.y"
+#line 436 "ael.y"
{
(yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[-1]));
(yyval.pval)->u2.statements = (yyvsp[-1].pval);
@@ -2344,41 +2346,41 @@ yyreduce:
break;
case 82:
-#line 441 "ael.y"
+#line 440 "ael.y"
{ (yyval.pval)=0; ;}
break;
case 83:
-#line 444 "ael.y"
+#line 443 "ael.y"
{ (yyval.pval) = (yyvsp[0].pval); ;}
break;
case 84:
-#line 445 "ael.y"
+#line 444 "ael.y"
{ (yyval.pval) = NULL ; ;}
break;
case 85:
-#line 450 "ael.y"
+#line 449 "ael.y"
{ (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;}
break;
case 86:
-#line 451 "ael.y"
+#line 450 "ael.y"
{
(yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
(yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
break;
case 87:
-#line 454 "ael.y"
+#line 453 "ael.y"
{
(yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
(yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
break;
case 88:
-#line 457 "ael.y"
+#line 456 "ael.y"
{
(yyval.pval) = nword((yyvsp[-4].str), &(yylsp[-4]));
(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
@@ -2386,7 +2388,7 @@ yyreduce:
break;
case 89:
-#line 461 "ael.y"
+#line 460 "ael.y"
{
(yyval.pval) = nword((yyvsp[-4].str), &(yylsp[-4]));
(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
@@ -2394,7 +2396,7 @@ yyreduce:
break;
case 90:
-#line 465 "ael.y"
+#line 464 "ael.y"
{
(yyval.pval) = nword(strdup("default"), &(yylsp[-4]));
(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
@@ -2402,7 +2404,7 @@ yyreduce:
break;
case 91:
-#line 469 "ael.y"
+#line 468 "ael.y"
{
(yyval.pval) = nword(strdup("default"), &(yylsp[-4]));
(yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
@@ -2410,42 +2412,37 @@ yyreduce:
break;
case 92:
-#line 476 "ael.y"
- { /* ext, 1 */
- (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0]));
- (yyval.pval)->next = nword(strdup("1"), &(yylsp[0])); ;}
+#line 474 "ael.y"
+ { (yyval.str) = strdup("1"); ;}
break;
case 93:
+#line 475 "ael.y"
+ { (yyval.str) = (yyvsp[0].str); ;}
+ break;
+
+ case 94:
#line 479 "ael.y"
- { /* ext, pri */
- (yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
+ { /* ext[, pri] default 1 */
+ (yyval.pval) = nword((yyvsp[-1].str), &(yylsp[-1]));
(yyval.pval)->next = nword((yyvsp[0].str), &(yylsp[0])); ;}
break;
- case 94:
+ case 95:
#line 482 "ael.y"
{ /* context, ext, pri */
(yyval.pval) = nword((yyvsp[0].str), &(yylsp[0]));
- (yyval.pval)->next = nword((yyvsp[-4].str), &(yylsp[-4]));
+ (yyval.pval)->next = nword((yyvsp[-3].str), &(yylsp[-3]));
(yyval.pval)->next->next = nword((yyvsp[-2].str), &(yylsp[-2])); ;}
break;
- case 95:
-#line 486 "ael.y"
- { /* context, ext, 1 */
- (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0]));
- (yyval.pval)->next = nword((yyvsp[-2].str), &(yylsp[-2]));
- (yyval.pval)->next->next = nword(strdup("1"), &(yylsp[0])); ;}
- break;
-
case 96:
-#line 492 "ael.y"
+#line 488 "ael.y"
{reset_argcount(parseio->scanner);;}
break;
case 97:
-#line 492 "ael.y"
+#line 488 "ael.y"
{
/* XXX original code had @2 but i think we need @5 */
(yyval.pval) = npval2(PV_MACRO_CALL, &(yylsp[-4]), &(yylsp[0]));
@@ -2454,19 +2451,19 @@ yyreduce:
break;
case 98:
-#line 497 "ael.y"
+#line 493 "ael.y"
{
(yyval.pval)= npval2(PV_MACRO_CALL, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-2].str); ;}
break;
case 99:
-#line 505 "ael.y"
+#line 501 "ael.y"
{reset_argcount(parseio->scanner);;}
break;
case 100:
-#line 505 "ael.y"
+#line 501 "ael.y"
{
if (strcasecmp((yyvsp[-2].str),"goto") == 0) {
(yyval.pval) = npval2(PV_GOTO, &(yylsp[-2]), &(yylsp[-1]));
@@ -2479,7 +2476,7 @@ yyreduce:
break;
case 101:
-#line 516 "ael.y"
+#line 512 "ael.y"
{
(yyval.pval) = update_last((yyvsp[-2].pval), &(yylsp[0]));
if( (yyval.pval)->type == PV_GOTO )
@@ -2490,49 +2487,49 @@ yyreduce:
break;
case 102:
-#line 523 "ael.y"
+#line 519 "ael.y"
{ (yyval.pval) = update_last((yyvsp[-1].pval), &(yylsp[0])); ;}
break;
case 103:
-#line 526 "ael.y"
+#line 522 "ael.y"
{ (yyval.str) = (yyvsp[0].str) ;}
break;
case 104:
-#line 527 "ael.y"
+#line 523 "ael.y"
{ (yyval.str) = strdup(""); ;}
break;
case 105:
-#line 530 "ael.y"
+#line 526 "ael.y"
{ (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;}
break;
case 106:
-#line 531 "ael.y"
+#line 527 "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 107:
-#line 534 "ael.y"
+#line 530 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-2].pval), nword((yyvsp[0].str), &(yylsp[0]))); ;}
break;
case 108:
-#line 537 "ael.y"
+#line 533 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
case 109:
-#line 538 "ael.y"
+#line 534 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
break;
case 110:
-#line 541 "ael.y"
+#line 537 "ael.y"
{
(yyval.pval) = npval2(PV_CASE, &(yylsp[-3]), &(yylsp[-1])); /* XXX 3 or 4 ? */
(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2540,7 +2537,7 @@ yyreduce:
break;
case 111:
-#line 545 "ael.y"
+#line 541 "ael.y"
{
(yyval.pval) = npval2(PV_DEFAULT, &(yylsp[-2]), &(yylsp[0]));
(yyval.pval)->u1.str = NULL;
@@ -2548,7 +2545,7 @@ yyreduce:
break;
case 112:
-#line 549 "ael.y"
+#line 545 "ael.y"
{
(yyval.pval) = npval2(PV_PATTERN, &(yylsp[-3]), &(yylsp[0])); /* XXX@3 or @4 ? */
(yyval.pval)->u1.str = (yyvsp[-2].str);
@@ -2556,22 +2553,22 @@ yyreduce:
break;
case 113:
-#line 555 "ael.y"
+#line 551 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
case 114:
-#line 556 "ael.y"
+#line 552 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-1].pval), (yyvsp[0].pval)); ;}
break;
case 115:
-#line 559 "ael.y"
+#line 555 "ael.y"
{(yyval.pval)=(yyvsp[0].pval);;}
break;
case 116:
-#line 560 "ael.y"
+#line 556 "ael.y"
{
(yyval.pval) = npval2(PV_CATCH, &(yylsp[-4]), &(yylsp[0]));
(yyval.pval)->u1.str = (yyvsp[-3].str);
@@ -2579,41 +2576,41 @@ yyreduce:
break;
case 117:
-#line 566 "ael.y"
+#line 562 "ael.y"
{
(yyval.pval) = npval2(PV_SWITCHES, &(yylsp[-3]), &(yylsp[-2]));
(yyval.pval)->u1.list = (yyvsp[-1].pval); ;}
break;
case 118:
-#line 571 "ael.y"
+#line 567 "ael.y"
{
(yyval.pval) = npval2(PV_ESWITCHES, &(yylsp[-3]), &(yylsp[-2]));
(yyval.pval)->u1.list = (yyvsp[-1].pval); ;}
break;
case 119:
-#line 576 "ael.y"
+#line 572 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
case 120:
-#line 577 "ael.y"
+#line 573 "ael.y"
{ (yyval.pval) = linku1(nword((yyvsp[-2].str), &(yylsp[-2])), (yyvsp[0].pval)); ;}
break;
case 121:
-#line 578 "ael.y"
+#line 574 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
case 122:
-#line 581 "ael.y"
+#line 577 "ael.y"
{ (yyval.pval) = nword((yyvsp[0].str), &(yylsp[0])); ;}
break;
case 123:
-#line 582 "ael.y"
+#line 578 "ael.y"
{
(yyval.pval) = nword((yyvsp[-2].str), &(yylsp[-2]));
(yyval.pval)->u2.arglist = (yyvsp[0].pval);
@@ -2621,29 +2618,29 @@ yyreduce:
break;
case 124:
-#line 589 "ael.y"
+#line 585 "ael.y"
{ (yyval.pval) = (yyvsp[-1].pval); ;}
break;
case 125:
-#line 590 "ael.y"
+#line 586 "ael.y"
{ (yyval.pval) = linku1((yyvsp[-2].pval), (yyvsp[-1].pval)); ;}
break;
case 126:
-#line 591 "ael.y"
+#line 587 "ael.y"
{(yyval.pval)=(yyvsp[-1].pval);;}
break;
case 127:
-#line 594 "ael.y"
+#line 590 "ael.y"
{
(yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-3]), &(yylsp[0]));
(yyval.pval)->u1.list = (yyvsp[-1].pval);;}
break;
case 128:
-#line 597 "ael.y"
+#line 593 "ael.y"
{
(yyval.pval) = npval2(PV_INCLUDES, &(yylsp[-2]), &(yylsp[0]));;}
break;
@@ -2653,7 +2650,7 @@ yyreduce:
}
/* Line 1126 of yacc.c. */
-#line 2657 "ael.tab.c"
+#line 2654 "ael.tab.c"
yyvsp -= yylen;
yyssp -= yylen;
@@ -2928,7 +2925,7 @@ yyreturn:
}
-#line 602 "ael.y"
+#line 598 "ael.y"
static char *token_equivs1[] =
diff --git a/pbx/ael/ael.y b/pbx/ael/ael.y
index 75cffb053..1b129f80b 100644
--- a/pbx/ael/ael.y
+++ b/pbx/ael/ael.y
@@ -128,6 +128,7 @@ static pval *update_last(pval *, YYLTYPE *);
%type <str>word_list
%type <str>word3_list
%type <str>test_expr
+%type <str>opt_pri
%type <intval>opt_abstract
@@ -170,6 +171,7 @@ static pval *update_last(pval *, YYLTYPE *);
%destructor { free($$);} word word_list goto_word word3_list opt_word context_name
timerange
test_expr
+ opt_pri
%%
@@ -301,8 +303,7 @@ timespec : timerange BAR word3_list BAR word3_list BAR word3_list {
;
/* expression used in if, random, while, switch */
-test_expr : LP { reset_parencount(parseio->scanner); } word_list RP {
- $$ = $3; }
+test_expr : LP { reset_parencount(parseio->scanner); } word_list RP { $$ = $3; }
;
/* 'if' like statements: if, iftime, random */
@@ -391,10 +392,8 @@ statement : LC statements RC {
$$->u1.str = $2;
$$->u2.statements = $3; }
| switch_statement { $$ = $1; }
- | AMPER macro_call SEMI {
- $$ = update_last($2, &@2); }
- | application_call SEMI {
- $$ = update_last($1, &@2); }
+ | AMPER macro_call SEMI { $$ = update_last($2, &@2); }
+ | application_call SEMI { $$ = update_last($1, &@2); }
| word SEMI {
$$= npval2(PV_APPLICATION_CALL, &@1, &@2);
$$->u1.str = $1;}
@@ -472,21 +471,18 @@ target : goto_word { $$ = nword($1, &@1); }
$$->next->next = nword($5, &@5); }
;
+opt_pri : /* empty */ { $$ = strdup("1"); }
+ | COMMA word { $$ = $2; }
+ ;
+
/* XXX please document the form of jumptarget */
-jumptarget : goto_word { /* ext, 1 */
- $$ = nword($1, &@1);
- $$->next = nword(strdup("1"), &@1); } /* jump extension[,priority][@context] */
- | goto_word COMMA word { /* ext, pri */
+jumptarget : goto_word opt_pri { /* ext[, pri] default 1 */
$$ = nword($1, &@1);
- $$->next = nword($3, &@3); }
- | goto_word COMMA word AT context_name { /* context, ext, pri */
- $$ = nword($5, &@5);
- $$->next = nword($1, &@1);
- $$->next->next = nword($3, &@3); }
- | goto_word AT context_name { /* context, ext, 1 */
- $$ = nword($3, &@3);
+ $$->next = nword($2, &@2); } /* jump extension[,priority][@context] */
+ | goto_word opt_pri AT context_name { /* context, ext, pri */
+ $$ = nword($4, &@4);
$$->next = nword($1, &@1);
- $$->next->next = nword(strdup("1"), &@3); }
+ $$->next->next = nword($2, &@2); }
;
macro_call : word LP {reset_argcount(parseio->scanner);} eval_arglist RP {