[svn-commits] murf: trunk r70461 - in /trunk: ./ doc/ include/asterisk/ pbx/ pbx/ael/
SVN commits to the Digium repositories
svn-commits at lists.digium.com
Wed Jun 20 15:10:20 CDT 2007
Author: murf
Date: Wed Jun 20 15:10:19 2007
New Revision: 70461
URL: http://svn.digium.com/view/asterisk?view=rev&rev=70461
Log:
This finishes the changes for making Macro args LOCAL to the call, and allowing users to declare local variables.
Modified:
trunk/CHANGES
trunk/doc/ael.tex
trunk/include/asterisk/ael_structs.h
trunk/pbx/ael/ael.flex
trunk/pbx/ael/ael.tab.c
trunk/pbx/ael/ael.tab.h
trunk/pbx/ael/ael.y
trunk/pbx/ael/ael_lex.c
trunk/pbx/pbx_ael.c
Modified: trunk/CHANGES
URL: http://svn.digium.com/view/asterisk/trunk/CHANGES?view=diff&rev=70461&r1=70460&r2=70461
==============================================================================
--- trunk/CHANGES (original)
+++ trunk/CHANGES Wed Jun 20 15:10:19 2007
@@ -162,7 +162,14 @@
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.
Modified: trunk/doc/ael.tex
URL: http://svn.digium.com/view/asterisk/trunk/doc/ael.tex?view=diff&rev=70461&r1=70460&r2=70461
==============================================================================
--- trunk/doc/ael.tex (original)
+++ trunk/doc/ael.tex Wed Jun 20 15:10:19 2007
@@ -264,6 +264,7 @@
\item random
\item goto
\item jump
+ \item local
\item return
\item break
\item continue
@@ -368,6 +369,7 @@
| <eswitches>
| <ignorepat>
| <word> '=' <collected-word> ';'
+ | 'local' <word> '=' <collected-word> ';'
| ';'
@@ -400,6 +402,7 @@
<statement> :== '{' <statements> '}'
| <word> '=' <collected-word> ';'
+ | 'local' <word> '=' <collected-word> ';'
| 'goto' <target> ';'
| 'jump' <jumptarget> ';'
| <word> ':'
@@ -717,6 +720,49 @@
NoOp(My name is ${CALLERID(name)} !);
}
}
+\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}
Modified: trunk/include/asterisk/ael_structs.h
URL: http://svn.digium.com/view/asterisk/trunk/include/asterisk/ael_structs.h?view=diff&rev=70461&r1=70460&r2=70461
==============================================================================
--- trunk/include/asterisk/ael_structs.h (original)
+++ trunk/include/asterisk/ael_structs.h Wed Jun 20 15:10:19 2007
@@ -75,6 +75,7 @@
PV_EXTENSION, /* 25 */
PV_IGNOREPAT, /* 26 */
PV_GLOBALS, /* 27 */
+ PV_LOCALVARDEC, /* you know, local var=val; */ /* 28 */
} pvaltype;
Modified: trunk/pbx/ael/ael.flex
URL: http://svn.digium.com/view/asterisk/trunk/pbx/ael/ael.flex?view=diff&rev=70461&r1=70460&r2=70461
==============================================================================
--- trunk/pbx/ael/ael.flex (original)
+++ trunk/pbx/ael/ael.flex Wed Jun 20 15:10:19 2007
@@ -189,6 +189,7 @@
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;}
Modified: trunk/pbx/ael/ael.tab.c
URL: http://svn.digium.com/view/asterisk/trunk/pbx/ael/ael.tab.c?view=diff&rev=70461&r1=70460&r2=70461
==============================================================================
--- trunk/pbx/ael/ael.tab.c (original)
+++ trunk/pbx/ael/ael.tab.c Wed Jun 20 15:10:19 2007
@@ -102,7 +102,8 @@
KW_SWITCHES = 293,
KW_ESWITCHES = 294,
KW_INCLUDES = 295,
- word = 296
+ KW_LOCAL = 296,
+ word = 297
};
#endif
/* Tokens. */
@@ -144,7 +145,8 @@
#define KW_SWITCHES 293
#define KW_ESWITCHES 294
#define KW_INCLUDES 295
-#define word 296
+#define KW_LOCAL 296
+#define word 297
@@ -230,7 +232,7 @@
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
@@ -275,7 +277,7 @@
/* Line 221 of yacc.c. */
-#line 279 "ael.tab.c"
+#line 281 "ael.tab.c"
#ifdef short
# undef short
@@ -490,20 +492,20 @@
/* 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)
@@ -540,7 +542,7 @@
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
@@ -550,87 +552,88 @@
{
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
@@ -645,17 +648,18 @@
"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
@@ -668,27 +672,27 @@
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. */
@@ -696,18 +700,18 @@
{
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
@@ -716,206 +720,199 @@
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,
[... 3695 lines stripped ...]
More information about the svn-commits
mailing list