recursive call depths of 100,000 without problems.
-- in addition to this, all apps that allowed a macro
to be called, as in Dial, queues, etc, are now allowing
- a gosub call in similar fashion also.
+ a gosub call in similar fashion.
+ * AEL now generates LOCAL(argname) declarations when it
+ Set()'s the each arg name to the value of ${ARG1}, ${ARG2),
+ etc. That makes the arguments local in scope. The user
+ can define their own local variables in macros, now,
+ by saying "local myvar=someval;" or using Set() in this
+ fashion: Set(LOCAL(myvar)=someval); ("local" is now
+ an AEL keyword).
* Ability to use libcap to set high ToS bits when non-root
on Linux. If configure is unable to find libcap then you
can use --with-cap to specify the path.
\item random
\item goto
\item jump
+ \item local
\item return
\item break
\item continue
| <eswitches>
| <ignorepat>
| <word> '=' <collected-word> ';'
+ | 'local' <word> '=' <collected-word> ';'
| ';'
<statement> :== '{' <statements> '}'
| <word> '=' <collected-word> ';'
+ | 'local' <word> '=' <collected-word> ';'
| 'goto' <target> ';'
| 'jump' <jumptarget> ';'
| <word> ':'
}
\end{verbatim}
+You can declare variables in Macros, as so:
+
+\begin{verbatim}
+Macro myroutine(firstarg, secondarg)
+{
+ Myvar=1;
+ NoOp(Myvar is set to ${myvar});
+}
+\end{verbatim}
+
+\subsection{Local Variables}
+
+In 1.2, and 1.4, ALL VARIABLES are CHANNEL variables, including the function
+arguments and associated ARG1, ARG2, etc variables. Sorry.
+
+In trunk (1.6 and higher), we have made all arguments local variables to
+a macro call. They will not affect channel variables of the same name.
+This includes the ARG1, ARG2, etc variables.
+
+Users can declare their own local variables by using the keyword 'local'
+before setting them to a value;
+
+\begin{verbatim}
+Macro myroutine(firstarg, secondarg)
+{
+ local Myvar=1;
+ NoOp(Myvar is set to ${Myvar}, and firstarg is ${firstarg}, and secondarg is ${secondarg});
+}
+\end{verbatim}
+
+In the above example, Myvar, firstarg, and secondarg are all local variables,
+and will not be visible to the calling code, be it an extension, or another Macro.
+
+If you need to make a local variable within the Set() application, you can do it this way:
+
+\begin{verbatim}
+Macro myroutine(firstarg, secondarg)
+{
+ Set(LOCAL(Myvar)=1);
+ NoOp(Myvar is set to ${Myvar}, and firstarg is ${firstarg}, and secondarg is ${secondarg});
+}
+\end{verbatim}
+
\subsection{Loops}
PV_EXTENSION, /* 25 */
PV_IGNOREPAT, /* 26 */
PV_GLOBALS, /* 27 */
+ PV_LOCALVARDEC, /* you know, local var=val; */ /* 28 */
} pvaltype;
abstract { STORE_POS; return KW_ABSTRACT;}
macro { STORE_POS; return KW_MACRO;};
globals { STORE_POS; return KW_GLOBALS;}
+local { STORE_POS; return KW_LOCAL;}
ignorepat { STORE_POS; return KW_IGNOREPAT;}
switch { STORE_POS; return KW_SWITCH;}
if { STORE_POS; return KW_IF;}
KW_SWITCHES = 293,
KW_ESWITCHES = 294,
KW_INCLUDES = 295,
- word = 296
+ KW_LOCAL = 296,
+ word = 297
};
#endif
/* Tokens. */
#define KW_SWITCHES 293
#define KW_ESWITCHES 294
#define KW_INCLUDES 295
-#define word 296
+#define KW_LOCAL 296
+#define word 297
struct pval *pval; /* full objects */
}
/* Line 198 of yacc.c. */
-#line 234 "ael.tab.c"
+#line 236 "ael.tab.c"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
/* Line 221 of yacc.c. */
-#line 279 "ael.tab.c"
+#line 281 "ael.tab.c"
#ifdef short
# undef short
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 14
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 350
+#define YYLAST 300
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 42
+#define YYNTOKENS 43
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 54
+#define YYNNTS 56
/* YYNRULES -- Number of rules. */
-#define YYNRULES 133
+#define YYNRULES 137
/* YYNRULES -- Number of states. */
-#define YYNSTATES 267
+#define YYNSTATES 275
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 296
+#define YYMAXUTOK 297
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41
+ 35, 36, 37, 38, 39, 40, 41, 42
};
#if YYDEBUG
{
0, 0, 3, 5, 7, 10, 13, 15, 17, 19,
21, 23, 25, 32, 34, 35, 44, 49, 50, 53,
- 56, 57, 63, 64, 66, 70, 73, 74, 77, 80,
- 82, 84, 86, 88, 90, 92, 95, 97, 102, 106,
- 111, 119, 128, 129, 132, 135, 141, 143, 151, 152,
- 157, 160, 163, 168, 170, 173, 175, 178, 182, 184,
- 187, 191, 193, 196, 200, 206, 210, 212, 216, 220,
- 223, 224, 225, 226, 239, 243, 245, 249, 252, 255,
- 256, 262, 265, 268, 271, 275, 277, 280, 281, 283,
- 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,
- 386, 392, 397, 402, 403, 407, 413, 416, 418, 422,
- 425, 429, 432, 437
+ 56, 57, 63, 64, 71, 72, 74, 78, 81, 82,
+ 85, 88, 90, 92, 94, 96, 98, 100, 102, 105,
+ 107, 112, 116, 121, 129, 138, 139, 142, 145, 151,
+ 153, 161, 162, 167, 170, 173, 178, 180, 183, 185,
+ 188, 192, 194, 197, 201, 203, 206, 210, 216, 220,
+ 222, 224, 228, 232, 235, 236, 237, 238, 251, 255,
+ 257, 261, 264, 267, 268, 274, 277, 280, 283, 287,
+ 289, 292, 293, 295, 299, 303, 309, 315, 321, 327,
+ 328, 331, 334, 339, 340, 346, 350, 351, 355, 359,
+ 362, 364, 365, 367, 368, 372, 373, 376, 381, 385,
+ 390, 391, 394, 396, 398, 404, 409, 414, 415, 419,
+ 425, 428, 430, 434, 437, 441, 444, 449
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int8 yyrhs[] =
{
- 43, 0, -1, 44, -1, 45, -1, 44, 45, -1,
- 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, 88, 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, 95, -1, 90, -1, 91, -1, 57, -1,
- 52, -1, 41, 1, -1, 8, -1, 17, 24, 41,
- 8, -1, 41, 24, 70, -1, 30, 41, 24, 70,
- -1, 31, 6, 66, 7, 41, 24, 70, -1, 30,
- 31, 6, 66, 7, 41, 24, 70, -1, -1, 70,
- 59, -1, 59, 1, -1, 67, 11, 67, 11, 67,
- -1, 41, -1, 60, 13, 67, 13, 67, 13, 67,
- -1, -1, 6, 63, 65, 7, -1, 19, 62, -1,
- 22, 62, -1, 20, 6, 61, 7, -1, 41, -1,
- 41, 41, -1, 41, -1, 66, 41, -1, 66, 12,
- 41, -1, 41, -1, 41, 41, -1, 41, 41, 41,
- -1, 41, -1, 41, 41, -1, 68, 11, 41, -1,
- 18, 62, 4, 86, 5, -1, 4, 59, 5, -1,
- 52, -1, 25, 76, 8, -1, 26, 78, 8, -1,
- 41, 11, -1, -1, -1, -1, 32, 6, 71, 41,
- 8, 72, 41, 8, 73, 41, 7, 70, -1, 33,
- 62, 70, -1, 69, -1, 12, 79, 8, -1, 83,
- 8, -1, 41, 8, -1, -1, 83, 9, 74, 41,
- 8, -1, 28, 8, -1, 27, 8, -1, 29, 8,
- -1, 64, 70, 75, -1, 8, -1, 21, 70, -1,
- -1, 68, -1, 68, 13, 68, -1, 68, 10, 68,
- -1, 68, 13, 68, 13, 68, -1, 68, 10, 68,
- 10, 68, -1, 36, 13, 68, 13, 68, -1, 36,
- 10, 68, 10, 68, -1, -1, 10, 41, -1, 68,
- 77, -1, 68, 77, 14, 46, -1, -1, 41, 6,
- 80, 85, 7, -1, 41, 6, 7, -1, -1, 41,
- 6, 82, -1, 81, 85, 7, -1, 81, 7, -1,
- 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, 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
+ 44, 0, -1, 45, -1, 46, -1, 45, 46, -1,
+ 45, 1, -1, 48, -1, 50, -1, 51, -1, 8,
+ -1, 42, -1, 36, -1, 49, 3, 47, 4, 58,
+ 5, -1, 23, -1, -1, 15, 42, 6, 57, 7,
+ 4, 91, 5, -1, 16, 4, 52, 5, -1, -1,
+ 53, 52, -1, 52, 1, -1, -1, 42, 9, 54,
+ 42, 8, -1, -1, 41, 42, 9, 56, 42, 8,
+ -1, -1, 42, -1, 57, 10, 42, -1, 57, 1,
+ -1, -1, 59, 58, -1, 58, 1, -1, 61, -1,
+ 98, -1, 93, -1, 94, -1, 60, -1, 53, -1,
+ 55, -1, 42, 1, -1, 8, -1, 17, 24, 42,
+ 8, -1, 42, 24, 73, -1, 30, 42, 24, 73,
+ -1, 31, 6, 69, 7, 42, 24, 73, -1, 30,
+ 31, 6, 69, 7, 42, 24, 73, -1, -1, 73,
+ 62, -1, 62, 1, -1, 70, 11, 70, 11, 70,
+ -1, 42, -1, 63, 13, 70, 13, 70, 13, 70,
+ -1, -1, 6, 66, 68, 7, -1, 19, 65, -1,
+ 22, 65, -1, 20, 6, 64, 7, -1, 42, -1,
+ 42, 42, -1, 42, -1, 69, 42, -1, 69, 12,
+ 42, -1, 42, -1, 42, 42, -1, 42, 42, 42,
+ -1, 42, -1, 42, 42, -1, 71, 11, 42, -1,
+ 18, 65, 4, 89, 5, -1, 4, 62, 5, -1,
+ 53, -1, 55, -1, 25, 79, 8, -1, 26, 81,
+ 8, -1, 42, 11, -1, -1, -1, -1, 32, 6,
+ 74, 42, 8, 75, 42, 8, 76, 42, 7, 73,
+ -1, 33, 65, 73, -1, 72, -1, 12, 82, 8,
+ -1, 86, 8, -1, 42, 8, -1, -1, 86, 9,
+ 77, 42, 8, -1, 28, 8, -1, 27, 8, -1,
+ 29, 8, -1, 67, 73, 78, -1, 8, -1, 21,
+ 73, -1, -1, 71, -1, 71, 13, 71, -1, 71,
+ 10, 71, -1, 71, 13, 71, 13, 71, -1, 71,
+ 10, 71, 10, 71, -1, 36, 13, 71, 13, 71,
+ -1, 36, 10, 71, 10, 71, -1, -1, 10, 42,
+ -1, 71, 80, -1, 71, 80, 14, 47, -1, -1,
+ 42, 6, 83, 88, 7, -1, 42, 6, 7, -1,
+ -1, 42, 6, 85, -1, 84, 88, 7, -1, 84,
+ 7, -1, 42, -1, -1, 68, -1, -1, 88, 10,
+ 87, -1, -1, 90, 89, -1, 34, 42, 11, 62,
+ -1, 36, 11, 62, -1, 35, 42, 11, 62, -1,
+ -1, 92, 91, -1, 73, -1, 98, -1, 37, 42,
+ 4, 62, 5, -1, 38, 4, 95, 5, -1, 39,
+ 4, 95, 5, -1, -1, 42, 8, 95, -1, 42,
+ 14, 42, 8, 95, -1, 95, 1, -1, 47, -1,
+ 47, 13, 64, -1, 96, 8, -1, 97, 96, 8,
+ -1, 97, 1, -1, 40, 4, 97, 5, -1, 40,
+ 4, 5, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 185, 185, 188, 189, 190, 193, 194, 195, 196,
- 199, 200, 203, 218, 219, 222, 228, 234, 235, 236,
- 239, 239, 246, 247, 248, 249, 252, 253, 254, 257,
- 258, 259, 260, 261, 262, 263, 264, 267, 272, 276,
- 281, 286, 296, 297, 298, 304, 309, 313, 321, 321,
- 325, 328, 331, 342, 343, 350, 351, 355, 361, 362,
- 367, 375, 376, 380, 386, 395, 398, 399, 402, 405,
- 408, 409, 410, 408, 416, 420, 421, 422, 423, 426,
- 426, 459, 460, 461, 462, 466, 469, 470, 473, 474,
- 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,
- 581, 587, 592, 597, 598, 599, 601, 604, 605, 612,
- 613, 614, 617, 620
+ 0, 186, 186, 189, 190, 191, 194, 195, 196, 197,
+ 200, 201, 204, 219, 220, 223, 229, 235, 236, 237,
+ 240, 240, 246, 246, 253, 254, 255, 256, 259, 260,
+ 261, 264, 265, 266, 267, 268, 269, 270, 271, 272,
+ 275, 280, 284, 289, 294, 304, 305, 306, 312, 317,
+ 321, 329, 329, 333, 336, 339, 350, 351, 358, 359,
+ 363, 369, 370, 375, 383, 384, 388, 394, 403, 406,
+ 407, 408, 411, 414, 417, 418, 419, 417, 425, 429,
+ 430, 431, 432, 435, 435, 468, 469, 470, 471, 475,
+ 478, 479, 482, 483, 486, 489, 493, 497, 501, 507,
+ 508, 512, 515, 521, 521, 526, 534, 534, 545, 552,
+ 555, 556, 559, 560, 563, 566, 567, 570, 574, 578,
+ 584, 585, 588, 589, 590, 596, 601, 606, 607, 608,
+ 610, 613, 614, 621, 622, 623, 626, 629
};
#endif
"KW_ELSE", "KW_RANDOM", "KW_ABSTRACT", "EXTENMARK", "KW_GOTO", "KW_JUMP",
"KW_RETURN", "KW_BREAK", "KW_CONTINUE", "KW_REGEXTEN", "KW_HINT",
"KW_FOR", "KW_WHILE", "KW_CASE", "KW_PATTERN", "KW_DEFAULT", "KW_CATCH",
- "KW_SWITCHES", "KW_ESWITCHES", "KW_INCLUDES", "word", "$accept", "file",
- "objects", "object", "context_name", "context", "opt_abstract", "macro",
- "globals", "global_statements", "assignment", "@1", "arglist",
- "elements", "element", "ignorepat", "extension", "statements",
- "timerange", "timespec", "test_expr", "@2", "if_like_head", "word_list",
- "hint_word", "word3_list", "goto_word", "switch_statement", "statement",
- "@3", "@4", "@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
+ "KW_SWITCHES", "KW_ESWITCHES", "KW_INCLUDES", "KW_LOCAL", "word",
+ "$accept", "file", "objects", "object", "context_name", "context",
+ "opt_abstract", "macro", "globals", "global_statements", "assignment",
+ "@1", "local_assignment", "@2", "arglist", "elements", "element",
+ "ignorepat", "extension", "statements", "timerange", "timespec",
+ "test_expr", "@3", "if_like_head", "word_list", "hint_word",
+ "word3_list", "goto_word", "switch_statement", "statement", "@4", "@5",
+ "@6", "@7", "opt_else", "target", "opt_pri", "jumptarget", "macro_call",
+ "@8", "application_call_head", "@9", "application_call", "opt_word",
+ "eval_arglist", "case_statements", "case_statement", "macro_statements",
+ "macro_statement", "switches", "eswitches", "switchlist",
+ "included_entry", "includeslist", "includes", 0
};
#endif
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296
+ 295, 296, 297
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 42, 43, 44, 44, 44, 45, 45, 45, 45,
- 46, 46, 47, 48, 48, 49, 50, 51, 51, 51,
- 53, 52, 54, 54, 54, 54, 55, 55, 55, 56,
- 56, 56, 56, 56, 56, 56, 56, 57, 58, 58,
- 58, 58, 59, 59, 59, 60, 60, 61, 63, 62,
- 64, 64, 64, 65, 65, 66, 66, 66, 67, 67,
- 67, 68, 68, 68, 69, 70, 70, 70, 70, 70,
- 71, 72, 73, 70, 70, 70, 70, 70, 70, 74,
- 70, 70, 70, 70, 70, 70, 75, 75, 76, 76,
- 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,
- 89, 90, 91, 92, 92, 92, 92, 93, 93, 94,
- 94, 94, 95, 95
+ 0, 43, 44, 45, 45, 45, 46, 46, 46, 46,
+ 47, 47, 48, 49, 49, 50, 51, 52, 52, 52,
+ 54, 53, 56, 55, 57, 57, 57, 57, 58, 58,
+ 58, 59, 59, 59, 59, 59, 59, 59, 59, 59,
+ 60, 61, 61, 61, 61, 62, 62, 62, 63, 63,
+ 64, 66, 65, 67, 67, 67, 68, 68, 69, 69,
+ 69, 70, 70, 70, 71, 71, 71, 72, 73, 73,
+ 73, 73, 73, 73, 74, 75, 76, 73, 73, 73,
+ 73, 73, 73, 77, 73, 73, 73, 73, 73, 73,
+ 78, 78, 79, 79, 79, 79, 79, 79, 79, 80,
+ 80, 81, 81, 83, 82, 82, 85, 84, 86, 86,
+ 87, 87, 88, 88, 88, 89, 89, 90, 90, 90,
+ 91, 91, 92, 92, 92, 93, 94, 95, 95, 95,
+ 95, 96, 96, 97, 97, 97, 98, 98
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
{
0, 2, 1, 1, 2, 2, 1, 1, 1, 1,
1, 1, 6, 1, 0, 8, 4, 0, 2, 2,
- 0, 5, 0, 1, 3, 2, 0, 2, 2, 1,
- 1, 1, 1, 1, 1, 2, 1, 4, 3, 4,
- 7, 8, 0, 2, 2, 5, 1, 7, 0, 4,
- 2, 2, 4, 1, 2, 1, 2, 3, 1, 2,
- 3, 1, 2, 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, 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
+ 0, 5, 0, 6, 0, 1, 3, 2, 0, 2,
+ 2, 1, 1, 1, 1, 1, 1, 1, 2, 1,
+ 4, 3, 4, 7, 8, 0, 2, 2, 5, 1,
+ 7, 0, 4, 2, 2, 4, 1, 2, 1, 2,
+ 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
static const yytype_uint8 yydefact[] =
{
14, 9, 0, 0, 13, 0, 0, 3, 6, 0,
- 7, 8, 0, 17, 1, 5, 4, 0, 22, 0,
- 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, 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, 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
+ 7, 8, 0, 17, 1, 5, 4, 0, 24, 0,
+ 0, 17, 11, 10, 0, 25, 0, 20, 19, 16,
+ 0, 28, 27, 0, 0, 0, 39, 0, 0, 0,
+ 0, 0, 0, 0, 0, 36, 37, 0, 28, 35,
+ 31, 33, 34, 32, 120, 26, 0, 0, 0, 0,
+ 0, 127, 127, 0, 0, 38, 0, 30, 12, 0,
+ 45, 89, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 69, 70, 0, 79,
+ 122, 113, 0, 0, 120, 123, 21, 0, 0, 0,
+ 58, 0, 0, 0, 0, 137, 131, 0, 0, 22,
+ 41, 0, 45, 0, 0, 51, 0, 53, 0, 54,
+ 0, 64, 92, 0, 99, 0, 86, 85, 87, 74,
+ 0, 0, 106, 82, 73, 91, 109, 56, 112, 0,
+ 81, 83, 15, 121, 40, 0, 42, 0, 0, 59,
+ 127, 0, 130, 125, 126, 0, 133, 135, 136, 0,
+ 0, 47, 68, 0, 103, 80, 0, 115, 49, 0,
+ 0, 0, 0, 0, 65, 0, 0, 0, 71, 0,
+ 101, 72, 0, 78, 45, 107, 0, 88, 57, 108,
+ 111, 0, 0, 0, 60, 0, 0, 132, 134, 0,
+ 105, 113, 0, 0, 0, 0, 0, 115, 62, 0,
+ 55, 0, 0, 0, 94, 66, 93, 100, 0, 0,
+ 0, 90, 110, 114, 0, 0, 0, 127, 23, 0,
+ 52, 0, 0, 45, 67, 116, 63, 61, 0, 0,
+ 0, 0, 0, 0, 102, 75, 124, 84, 0, 43,
+ 0, 104, 45, 45, 0, 0, 0, 98, 97, 96,
+ 95, 0, 44, 0, 0, 0, 48, 0, 0, 76,
+ 50, 0, 0, 0, 77
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -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
+ -1, 5, 6, 7, 106, 8, 9, 10, 11, 20,
+ 86, 35, 87, 160, 26, 47, 48, 49, 50, 111,
+ 169, 170, 116, 166, 88, 138, 101, 171, 122, 89,
+ 112, 182, 261, 271, 191, 187, 123, 180, 125, 114,
+ 201, 91, 185, 92, 223, 139, 206, 207, 93, 94,
+ 51, 52, 103, 107, 108, 53
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -198
+#define YYPACT_NINF -206
static const yytype_int16 yypact[] =
{
- 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
+ 139, -206, -4, 42, -206, 56, 170, -206, -206, 66,
+ -206, -206, 137, 46, -206, -206, -206, -6, 60, 65,
+ 17, 46, -206, -206, 107, -206, 14, -206, -206, -206,
+ 34, 119, -206, 159, 127, 133, -206, 166, -14, 191,
+ 197, 208, 209, 172, 111, -206, -206, 82, 119, -206,
+ -206, -206, -206, -206, 53, -206, 207, 174, 211, 194,
+ 180, 181, 181, 5, 212, -206, 96, -206, -206, 102,
+ 96, -206, 183, 214, 214, 218, 214, 28, 184, 219,
+ 220, 221, 224, 214, 190, 168, -206, -206, 96, -206,
+ -206, 13, 173, 226, 53, -206, -206, 225, 180, 96,
+ -206, 20, 84, 104, 112, -206, 222, 228, 6, -206,
+ -206, 129, 96, 231, 230, -206, 235, -206, 192, -206,
+ 143, 199, 178, 232, 196, 234, -206, -206, -206, -206,
+ 96, 239, -206, -206, -206, 223, -206, 203, -206, 185,
+ -206, -206, -206, -206, -206, 77, -206, 204, 205, -206,
+ 181, 206, -206, -206, -206, 192, -206, -206, -206, 241,
+ 210, -206, -206, 18, 243, -206, 213, 169, 2, 238,
+ 246, 245, 184, 184, -206, 184, 215, 184, -206, 216,
+ 240, -206, 217, -206, 96, -206, 96, -206, -206, -206,
+ 227, 229, 233, 236, -206, 147, 253, -206, -206, 254,
+ -206, 213, 256, 237, 242, 255, 259, 169, 244, 247,
+ -206, 247, 198, 120, 200, -206, 187, -206, -6, 257,
+ 179, -206, -206, -206, 260, 248, 96, 181, -206, 189,
+ -206, 262, 263, 96, -206, -206, -206, 249, 264, 265,
+ 184, 184, 184, 184, -206, -206, -206, -206, 96, -206,
+ 182, -206, 96, 96, 24, 247, 247, 267, 267, 267,
+ 267, 250, -206, 32, 105, 268, -206, 272, 247, -206,
+ -206, 251, 275, 96, -206
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -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
+ -206, -206, -206, 261, -16, -206, -206, -206, -206, 266,
+ -5, -206, -17, -206, -206, 252, -206, -206, -206, -107,
+ -206, 115, 68, -206, -206, 117, 201, -205, -76, -206,
+ -54, -206, -206, -206, -206, -206, -206, -206, -206, -206,
+ -206, -206, -206, -206, -206, 87, 78, -206, 202, -206,
+ -206, -206, -59, 186, -206, -45
};
/* 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 -126
+#define YYTABLE_NINF -130
static const yytype_int16 yytable[] =
{
- 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
+ 90, 24, 124, 104, 238, 163, 239, 157, 21, 95,
+ 105, 158, 110, -61, 46, 32, 21, 58, 28, 161,
+ 136, 33, 29, -46, 34, 161, 45, 147, 59, -118,
+ 22, 46, 148, 161, 135, 28, 23, -117, 12, -18,
+ 90, 22, 22, 45, 208, 146, 13, 23, 23, 95,
+ 265, 266, -46, -46, -46, 137, 14, 70, -118, -118,
+ -118, 71, 149, 270, 120, 72, -117, -117, -117, 17,
+ 121, 73, 74, 75, 27, 76, 183, 220, 77, 78,
+ 79, 80, 81, 67, 192, 82, 83, 68, 19, 148,
+ 84, 195, 150, 42, 43, 85, 212, 213, 151, 214,
+ 70, 216, 25, 67, 71, 152, 161, -29, 72, 153,
+ -119, 31, 65, 152, 73, 74, 75, 154, 76, 149,
+ 27, 77, 78, 79, 80, 81, 254, 36, 82, 83,
+ 161, 176, 221, 241, 162, 66, 37, 43, 85, -119,
+ -119, -119, 117, 18, 119, 263, 264, 1, 152, 38,
+ 39, 130, -128, 172, 2, 3, 173, 40, 41, 42,
+ 43, 44, 4, 54, 257, 258, 259, 260, 250, 55,
+ -2, 15, 249, -14, 132, 56, 133, 27, 1, 134,
+ 161, 140, 141, 152, 246, 2, 3, -129, 175, 176,
+ 57, 177, 189, 4, 262, 190, 251, 60, 176, 190,
+ 243, 61, 244, 203, 204, 205, 179, 176, 240, 176,
+ 242, 176, 62, 63, 64, 96, 97, 98, 99, 274,
+ 115, 109, 100, 102, 118, 113, 121, 126, 127, 128,
+ 129, 142, 131, 144, 168, 155, 156, 164, 165, 167,
+ 178, 174, 181, 184, 186, 188, 193, 194, 196, 198,
+ 200, 209, 199, 210, 218, 137, 211, 215, 217, 219,
+ 226, 227, 228, 230, 234, 245, 233, 16, 247, 222,
+ 197, 224, 248, 252, 253, 225, 256, 255, 176, 231,
+ 269, 268, 273, 202, 232, 235, 236, 30, 229, 237,
+ 0, 208, 267, 272, 159, 0, 143, 0, 0, 145,
+ 69
};
static const yytype_int16 yycheck[] =
{
- 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
+ 54, 17, 78, 62, 209, 112, 211, 1, 13, 54,
+ 5, 5, 66, 11, 31, 1, 21, 31, 1, 1,
+ 7, 7, 5, 5, 10, 1, 31, 7, 42, 5,
+ 36, 48, 12, 1, 88, 1, 42, 5, 42, 5,
+ 94, 36, 36, 48, 42, 99, 4, 42, 42, 94,
+ 255, 256, 34, 35, 36, 42, 0, 4, 34, 35,
+ 36, 8, 42, 268, 36, 12, 34, 35, 36, 3,
+ 42, 18, 19, 20, 9, 22, 130, 184, 25, 26,
+ 27, 28, 29, 1, 7, 32, 33, 5, 42, 12,
+ 37, 150, 8, 40, 41, 42, 172, 173, 14, 175,
+ 4, 177, 42, 1, 8, 1, 1, 5, 12, 5,
+ 5, 4, 1, 1, 18, 19, 20, 5, 22, 42,
+ 9, 25, 26, 27, 28, 29, 233, 8, 32, 33,
+ 1, 11, 186, 13, 5, 24, 17, 41, 42, 34,
+ 35, 36, 74, 6, 76, 252, 253, 8, 1, 30,
+ 31, 83, 5, 10, 15, 16, 13, 38, 39, 40,
+ 41, 42, 23, 4, 240, 241, 242, 243, 227, 42,
+ 0, 1, 226, 3, 6, 42, 8, 9, 8, 11,
+ 1, 8, 9, 1, 5, 15, 16, 5, 10, 11,
+ 24, 13, 7, 23, 248, 10, 7, 6, 11, 10,
+ 13, 4, 218, 34, 35, 36, 10, 11, 10, 11,
+ 10, 11, 4, 4, 42, 8, 42, 6, 24, 273,
+ 6, 9, 42, 42, 6, 42, 42, 8, 8, 8,
+ 6, 5, 42, 8, 42, 13, 8, 6, 8, 4,
+ 8, 42, 8, 4, 21, 42, 42, 42, 42, 8,
+ 7, 13, 42, 7, 14, 42, 11, 42, 42, 42,
+ 24, 8, 8, 7, 5, 8, 11, 6, 8, 42,
+ 155, 42, 24, 11, 11, 42, 11, 13, 11, 42,
+ 8, 13, 7, 166, 42, 207, 42, 21, 201, 42,
+ -1, 42, 42, 42, 108, -1, 94, -1, -1, 98,
+ 48
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
- 0, 8, 15, 16, 23, 43, 44, 45, 47, 48,
- 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, 90,
- 91, 95, 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, 69, 70, 81, 83, 88,
- 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
+ 0, 8, 15, 16, 23, 44, 45, 46, 48, 49,
+ 50, 51, 42, 4, 0, 1, 46, 3, 6, 42,
+ 52, 53, 36, 42, 47, 42, 57, 9, 1, 5,
+ 52, 4, 1, 7, 10, 54, 8, 17, 30, 31,
+ 38, 39, 40, 41, 42, 53, 55, 58, 59, 60,
+ 61, 93, 94, 98, 4, 42, 42, 24, 31, 42,
+ 6, 4, 4, 4, 42, 1, 24, 1, 5, 58,
+ 4, 8, 12, 18, 19, 20, 22, 25, 26, 27,
+ 28, 29, 32, 33, 37, 42, 53, 55, 67, 72,
+ 73, 84, 86, 91, 92, 98, 8, 42, 6, 24,
+ 42, 69, 42, 95, 95, 5, 47, 96, 97, 9,
+ 73, 62, 73, 42, 82, 6, 65, 65, 6, 65,
+ 36, 42, 71, 79, 71, 81, 8, 8, 8, 6,
+ 65, 42, 6, 8, 11, 73, 7, 42, 68, 88,
+ 8, 9, 5, 91, 8, 69, 73, 7, 12, 42,
+ 8, 14, 1, 5, 5, 13, 8, 1, 5, 96,
+ 56, 1, 5, 62, 6, 8, 66, 4, 42, 63,
+ 64, 70, 10, 13, 42, 10, 11, 13, 8, 10,
+ 80, 8, 74, 73, 4, 85, 21, 78, 42, 7,
+ 10, 77, 7, 42, 42, 95, 42, 64, 8, 42,
+ 7, 83, 68, 34, 35, 36, 89, 90, 42, 13,
+ 7, 11, 71, 71, 71, 42, 71, 42, 14, 42,
+ 62, 73, 42, 87, 42, 42, 24, 8, 8, 88,
+ 7, 42, 42, 11, 5, 89, 42, 42, 70, 70,
+ 10, 13, 10, 13, 47, 8, 5, 8, 24, 73,
+ 95, 7, 11, 11, 62, 13, 11, 71, 71, 71,
+ 71, 75, 73, 62, 62, 70, 70, 42, 13, 8,
+ 70, 76, 42, 7, 73
};
#define yyerrok (yyerrstatus = 0)
switch (yytype)
{
- case 41: /* "word" */
-#line 177 "ael.y"
+ case 42: /* "word" */
+#line 178 "ael.y"
{ free((yyvaluep->str));};
-#line 1444 "ael.tab.c"
+#line 1441 "ael.tab.c"
break;
- case 44: /* "objects" */
-#line 164 "ael.y"
+ case 45: /* "objects" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1452 "ael.tab.c"
+#line 1449 "ael.tab.c"
break;
- case 45: /* "object" */
-#line 164 "ael.y"
+ case 46: /* "object" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1460 "ael.tab.c"
+#line 1457 "ael.tab.c"
break;
- case 46: /* "context_name" */
-#line 177 "ael.y"
+ case 47: /* "context_name" */
+#line 178 "ael.y"
{ free((yyvaluep->str));};
-#line 1465 "ael.tab.c"
+#line 1462 "ael.tab.c"
break;
- case 47: /* "context" */
-#line 164 "ael.y"
+ case 48: /* "context" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1473 "ael.tab.c"
+#line 1470 "ael.tab.c"
break;
- case 49: /* "macro" */
-#line 164 "ael.y"
+ case 50: /* "macro" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1481 "ael.tab.c"
+#line 1478 "ael.tab.c"
break;
- case 50: /* "globals" */
-#line 164 "ael.y"
+ case 51: /* "globals" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1489 "ael.tab.c"
+#line 1486 "ael.tab.c"
break;
- case 51: /* "global_statements" */
-#line 164 "ael.y"
+ case 52: /* "global_statements" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1497 "ael.tab.c"
+#line 1494 "ael.tab.c"
break;
- case 52: /* "assignment" */
-#line 164 "ael.y"
+ case 53: /* "assignment" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1505 "ael.tab.c"
+#line 1502 "ael.tab.c"
break;
- case 54: /* "arglist" */
-#line 164 "ael.y"
+ case 55: /* "local_assignment" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1513 "ael.tab.c"
+#line 1510 "ael.tab.c"
break;
- case 55: /* "elements" */
-#line 164 "ael.y"
+ case 57: /* "arglist" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1521 "ael.tab.c"
+#line 1518 "ael.tab.c"
break;
- case 56: /* "element" */
-#line 164 "ael.y"
+ case 58: /* "elements" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1529 "ael.tab.c"
+#line 1526 "ael.tab.c"
break;
- case 57: /* "ignorepat" */
-#line 164 "ael.y"
+ case 59: /* "element" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1537 "ael.tab.c"
+#line 1534 "ael.tab.c"
break;
- case 58: /* "extension" */
-#line 164 "ael.y"
+ case 60: /* "ignorepat" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1545 "ael.tab.c"
+#line 1542 "ael.tab.c"
break;
- case 59: /* "statements" */
-#line 164 "ael.y"
+ case 61: /* "extension" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1553 "ael.tab.c"
+#line 1550 "ael.tab.c"
break;
- case 60: /* "timerange" */
-#line 177 "ael.y"
- { free((yyvaluep->str));};
-#line 1558 "ael.tab.c"
- break;
- case 61: /* "timespec" */
-#line 164 "ael.y"
+ case 62: /* "statements" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1566 "ael.tab.c"
+#line 1558 "ael.tab.c"
break;
- case 62: /* "test_expr" */
-#line 177 "ael.y"
+ case 63: /* "timerange" */
+#line 178 "ael.y"
{ free((yyvaluep->str));};
-#line 1571 "ael.tab.c"
+#line 1563 "ael.tab.c"
break;
- case 64: /* "if_like_head" */
-#line 164 "ael.y"
+ case 64: /* "timespec" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1579 "ael.tab.c"
+#line 1571 "ael.tab.c"
break;
- case 65: /* "word_list" */
-#line 177 "ael.y"
+ case 65: /* "test_expr" */
+#line 178 "ael.y"
{ free((yyvaluep->str));};
+#line 1576 "ael.tab.c"
+ break;
+ case 67: /* "if_like_head" */
+#line 165 "ael.y"
+ {
+ destroy_pval((yyvaluep->pval));
+ prev_word=0;
+ };
#line 1584 "ael.tab.c"
break;
- case 67: /* "word3_list" */
-#line 177 "ael.y"
+ case 68: /* "word_list" */
+#line 178 "ael.y"
{ free((yyvaluep->str));};
#line 1589 "ael.tab.c"
break;
- case 68: /* "goto_word" */
-#line 177 "ael.y"
+ case 70: /* "word3_list" */
+#line 178 "ael.y"
{ free((yyvaluep->str));};
#line 1594 "ael.tab.c"
break;
- case 69: /* "switch_statement" */
-#line 164 "ael.y"
+ case 71: /* "goto_word" */
+#line 178 "ael.y"
+ { free((yyvaluep->str));};
+#line 1599 "ael.tab.c"
+ break;
+ case 72: /* "switch_statement" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1602 "ael.tab.c"
+#line 1607 "ael.tab.c"
break;
- case 70: /* "statement" */
-#line 164 "ael.y"
+ case 73: /* "statement" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1610 "ael.tab.c"
+#line 1615 "ael.tab.c"
break;
- case 75: /* "opt_else" */
-#line 164 "ael.y"
+ case 78: /* "opt_else" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1618 "ael.tab.c"
+#line 1623 "ael.tab.c"
break;
- case 76: /* "target" */
-#line 164 "ael.y"
+ case 79: /* "target" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1626 "ael.tab.c"
+#line 1631 "ael.tab.c"
break;
- case 77: /* "opt_pri" */
-#line 177 "ael.y"
+ case 80: /* "opt_pri" */
+#line 178 "ael.y"
{ free((yyvaluep->str));};
-#line 1631 "ael.tab.c"
+#line 1636 "ael.tab.c"
break;
- case 78: /* "jumptarget" */
-#line 164 "ael.y"
+ case 81: /* "jumptarget" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1639 "ael.tab.c"
+#line 1644 "ael.tab.c"
break;
- case 79: /* "macro_call" */
-#line 164 "ael.y"
+ case 82: /* "macro_call" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1647 "ael.tab.c"
+#line 1652 "ael.tab.c"
break;
- case 81: /* "application_call_head" */
-#line 164 "ael.y"
+ case 84: /* "application_call_head" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1655 "ael.tab.c"
+#line 1660 "ael.tab.c"
break;
- case 83: /* "application_call" */
-#line 164 "ael.y"
+ case 86: /* "application_call" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1663 "ael.tab.c"
+#line 1668 "ael.tab.c"
break;
- case 84: /* "opt_word" */
-#line 177 "ael.y"
+ case 87: /* "opt_word" */
+#line 178 "ael.y"
{ free((yyvaluep->str));};
-#line 1668 "ael.tab.c"
+#line 1673 "ael.tab.c"
break;
- case 85: /* "eval_arglist" */
-#line 164 "ael.y"
+ case 88: /* "eval_arglist" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1676 "ael.tab.c"
+#line 1681 "ael.tab.c"
break;
- case 86: /* "case_statements" */
-#line 164 "ael.y"
+ case 89: /* "case_statements" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1684 "ael.tab.c"
+#line 1689 "ael.tab.c"
break;
- case 87: /* "case_statement" */
-#line 164 "ael.y"
+ case 90: /* "case_statement" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1692 "ael.tab.c"
+#line 1697 "ael.tab.c"
break;
- case 88: /* "macro_statements" */
-#line 164 "ael.y"
+ case 91: /* "macro_statements" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1700 "ael.tab.c"
+#line 1705 "ael.tab.c"
break;
- case 89: /* "macro_statement" */
-#line 164 "ael.y"
+ case 92: /* "macro_statement" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1708 "ael.tab.c"
+#line 1713 "ael.tab.c"
break;
- case 90: /* "switches" */
-#line 164 "ael.y"
+ case 93: /* "switches" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1716 "ael.tab.c"
+#line 1721 "ael.tab.c"
break;
- case 91: /* "eswitches" */
-#line 164 "ael.y"
+ case 94: /* "eswitches" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1724 "ael.tab.c"
+#line 1729 "ael.tab.c"
break;
- case 92: /* "switchlist" */
-#line 164 "ael.y"
+ case 95: /* "switchlist" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1732 "ael.tab.c"
+#line 1737 "ael.tab.c"
break;
- case 93: /* "included_entry" */
-#line 164 "ael.y"
+ case 96: /* "included_entry" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1740 "ael.tab.c"
+#line 1745 "ael.tab.c"
break;
- case 94: /* "includeslist" */
-#line 164 "ael.y"
+ case 97: /* "includeslist" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1748 "ael.tab.c"
+#line 1753 "ael.tab.c"
break;
- case 95: /* "includes" */
-#line 164 "ael.y"
+ case 98: /* "includes" */
+#line 165 "ael.y"
{
destroy_pval((yyvaluep->pval));
prev_word=0;
};
-#line 1756 "ael.tab.c"
+#line 1761 "ael.tab.c"
break;
default:
switch (yyn)
{
case 2:
-#line 185 "ael.y"
+#line 186 "ael.y"
{ (yyval.pval) = parseio->pval = (yyvsp[(1) - (1)].pval); ;}
break;
case 3:
-#line 188 "ael.y"
+#line 189 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break;
case 4:
-#line 189 "ael.y"
+#line 190 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;}
break;
case 5:
-#line 190 "ael.y"
+#line 191 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
break;
case 6:
-#line 193 "ael.y"
+#line 194 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break;
case 7:
-#line 194 "ael.y"
+#line 195 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break;
case 8:
-#line 195 "ael.y"
+#line 196 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break;
case 9:
-#line 196 "ael.y"
+#line 197 "ael.y"
{(yyval.pval)=0;/* allow older docs to be read */;}
break;
case 10:
-#line 199 "ael.y"
+#line 200 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 11:
-#line 200 "ael.y"
+#line 201 "ael.y"
{ (yyval.str) = strdup("default"); ;}
break;
case 12:
-#line 203 "ael.y"
+#line 204 "ael.y"
{
if (!(yyvsp[(5) - (6)].pval)) {
ast_log(LOG_WARNING, "==== File: %s, Line %d, Cols: %d-%d: Warning! The empty context %s will be IGNORED!\n",
break;
case 13:
-#line 218 "ael.y"
+#line 219 "ael.y"
{ (yyval.intval) = 1; ;}
break;
case 14:
-#line 219 "ael.y"
+#line 220 "ael.y"
{ (yyval.intval) = 0; ;}
break;
case 15:
-#line 222 "ael.y"
+#line 223 "ael.y"
{
(yyval.pval) = npval2(PV_MACRO, &(yylsp[(1) - (8)]), &(yylsp[(8) - (8)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (8)].str); (yyval.pval)->u2.arglist = (yyvsp[(4) - (8)].pval); (yyval.pval)->u3.macro_statements = (yyvsp[(7) - (8)].pval);
break;
case 16:
-#line 228 "ael.y"
+#line 229 "ael.y"
{
(yyval.pval) = npval2(PV_GLOBALS, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)]));
(yyval.pval)->u1.statements = (yyvsp[(3) - (4)].pval);
break;
case 17:
-#line 234 "ael.y"
+#line 235 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
case 18:
-#line 235 "ael.y"
+#line 236 "ael.y"
{(yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;}
break;
case 19:
-#line 236 "ael.y"
+#line 237 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
break;
case 20:
-#line 239 "ael.y"
+#line 240 "ael.y"
{ reset_semicount(parseio->scanner); ;}
break;
case 21:
-#line 239 "ael.y"
+#line 240 "ael.y"
{
(yyval.pval) = npval2(PV_VARDEC, &(yylsp[(1) - (5)]), &(yylsp[(5) - (5)]));
(yyval.pval)->u1.str = (yyvsp[(1) - (5)].str);
case 22:
#line 246 "ael.y"
- { (yyval.pval) = NULL; ;}
+ { reset_semicount(parseio->scanner); ;}
break;
case 23:
-#line 247 "ael.y"
- { (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;}
+#line 246 "ael.y"
+ {
+ (yyval.pval) = npval2(PV_LOCALVARDEC, &(yylsp[(1) - (6)]), &(yylsp[(6) - (6)]));
+ (yyval.pval)->u1.str = (yyvsp[(2) - (6)].str);
+ (yyval.pval)->u2.val = (yyvsp[(5) - (6)].str); ;}
break;
case 24:
-#line 248 "ael.y"
- { (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)]))); ;}
+#line 253 "ael.y"
+ { (yyval.pval) = NULL; ;}
break;
case 25:
-#line 249 "ael.y"
- {(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
+#line 254 "ael.y"
+ { (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;}
break;
case 26:
-#line 252 "ael.y"
- {(yyval.pval)=0;;}
+#line 255 "ael.y"
+ { (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)]))); ;}
break;
case 27:
-#line 253 "ael.y"
- { (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;}
+#line 256 "ael.y"
+ {(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
break;
case 28:
-#line 254 "ael.y"
- { (yyval.pval)=(yyvsp[(1) - (2)].pval);;}
+#line 259 "ael.y"
+ {(yyval.pval)=0;;}
break;
case 29:
-#line 257 "ael.y"
- {(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
+#line 260 "ael.y"
+ { (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;}
break;
case 30:
-#line 258 "ael.y"
- {(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
+#line 261 "ael.y"
+ { (yyval.pval)=(yyvsp[(1) - (2)].pval);;}
break;
case 31:
-#line 259 "ael.y"
+#line 264 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break;
case 32:
-#line 260 "ael.y"
+#line 265 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break;
case 33:
-#line 261 "ael.y"
+#line 266 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break;
case 34:
-#line 262 "ael.y"
+#line 267 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break;
case 35:
-#line 263 "ael.y"
- {free((yyvsp[(1) - (2)].str)); (yyval.pval)=0;;}
+#line 268 "ael.y"
+ {(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break;
case 36:
-#line 264 "ael.y"
- {(yyval.pval)=0;/* allow older docs to be read */;}
+#line 269 "ael.y"
+ {(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break;
case 37:
-#line 267 "ael.y"
+#line 270 "ael.y"
+ {(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
+ break;
+
+ case 38:
+#line 271 "ael.y"
+ {free((yyvsp[(1) - (2)].str)); (yyval.pval)=0;;}
+ break;
+
+ case 39:
+#line 272 "ael.y"
+ {(yyval.pval)=0;/* allow older docs to be read */;}
+ break;
+
+ case 40:
+#line 275 "ael.y"
{
(yyval.pval) = npval2(PV_IGNOREPAT, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)]));
(yyval.pval)->u1.str = (yyvsp[(3) - (4)].str);;}
break;
- case 38:
-#line 272 "ael.y"
+ case 41:
+#line 280 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.str = (yyvsp[(1) - (3)].str);
(yyval.pval)->u2.statements = (yyvsp[(3) - (3)].pval); set_dads((yyval.pval),(yyvsp[(3) - (3)].pval));;}
break;
- case 39:
-#line 276 "ael.y"
+ case 42:
+#line 284 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (4)].str);
(yyval.pval)->u4.regexten=1;;}
break;
- case 40:
-#line 281 "ael.y"
+ case 43:
+#line 289 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[(1) - (7)]), &(yylsp[(7) - (7)]));
(yyval.pval)->u1.str = (yyvsp[(5) - (7)].str);
(yyval.pval)->u3.hints = (yyvsp[(3) - (7)].str);;}
break;
- case 41:
-#line 286 "ael.y"
+ case 44:
+#line 294 "ael.y"
{
(yyval.pval) = npval2(PV_EXTENSION, &(yylsp[(1) - (8)]), &(yylsp[(8) - (8)]));
(yyval.pval)->u1.str = (yyvsp[(6) - (8)].str);
(yyval.pval)->u3.hints = (yyvsp[(4) - (8)].str);;}
break;
- case 42:
-#line 296 "ael.y"
+ case 45:
+#line 304 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
- case 43:
-#line 297 "ael.y"
+ case 46:
+#line 305 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;}
break;
- case 44:
-#line 298 "ael.y"
+ case 47:
+#line 306 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
break;
- case 45:
-#line 304 "ael.y"
+ case 48:
+#line 312 "ael.y"
{
asprintf(&(yyval.str), "%s:%s:%s", (yyvsp[(1) - (5)].str), (yyvsp[(3) - (5)].str), (yyvsp[(5) - (5)].str));
free((yyvsp[(1) - (5)].str));
free((yyvsp[(5) - (5)].str)); ;}
break;
- case 46:
-#line 309 "ael.y"
+ case 49:
+#line 317 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
- case 47:
-#line 313 "ael.y"
+ case 50:
+#line 321 "ael.y"
{
(yyval.pval) = nword((yyvsp[(1) - (7)].str), &(yylsp[(1) - (7)]));
(yyval.pval)->next = nword((yyvsp[(3) - (7)].str), &(yylsp[(3) - (7)]));
(yyval.pval)->next->next->next = nword((yyvsp[(7) - (7)].str), &(yylsp[(7) - (7)])); ;}
break;
- case 48:
-#line 321 "ael.y"
+ case 51:
+#line 329 "ael.y"
{ reset_parencount(parseio->scanner); ;}
break;
- case 49:
-#line 321 "ael.y"
+ case 52:
+#line 329 "ael.y"
{ (yyval.str) = (yyvsp[(3) - (4)].str); ;}
break;
- case 50:
-#line 325 "ael.y"
+ case 53:
+#line 333 "ael.y"
{
(yyval.pval)= npval2(PV_IF, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)]));
(yyval.pval)->u1.str = (yyvsp[(2) - (2)].str); ;}
break;
- case 51:
-#line 328 "ael.y"
+ case 54:
+#line 336 "ael.y"
{
(yyval.pval) = npval2(PV_RANDOM, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)]));
(yyval.pval)->u1.str=(yyvsp[(2) - (2)].str);;}
break;
- case 52:
-#line 331 "ael.y"
+ case 55:
+#line 339 "ael.y"
{
(yyval.pval) = npval2(PV_IFTIME, &(yylsp[(1) - (4)]), &(yylsp[(4) - (4)]));
(yyval.pval)->u1.list = (yyvsp[(3) - (4)].pval);
prev_word = 0; ;}
break;
- case 53:
-#line 342 "ael.y"
+ case 56:
+#line 350 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str);;}
break;
- case 54:
-#line 343 "ael.y"
+ case 57:
+#line 351 "ael.y"
{
asprintf(&((yyval.str)), "%s%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str));
free((yyvsp[(1) - (2)].str));
prev_word = (yyval.str);;}
break;
- case 55:
-#line 350 "ael.y"
+ case 58:
+#line 358 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
- case 56:
-#line 351 "ael.y"
+ case 59:
+#line 359 "ael.y"
{
asprintf(&((yyval.str)), "%s %s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str));
free((yyvsp[(1) - (2)].str));
free((yyvsp[(2) - (2)].str)); ;}
break;
- case 57:
-#line 355 "ael.y"
+ case 60:
+#line 363 "ael.y"
{ /* there are often '&' in hints */
asprintf(&((yyval.str)), "%s&%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str));
free((yyvsp[(1) - (3)].str));
free((yyvsp[(3) - (3)].str));;}
break;
- case 58:
-#line 361 "ael.y"
+ case 61:
+#line 369 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str);;}
break;
- case 59:
-#line 362 "ael.y"
+ case 62:
+#line 370 "ael.y"
{
asprintf(&((yyval.str)), "%s%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str));
free((yyvsp[(1) - (2)].str));
prev_word = (yyval.str);;}
break;
- case 60:
-#line 367 "ael.y"
+ case 63:
+#line 375 "ael.y"
{
asprintf(&((yyval.str)), "%s%s%s", (yyvsp[(1) - (3)].str), (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str));
free((yyvsp[(1) - (3)].str));
prev_word=(yyval.str);;}
break;
- case 61:
-#line 375 "ael.y"
+ case 64:
+#line 383 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str);;}
break;
- case 62:
-#line 376 "ael.y"
+ case 65:
+#line 384 "ael.y"
{
asprintf(&((yyval.str)), "%s%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str));
free((yyvsp[(1) - (2)].str));
free((yyvsp[(2) - (2)].str));;}
break;
- case 63:
-#line 380 "ael.y"
+ case 66:
+#line 388 "ael.y"
{
asprintf(&((yyval.str)), "%s:%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str));
free((yyvsp[(1) - (3)].str));
free((yyvsp[(3) - (3)].str));;}
break;
- case 64:
-#line 386 "ael.y"
+ case 67:
+#line 394 "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 65:
-#line 395 "ael.y"
+ case 68:
+#line 403 "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 66:
-#line 398 "ael.y"
+ case 69:
+#line 406 "ael.y"
{ (yyval.pval) = (yyvsp[(1) - (1)].pval); ;}
break;
- case 67:
-#line 399 "ael.y"
+ case 70:
+#line 407 "ael.y"
+ { (yyval.pval) = (yyvsp[(1) - (1)].pval); ;}
+ break;
+
+ case 71:
+#line 408 "ael.y"
{
(yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.list = (yyvsp[(2) - (3)].pval);;}
break;
- case 68:
-#line 402 "ael.y"
+ case 72:
+#line 411 "ael.y"
{
(yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.list = (yyvsp[(2) - (3)].pval);;}
break;
- case 69:
-#line 405 "ael.y"
+ case 73:
+#line 414 "ael.y"
{
(yyval.pval) = npval2(PV_LABEL, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)]));
(yyval.pval)->u1.str = (yyvsp[(1) - (2)].str); ;}
break;
- case 70:
-#line 408 "ael.y"
+ case 74:
+#line 417 "ael.y"
{reset_semicount(parseio->scanner);;}
break;
- case 71:
-#line 409 "ael.y"
+ case 75:
+#line 418 "ael.y"
{reset_semicount(parseio->scanner);;}
break;
- case 72:
-#line 410 "ael.y"
+ case 76:
+#line 419 "ael.y"
{reset_parencount(parseio->scanner);;}
break;
- case 73:
-#line 410 "ael.y"
+ case 77:
+#line 419 "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);
(yyval.pval)->u4.for_statements = (yyvsp[(12) - (12)].pval); set_dads((yyval.pval),(yyvsp[(12) - (12)].pval));;}
break;
- case 74:
-#line 416 "ael.y"
+ case 78:
+#line 425 "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 75:
-#line 420 "ael.y"
+ case 79:
+#line 429 "ael.y"
{ (yyval.pval) = (yyvsp[(1) - (1)].pval); ;}
break;
- case 76:
-#line 421 "ael.y"
+ case 80:
+#line 430 "ael.y"
{ (yyval.pval) = update_last((yyvsp[(2) - (3)].pval), &(yylsp[(2) - (3)])); ;}
break;
- case 77:
-#line 422 "ael.y"
+ case 81:
+#line 431 "ael.y"
{ (yyval.pval) = update_last((yyvsp[(1) - (2)].pval), &(yylsp[(2) - (2)])); ;}
break;
- case 78:
-#line 423 "ael.y"
+ case 82:
+#line 432 "ael.y"
{
(yyval.pval)= npval2(PV_APPLICATION_CALL, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)]));
(yyval.pval)->u1.str = (yyvsp[(1) - (2)].str);;}
break;
- case 79:
-#line 426 "ael.y"
+ case 83:
+#line 435 "ael.y"
{reset_semicount(parseio->scanner);;}
break;
- case 80:
-#line 426 "ael.y"
+ case 84:
+#line 435 "ael.y"
{
char *bufx;
int tot=0;
;}
break;
- case 81:
-#line 459 "ael.y"
+ case 85:
+#line 468 "ael.y"
{ (yyval.pval) = npval2(PV_BREAK, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); ;}
break;
- case 82:
-#line 460 "ael.y"
+ case 86:
+#line 469 "ael.y"
{ (yyval.pval) = npval2(PV_RETURN, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); ;}
break;
- case 83:
-#line 461 "ael.y"
+ case 87:
+#line 470 "ael.y"
{ (yyval.pval) = npval2(PV_CONTINUE, &(yylsp[(1) - (2)]), &(yylsp[(2) - (2)])); ;}
break;
- case 84:
-#line 462 "ael.y"
+ case 88:
+#line 471 "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 85:
-#line 466 "ael.y"
+ case 89:
+#line 475 "ael.y"
{ (yyval.pval)=0; ;}
break;
- case 86:
-#line 469 "ael.y"
+ case 90:
+#line 478 "ael.y"
{ (yyval.pval) = (yyvsp[(2) - (2)].pval); ;}
break;
- case 87:
-#line 470 "ael.y"
+ case 91:
+#line 479 "ael.y"
{ (yyval.pval) = NULL ; ;}
break;
- case 88:
-#line 473 "ael.y"
+ case 92:
+#line 482 "ael.y"
{ (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;}
break;
- case 89:
-#line 474 "ael.y"
+ case 93:
+#line 483 "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 90:
-#line 477 "ael.y"
+ case 94:
+#line 486 "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 91:
-#line 480 "ael.y"
+ case 95:
+#line 489 "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 92:
-#line 484 "ael.y"
+ case 96:
+#line 493 "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 93:
-#line 488 "ael.y"
+ case 97:
+#line 497 "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 94:
-#line 492 "ael.y"
+ case 98:
+#line 501 "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 95:
-#line 498 "ael.y"
+ case 99:
+#line 507 "ael.y"
{ (yyval.str) = strdup("1"); ;}
break;
- case 96:
-#line 499 "ael.y"
+ case 100:
+#line 508 "ael.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
- case 97:
-#line 503 "ael.y"
+ case 101:
+#line 512 "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 98:
-#line 506 "ael.y"
+ case 102:
+#line 515 "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 99:
-#line 512 "ael.y"
+ case 103:
+#line 521 "ael.y"
{reset_argcount(parseio->scanner);;}
break;
- case 100:
-#line 512 "ael.y"
+ case 104:
+#line 521 "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)]));
(yyval.pval)->u2.arglist = (yyvsp[(4) - (5)].pval);;}
break;
- case 101:
-#line 517 "ael.y"
+ case 105:
+#line 526 "ael.y"
{
(yyval.pval)= npval2(PV_MACRO_CALL, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));
(yyval.pval)->u1.str = (yyvsp[(1) - (3)].str); ;}
break;
- case 102:
-#line 525 "ael.y"
+ case 106:
+#line 534 "ael.y"
{reset_argcount(parseio->scanner);;}
break;
- case 103:
-#line 525 "ael.y"
+ case 107:
+#line 534 "ael.y"
{
if (strcasecmp((yyvsp[(1) - (3)].str),"goto") == 0) {
(yyval.pval) = npval2(PV_GOTO, &(yylsp[(1) - (3)]), &(yylsp[(2) - (3)]));
} ;}
break;
- case 104:
-#line 536 "ael.y"
+ case 108:
+#line 545 "ael.y"
{
(yyval.pval) = update_last((yyvsp[(1) - (3)].pval), &(yylsp[(3) - (3)]));
if( (yyval.pval)->type == PV_GOTO )
;}
break;
- case 105:
-#line 543 "ael.y"
+ case 109:
+#line 552 "ael.y"
{ (yyval.pval) = update_last((yyvsp[(1) - (2)].pval), &(yylsp[(2) - (2)])); ;}
break;
- case 106:
-#line 546 "ael.y"
+ case 110:
+#line 555 "ael.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str) ;}
break;
- case 107:
-#line 547 "ael.y"
+ case 111:
+#line 556 "ael.y"
{ (yyval.str) = strdup(""); ;}
break;
- case 108:
-#line 550 "ael.y"
+ case 112:
+#line 559 "ael.y"
{ (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;}
break;
- case 109:
-#line 551 "ael.y"
+ case 113:
+#line 560 "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 110:
-#line 554 "ael.y"
+ case 114:
+#line 563 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), nword((yyvsp[(3) - (3)].str), &(yylsp[(3) - (3)]))); ;}
break;
- case 111:
-#line 557 "ael.y"
+ case 115:
+#line 566 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
- case 112:
-#line 558 "ael.y"
+ case 116:
+#line 567 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;}
break;
- case 113:
-#line 561 "ael.y"
+ case 117:
+#line 570 "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 114:
-#line 565 "ael.y"
+ case 118:
+#line 574 "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 115:
-#line 569 "ael.y"
+ case 119:
+#line 578 "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 116:
-#line 575 "ael.y"
+ case 120:
+#line 584 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
- case 117:
-#line 576 "ael.y"
+ case 121:
+#line 585 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (2)].pval), (yyvsp[(2) - (2)].pval)); ;}
break;
- case 118:
-#line 579 "ael.y"
+ case 122:
+#line 588 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break;
- case 119:
-#line 580 "ael.y"
+ case 123:
+#line 589 "ael.y"
{ (yyval.pval)=(yyvsp[(1) - (1)].pval);;}
break;
- case 120:
-#line 581 "ael.y"
+ case 124:
+#line 590 "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 121:
-#line 587 "ael.y"
+ case 125:
+#line 596 "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 122:
-#line 592 "ael.y"
+ case 126:
+#line 601 "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 123:
-#line 597 "ael.y"
+ case 127:
+#line 606 "ael.y"
{ (yyval.pval) = NULL; ;}
break;
- case 124:
-#line 598 "ael.y"
+ case 128:
+#line 607 "ael.y"
{ (yyval.pval) = linku1(nword((yyvsp[(1) - (3)].str), &(yylsp[(1) - (3)])), (yyvsp[(3) - (3)].pval)); ;}
break;
- case 125:
-#line 599 "ael.y"
+ case 129:
+#line 608 "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 126:
-#line 601 "ael.y"
+ case 130:
+#line 610 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
break;
- case 127:
-#line 604 "ael.y"
+ case 131:
+#line 613 "ael.y"
{ (yyval.pval) = nword((yyvsp[(1) - (1)].str), &(yylsp[(1) - (1)])); ;}
break;
- case 128:
-#line 605 "ael.y"
+ case 132:
+#line 614 "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 129:
-#line 612 "ael.y"
+ case 133:
+#line 621 "ael.y"
{ (yyval.pval) = (yyvsp[(1) - (2)].pval); ;}
break;
- case 130:
-#line 613 "ael.y"
+ case 134:
+#line 622 "ael.y"
{ (yyval.pval) = linku1((yyvsp[(1) - (3)].pval), (yyvsp[(2) - (3)].pval)); ;}
break;
- case 131:
-#line 614 "ael.y"
+ case 135:
+#line 623 "ael.y"
{(yyval.pval)=(yyvsp[(1) - (2)].pval);;}
break;
- case 132:
-#line 617 "ael.y"
+ case 136:
+#line 626 "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 133:
-#line 620 "ael.y"
+ case 137:
+#line 629 "ael.y"
{
(yyval.pval) = npval2(PV_INCLUDES, &(yylsp[(1) - (3)]), &(yylsp[(3) - (3)]));;}
break;
/* Line 1270 of yacc.c. */
-#line 2940 "ael.tab.c"
+#line 2968 "ael.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
}
-#line 625 "ael.y"
+#line 634 "ael.y"
static char *token_equivs1[] =
KW_SWITCHES = 293,
KW_ESWITCHES = 294,
KW_INCLUDES = 295,
- word = 296
+ KW_LOCAL = 296,
+ word = 297
};
#endif
/* Tokens. */
#define KW_SWITCHES 293
#define KW_ESWITCHES 294
#define KW_INCLUDES 295
-#define word 296
+#define KW_LOCAL 296
+#define word 297
struct pval *pval; /* full objects */
}
/* Line 1536 of yacc.c. */
-#line 127 "ael.tab.h"
+#line 129 "ael.tab.h"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
%token KW_MACRO KW_GLOBALS KW_IGNOREPAT KW_SWITCH KW_IF KW_IFTIME KW_ELSE KW_RANDOM KW_ABSTRACT
%token EXTENMARK KW_GOTO KW_JUMP KW_RETURN KW_BREAK KW_CONTINUE KW_REGEXTEN KW_HINT
%token KW_FOR KW_WHILE KW_CASE KW_PATTERN KW_DEFAULT KW_CATCH KW_SWITCHES KW_ESWITCHES
-%token KW_INCLUDES
+%token KW_INCLUDES KW_LOCAL
%right BAR COMMA
%type <pval>elements
%type <pval>arglist
%type <pval>assignment
+%type <pval>local_assignment
%type <pval>global_statements
%type <pval>globals
%type <pval>macro
eval_arglist application_call application_call_head
macro_call target jumptarget statement switch_statement
if_like_head statements extension
- ignorepat element elements arglist assignment
+ ignorepat element elements arglist assignment local_assignment
global_statements globals macro context object objects
opt_else
timespec included_entry
$$->u2.val = $4; }
;
+local_assignment : KW_LOCAL word EQ { reset_semicount(parseio->scanner); } word SEMI {
+ $$ = npval2(PV_LOCALVARDEC, &@1, &@6);
+ $$->u1.str = $2;
+ $$->u2.val = $5; }
+ ;
+
/* XXX this matches missing arguments, is this desired ? */
arglist : /* empty */ { $$ = NULL; }
| word { $$ = nword($1, &@1); }
| eswitches {$$=$1;}
| ignorepat {$$=$1;}
| assignment {$$=$1;}
+ | local_assignment {$$=$1;}
| word error {free($1); $$=0;}
| SEMI {$$=0;/* allow older docs to be read */}
;
$$ = npval2(PV_STATEMENTBLOCK, &@1, &@3);
$$->u1.list = $2; set_dads($$,$2);}
| assignment { $$ = $1; }
+ | local_assignment { $$ = $1; }
| KW_GOTO target SEMI {
$$ = npval2(PV_GOTO, &@1, &@3);
$$->u1.list = $2;}
*/
int yy_at_bol;
- int yy_bs_lineno; /*!< The line count. */
- int yy_bs_column; /*!< The column count. */
+ int yy_bs_lineno; /**< The line count. */
+ int yy_bs_column; /**< The column count. */
/* Whether to try to fill the input buffer when we reach the
* end of it.
*yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp;
-#define YY_NUM_RULES 61
-#define YY_END_OF_BUFFER 62
+#define YY_NUM_RULES 62
+#define YY_END_OF_BUFFER 63
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[234] =
+static yyconst flex_int16_t yy_accept[239] =
{ 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 41, 41,
- 62, 61, 48, 46, 47, 49, 49, 9, 3, 4,
- 7, 49, 8, 5, 6, 12, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 1, 10, 2, 61, 51, 50, 61, 52, 61,
- 57, 58, 59, 61, 61, 53, 54, 55, 61, 56,
- 41, 42, 43, 48, 47, 49, 49, 40, 13, 11,
- 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 20, 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 0, 51, 50, 0, 52, 51, 50, 52, 0,
-
- 57, 58, 59, 0, 57, 58, 59, 0, 53, 54,
- 55, 0, 56, 53, 54, 55, 56, 41, 42, 43,
- 44, 43, 45, 49, 13, 13, 49, 49, 49, 49,
- 49, 49, 49, 49, 31, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
- 49, 49, 33, 49, 49, 49, 25, 49, 49, 26,
- 24, 49, 49, 49, 27, 49, 49, 49, 49, 49,
- 49, 49, 49, 49, 29, 36, 49, 49, 49, 49,
- 49, 49, 49, 49, 16, 49, 49, 49, 49, 49,
- 32, 49, 49, 49, 49, 49, 49, 49, 21, 49,
-
- 49, 49, 22, 49, 28, 19, 49, 49, 14, 49,
- 34, 49, 17, 49, 49, 35, 49, 49, 49, 15,
- 30, 49, 49, 39, 23, 37, 0, 38, 18, 0,
- 0, 60, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 42, 42,
+ 63, 62, 49, 47, 48, 50, 50, 9, 3, 4,
+ 7, 50, 8, 5, 6, 12, 50, 50, 50, 50,
+ 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 1, 10, 2, 62, 52, 51, 62, 53,
+ 62, 58, 59, 60, 62, 62, 54, 55, 56, 62,
+ 57, 42, 43, 44, 49, 48, 50, 50, 41, 13,
+ 11, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 21, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 50, 0, 52, 51, 0, 53, 52, 51,
+
+ 53, 0, 58, 59, 60, 0, 58, 59, 60, 0,
+ 54, 55, 56, 0, 57, 54, 55, 56, 57, 42,
+ 43, 44, 45, 44, 46, 50, 13, 13, 50, 50,
+ 50, 50, 50, 50, 50, 50, 32, 50, 50, 50,
+ 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 50, 50, 50, 34, 50, 50, 50, 26,
+ 50, 50, 27, 25, 50, 50, 50, 28, 50, 50,
+ 50, 50, 50, 50, 50, 50, 50, 50, 30, 37,
+ 50, 50, 50, 50, 50, 50, 50, 50, 18, 16,
+ 50, 50, 50, 50, 50, 33, 50, 50, 50, 50,
+
+ 50, 50, 50, 22, 50, 50, 50, 23, 50, 29,
+ 20, 50, 50, 14, 50, 35, 50, 17, 50, 50,
+ 36, 50, 50, 50, 15, 31, 50, 50, 40, 24,
+ 38, 0, 39, 19, 0, 0, 61, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
3, 3, 3, 3, 3, 1, 3
} ;
-static yyconst flex_int16_t yy_base[247] =
+static yyconst flex_int16_t yy_base[252] =
{ 0,
0, 0, 39, 42, 81, 120, 159, 198, 47, 54,
- 310, 985, 307, 985, 304, 0, 276, 985, 985, 985,
- 985, 42, 985, 985, 289, 985, 281, 265, 31, 276,
- 32, 265, 33, 270, 45, 258, 276, 272, 48, 251,
- 263, 985, 985, 985, 73, 985, 985, 89, 985, 237,
- 985, 985, 985, 276, 315, 985, 985, 985, 354, 985,
- 289, 985, 66, 288, 285, 0, 252, 0, 401, 985,
- 247, 256, 64, 245, 252, 239, 235, 238, 239, 234,
- 238, 254, 236, 246, 235, 244, 227, 231, 47, 235,
- 234, 103, 985, 985, 137, 985, 142, 176, 181, 439,
-
- 985, 985, 985, 478, 517, 556, 595, 634, 985, 985,
- 985, 673, 985, 712, 751, 790, 829, 261, 985, 103,
- 985, 104, 985, 238, 0, 876, 221, 238, 233, 231,
- 214, 231, 226, 220, 0, 226, 212, 207, 213, 205,
- 207, 202, 200, 197, 211, 209, 193, 193, 199, 198,
- 192, 197, 0, 199, 100, 185, 0, 184, 201, 0,
- 0, 187, 178, 174, 0, 178, 187, 176, 168, 172,
- 184, 178, 158, 176, 0, 0, 151, 158, 159, 167,
- 154, 156, 151, 151, 0, 137, 140, 132, 130, 131,
- 0, 134, 131, 114, 112, 112, 119, 105, 0, 106,
-
- 116, 103, 0, 111, 0, 110, 106, 91, 0, 95,
- 0, 94, 0, 96, 68, 0, 64, 57, 76, 0,
- 0, 52, 44, 0, 0, 0, 168, 0, 0, 0,
- 50, 985, 985, 922, 927, 932, 937, 940, 945, 950,
- 955, 960, 964, 969, 974, 979
+ 314, 985, 311, 985, 308, 0, 280, 985, 985, 985,
+ 985, 42, 985, 985, 293, 985, 285, 269, 31, 280,
+ 32, 269, 33, 274, 45, 262, 266, 279, 278, 48,
+ 257, 269, 985, 985, 985, 73, 985, 985, 89, 985,
+ 237, 985, 985, 985, 276, 315, 985, 985, 985, 354,
+ 985, 292, 985, 66, 292, 289, 0, 256, 0, 401,
+ 985, 250, 262, 64, 252, 259, 243, 238, 241, 242,
+ 237, 241, 257, 239, 249, 238, 247, 246, 229, 233,
+ 47, 237, 236, 103, 985, 985, 137, 985, 142, 176,
+
+ 181, 439, 985, 985, 985, 478, 517, 556, 595, 634,
+ 985, 985, 985, 673, 985, 712, 751, 790, 829, 263,
+ 985, 103, 985, 104, 985, 240, 0, 876, 223, 240,
+ 235, 236, 219, 233, 228, 223, 0, 229, 214, 209,
+ 218, 211, 210, 204, 218, 201, 198, 212, 210, 194,
+ 194, 200, 199, 193, 198, 0, 200, 100, 187, 0,
+ 186, 202, 0, 0, 189, 183, 175, 0, 182, 178,
+ 187, 176, 168, 172, 184, 178, 158, 176, 0, 0,
+ 151, 158, 159, 167, 154, 156, 151, 151, 0, 0,
+ 137, 140, 132, 130, 131, 0, 134, 131, 114, 112,
+
+ 112, 119, 105, 0, 106, 116, 103, 0, 111, 0,
+ 110, 106, 91, 0, 95, 0, 94, 0, 96, 68,
+ 0, 64, 57, 76, 0, 0, 52, 44, 0, 0,
+ 0, 168, 0, 0, 0, 50, 985, 985, 922, 927,
+ 932, 937, 940, 945, 950, 955, 960, 964, 969, 974,
+ 979
} ;
-static yyconst flex_int16_t yy_def[247] =
+static yyconst flex_int16_t yy_def[252] =
{ 0,
- 233, 1, 234, 234, 235, 235, 236, 236, 237, 237,
- 233, 233, 233, 233, 233, 238, 238, 233, 233, 233,
- 233, 238, 233, 233, 233, 233, 238, 238, 238, 238,
+ 238, 1, 239, 239, 240, 240, 241, 241, 242, 242,
+ 238, 238, 238, 238, 238, 243, 243, 238, 238, 238,
+ 238, 243, 238, 238, 238, 238, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 238, 238, 238, 244, 238, 238, 244, 238,
+ 245, 238, 238, 238, 245, 246, 238, 238, 238, 246,
+ 238, 247, 238, 248, 238, 238, 243, 243, 243, 249,
+ 238, 243, 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 244, 238, 238, 244, 238, 244, 244,
+
+ 244, 245, 238, 238, 238, 245, 245, 245, 245, 246,
+ 238, 238, 238, 246, 238, 246, 246, 246, 246, 247,
+ 238, 248, 238, 248, 238, 243, 250, 249, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
+
+ 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
+ 243, 238, 243, 243, 251, 251, 238, 0, 238, 238,
238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
- 238, 233, 233, 233, 239, 233, 233, 239, 233, 240,
- 233, 233, 233, 240, 241, 233, 233, 233, 241, 233,
- 242, 233, 243, 233, 233, 238, 238, 238, 244, 233,
+ 238
+ } ;
+
+static yyconst flex_int16_t yy_nxt[1033] =
+ { 0,
+ 12, 13, 14, 15, 16, 16, 17, 18, 19, 20,
+ 16, 21, 22, 23, 24, 25, 16, 26, 16, 16,
+ 12, 16, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 16, 37, 38, 16, 16, 39, 40, 41,
+ 16, 16, 42, 16, 43, 44, 45, 47, 48, 63,
+ 47, 48, 69, 74, 70, 237, 63, 64, 47, 49,
+ 50, 47, 49, 50, 64, 77, 80, 75, 123, 81,
+ 90, 78, 83, 84, 91, 149, 124, 232, 125, 232,
+ 85, 95, 96, 47, 234, 50, 47, 150, 50, 52,
+ 53, 233, 95, 97, 98, 54, 231, 99, 100, 230,
+
+ 52, 55, 53, 131, 132, 123, 123, 229, 99, 97,
+ 101, 95, 96, 238, 124, 238, 238, 95, 228, 98,
+ 227, 226, 95, 97, 98, 52, 181, 53, 52, 53,
+ 182, 225, 224, 99, 54, 101, 223, 222, 221, 52,
+ 55, 53, 220, 219, 218, 99, 100, 95, 217, 98,
+ 95, 96, 216, 215, 214, 213, 99, 97, 101, 212,
+ 211, 95, 97, 98, 52, 210, 53, 57, 58, 232,
+ 59, 232, 209, 235, 208, 207, 206, 205, 57, 60,
+ 61, 99, 204, 101, 95, 96, 95, 203, 98, 95,
+ 96, 202, 201, 200, 199, 95, 97, 98, 198, 197,
+
+ 95, 97, 98, 57, 196, 61, 57, 58, 195, 59,
+ 194, 193, 192, 191, 190, 189, 188, 57, 60, 61,
+ 95, 187, 98, 186, 185, 95, 184, 98, 183, 180,
+ 179, 178, 177, 176, 175, 174, 173, 172, 171, 170,
+ 169, 168, 57, 167, 61, 103, 104, 166, 165, 164,
+ 163, 105, 162, 161, 160, 159, 103, 106, 104, 158,
+ 157, 156, 155, 154, 153, 121, 152, 151, 148, 147,
+ 146, 145, 144, 143, 142, 141, 140, 139, 138, 137,
+ 136, 103, 135, 104, 107, 108, 134, 133, 130, 129,
+ 109, 126, 66, 65, 121, 107, 106, 108, 93, 92,
+
+ 89, 88, 87, 86, 82, 79, 76, 73, 72, 71,
+ 68, 66, 65, 238, 238, 238, 238, 238, 238, 238,
+ 107, 238, 108, 111, 112, 238, 113, 238, 238, 238,
+ 238, 238, 238, 238, 111, 114, 115, 238, 238, 238,
238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
+ 238, 238, 238, 238, 238, 238, 238, 238, 238, 111,
+ 238, 115, 116, 117, 238, 118, 238, 238, 238, 238,
+ 238, 238, 238, 116, 114, 119, 238, 238, 238, 238,
238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
- 238, 239, 233, 233, 239, 233, 239, 239, 239, 240,
+ 238, 238, 238, 238, 238, 238, 238, 238, 116, 238,
- 233, 233, 233, 240, 240, 240, 240, 241, 233, 233,
- 233, 241, 233, 241, 241, 241, 241, 242, 233, 243,
- 233, 243, 233, 238, 245, 244, 238, 238, 238, 238,
+ 119, 127, 127, 238, 127, 238, 238, 238, 127, 127,
+ 127, 238, 127, 238, 127, 127, 127, 238, 127, 238,
+ 238, 127, 238, 238, 238, 238, 238, 238, 238, 238,
238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
+ 238, 238, 238, 238, 238, 238, 127, 103, 104, 238,
+ 238, 238, 238, 105, 238, 238, 238, 238, 103, 106,
+ 104, 238, 238, 238, 238, 238, 238, 238, 238, 238,
238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
+ 238, 238, 238, 103, 238, 104, 107, 108, 238, 238,
+ 238, 238, 109, 238, 238, 238, 238, 107, 106, 108,
+
238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
+ 238, 238, 107, 238, 108, 103, 104, 238, 238, 238,
+ 238, 105, 238, 238, 238, 238, 103, 106, 104, 238,
238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
+ 238, 103, 238, 104, 103, 104, 238, 238, 238, 238,
+ 105, 238, 238, 238, 238, 103, 106, 104, 238, 238,
+ 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
+ 103, 238, 104, 103, 104, 238, 238, 238, 238, 105,
+ 238, 238, 238, 238, 103, 106, 104, 238, 238, 238,
238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
+ 238, 238, 238, 238, 238, 238, 238, 238, 238, 103,
+ 238, 104, 111, 112, 238, 113, 238, 238, 238, 238,
+ 238, 238, 238, 111, 114, 115, 238, 238, 238, 238,
238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
- 238, 238, 238, 238, 238, 238, 233, 238, 238, 246,
- 246, 233, 0, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233
- } ;
+ 238, 238, 238, 238, 238, 238, 238, 238, 111, 238,
+ 115, 116, 117, 238, 118, 238, 238, 238, 238, 238,
+ 238, 238, 116, 114, 119, 238, 238, 238, 238, 238,
-static yyconst flex_int16_t yy_nxt[1033] =
- { 0,
- 12, 13, 14, 15, 16, 16, 17, 18, 19, 20,
- 16, 21, 22, 23, 24, 25, 16, 26, 16, 16,
- 12, 16, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 16, 16, 37, 16, 16, 38, 39, 40,
- 16, 16, 41, 16, 42, 43, 44, 46, 47, 62,
- 46, 47, 68, 73, 69, 232, 62, 63, 46, 48,
- 49, 46, 48, 49, 63, 76, 79, 74, 121, 80,
- 88, 77, 82, 83, 89, 146, 122, 227, 123, 227,
- 84, 93, 94, 46, 229, 49, 46, 147, 49, 51,
- 52, 228, 93, 95, 96, 53, 226, 97, 98, 225,
-
- 51, 54, 52, 129, 130, 121, 121, 224, 97, 95,
- 99, 93, 94, 233, 122, 233, 233, 93, 223, 96,
- 222, 221, 93, 95, 96, 51, 177, 52, 51, 52,
- 178, 220, 219, 97, 53, 99, 218, 217, 216, 51,
- 54, 52, 215, 214, 213, 97, 98, 93, 212, 96,
- 93, 94, 211, 210, 209, 208, 97, 95, 99, 207,
- 206, 93, 95, 96, 51, 205, 52, 56, 57, 227,
- 58, 227, 204, 230, 203, 202, 201, 200, 56, 59,
- 60, 97, 199, 99, 93, 94, 93, 198, 96, 93,
- 94, 197, 196, 195, 194, 93, 95, 96, 193, 192,
-
- 93, 95, 96, 56, 191, 60, 56, 57, 190, 58,
- 189, 188, 187, 186, 185, 184, 183, 56, 59, 60,
- 93, 182, 96, 181, 180, 93, 179, 96, 176, 175,
- 174, 173, 172, 171, 170, 169, 168, 167, 166, 165,
- 164, 163, 56, 162, 60, 101, 102, 161, 160, 159,
- 158, 103, 157, 156, 155, 154, 101, 104, 102, 153,
- 152, 151, 150, 119, 149, 148, 145, 144, 143, 142,
- 141, 140, 139, 138, 137, 136, 135, 134, 133, 132,
- 131, 101, 128, 102, 105, 106, 127, 124, 65, 64,
- 107, 119, 91, 90, 87, 105, 104, 106, 86, 85,
-
- 81, 78, 75, 72, 71, 70, 67, 65, 64, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 105, 233, 106, 109, 110, 233, 111, 233, 233, 233,
- 233, 233, 233, 233, 109, 112, 113, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 109,
- 233, 113, 114, 115, 233, 116, 233, 233, 233, 233,
- 233, 233, 233, 114, 112, 117, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 114, 233,
-
- 117, 125, 125, 233, 125, 233, 233, 233, 125, 125,
- 125, 233, 125, 233, 125, 125, 125, 233, 125, 233,
- 233, 125, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 125, 101, 102, 233,
- 233, 233, 233, 103, 233, 233, 233, 233, 101, 104,
- 102, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 101, 233, 102, 105, 106, 233, 233,
- 233, 233, 107, 233, 233, 233, 233, 105, 104, 106,
-
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 105, 233, 106, 101, 102, 233, 233, 233,
- 233, 103, 233, 233, 233, 233, 101, 104, 102, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 101, 233, 102, 101, 102, 233, 233, 233, 233,
- 103, 233, 233, 233, 233, 101, 104, 102, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
-
- 101, 233, 102, 101, 102, 233, 233, 233, 233, 103,
- 233, 233, 233, 233, 101, 104, 102, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 101,
- 233, 102, 109, 110, 233, 111, 233, 233, 233, 233,
- 233, 233, 233, 109, 112, 113, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 109, 233,
- 113, 114, 115, 233, 116, 233, 233, 233, 233, 233,
- 233, 233, 114, 112, 117, 233, 233, 233, 233, 233,
-
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 114, 233, 117,
- 109, 110, 233, 111, 233, 233, 233, 233, 233, 233,
- 233, 109, 112, 113, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 109, 233, 113, 109,
- 110, 233, 111, 233, 233, 233, 233, 233, 233, 233,
- 109, 112, 113, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 109, 233, 113, 109, 110,
-
- 233, 111, 233, 233, 233, 233, 233, 233, 233, 109,
- 112, 113, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 109, 233, 113, 109, 110, 233,
- 111, 233, 233, 233, 233, 233, 233, 233, 109, 112,
- 113, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 109, 233, 113, 125, 125, 233, 125,
- 233, 233, 233, 125, 125, 125, 233, 125, 233, 125,
- 125, 125, 233, 125, 233, 233, 125, 233, 233, 233,
-
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 125, 45, 45, 45, 45, 45, 50, 50, 50,
- 50, 50, 55, 55, 55, 55, 55, 61, 61, 61,
- 61, 61, 66, 66, 66, 92, 92, 92, 92, 92,
- 100, 100, 100, 100, 100, 108, 108, 108, 108, 108,
- 118, 118, 118, 118, 120, 120, 120, 120, 120, 126,
- 233, 126, 126, 126, 125, 233, 125, 125, 125, 231,
- 231, 231, 233, 231, 11, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
-
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233
+ 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
+ 238, 238, 238, 238, 238, 238, 238, 116, 238, 119,
+ 111, 112, 238, 113, 238, 238, 238, 238, 238, 238,
+ 238, 111, 114, 115, 238, 238, 238, 238, 238, 238,
+ 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
+ 238, 238, 238, 238, 238, 238, 111, 238, 115, 111,
+ 112, 238, 113, 238, 238, 238, 238, 238, 238, 238,
+ 111, 114, 115, 238, 238, 238, 238, 238, 238, 238,
+ 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
+ 238, 238, 238, 238, 238, 111, 238, 115, 111, 112,
+
+ 238, 113, 238, 238, 238, 238, 238, 238, 238, 111,
+ 114, 115, 238, 238, 238, 238, 238, 238, 238, 238,
+ 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
+ 238, 238, 238, 238, 111, 238, 115, 111, 112, 238,
+ 113, 238, 238, 238, 238, 238, 238, 238, 111, 114,
+ 115, 238, 238, 238, 238, 238, 238, 238, 238, 238,
+ 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
+ 238, 238, 238, 111, 238, 115, 127, 127, 238, 127,
+ 238, 238, 238, 127, 127, 127, 238, 127, 238, 127,
+ 127, 127, 238, 127, 238, 238, 127, 238, 238, 238,
+
+ 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
+ 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
+ 238, 127, 46, 46, 46, 46, 46, 51, 51, 51,
+ 51, 51, 56, 56, 56, 56, 56, 62, 62, 62,
+ 62, 62, 67, 67, 67, 94, 94, 94, 94, 94,
+ 102, 102, 102, 102, 102, 110, 110, 110, 110, 110,
+ 120, 120, 120, 120, 122, 122, 122, 122, 122, 128,
+ 238, 128, 128, 128, 127, 238, 127, 127, 127, 236,
+ 236, 236, 238, 236, 11, 238, 238, 238, 238, 238,
+ 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
+
+ 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
+ 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
+ 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
+ 238, 238
} ;
static yyconst flex_int16_t yy_chk[1033] =
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, 3, 3, 9,
- 4, 4, 22, 29, 22, 231, 10, 9, 3, 3,
- 3, 4, 4, 4, 10, 31, 33, 29, 63, 33,
- 39, 31, 35, 35, 39, 89, 63, 219, 63, 219,
- 35, 45, 45, 3, 223, 3, 4, 89, 4, 5,
- 5, 222, 45, 45, 45, 5, 218, 48, 48, 217,
-
- 5, 5, 5, 73, 73, 120, 122, 215, 48, 48,
- 48, 92, 92, 120, 122, 120, 122, 45, 214, 45,
- 212, 210, 92, 92, 92, 5, 155, 5, 6, 6,
- 155, 208, 207, 48, 6, 48, 206, 204, 202, 6,
- 6, 6, 201, 200, 198, 95, 95, 92, 197, 92,
- 97, 97, 196, 195, 194, 193, 95, 95, 95, 192,
- 190, 97, 97, 97, 6, 189, 6, 7, 7, 227,
- 7, 227, 188, 227, 187, 186, 184, 183, 7, 7,
- 7, 95, 182, 95, 98, 98, 97, 181, 97, 99,
- 99, 180, 179, 178, 177, 98, 98, 98, 174, 173,
-
- 99, 99, 99, 7, 172, 7, 8, 8, 171, 8,
- 170, 169, 168, 167, 166, 164, 163, 8, 8, 8,
- 98, 162, 98, 159, 158, 99, 156, 99, 154, 152,
- 151, 150, 149, 148, 147, 146, 145, 144, 143, 142,
- 141, 140, 8, 139, 8, 50, 50, 138, 137, 136,
- 134, 50, 133, 132, 131, 130, 50, 50, 50, 129,
- 128, 127, 124, 118, 91, 90, 88, 87, 86, 85,
- 84, 83, 82, 81, 80, 79, 78, 77, 76, 75,
- 74, 50, 72, 50, 54, 54, 71, 67, 65, 64,
- 54, 61, 41, 40, 38, 54, 54, 54, 37, 36,
-
- 34, 32, 30, 28, 27, 25, 17, 15, 13, 11,
+ 4, 4, 22, 29, 22, 236, 10, 9, 3, 3,
+ 3, 4, 4, 4, 10, 31, 33, 29, 64, 33,
+ 40, 31, 35, 35, 40, 91, 64, 224, 64, 224,
+ 35, 46, 46, 3, 228, 3, 4, 91, 4, 5,
+ 5, 227, 46, 46, 46, 5, 223, 49, 49, 222,
+
+ 5, 5, 5, 74, 74, 122, 124, 220, 49, 49,
+ 49, 94, 94, 122, 124, 122, 124, 46, 219, 46,
+ 217, 215, 94, 94, 94, 5, 158, 5, 6, 6,
+ 158, 213, 212, 49, 6, 49, 211, 209, 207, 6,
+ 6, 6, 206, 205, 203, 97, 97, 94, 202, 94,
+ 99, 99, 201, 200, 199, 198, 97, 97, 97, 197,
+ 195, 99, 99, 99, 6, 194, 6, 7, 7, 232,
+ 7, 232, 193, 232, 192, 191, 188, 187, 7, 7,
+ 7, 97, 186, 97, 100, 100, 99, 185, 99, 101,
+ 101, 184, 183, 182, 181, 100, 100, 100, 178, 177,
+
+ 101, 101, 101, 7, 176, 7, 8, 8, 175, 8,
+ 174, 173, 172, 171, 170, 169, 167, 8, 8, 8,
+ 100, 166, 100, 165, 162, 101, 161, 101, 159, 157,
+ 155, 154, 153, 152, 151, 150, 149, 148, 147, 146,
+ 145, 144, 8, 143, 8, 51, 51, 142, 141, 140,
+ 139, 51, 138, 136, 135, 134, 51, 51, 51, 133,
+ 132, 131, 130, 129, 126, 120, 93, 92, 90, 89,
+ 88, 87, 86, 85, 84, 83, 82, 81, 80, 79,
+ 78, 51, 77, 51, 55, 55, 76, 75, 73, 72,
+ 55, 68, 66, 65, 62, 55, 55, 55, 42, 41,
+
+ 39, 38, 37, 36, 34, 32, 30, 28, 27, 25,
+ 17, 15, 13, 11, 0, 0, 0, 0, 0, 0,
+ 55, 0, 55, 56, 56, 0, 56, 0, 0, 0,
+ 0, 0, 0, 0, 56, 56, 56, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 54, 0, 54, 55, 55, 0, 55, 0, 0, 0,
- 0, 0, 0, 0, 55, 55, 55, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,
+ 0, 56, 60, 60, 0, 60, 0, 0, 0, 0,
+ 0, 0, 0, 60, 60, 60, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 55,
- 0, 55, 59, 59, 0, 59, 0, 0, 0, 0,
- 0, 0, 0, 59, 59, 59, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 59, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 60, 0,
- 59, 69, 69, 0, 69, 0, 0, 0, 69, 69,
- 69, 0, 69, 0, 69, 69, 69, 0, 69, 0,
- 0, 69, 0, 0, 0, 0, 0, 0, 0, 0,
+ 60, 70, 70, 0, 70, 0, 0, 0, 70, 70,
+ 70, 0, 70, 0, 70, 70, 70, 0, 70, 0,
+ 0, 70, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 69, 100, 100, 0,
- 0, 0, 0, 100, 0, 0, 0, 0, 100, 100,
- 100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 70, 102, 102, 0,
+ 0, 0, 0, 102, 0, 0, 0, 0, 102, 102,
+ 102, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 100, 0, 100, 104, 104, 0, 0,
- 0, 0, 104, 0, 0, 0, 0, 104, 104, 104,
+ 0, 0, 0, 102, 0, 102, 106, 106, 0, 0,
+ 0, 0, 106, 0, 0, 0, 0, 106, 106, 106,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 104, 0, 104, 105, 105, 0, 0, 0,
- 0, 105, 0, 0, 0, 0, 105, 105, 105, 0,
+ 0, 0, 106, 0, 106, 107, 107, 0, 0, 0,
+ 0, 107, 0, 0, 0, 0, 107, 107, 107, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 105, 0, 105, 106, 106, 0, 0, 0, 0,
- 106, 0, 0, 0, 0, 106, 106, 106, 0, 0,
+ 0, 107, 0, 107, 108, 108, 0, 0, 0, 0,
+ 108, 0, 0, 0, 0, 108, 108, 108, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 106, 0, 106, 107, 107, 0, 0, 0, 0, 107,
- 0, 0, 0, 0, 107, 107, 107, 0, 0, 0,
+ 108, 0, 108, 109, 109, 0, 0, 0, 0, 109,
+ 0, 0, 0, 0, 109, 109, 109, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 107,
- 0, 107, 108, 108, 0, 108, 0, 0, 0, 0,
- 0, 0, 0, 108, 108, 108, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 109,
+ 0, 109, 110, 110, 0, 110, 0, 0, 0, 0,
+ 0, 0, 0, 110, 110, 110, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 108, 0,
- 108, 112, 112, 0, 112, 0, 0, 0, 0, 0,
- 0, 0, 112, 112, 112, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 110, 0,
+ 110, 114, 114, 0, 114, 0, 0, 0, 0, 0,
+ 0, 0, 114, 114, 114, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 112, 0, 112,
- 114, 114, 0, 114, 0, 0, 0, 0, 0, 0,
- 0, 114, 114, 114, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 114, 0, 114,
+ 116, 116, 0, 116, 0, 0, 0, 0, 0, 0,
+ 0, 116, 116, 116, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 114, 0, 114, 115,
- 115, 0, 115, 0, 0, 0, 0, 0, 0, 0,
- 115, 115, 115, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 116, 0, 116, 117,
+ 117, 0, 117, 0, 0, 0, 0, 0, 0, 0,
+ 117, 117, 117, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 115, 0, 115, 116, 116,
+ 0, 0, 0, 0, 0, 117, 0, 117, 118, 118,
- 0, 116, 0, 0, 0, 0, 0, 0, 0, 116,
- 116, 116, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 118, 0, 0, 0, 0, 0, 0, 0, 118,
+ 118, 118, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 116, 0, 116, 117, 117, 0,
- 117, 0, 0, 0, 0, 0, 0, 0, 117, 117,
- 117, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 118, 0, 118, 119, 119, 0,
+ 119, 0, 0, 0, 0, 0, 0, 0, 119, 119,
+ 119, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 117, 0, 117, 126, 126, 0, 126,
- 0, 0, 0, 126, 126, 126, 0, 126, 0, 126,
- 126, 126, 0, 126, 0, 0, 126, 0, 0, 0,
+ 0, 0, 0, 119, 0, 119, 128, 128, 0, 128,
+ 0, 0, 0, 128, 128, 128, 0, 128, 0, 128,
+ 128, 128, 0, 128, 0, 0, 128, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 126, 234, 234, 234, 234, 234, 235, 235, 235,
- 235, 235, 236, 236, 236, 236, 236, 237, 237, 237,
- 237, 237, 238, 238, 238, 239, 239, 239, 239, 239,
- 240, 240, 240, 240, 240, 241, 241, 241, 241, 241,
- 242, 242, 242, 242, 243, 243, 243, 243, 243, 244,
- 0, 244, 244, 244, 245, 0, 245, 245, 245, 246,
- 246, 246, 0, 246, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
-
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
- 233, 233
+ 0, 128, 239, 239, 239, 239, 239, 240, 240, 240,
+ 240, 240, 241, 241, 241, 241, 241, 242, 242, 242,
+ 242, 242, 243, 243, 243, 244, 244, 244, 244, 244,
+ 245, 245, 245, 245, 245, 246, 246, 246, 246, 246,
+ 247, 247, 247, 247, 248, 248, 248, 248, 248, 249,
+ 0, 249, 249, 249, 250, 0, 250, 250, 250, 251,
+ 251, 251, 0, 251, 238, 238, 238, 238, 238, 238,
+ 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
+
+ 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
+ 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
+ 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
+ 238, 238
} ;
/* The intent behind this definition is that it'll catch
#define yymore() (yyg->yy_more_flag = 1)
#define YY_MORE_ADJ yyg->yy_more_len
#define YY_RESTORE_YY_MORE_OFFSET
-#line 1 "ael/ael.flex"
+#line 1 "ael.flex"
/*
* Asterisk -- An open source telephony toolkit.
*
* bison-bridge passes an additional yylval argument to ael_yylex().
* bison-locations is probably not needed.
*/
-#line 59 "ael/ael.flex"
+#line 59 "ael.flex"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include <sys/types.h>
#define STORE_POS
#define STORE_LOC
#endif
-#line 884 "ael_lex.c"
+#line 886 "ael_lex.c"
#define INITIAL 0
#define paren 1
#define argg 3
#define comment 4
+#ifndef YY_NO_UNISTD_H
/* Special case for "unistd.h", since it is non-ANSI. We include it way
* down here because we want the user's section 1 to have been scanned first.
* The user has a chance to override it with an option.
*/
#include <unistd.h>
+#endif
#ifndef YY_EXTRA_TYPE
#define YY_EXTRA_TYPE void *
#endif
-/*! \brief Holds the entire state of the reentrant scanner. */
+/* Holds the entire state of the reentrant scanner. */
struct yyguts_t
{
/* The rest are the same as the globals declared in the non-reentrant scanner. */
FILE *yyin_r, *yyout_r;
- size_t yy_buffer_stack_top; /*!< index of top of stack. */
- size_t yy_buffer_stack_max; /*!< capacity of stack. */
- YY_BUFFER_STATE * yy_buffer_stack; /*!< Stack as an array. */
+ size_t yy_buffer_stack_top; /**< index of top of stack. */
+ size_t yy_buffer_stack_max; /**< capacity of stack. */
+ YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
char yy_hold_char;
int yy_n_chars;
int yyleng_r;
}; /* end struct yyguts_t */
+static int yy_init_globals (yyscan_t yyscanner );
+
/* This must go here because YYSTYPE and YYLTYPE are included
* from bison output in section 1.*/
# define yylval yyg->yylval_r
#ifndef YY_DECL
#define YY_DECL_IS_OURS 1
-extern int ael_yylex (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
+extern int ael_yylex \
+ (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
-#define YY_DECL int ael_yylex (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
+#define YY_DECL int ael_yylex \
+ (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
#endif /* !YY_DECL */
/* Code executed at the beginning of each rule, after yytext and yyleng
register int yy_act;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-#line 173 "ael/ael.flex"
+#line 173 "ael.flex"
-#line 1122 "ael_lex.c"
+#line 1130 "ael_lex.c"
yylval = yylval_param;
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 234 )
+ if ( yy_current_state >= 239 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
- while ( yy_current_state != 233 );
+ while ( yy_current_state != 238 );
yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state;
case 1:
YY_RULE_SETUP
-#line 175 "ael/ael.flex"
+#line 175 "ael.flex"
{ STORE_POS; return LC;}
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 176 "ael/ael.flex"
+#line 176 "ael.flex"
{ STORE_POS; return RC;}
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 177 "ael/ael.flex"
+#line 177 "ael.flex"
{ STORE_POS; return LP;}
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 178 "ael/ael.flex"
+#line 178 "ael.flex"
{ STORE_POS; return RP;}
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 179 "ael/ael.flex"
+#line 179 "ael.flex"
{ STORE_POS; return SEMI;}
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 180 "ael/ael.flex"
+#line 180 "ael.flex"
{ STORE_POS; return EQ;}
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 181 "ael/ael.flex"
+#line 181 "ael.flex"
{ STORE_POS; return COMMA;}
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 182 "ael/ael.flex"
+#line 182 "ael.flex"
{ STORE_POS; return COLON;}
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 183 "ael/ael.flex"
+#line 183 "ael.flex"
{ STORE_POS; return AMPER;}
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 184 "ael/ael.flex"
+#line 184 "ael.flex"
{ STORE_POS; return BAR;}
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 185 "ael/ael.flex"
+#line 185 "ael.flex"
{ STORE_POS; return EXTENMARK;}
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 186 "ael/ael.flex"
+#line 186 "ael.flex"
{ STORE_POS; return AT;}
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 187 "ael/ael.flex"
+#line 187 "ael.flex"
{/*comment*/}
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 188 "ael/ael.flex"
+#line 188 "ael.flex"
{ STORE_POS; return KW_CONTEXT;}
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 189 "ael/ael.flex"
+#line 189 "ael.flex"
{ STORE_POS; return KW_ABSTRACT;}
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 190 "ael/ael.flex"
+#line 190 "ael.flex"
{ STORE_POS; return KW_MACRO;};
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 191 "ael/ael.flex"
+#line 191 "ael.flex"
{ STORE_POS; return KW_GLOBALS;}
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 192 "ael/ael.flex"
-{ STORE_POS; return KW_IGNOREPAT;}
+#line 192 "ael.flex"
+{ STORE_POS; return KW_LOCAL;}
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 193 "ael/ael.flex"
-{ STORE_POS; return KW_SWITCH;}
+#line 193 "ael.flex"
+{ STORE_POS; return KW_IGNOREPAT;}
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 194 "ael/ael.flex"
-{ STORE_POS; return KW_IF;}
+#line 194 "ael.flex"
+{ STORE_POS; return KW_SWITCH;}
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 195 "ael/ael.flex"
-{ STORE_POS; return KW_IFTIME;}
+#line 195 "ael.flex"
+{ STORE_POS; return KW_IF;}
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 196 "ael/ael.flex"
-{ STORE_POS; return KW_RANDOM;}
+#line 196 "ael.flex"
+{ STORE_POS; return KW_IFTIME;}
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 197 "ael/ael.flex"
-{ STORE_POS; return KW_REGEXTEN;}
+#line 197 "ael.flex"
+{ STORE_POS; return KW_RANDOM;}
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 198 "ael/ael.flex"
-{ STORE_POS; return KW_HINT;}
+#line 198 "ael.flex"
+{ STORE_POS; return KW_REGEXTEN;}
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 199 "ael/ael.flex"
-{ STORE_POS; return KW_ELSE;}
+#line 199 "ael.flex"
+{ STORE_POS; return KW_HINT;}
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 200 "ael/ael.flex"
-{ STORE_POS; return KW_GOTO;}
+#line 200 "ael.flex"
+{ STORE_POS; return KW_ELSE;}
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 201 "ael/ael.flex"
-{ STORE_POS; return KW_JUMP;}
+#line 201 "ael.flex"
+{ STORE_POS; return KW_GOTO;}
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 202 "ael/ael.flex"
-{ STORE_POS; return KW_RETURN;}
+#line 202 "ael.flex"
+{ STORE_POS; return KW_JUMP;}
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 203 "ael/ael.flex"
-{ STORE_POS; return KW_BREAK;}
+#line 203 "ael.flex"
+{ STORE_POS; return KW_RETURN;}
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 204 "ael/ael.flex"
-{ STORE_POS; return KW_CONTINUE;}
+#line 204 "ael.flex"
+{ STORE_POS; return KW_BREAK;}
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 205 "ael/ael.flex"
-{ STORE_POS; return KW_FOR;}
+#line 205 "ael.flex"
+{ STORE_POS; return KW_CONTINUE;}
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 206 "ael/ael.flex"
-{ STORE_POS; return KW_WHILE;}
+#line 206 "ael.flex"
+{ STORE_POS; return KW_FOR;}
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 207 "ael/ael.flex"
-{ STORE_POS; return KW_CASE;}
+#line 207 "ael.flex"
+{ STORE_POS; return KW_WHILE;}
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 208 "ael/ael.flex"
-{ STORE_POS; return KW_DEFAULT;}
+#line 208 "ael.flex"
+{ STORE_POS; return KW_CASE;}
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 209 "ael/ael.flex"
-{ STORE_POS; return KW_PATTERN;}
+#line 209 "ael.flex"
+{ STORE_POS; return KW_DEFAULT;}
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 210 "ael/ael.flex"
-{ STORE_POS; return KW_CATCH;}
+#line 210 "ael.flex"
+{ STORE_POS; return KW_PATTERN;}
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 211 "ael/ael.flex"
-{ STORE_POS; return KW_SWITCHES;}
+#line 211 "ael.flex"
+{ STORE_POS; return KW_CATCH;}
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 212 "ael/ael.flex"
-{ STORE_POS; return KW_ESWITCHES;}
+#line 212 "ael.flex"
+{ STORE_POS; return KW_SWITCHES;}
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 213 "ael/ael.flex"
-{ STORE_POS; return KW_INCLUDES;}
+#line 213 "ael.flex"
+{ STORE_POS; return KW_ESWITCHES;}
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 214 "ael/ael.flex"
-{ BEGIN(comment); my_col += 2; }
+#line 214 "ael.flex"
+{ STORE_POS; return KW_INCLUDES;}
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 216 "ael/ael.flex"
-{ my_col += yyleng; }
+#line 215 "ael.flex"
+{ BEGIN(comment); my_col += 2; }
YY_BREAK
case 42:
-/* rule 42 can match eol */
YY_RULE_SETUP
-#line 217 "ael/ael.flex"
-{ ++my_lineno; my_col=1;}
+#line 217 "ael.flex"
+{ my_col += yyleng; }
YY_BREAK
case 43:
+/* rule 43 can match eol */
YY_RULE_SETUP
-#line 218 "ael/ael.flex"
-{ my_col += yyleng; }
+#line 218 "ael.flex"
+{ ++my_lineno; my_col=1;}
YY_BREAK
case 44:
-/* rule 44 can match eol */
YY_RULE_SETUP
-#line 219 "ael/ael.flex"
-{ ++my_lineno; my_col=1;}
+#line 219 "ael.flex"
+{ my_col += yyleng; }
YY_BREAK
case 45:
+/* rule 45 can match eol */
YY_RULE_SETUP
-#line 220 "ael/ael.flex"
-{ my_col += 2; BEGIN(INITIAL); }
+#line 220 "ael.flex"
+{ ++my_lineno; my_col=1;}
YY_BREAK
case 46:
-/* rule 46 can match eol */
YY_RULE_SETUP
-#line 222 "ael/ael.flex"
-{ my_lineno++; my_col = 1; }
+#line 221 "ael.flex"
+{ my_col += 2; BEGIN(INITIAL); }
YY_BREAK
case 47:
+/* rule 47 can match eol */
YY_RULE_SETUP
-#line 223 "ael/ael.flex"
-{ my_col += yyleng; }
+#line 223 "ael.flex"
+{ my_lineno++; my_col = 1; }
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 224 "ael/ael.flex"
-{ my_col += (yyleng*8)-(my_col%8); }
+#line 224 "ael.flex"
+{ my_col += yyleng; }
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 226 "ael/ael.flex"
+#line 225 "ael.flex"
+{ my_col += (yyleng*8)-(my_col%8); }
+ YY_BREAK
+case 50:
+YY_RULE_SETUP
+#line 227 "ael.flex"
{
STORE_POS;
yylval->str = strdup(yytext);
* A comma at the top level is valid here, unlike in argg where it
* is an argument separator so it must be returned as a token.
*/
-case 50:
-/* rule 50 can match eol */
+case 51:
+/* rule 51 can match eol */
YY_RULE_SETUP
-#line 242 "ael/ael.flex"
+#line 243 "ael.flex"
{
if ( pbcpop(')') ) { /* error */
STORE_LOC;
}
}
YY_BREAK
-case 51:
-/* rule 51 can match eol */
+case 52:
+/* rule 52 can match eol */
YY_RULE_SETUP
-#line 264 "ael/ael.flex"
+#line 265 "ael.flex"
{
char c = yytext[yyleng-1];
if (c == '(')
yymore();
}
YY_BREAK
-case 52:
-/* rule 52 can match eol */
+case 53:
+/* rule 53 can match eol */
YY_RULE_SETUP
-#line 272 "ael/ael.flex"
+#line 273 "ael.flex"
{
char c = yytext[yyleng-1];
if ( pbcpop(c)) { /* error */
* of the (external) call, which happens when parencount == 0
* before the decrement.
*/
-case 53:
-/* rule 53 can match eol */
+case 54:
+/* rule 54 can match eol */
YY_RULE_SETUP
-#line 294 "ael/ael.flex"
+#line 295 "ael.flex"
{
char c = yytext[yyleng-1];
if (c == '(')
yymore();
}
YY_BREAK
-case 54:
-/* rule 54 can match eol */
+case 55:
+/* rule 55 can match eol */
YY_RULE_SETUP
-#line 302 "ael/ael.flex"
+#line 303 "ael.flex"
{
if ( pbcpop(')') ) { /* error */
STORE_LOC;
}
}
YY_BREAK
-case 55:
-/* rule 55 can match eol */
+case 56:
+/* rule 56 can match eol */
YY_RULE_SETUP
-#line 326 "ael/ael.flex"
+#line 327 "ael.flex"
{
if( parencount != 0) { /* printf("Folding in a comma!\n"); */
yymore();
}
}
YY_BREAK
-case 56:
-/* rule 56 can match eol */
+case 57:
+/* rule 57 can match eol */
YY_RULE_SETUP
-#line 340 "ael/ael.flex"
+#line 341 "ael.flex"
{
char c = yytext[yyleng-1];
if ( pbcpop(c) ) { /* error */
* or in the first and second operand of a 'for'. As above, match
* commas and use ';' as a separator (hence return it as a separate token).
*/
-case 57:
-/* rule 57 can match eol */
+case 58:
+/* rule 58 can match eol */
YY_RULE_SETUP
-#line 357 "ael/ael.flex"
+#line 358 "ael.flex"
{
char c = yytext[yyleng-1];
yymore();
pbcpush(c);
}
YY_BREAK
-case 58:
-/* rule 58 can match eol */
+case 59:
+/* rule 59 can match eol */
YY_RULE_SETUP
-#line 363 "ael/ael.flex"
+#line 364 "ael.flex"
{
char c = yytext[yyleng-1];
if ( pbcpop(c) ) { /* error */
yymore();
}
YY_BREAK
-case 59:
-/* rule 59 can match eol */
+case 60:
+/* rule 60 can match eol */
YY_RULE_SETUP
-#line 375 "ael/ael.flex"
+#line 376 "ael.flex"
{
STORE_LOC;
yylval->str = strdup(yytext);
return word;
}
YY_BREAK
-case 60:
-/* rule 60 can match eol */
+case 61:
+/* rule 61 can match eol */
YY_RULE_SETUP
-#line 384 "ael/ael.flex"
+#line 385 "ael.flex"
{
FILE *in1;
char fnamebuf[1024],*p1,*p2;
case YY_STATE_EOF(semic):
case YY_STATE_EOF(argg):
case YY_STATE_EOF(comment):
-#line 447 "ael/ael.flex"
+#line 448 "ael.flex"
{
if ( --include_stack_index < 0 ) {
yyterminate();
}
}
YY_BREAK
-case 61:
+case 62:
YY_RULE_SETUP
-#line 460 "ael/ael.flex"
+#line 461 "ael.flex"
ECHO;
YY_BREAK
-#line 1743 "ael_lex.c"
+#line 1756 "ael_lex.c"
case YY_END_OF_BUFFER:
{
else
{
- size_t num_to_read =
+ int num_to_read =
YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 )
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 234 )
+ if ( yy_current_state >= 239 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 234 )
+ if ( yy_current_state >= 239 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- yy_is_jam = (yy_current_state == 233);
+ yy_is_jam = (yy_current_state == 238);
return yy_is_jam ? 0 : yy_current_state;
}
}
#endif /* ifndef YY_NO_INPUT */
-/*!
- * \brief Immediately switch to a different input stream.
- * \param input_file A readable stream.
- * \param yyscanner The scanner object.
- *
- * \note This function does not reset the start condition to @c INITIAL .
+/** Immediately switch to a different input stream.
+ * @param input_file A readable stream.
+ * @param yyscanner The scanner object.
+ * @note This function does not reset the start condition to @c INITIAL .
*/
void ael_yyrestart (FILE * input_file , yyscan_t yyscanner)
{
ael_yy_load_buffer_state(yyscanner );
}
-/*!
- * \brief Switch to a different input buffer.
- * \param new_buffer The new input buffer.
- * \param yyscanner The scanner object.
+/** Switch to a different input buffer.
+ * @param new_buffer The new input buffer.
+ * @param yyscanner The scanner object.
*/
void ael_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
{
yyg->yy_hold_char = *yyg->yy_c_buf_p;
}
-/*!
- * \brief Allocate and initialize an input buffer state.
- * \param file A readable stream.
- * \param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * \param yyscanner The scanner object.
- *
- * \return the allocated buffer state.
+/** Allocate and initialize an input buffer state.
+ * @param file A readable stream.
+ * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
+ * @param yyscanner The scanner object.
+ * @return the allocated buffer state.
*/
YY_BUFFER_STATE ael_yy_create_buffer (FILE * file, int size , yyscan_t yyscanner)
{
return b;
}
-/*!
- * \brief Destroy the buffer.
- * \param b a buffer created with ael_yy_create_buffer()
- * \param yyscanner The scanner object.
+/** Destroy the buffer.
+ * @param b a buffer created with ael_yy_create_buffer()
+ * @param yyscanner The scanner object.
*/
void ael_yy_delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
{
errno = oerrno;
}
-/*!
- * \brief Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * \param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * \param yyscanner The scanner object.
+/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
+ * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
+ * @param yyscanner The scanner object.
*/
void ael_yy_flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
{
ael_yy_load_buffer_state(yyscanner );
}
-/*!
- * \brief Pushes the new state onto the stack. The new state becomes
+/** Pushes the new state onto the stack. The new state becomes
* the current state. This function will allocate the stack
* if necessary.
- * \param new_buffer The new state.
- * \param yyscanner The scanner object.
+ * @param new_buffer The new state.
+ * @param yyscanner The scanner object.
*/
void ael_yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
{
yyg->yy_did_buffer_switch_on_eof = 1;
}
-/*!
- * \brief Removes and deletes the top of the stack, if present.
+/** Removes and deletes the top of the stack, if present.
* The next element becomes the new top.
- * \param yyscanner The scanner object.
+ * @param yyscanner The scanner object.
*/
void ael_yypop_buffer_state (yyscan_t yyscanner)
{
}
}
-/*!
- * \brief Setup the input buffer state to scan directly from a user-specified character buffer.
- * \param base the character buffer
- * \param size the size in bytes of the character buffer
- * \param yyscanner The scanner object.
- *
- * \return the newly allocated buffer state object.
+/** Setup the input buffer state to scan directly from a user-specified character buffer.
+ * @param base the character buffer
+ * @param size the size in bytes of the character buffer
+ * @param yyscanner The scanner object.
+ * @return the newly allocated buffer state object.
*/
YY_BUFFER_STATE ael_yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
{
return b;
}
-/*!
- * \brief Setup the input buffer state to scan a string. The next call to ael_yylex() will
+/** Setup the input buffer state to scan a string. The next call to ael_yylex() will
* scan from a @e copy of @a str.
- * \param str a NUL-terminated string to scan
- * \param yyscanner The scanner object.
- *
- * \return the newly allocated buffer state object.
- *
- * \note If you want to scan bytes that may contain NUL values, then use
+ * @param str a NUL-terminated string to scan
+ * @param yyscanner The scanner object.
+ * @return the newly allocated buffer state object.
+ * @note If you want to scan bytes that may contain NUL values, then use
* ael_yy_scan_bytes() instead.
*/
-YY_BUFFER_STATE ael_yy_scan_string (yyconst char * str , yyscan_t yyscanner)
+YY_BUFFER_STATE ael_yy_scan_string (yyconst char * yy_str , yyscan_t yyscanner)
{
- return ael_yy_scan_bytes(str,strlen(str) ,yyscanner);
+ return ael_yy_scan_bytes(yy_str,strlen(yy_str) ,yyscanner);
}
-/*!
- * \brief Setup the input buffer state to scan the given bytes. The next call to ael_yylex() will
+/** Setup the input buffer state to scan the given bytes. The next call to ael_yylex() will
* scan from a @e copy of @a bytes.
- * \param bytes the byte buffer to scan
- * \param len the number of bytes in the buffer pointed to by @a bytes.
- * \param yyscanner The scanner object.
- *
- * \return the newly allocated buffer state object.
+ * @param bytes the byte buffer to scan
+ * @param len the number of bytes in the buffer pointed to by @a bytes.
+ * @param yyscanner The scanner object.
+ * @return the newly allocated buffer state object.
*/
YY_BUFFER_STATE ael_yy_scan_bytes (yyconst char * bytes, int len , yyscan_t yyscanner)
{
/* Accessor methods (get/set functions) to struct members. */
-/*!
- * \brief Get the user-defined data for this scanner.
- * \param yyscanner The scanner object.
+/** Get the user-defined data for this scanner.
+ * @param yyscanner The scanner object.
*/
YY_EXTRA_TYPE ael_yyget_extra (yyscan_t yyscanner)
{
return yyextra;
}
-/*!
- * \brief Get the current line number.
- * \param yyscanner The scanner object.
+/** Get the current line number.
+ * @param yyscanner The scanner object.
*/
int ael_yyget_lineno (yyscan_t yyscanner)
{
return yylineno;
}
-/*!
- * \brief Get the current column number.
- * \param yyscanner The scanner object.
+/** Get the current column number.
+ * @param yyscanner The scanner object.
*/
int ael_yyget_column (yyscan_t yyscanner)
{
return yycolumn;
}
-/*!
- * \brief Get the input stream.
- * \param yyscanner The scanner object.
+/** Get the input stream.
+ * @param yyscanner The scanner object.
*/
FILE *ael_yyget_in (yyscan_t yyscanner)
{
return yyin;
}
-/*!
- * \brief Get the output stream.
- * \param yyscanner The scanner object.
+/** Get the output stream.
+ * @param yyscanner The scanner object.
*/
FILE *ael_yyget_out (yyscan_t yyscanner)
{
return yyout;
}
-/*!
- * \brief Get the length of the current token.
- * \param yyscanner The scanner object.
+/** Get the length of the current token.
+ * @param yyscanner The scanner object.
*/
int ael_yyget_leng (yyscan_t yyscanner)
{
return yyleng;
}
-/*!
- * \brief Get the current token.
- * \param yyscanner The scanner object.
+/** Get the current token.
+ * @param yyscanner The scanner object.
*/
char *ael_yyget_text (yyscan_t yyscanner)
return yytext;
}
-/*!
- * \brief Set the user-defined data. This data is never touched by the scanner.
- * \param user_defined The data to be associated with this scanner.
- * \param yyscanner The scanner object.
+/** Set the user-defined data. This data is never touched by the scanner.
+ * @param user_defined The data to be associated with this scanner.
+ * @param yyscanner The scanner object.
*/
void ael_yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
{
yyextra = user_defined ;
}
-/*!
- * \brief Set the current line number.
- * \param line_number
- * \param yyscanner The scanner object.
+/** Set the current line number.
+ * @param line_number
+ * @param yyscanner The scanner object.
*/
void ael_yyset_lineno (int line_number , yyscan_t yyscanner)
{
yylineno = line_number;
}
-/*!
- * \brief Set the current column.
- * \param line_number
- * \param yyscanner The scanner object.
+/** Set the current column.
+ * @param line_number
+ * @param yyscanner The scanner object.
*/
void ael_yyset_column (int column_no , yyscan_t yyscanner)
{
yycolumn = column_no;
}
-/*!
- * \brief Set the input stream. This does not discard the current
+/** Set the input stream. This does not discard the current
* input buffer.
- * \param in_str A readable stream.
- * \param yyscanner The scanner object.
- *
- * \see ael_yy_switch_to_buffer
+ * @param in_str A readable stream.
+ * @param yyscanner The scanner object.
+ * @see ael_yy_switch_to_buffer
*/
void ael_yyset_in (FILE * in_str , yyscan_t yyscanner)
{
#undef YY_DECL_IS_OURS
#undef YY_DECL
#endif
-#line 460 "ael/ael.flex"
+#line 461 "ael.flex"
fprintf(fin,"%s=%s;\n", item->u1.str, item->u2.val);
break;
+ case PV_LOCALVARDEC:
+ fprintf(fin,"local %s=%s;\n", item->u1.str, item->u2.val);
+ break;
+
case PV_GOTO:
fprintf(fin,"goto %s", item->u1.list->u1.str);
if ( item->u1.list->next )
break;
case PV_VARDEC:
+ case PV_LOCALVARDEC:
/* fields: item->u1.str == variable name
item->u2.val == variable value to assign
*/
break;
case PV_VARDEC:
+ case PV_LOCALVARDEC:
/* fields: item->u1.str == variable name
item->u2.val == variable value to assign
*/
linkprio(exten, pr);
break;
+ case PV_LOCALVARDEC:
+ pr = new_prio();
+ pr->type = AEL_APPCALL;
+ snprintf(buf1,sizeof(buf1),"LOCAL(%s)=$[%s]", p->u1.str, p->u2.val);
+ pr->app = strdup("Set");
+ remove_spaces_before_equals(buf1);
+ pr->appargs = strdup(buf1);
+ pr->origin = p;
+ linkprio(exten, pr);
+ break;
+
case PV_GOTO:
pr = new_prio();
pr->type = AEL_APPCALL;
break;
case PV_VARDEC:
+ case PV_LOCALVARDEC:
/* fields: item->u1.str == variable name
item->u2.val == variable value to assign
*/