[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