[svn-commits] branch murf/AEL2 r19500 - in /team/murf/AEL2: pbx/ utils/

svn-commits at lists.digium.com svn-commits at lists.digium.com
Tue Apr 11 19:05:35 MST 2006


Author: murf
Date: Tue Apr 11 21:05:31 2006
New Revision: 19500

URL: http://svn.digium.com/view/asterisk?rev=19500&view=rev
Log:
1. I upgraded aelparse with the -d option, which makes aelparse use the 
   current directory as if it were /etc/asterisk. This allows a 'staging
   area' to be used to parse the extensions.ael2 file before it's actually
   placed in the /etc/asterisk config dir.

2. One set of improvements, of possibly several, to improve the error recovery of the parser.

3. The method for counting syntax errors is flawed, but I cannot improve
   it until bison fixes some problems with the generation of calls to 
   yyerror().


Modified:
    team/murf/AEL2/pbx/ael.flex
    team/murf/AEL2/pbx/ael.tab.c
    team/murf/AEL2/pbx/ael.y
    team/murf/AEL2/pbx/ael_lex.c
    team/murf/AEL2/pbx/pbx_ael2.c
    team/murf/AEL2/utils/ael_main.c

Modified: team/murf/AEL2/pbx/ael.flex
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/pbx/ael.flex?rev=19500&r1=19499&r2=19500&view=diff
==============================================================================
--- team/murf/AEL2/pbx/ael.flex (original)
+++ team/murf/AEL2/pbx/ael.flex Tue Apr 11 21:05:31 2006
@@ -597,16 +597,17 @@
 	char *buffer;
 	struct stat stats;
 	FILE *fin;
-	extern int ael_errcnt;
+	extern struct parse_io *shared_parseio;
+
 	/* extern int ael_yydebug; */
 
 	io = calloc(sizeof(struct parse_io),1);
+	shared_parseio = io;
 	/* reset the global counters */
 	prev_word = 0;
 	my_lineno = 1;
 	include_stack_index=0;
 	my_col = 0;
-	ael_errcnt = 0;
 	/* ael_yydebug = 1; */
 	ael_yylex_init(&io->scanner);
 	fin = fopen(filename,"r");
@@ -620,7 +621,6 @@
 	buffer = (char*)malloc(stats.st_size+2);
 	fread(buffer, 1, stats.st_size, fin);
 	buffer[stats.st_size]=0;
-
 	fclose(fin);
 	
 	ael_yy_scan_string (buffer ,io->scanner);
@@ -635,6 +635,7 @@
 	*errors = io->syntax_error_count;
 
 	ael_yylex_destroy(io->scanner);
+	shared_parseio = 0;
 	free(buffer);
 	free(io);
 

Modified: team/murf/AEL2/pbx/ael.tab.c
URL: http://svn.digium.com/view/asterisk/team/murf/AEL2/pbx/ael.tab.c?rev=19500&r1=19499&r2=19500&view=diff
==============================================================================
--- team/murf/AEL2/pbx/ael.tab.c (original)
+++ team/murf/AEL2/pbx/ael.tab.c Tue Apr 11 21:05:31 2006
@@ -208,13 +208,13 @@
 # define YYSTYPE_IS_TRIVIAL 1
 #endif
 
-int ael_errcnt = 0;
 extern char *my_file;
 void yyerror(YYLTYPE *locp,void *nothing, char const *s);
 int ael_yylex (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , void * yyscanner);
 int ael_is_funcname(char *name);
  static char *ael_token_subst(char *mess);
  extern char *prev_word;
+ struct parse_io *shared_parseio;
  
 
 
@@ -370,16 +370,16 @@
 /* YYFINAL -- State number of the termination state. */
 #define YYFINAL  17
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   563
+#define YYLAST   557
 
 /* YYNTOKENS -- Number of terminals. */
 #define YYNTOKENS  42
 /* YYNNTS -- Number of nonterminals. */
 #define YYNNTS  51
 /* YYNRULES -- Number of rules. */
-#define YYNRULES  146
+#define YYNRULES  148
 /* YYNRULES -- Number of states. */
-#define YYNSTATES  347
+#define YYNSTATES  349
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
@@ -431,18 +431,18 @@
        0,     0,     3,     5,     7,    10,    13,    15,    17,    19,
       21,    27,    32,    38,    43,    50,    56,    63,    69,    78,
       86,    94,   101,   106,   110,   112,   115,   118,   119,   125,
-     127,   131,   134,   136,   139,   142,   144,   146,   148,   150,
-     152,   153,   159,   161,   166,   170,   175,   183,   192,   194,
-     197,   200,   201,   207,   208,   214,   229,   240,   242,   245,
-     247,   250,   254,   255,   262,   266,   267,   273,   277,   281,
-     284,   285,   286,   287,   300,   301,   308,   311,   315,   319,
-     322,   325,   326,   332,   335,   338,   341,   344,   349,   352,
-     357,   360,   365,   367,   369,   373,   377,   383,   389,   395,
-     401,   403,   407,   413,   417,   423,   427,   428,   434,   438,
-     439,   443,   447,   450,   452,   453,   457,   460,   462,   465,
-     470,   474,   479,   483,   486,   490,   492,   495,   497,   503,
-     508,   512,   517,   521,   524,   528,   531,   534,   549,   560,
-     564,   580,   592,   595,   597,   599,   604
+     127,   131,   134,   136,   138,   141,   144,   146,   148,   150,
+     152,   154,   155,   161,   164,   166,   171,   175,   180,   188,
+     197,   199,   202,   205,   206,   212,   213,   219,   234,   245,
+     247,   250,   252,   255,   259,   260,   267,   271,   272,   278,
+     282,   286,   289,   290,   291,   292,   305,   306,   313,   316,
+     320,   324,   327,   330,   331,   337,   340,   343,   346,   349,
+     354,   357,   362,   365,   370,   372,   374,   378,   382,   388,
+     394,   400,   406,   408,   412,   418,   422,   428,   432,   433,
+     439,   443,   444,   448,   452,   455,   457,   458,   462,   465,
+     467,   470,   475,   479,   484,   488,   491,   495,   497,   500,
+     502,   508,   513,   517,   522,   526,   529,   533,   536,   539,
+     554,   565,   569,   585,   597,   600,   602,   604,   609
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -461,54 +461,55 @@
       -1,    16,     4,    49,     5,    -1,    16,     4,     5,    -1,
       50,    -1,    49,    50,    -1,    49,     1,    -1,    -1,    41,
        9,    51,    41,     8,    -1,    41,    -1,    52,    10,    41,
-      -1,    52,     1,    -1,    54,    -1,    53,    54,    -1,    53,
-       1,    -1,    57,    -1,    92,    -1,    87,    -1,    88,    -1,
-      56,    -1,    -1,    41,     9,    55,    41,     8,    -1,     8,
-      -1,    17,    24,    41,     8,    -1,    41,    24,    68,    -1,
-      30,    41,    24,    68,    -1,    31,     6,    65,     7,    41,
-      24,    68,    -1,    30,    31,     6,    65,     7,    41,    24,
-      68,    -1,    68,    -1,    58,    68,    -1,    58,     1,    -1,
-      -1,    19,     6,    60,    64,     7,    -1,    -1,    22,     6,
-      62,    64,     7,    -1,    20,     6,    65,    11,    65,    11,
-      65,    13,    65,    13,    65,    13,    65,     7,    -1,    20,
-       6,    41,    13,    65,    13,    65,    13,    65,     7,    -1,
-      41,    -1,    41,    41,    -1,    41,    -1,    41,    41,    -1,
-      41,    41,    41,    -1,    -1,    18,     6,    67,    41,     7,
-       4,    -1,     4,    58,     5,    -1,    -1,    41,     9,    69,
-      41,     8,    -1,    25,    75,     8,    -1,    26,    76,     8,
-      -1,    41,    11,    -1,    -1,    -1,    -1,    32,     6,    70,
-      41,     8,    71,    41,     8,    72,    41,     7,    68,    -1,
-      -1,    33,     6,    73,    41,     7,    68,    -1,    66,     5,
-      -1,    66,    83,     5,    -1,    12,    77,     8,    -1,    81,
-       8,    -1,    41,     8,    -1,    -1,    81,     9,    74,    41,
-       8,    -1,    28,     8,    -1,    27,     8,    -1,    29,     8,
-      -1,    61,    68,    -1,    61,    68,    21,    68,    -1,    59,
-      68,    -1,    59,    68,    21,    68,    -1,    63,    68,    -1,
-      63,    68,    21,    68,    -1,     8,    -1,    41,    -1,    41,
-      13,    41,    -1,    41,    10,    41,    -1,    41,    13,    41,
-      13,    41,    -1,    41,    10,    41,    10,    41,    -1,    36,
-      13,    41,    13,    41,    -1,    36,    10,    41,    10,    41,
-      -1,    41,    -1,    41,    10,    41,    -1,    41,    10,    41,
-      14,    41,    -1,    41,    14,    41,    -1,    41,    10,    41,
-      14,    36,    -1,    41,    14,    36,    -1,    -1,    41,     6,
-      78,    82,     7,    -1,    41,     6,     7,    -1,    -1,    41,
-      80,     6,    -1,    79,    82,     7,    -1,    79,     7,    -1,
-      64,    -1,    -1,    82,    10,    41,    -1,    82,    10,    -1,
-      84,    -1,    83,    84,    -1,    34,    41,    11,    58,    -1,
-      36,    11,    58,    -1,    35,    41,    11,    58,    -1,    34,
-      41,    11,    -1,    36,    11,    -1,    35,    41,    11,    -1,
-      86,    -1,    85,    86,    -1,    68,    -1,    37,    41,     4,
-      58,     5,    -1,    38,     4,    89,     5,    -1,    38,     4,
-       5,    -1,    39,     4,    89,     5,    -1,    39,     4,     5,
-      -1,    41,     8,    -1,    89,    41,     8,    -1,    89,     1,
-      -1,    91,     8,    -1,    91,    13,    65,    11,    65,    11,
-      65,    13,    65,    13,    65,    13,    65,     8,    -1,    91,
-      13,    41,    13,    65,    13,    65,    13,    65,     8,    -1,
-      90,    91,     8,    -1,    90,    91,    13,    65,    11,    65,
-      11,    65,    13,    65,    13,    65,    13,    65,     8,    -1,
-      90,    91,    13,    41,    13,    65,    13,    65,    13,    65,
-       8,    -1,    90,     1,    -1,    41,    -1,    36,    -1,    40,
-       4,    90,     5,    -1,    40,     4,     5,    -1
+      -1,    52,     1,    -1,    54,    -1,     1,    -1,    53,    54,
+      -1,    53,     1,    -1,    57,    -1,    92,    -1,    87,    -1,
+      88,    -1,    56,    -1,    -1,    41,     9,    55,    41,     8,
+      -1,    41,     1,    -1,     8,    -1,    17,    24,    41,     8,
+      -1,    41,    24,    68,    -1,    30,    41,    24,    68,    -1,
+      31,     6,    65,     7,    41,    24,    68,    -1,    30,    31,
+       6,    65,     7,    41,    24,    68,    -1,    68,    -1,    58,
+      68,    -1,    58,     1,    -1,    -1,    19,     6,    60,    64,
+       7,    -1,    -1,    22,     6,    62,    64,     7,    -1,    20,
+       6,    65,    11,    65,    11,    65,    13,    65,    13,    65,
+      13,    65,     7,    -1,    20,     6,    41,    13,    65,    13,
+      65,    13,    65,     7,    -1,    41,    -1,    41,    41,    -1,
+      41,    -1,    41,    41,    -1,    41,    41,    41,    -1,    -1,
+      18,     6,    67,    41,     7,     4,    -1,     4,    58,     5,
+      -1,    -1,    41,     9,    69,    41,     8,    -1,    25,    75,
+       8,    -1,    26,    76,     8,    -1,    41,    11,    -1,    -1,
+      -1,    -1,    32,     6,    70,    41,     8,    71,    41,     8,
+      72,    41,     7,    68,    -1,    -1,    33,     6,    73,    41,
+       7,    68,    -1,    66,     5,    -1,    66,    83,     5,    -1,
+      12,    77,     8,    -1,    81,     8,    -1,    41,     8,    -1,
+      -1,    81,     9,    74,    41,     8,    -1,    28,     8,    -1,
+      27,     8,    -1,    29,     8,    -1,    61,    68,    -1,    61,
+      68,    21,    68,    -1,    59,    68,    -1,    59,    68,    21,
+      68,    -1,    63,    68,    -1,    63,    68,    21,    68,    -1,
+       8,    -1,    41,    -1,    41,    13,    41,    -1,    41,    10,
+      41,    -1,    41,    13,    41,    13,    41,    -1,    41,    10,
+      41,    10,    41,    -1,    36,    13,    41,    13,    41,    -1,
+      36,    10,    41,    10,    41,    -1,    41,    -1,    41,    10,
+      41,    -1,    41,    10,    41,    14,    41,    -1,    41,    14,
+      41,    -1,    41,    10,    41,    14,    36,    -1,    41,    14,
+      36,    -1,    -1,    41,     6,    78,    82,     7,    -1,    41,
+       6,     7,    -1,    -1,    41,    80,     6,    -1,    79,    82,
+       7,    -1,    79,     7,    -1,    64,    -1,    -1,    82,    10,
+      41,    -1,    82,    10,    -1,    84,    -1,    83,    84,    -1,
+      34,    41,    11,    58,    -1,    36,    11,    58,    -1,    35,
+      41,    11,    58,    -1,    34,    41,    11,    -1,    36,    11,
+      -1,    35,    41,    11,    -1,    86,    -1,    85,    86,    -1,
+      68,    -1,    37,    41,     4,    58,     5,    -1,    38,     4,
+      89,     5,    -1,    38,     4,     5,    -1,    39,     4,    89,
+       5,    -1,    39,     4,     5,    -1,    41,     8,    -1,    89,
+      41,     8,    -1,    89,     1,    -1,    91,     8,    -1,    91,
+      13,    65,    11,    65,    11,    65,    13,    65,    13,    65,
+      13,    65,     8,    -1,    91,    13,    41,    13,    65,    13,
+      65,    13,    65,     8,    -1,    90,    91,     8,    -1,    90,
+      91,    13,    65,    11,    65,    11,    65,    13,    65,    13,
+      65,    13,    65,     8,    -1,    90,    91,    13,    41,    13,
+      65,    13,    65,    13,    65,     8,    -1,    90,     1,    -1,
+      41,    -1,    36,    -1,    40,     4,    90,     5,    -1,    40,
+       4,     5,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
@@ -517,18 +518,18 @@
        0,   139,   139,   142,   143,   146,   149,   150,   151,   152,
      155,   156,   157,   158,   159,   160,   161,   162,   165,   167,
      168,   169,   172,   173,   176,   177,   178,   181,   181,   184,
-     185,   186,   189,   190,   193,   196,   197,   198,   199,   200,
-     201,   201,   202,   205,   208,   209,   210,   211,   215,   216,
-     219,   222,   222,   225,   225,   228,   247,   266,   267,   269,
-     270,   271,   274,   274,   279,   280,   280,   283,   284,   285,
-     286,   287,   288,   286,   291,   291,   294,   295,   296,   297,
-     298,   300,   300,   332,   333,   334,   335,   336,   337,   338,
-     339,   340,   341,   344,   345,   348,   351,   356,   361,   366,
-     373,   376,   379,   384,   389,   394,   401,   401,   404,   407,
-     407,   415,   421,   424,   425,   426,   427,   430,   431,   436,
-     437,   438,   439,   440,   441,   444,   445,   450,   451,   454,
-     455,   458,   459,   462,   463,   464,   467,   468,   489,   502,
-     503,   523,   536,   539,   540,   543,   544
+     185,   186,   189,   190,   191,   194,   197,   198,   199,   200,
+     201,   202,   202,   203,   204,   207,   210,   211,   212,   213,
+     217,   218,   221,   224,   224,   227,   227,   230,   249,   268,
+     269,   271,   272,   273,   276,   276,   281,   282,   282,   285,
+     286,   287,   288,   289,   290,   288,   293,   293,   296,   297,
+     298,   299,   300,   302,   302,   334,   335,   336,   337,   338,
+     339,   340,   341,   342,   343,   346,   347,   350,   353,   358,
+     363,   368,   375,   378,   381,   386,   391,   396,   403,   403,
+     406,   409,   409,   417,   423,   426,   427,   428,   429,   432,
+     433,   438,   439,   440,   441,   442,   443,   446,   447,   452,
+     453,   456,   457,   460,   461,   464,   465,   466,   469,   470,
+     491,   504,   505,   525,   538,   541,   542,   545,   546
 };
 #endif
 
@@ -575,18 +576,18 @@
        0,    42,    43,    44,    44,    44,    45,    45,    45,    45,
       46,    46,    46,    46,    46,    46,    46,    46,    47,    47,
       47,    47,    48,    48,    49,    49,    49,    51,    50,    52,
-      52,    52,    53,    53,    53,    54,    54,    54,    54,    54,
-      55,    54,    54,    56,    57,    57,    57,    57,    58,    58,
-      58,    60,    59,    62,    61,    63,    63,    64,    64,    65,
-      65,    65,    67,    66,    68,    69,    68,    68,    68,    68,
-      70,    71,    72,    68,    73,    68,    68,    68,    68,    68,
-      68,    74,    68,    68,    68,    68,    68,    68,    68,    68,
-      68,    68,    68,    75,    75,    75,    75,    75,    75,    75,
-      76,    76,    76,    76,    76,    76,    78,    77,    77,    80,
-      79,    81,    81,    82,    82,    82,    82,    83,    83,    84,
-      84,    84,    84,    84,    84,    85,    85,    86,    86,    87,
-      87,    88,    88,    89,    89,    89,    90,    90,    90,    90,
-      90,    90,    90,    91,    91,    92,    92
+      52,    52,    53,    53,    53,    53,    54,    54,    54,    54,
+      54,    55,    54,    54,    54,    56,    57,    57,    57,    57,
+      58,    58,    58,    60,    59,    62,    61,    63,    63,    64,
+      64,    65,    65,    65,    67,    66,    68,    69,    68,    68,
+      68,    68,    70,    71,    72,    68,    73,    68,    68,    68,
+      68,    68,    68,    74,    68,    68,    68,    68,    68,    68,
+      68,    68,    68,    68,    68,    75,    75,    75,    75,    75,
+      75,    75,    76,    76,    76,    76,    76,    76,    78,    77,
+      77,    80,    79,    81,    81,    82,    82,    82,    82,    83,
+      83,    84,    84,    84,    84,    84,    84,    85,    85,    86,
+      86,    87,    87,    88,    88,    89,    89,    89,    90,    90,
+      90,    90,    90,    90,    90,    91,    91,    92,    92
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -595,18 +596,18 @@
        0,     2,     1,     1,     2,     2,     1,     1,     1,     1,
        5,     4,     5,     4,     6,     5,     6,     5,     8,     7,
        7,     6,     4,     3,     1,     2,     2,     0,     5,     1,
-       3,     2,     1,     2,     2,     1,     1,     1,     1,     1,
-       0,     5,     1,     4,     3,     4,     7,     8,     1,     2,
-       2,     0,     5,     0,     5,    14,    10,     1,     2,     1,
-       2,     3,     0,     6,     3,     0,     5,     3,     3,     2,
-       0,     0,     0,    12,     0,     6,     2,     3,     3,     2,
-       2,     0,     5,     2,     2,     2,     2,     4,     2,     4,
-       2,     4,     1,     1,     3,     3,     5,     5,     5,     5,
-       1,     3,     5,     3,     5,     3,     0,     5,     3,     0,
-       3,     3,     2,     1,     0,     3,     2,     1,     2,     4,
-       3,     4,     3,     2,     3,     1,     2,     1,     5,     4,
-       3,     4,     3,     2,     3,     2,     2,    14,    10,     3,
-      15,    11,     2,     1,     1,     4,     3
+       3,     2,     1,     1,     2,     2,     1,     1,     1,     1,
+       1,     0,     5,     2,     1,     4,     3,     4,     7,     8,
+       1,     2,     2,     0,     5,     0,     5,    14,    10,     1,
+       2,     1,     2,     3,     0,     6,     3,     0,     5,     3,
+       3,     2,     0,     0,     0,    12,     0,     6,     2,     3,
+       3,     2,     2,     0,     5,     2,     2,     2,     2,     4,
+       2,     4,     2,     4,     1,     1,     3,     3,     5,     5,
+       5,     5,     1,     3,     5,     3,     5,     3,     0,     5,
+       3,     0,     3,     3,     2,     1,     0,     3,     2,     1,
+       2,     4,     3,     4,     3,     2,     3,     1,     2,     1,
+       5,     4,     3,     4,     3,     2,     3,     2,     2,    14,
+      10,     3,    15,    11,     2,     1,     1,     4,     3
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -616,230 +617,228 @@
 {
        0,     0,     9,     0,     0,     0,     0,     0,     3,     6,
        7,     8,     0,     0,     0,     0,     0,     1,     5,     4,
-       0,     0,     0,    23,     0,     0,    24,     0,     0,    13,
-      42,     0,     0,     0,     0,     0,     0,     0,     0,    32,
-      39,    35,    37,    38,    36,    11,     0,     0,    29,     0,
-      27,    26,    22,    25,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    40,     0,    34,    12,    33,    10,     0,
-      31,     0,     0,     0,    17,     0,    15,     0,     0,     0,
-       0,    59,     0,   130,     0,     0,   132,     0,   146,   144,
-     143,     0,     0,     0,     0,    92,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   109,     0,
-       0,     0,     0,    44,   114,     0,    21,     0,   127,     0,
-     125,     0,    30,     0,    16,    14,    43,     0,    45,    60,
-       0,   133,   135,   129,     0,   131,   142,   145,     0,   136,
-       0,     0,     0,    48,     0,     0,    62,    51,     0,    53,
-       0,    93,     0,   100,     0,    84,    83,    85,    70,    74,
-      80,    65,    69,     0,    88,    86,    90,    76,     0,     0,
-       0,     0,   117,   112,    57,   113,     0,    79,    81,     0,
-      20,   126,    19,     0,    28,     0,    61,     0,   134,   139,
-       0,    59,     0,    41,    50,    64,    49,   106,    78,     0,
-       0,    59,     0,     0,     0,     0,     0,     0,    67,     0,
-       0,    68,     0,     0,     0,   110,     0,     0,     0,     0,
-       0,   123,    77,   118,    58,   111,   116,     0,     0,    18,
-       0,     0,    59,     0,     0,     0,   108,   114,     0,     0,
-       0,     0,     0,     0,     0,    95,    94,   101,   105,   103,
-       0,     0,     0,    89,    87,    91,   122,   124,     0,   115,
-       0,     0,     0,    46,     0,     0,     0,     0,     0,     0,
-      52,     0,     0,    54,     0,     0,     0,     0,     0,    71,
-       0,    66,     0,     0,    82,   128,    47,     0,     0,     0,
-       0,   107,    63,     0,     0,    99,    98,    97,    96,   104,
-     102,     0,    75,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    72,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   138,     0,    56,     0,
-       0,   141,     0,     0,     0,     0,     0,     0,     0,    73,
-       0,     0,     0,     0,   137,    55,   140
+       0,     0,     0,    23,     0,     0,    24,     0,     0,    33,
+      13,    44,     0,     0,     0,     0,     0,     0,     0,     0,
+      32,    40,    36,    38,    39,    37,    11,     0,     0,    29,
+       0,    27,    26,    22,    25,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    43,    41,     0,    35,    12,    34,
+      10,     0,    31,     0,     0,     0,    17,     0,    15,     0,
+       0,     0,     0,    61,     0,   132,     0,     0,   134,     0,
+     148,   146,   145,     0,     0,     0,     0,    94,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     111,     0,     0,     0,     0,    46,   116,     0,    21,     0,
+     129,     0,   127,     0,    30,     0,    16,    14,    45,     0,
+      47,    62,     0,   135,   137,   131,     0,   133,   144,   147,
+       0,   138,     0,     0,     0,    50,     0,     0,    64,    53,
+       0,    55,     0,    95,     0,   102,     0,    86,    85,    87,
+      72,    76,    82,    67,    71,     0,    90,    88,    92,    78,
+       0,     0,     0,     0,   119,   114,    59,   115,     0,    81,
+      83,     0,    20,   128,    19,     0,    28,     0,    63,     0,
+     136,   141,     0,    61,     0,    42,    52,    66,    51,   108,
+      80,     0,     0,    61,     0,     0,     0,     0,     0,     0,
+      69,     0,     0,    70,     0,     0,     0,   112,     0,     0,
+       0,     0,     0,   125,    79,   120,    60,   113,   118,     0,
+       0,    18,     0,     0,    61,     0,     0,     0,   110,   116,
+       0,     0,     0,     0,     0,     0,     0,    97,    96,   103,
+     107,   105,     0,     0,     0,    91,    89,    93,   124,   126,
+       0,   117,     0,     0,     0,    48,     0,     0,     0,     0,
+       0,     0,    54,     0,     0,    56,     0,     0,     0,     0,
+       0,    73,     0,    68,     0,     0,    84,   130,    49,     0,
+       0,     0,     0,   109,    65,     0,     0,   101,   100,    99,
+      98,   106,   104,     0,    77,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    74,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   140,     0,
+      58,     0,     0,   143,     0,     0,     0,     0,     0,     0,
+       0,    75,     0,     0,     0,     0,   139,    57,   142
 };
 
 /* YYDEFGOTO[NTERM-NUM]. */
 static const short yydefgoto[] =
 {
-      -1,     6,     7,     8,     9,    10,    11,    25,    26,    73,
-      49,    38,    39,    93,    40,    41,   142,   109,   200,   110,
-     203,   111,   175,    82,   112,   199,   143,   214,   212,   301,
-     323,   213,   227,   152,   154,   145,   237,   114,   163,   115,
-     176,   171,   172,   119,   120,    42,    43,    85,    91,    92,
-      44
+      -1,     6,     7,     8,     9,    10,    11,    25,    26,    75,
+      50,    39,    40,    95,    41,    42,   144,   111,   202,   112,
+     205,   113,   177,    84,   114,   201,   145,   216,   214,   303,
+     325,   215,   229,   154,   156,   147,   239,   116,   165,   117,
+     178,   173,   174,   121,   122,    43,    44,    87,    93,    94,
+      45
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -196
+#define YYPACT_NINF -198
 static const short yypact[] =
 {
-     187,    28,  -196,   -31,    23,   107,    50,   486,  -196,  -196,
-    -196,  -196,   124,   131,    67,    35,    70,  -196,  -196,  -196,
-     476,   480,    44,  -196,   125,     1,  -196,   137,   138,  -196,
-    -196,   119,    73,   145,   159,   169,   179,    10,   203,  -196,
-    -196,  -196,  -196,  -196,  -196,  -196,   279,   201,  -196,     2,
-    -196,  -196,  -196,  -196,   495,   522,   165,   207,   191,   176,
-      36,    38,    13,  -196,   450,  -196,  -196,  -196,  -196,   346,
-    -196,   217,   181,   190,  -196,   307,  -196,   322,   228,   176,
-     450,   196,   233,  -196,   237,    19,  -196,    51,  -196,  -196,
-    -196,    12,   142,   205,   450,  -196,   210,   248,   249,   250,
-     251,   130,   218,   252,   253,   255,   259,   260,   151,   450,
-     450,   450,   113,  -196,    52,   112,  -196,   227,  -196,   372,
-    -196,   398,  -196,   261,  -196,  -196,  -196,   263,  -196,   235,
-     238,  -196,  -196,  -196,   274,  -196,  -196,  -196,   183,  -196,
-     242,   278,   160,  -196,   282,   281,  -196,  -196,   256,  -196,
-     164,   213,   286,   103,   295,  -196,  -196,  -196,  -196,  -196,
-    -196,  -196,  -196,   284,   283,   290,   292,  -196,   266,   275,
-     247,   122,  -196,  -196,   280,  -196,   174,  -196,  -196,   318,
-    -196,  -196,  -196,   424,  -196,   285,  -196,   301,  -196,  -196,
-     287,    45,   320,  -196,  -196,  -196,  -196,   325,  -196,   288,
-     293,    58,   324,   293,   299,   300,   302,   303,  -196,   308,
-     171,  -196,   314,   315,   316,  -196,   450,   450,   450,   331,
-     348,   450,  -196,  -196,  -196,  -196,   326,   328,   450,  -196,
-     309,   450,    59,   359,   176,   176,  -196,   293,   329,   374,
-     176,   176,   375,   376,   380,   378,   382,   371,  -196,  -196,
-     381,   389,   399,  -196,  -196,  -196,   450,   450,     3,  -196,
-     400,   273,   450,  -196,   176,   176,   401,   404,   220,   407,
-    -196,   406,   410,  -196,   392,   393,   396,   397,   173,  -196,
-     450,  -196,    62,   104,  -196,  -196,  -196,   409,   429,   176,
-     176,  -196,  -196,   176,   176,  -196,  -196,  -196,  -196,  -196,
-    -196,   414,  -196,   176,   176,   428,   432,   434,   435,   451,
-     447,   453,   176,   176,   176,   176,  -196,   176,   176,   455,
-     454,   405,   458,   423,   465,   461,  -196,   176,  -196,   176,
-     473,  -196,   176,   477,   479,   450,   482,   176,   176,  -196,
-     176,   488,   491,   496,  -196,  -196,  -196
+     143,    79,  -198,   -38,     8,    24,    58,   379,  -198,  -198,
+    -198,  -198,    68,   103,   122,    36,   119,  -198,  -198,  -198,
+     203,   279,    44,  -198,   126,    19,  -198,   145,   159,  -198,
+    -198,  -198,   185,   -22,   167,   179,   210,   219,   147,   307,
+    -198,  -198,  -198,  -198,  -198,  -198,  -198,   322,   222,  -198,
+     140,  -198,  -198,  -198,  -198,   327,   368,   176,   221,   206,
+     190,    38,    45,    13,  -198,  -198,   516,  -198,  -198,  -198,
+    -198,   412,  -198,   228,   194,   195,  -198,   373,  -198,   388,
+     229,   190,   516,   199,   238,  -198,   243,    51,  -198,    63,
+    -198,  -198,  -198,    12,   149,   205,   516,  -198,   214,   248,
+     250,   251,   252,   154,   218,   253,   255,   257,   254,   260,
+     204,   516,   516,   516,    66,  -198,    52,   213,  -198,   227,
+    -198,   438,  -198,   464,  -198,   261,  -198,  -198,  -198,   263,
+    -198,   235,   241,  -198,  -198,  -198,   271,  -198,  -198,  -198,
+     183,  -198,   242,   278,   160,  -198,   282,   281,  -198,  -198,
+     249,  -198,   164,   171,   286,    59,   289,  -198,  -198,  -198,
+    -198,  -198,  -198,  -198,  -198,   297,   283,   290,   292,  -198,
+     266,   275,   310,   108,  -198,  -198,   284,  -198,   107,  -198,
+    -198,   318,  -198,  -198,  -198,   490,  -198,   285,  -198,   305,
+    -198,  -198,   293,    -7,   320,  -198,  -198,  -198,  -198,   326,
+    -198,   295,   299,    86,   330,   299,   301,   302,   308,   309,
+    -198,   313,   166,  -198,   314,   315,   323,  -198,   516,   516,
+     516,   340,   348,   516,  -198,  -198,  -198,  -198,   329,   331,
+     516,  -198,   347,   516,    93,   364,   190,   190,  -198,   299,
+     370,   376,   190,   190,   377,   378,   384,   381,   387,   372,
+    -198,  -198,   393,   385,   402,  -198,  -198,  -198,   516,   516,
+       3,  -198,   407,   273,   516,  -198,   190,   190,   408,   411,
+     111,   419,  -198,   420,   414,  -198,   394,   395,   406,   410,
+     169,  -198,   516,  -198,    62,   104,  -198,  -198,  -198,   435,
+     441,   190,   190,  -198,  -198,   190,   190,  -198,  -198,  -198,
+    -198,  -198,  -198,   413,  -198,   190,   190,   442,   446,   448,
+     449,   465,   461,   467,   190,   190,   190,   190,  -198,   190,
+     190,   469,   468,   471,   472,   447,   479,   486,  -198,   190,
+    -198,   190,   493,  -198,   190,   491,   494,   516,   498,   190,
+     190,  -198,   190,   495,   499,   505,  -198,  -198,  -198
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const short yypgoto[] =
 {
-    -196,  -196,  -196,   492,  -196,  -196,  -196,  -196,   483,  -196,
-    -196,    47,    69,  -196,  -196,  -196,  -195,  -196,  -196,  -196,
-    -196,  -196,    32,   -65,  -196,  -196,   -64,  -196,  -196,  -196,
-    -196,  -196,  -196,  -196,  -196,  -196,  -196,  -196,  -196,  -196,
-     268,  -196,   342,   402,  -118,  -196,  -196,   463,  -196,   431,
-    -196
+    -198,  -198,  -198,   507,  -198,  -198,  -198,  -198,   496,  -198,
+    -198,    55,   -37,  -198,  -198,  -198,  -197,  -198,  -198,  -198,
+    -198,  -198,     1,   -67,  -198,  -198,   -66,  -198,  -198,  -198,
+    -198,  -198,  -198,  -198,  -198,  -198,  -198,  -198,  -198,  -198,
+     287,  -198,   352,   409,  -120,  -198,  -198,   475,  -198,   436,
+    -198
 };
 
 /* 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 -122
+#define YYTABLE_NINF -124
 static const short yytable[] =
 {
-     113,   181,    51,    70,   194,   118,    52,    94,  -120,    71,
-      14,    95,    72,   136,   127,    96,   128,   137,    88,    63,
-     132,    97,    98,    99,   133,   100,   258,    15,   101,   102,
-     103,   104,   105,   261,    64,   106,   107,  -120,  -120,  -120,
-      23,    83,    24,    86,   108,   164,   165,   166,    89,    89,
-      17,    47,   132,    90,    90,   118,   135,   118,   234,   173,
-     134,   282,   283,   194,    12,   181,    94,  -119,    46,    13,
-      95,   240,   264,    22,    96,   192,    24,    84,   196,    84,
-      97,    98,    99,   202,   100,    48,   129,   101,   102,   103,
-     104,   105,   134,   174,   106,   107,  -119,  -119,  -119,   129,
-     129,    75,    77,   108,    57,   194,    27,    67,    94,  -121,
-      16,    28,    95,   209,    58,    67,    96,   210,   167,   118,
-     177,   178,    97,    98,    99,   233,   100,   222,    20,   101,
-     102,   103,   104,   105,    50,    21,   106,   107,  -121,  -121,
-    -121,    54,    55,    56,    67,   108,    67,   168,   169,   170,
-     139,    59,   253,   254,   255,   140,   168,   169,   170,   160,
-     161,   194,   162,    60,    94,   195,   150,   263,    95,   266,
-     267,   151,    96,    61,   204,   271,   272,   205,    97,    98,
-      99,   225,   100,    62,   226,   101,   102,   103,   104,   105,
-       1,   189,   106,   107,   196,     2,   190,   196,   286,   287,
-     288,   108,     3,     4,    65,    69,    78,   248,    66,   299,
-       5,    30,   249,    79,   300,    80,   302,    81,   196,   196,
-      31,   121,   122,   206,   305,   306,   207,   291,   307,   308,
-     226,   123,   239,    32,    33,   242,   126,   129,   310,   311,
-     130,    34,    35,    36,    37,   131,   141,   319,   320,   321,
-     322,   144,   324,   325,   146,   147,   148,   149,   221,   153,
-     155,   156,   333,   157,   334,   158,   159,   336,   179,   184,
-     185,   339,   341,   342,   194,   343,   186,    94,   285,   187,
-      65,    95,   188,   191,    68,    96,   193,    30,   197,   198,
-     215,    97,    98,    99,   208,   100,    31,   201,   101,   102,
-     103,   104,   105,   211,   216,   106,   107,   219,    65,    32,
-      33,   217,   124,   218,   108,    30,   220,    34,    35,    36,
-      37,   224,   228,    65,    31,   231,   230,   125,   232,   238,
-      30,   235,   236,   262,   174,   241,   269,    32,    33,    31,
-     243,   244,   256,   245,   246,    34,    35,    36,    37,   247,
-      94,   116,    32,    33,    95,   250,   251,   252,    96,   257,
-      34,    35,    36,    37,    97,    98,    99,   259,   100,   260,
-     265,   101,   102,   103,   104,   105,    94,   180,   106,   107,
-      95,   270,   273,   117,    96,   278,   274,   108,   276,   279,
-      97,    98,    99,   275,   100,   277,   280,   101,   102,   103,
-     104,   105,    94,   182,   106,   107,    95,   281,   284,   117,
-      96,   292,   328,   108,   289,   290,    97,    98,    99,   293,
-     100,   294,   303,   101,   102,   103,   104,   105,    94,   229,
-     106,   107,    95,   295,   296,   117,    96,   297,   298,   108,
-     304,   312,    97,    98,    99,   313,   100,   314,   315,   101,
-     102,   103,   104,   105,    94,   309,   106,   107,    95,   316,
-     317,   117,    96,   326,   330,   108,   318,   327,    97,    98,
-      99,   329,   100,   331,   332,   101,   102,   103,   104,   105,
-     335,    29,   106,   107,    30,    45,    -2,    18,    30,     1,
-     337,   108,   338,    31,     2,   340,   344,    31,   345,    19,
-      74,     3,     4,    30,   346,   268,    32,    33,    53,     5,
-      32,    33,    31,   223,    34,    35,    36,    37,    34,    35,
-      36,    37,   138,   183,    87,    32,    33,    76,     0,     0,
-      30,     0,     0,    34,    35,    36,    37,     0,     0,    31,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    32,    33,     0,     0,     0,     0,     0,     0,
-      34,    35,    36,    37
+     115,   183,    69,    14,   196,   120,   236,    96,  -122,    58,
+      69,    97,    15,   138,   129,    98,   130,   139,    90,    59,
+      52,    99,   100,   101,    53,   102,   260,    16,   103,   104,
+     105,   106,   107,   263,   131,   108,   109,  -122,  -122,  -122,
+      69,    23,    69,    85,   110,   166,   167,   168,    91,    91,
+      88,    48,   134,    92,    92,   120,   135,   120,    17,   175,
+      24,   284,   285,   196,   134,   183,    96,  -121,   137,   211,
+      97,   169,    20,   212,    98,   194,    47,    24,   198,    86,
+      99,   100,   101,   204,   102,    49,    86,   103,   104,   105,
+     106,   107,   136,   176,   108,   109,  -121,  -121,  -121,   242,
+     170,   171,   172,   110,   136,   196,   266,    21,    96,  -123,
+      77,    79,    97,   224,   227,    12,    98,   228,   293,   120,
+      13,   228,    99,   100,   101,   235,   102,   131,    22,   103,
+     104,   105,   106,   107,   131,    51,   108,   109,  -123,  -123,
+    -123,    72,   170,   171,   172,   110,     1,    73,    64,    55,
+      74,     2,   255,   256,   257,    27,    65,   141,     3,     4,
+      28,   196,   142,    56,    96,   197,     5,   265,    97,   268,
+     269,    66,    98,    60,   206,   273,   274,   207,    99,   100,
+     101,   208,   102,    61,   209,   103,   104,   105,   106,   107,
+     152,   191,   108,   109,   198,   153,   192,   198,   288,   289,
+     290,   110,   250,   241,    29,   301,   244,   251,    30,    57,
+     302,    31,   162,   163,    62,   164,   304,    80,   198,   198,
+      32,   179,   180,    63,   307,   308,    71,    81,   309,   310,
+      82,    83,   123,    33,    34,   124,   125,   128,   312,   313,
+     131,    35,    36,    37,    38,   132,   143,   321,   322,   323,
+     324,   133,   326,   327,   148,   146,   149,   150,   151,   155,
+     160,   157,   335,   158,   336,   159,   161,   338,   181,   186,
+     187,   341,   343,   344,   196,   345,   188,    96,   287,   190,
+      29,    97,   189,   193,    46,    98,   195,    31,   199,   200,
+     203,    99,   100,   101,   210,   102,    32,   213,   103,   104,
+     105,   106,   107,   217,   218,   108,   109,   221,    67,    33,
+      34,   219,    68,   220,   110,    31,   222,    35,    36,    37,
+      38,   223,   230,    67,    32,   226,   232,    70,    29,   233,
+      31,   237,    76,   238,   234,    31,   240,    33,    34,    32,
+     176,   243,   245,   246,    32,    35,    36,    37,    38,   247,
+     248,   258,    33,    34,   249,   252,   253,    33,    34,   259,
+      35,    36,    37,    38,   254,    35,    36,    37,    38,    29,
+     261,   264,   262,    78,    67,   267,    31,   271,   126,    -2,
+      18,    31,     1,   272,   275,    32,   280,     2,   276,    67,
+      32,   278,   282,   127,     3,     4,    31,   277,    33,    34,
+     279,   281,     5,    33,    34,    32,    35,    36,    37,    38,
+     283,    35,    36,    37,    38,   286,    96,   118,    33,    34,
+      97,   291,   292,   294,    98,   296,    35,    36,    37,    38,
+      99,   100,   101,   295,   102,   297,   298,   103,   104,   105,
+     106,   107,    96,   182,   108,   109,    97,   299,   305,   119,
+      98,   300,   306,   110,   311,   314,    99,   100,   101,   315,
+     102,   316,   317,   103,   104,   105,   106,   107,    96,   184,
+     108,   109,    97,   318,   319,   119,    98,   328,   330,   110,
+     320,   329,    99,   100,   101,   331,   102,   333,   332,   103,
+     104,   105,   106,   107,    96,   231,   108,   109,    97,   334,
+     337,   119,    98,   346,   339,   110,   347,   340,    99,   100,
+     101,   342,   102,   348,    19,   103,   104,   105,   106,   107,
+      96,    54,   108,   109,    97,   225,   270,   119,    98,   140,
+       0,   110,   185,     0,    99,   100,   101,    89,   102,     0,
+       0,   103,   104,   105,   106,   107,     0,     0,   108,   109,
+       0,     0,     0,     0,     0,     0,     0,   110
 };
 
 static const short yycheck[] =
 {
-      64,   119,     1,     1,     1,    69,     5,     4,     5,     7,
-      41,     8,    10,     1,    79,    12,    80,     5,     5,     9,
-       1,    18,    19,    20,     5,    22,   221,     4,    25,    26,
-      27,    28,    29,   228,    24,    32,    33,    34,    35,    36,
-       5,     5,    41,     5,    41,   109,   110,   111,    36,    36,

[... 1336 lines stripped ...]


More information about the svn-commits mailing list