c-parse.y, [...]: Regenerate.
authorGreg McGary <gkm@gnu.org>
Tue, 14 Mar 2000 19:54:04 +0000 (19:54 +0000)
committerGreg McGary <gkm@gcc.gnu.org>
Tue, 14 Mar 2000 19:54:04 +0000 (19:54 +0000)
* c-parse.y, c-parse.c, c-parse.h: Regenerate.
* objc/objc-parse.y, objc/objc-parse.c: Regenerate.

From-SVN: r32541

gcc/ChangeLog
gcc/c-parse.c
gcc/c-parse.h
gcc/c-parse.y
gcc/objc/objc-parse.c
gcc/objc/objc-parse.y

index bfc80885f68b1311c52935800260510b0b567a75..c139e27b18819568b6bfe3ed71b8adb0ce9871c3 100644 (file)
@@ -6,6 +6,8 @@
        __ptrextent, __ptrextent__, __ptrvalue, __ptrvalue__,
        __unbounded, __unbounded__): New keywords.
        * c-parse.in (PTR_VALUE PTR_BASE PTR_EXTENT): New tokens.
+       * c-parse.y, c-parse.c, c-parse.h: Regenerate.
+       * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
 
 2000-03-14  Bernd Schmidt  <bernds@cygnus.co.uk>
 
index 49e8004766199225539e3fa1db74cdb0e20543c4..22bfb6536a60525feb8e2f9709749e4897276a4c 100644 (file)
 #define        REALPART        287
 #define        IMAGPART        288
 #define        VA_ARG  289
-#define        END_OF_LINE     290
-#define        ASSIGN  291
-#define        OROR    292
-#define        ANDAND  293
-#define        EQCOMPARE       294
-#define        ARITHCOMPARE    295
-#define        LSHIFT  296
-#define        RSHIFT  297
-#define        UNARY   298
-#define        PLUSPLUS        299
-#define        MINUSMINUS      300
-#define        HYPERUNARY      301
-#define        POINTSAT        302
-#define        INTERFACE       303
-#define        IMPLEMENTATION  304
-#define        END     305
-#define        SELECTOR        306
-#define        DEFS    307
-#define        ENCODE  308
-#define        CLASSNAME       309
-#define        PUBLIC  310
-#define        PRIVATE 311
-#define        PROTECTED       312
-#define        PROTOCOL        313
-#define        OBJECTNAME      314
-#define        CLASS   315
-#define        ALIAS   316
-#define        OBJC_STRING     317
+#define        PTR_VALUE       290
+#define        PTR_BASE        291
+#define        PTR_EXTENT      292
+#define        END_OF_LINE     293
+#define        ASSIGN  294
+#define        OROR    295
+#define        ANDAND  296
+#define        EQCOMPARE       297
+#define        ARITHCOMPARE    298
+#define        LSHIFT  299
+#define        RSHIFT  300
+#define        UNARY   301
+#define        PLUSPLUS        302
+#define        MINUSMINUS      303
+#define        HYPERUNARY      304
+#define        POINTSAT        305
+#define        INTERFACE       306
+#define        IMPLEMENTATION  307
+#define        END     308
+#define        SELECTOR        309
+#define        DEFS    310
+#define        ENCODE  311
+#define        CLASSNAME       312
+#define        PUBLIC  313
+#define        PRIVATE 314
+#define        PROTECTED       315
+#define        PROTOCOL        316
+#define        OBJECTNAME      317
+#define        CLASS   318
+#define        ALIAS   319
+#define        OBJC_STRING     320
 
 #line 34 "c-parse.y"
 
@@ -98,7 +101,7 @@ const char * const language_string = "GNU C";
 #line 65 "c-parse.y"
 typedef union {long itype; tree ttype; enum tree_code code;
        char *filename; int lineno; int ends_in_label; } YYSTYPE;
-#line 185 "c-parse.y"
+#line 186 "c-parse.y"
 
 /* Number of statements (loosely speaking) and compound statements 
    seen so far.  */
@@ -158,24 +161,24 @@ c_parse_init ()
 
 #define        YYFINAL         706
 #define        YYFLAG          -32768
-#define        YYNTBASE        86
+#define        YYNTBASE        89
 
-#define YYTRANSLATE(x) ((unsigned)(x) <= 317 ? yytranslate[x] : 244)
+#define YYTRANSLATE(x) ((unsigned)(x) <= 320 ? yytranslate[x] : 247)
 
 static const char yytranslate[] = {     0,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,    82,     2,     2,     2,    54,    45,     2,    61,
-    78,    52,    50,    83,    51,    60,    53,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,    40,    79,     2,
-    38,     2,    39,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,    85,     2,     2,     2,    57,    48,     2,    64,
+    81,    55,    53,    86,    54,    63,    56,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,    43,    82,     2,
+    41,     2,    42,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-    62,     2,    85,    44,     2,     2,     2,     2,     2,     2,
+    65,     2,    88,    47,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,    84,    43,    80,    81,     2,     2,     2,     2,
+     2,     2,    87,    46,    83,    84,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -192,9 +195,9 @@ static const char yytranslate[] = {     0,
      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,    41,    42,    46,    47,    48,    49,    55,    56,    57,
-    58,    59,    63,    64,    65,    66,    67,    68,    69,    70,
-    71,    72,    73,    74,    75,    76,    77
+    37,    38,    39,    40,    44,    45,    49,    50,    51,    52,
+    58,    59,    60,    61,    62,    66,    67,    68,    69,    70,
+    71,    72,    73,    74,    75,    76,    77,    78,    79,    80
 };
 
 #if YYDEBUG != 0
@@ -243,184 +246,184 @@ static const short yyprhs[] = {     0,
 };
 
 static const short yyrhs[] = {    -1,
-    87,     0,     0,    88,    90,     0,     0,    87,    89,    90,
-     0,    92,     0,    91,     0,    27,    61,   101,    78,    79,
-     0,   243,    90,     0,   123,   137,    79,     0,   130,   123,
-   137,    79,     0,   126,   123,   136,    79,     0,   130,    79,
-     0,   126,    79,     0,     1,    79,     0,     1,    80,     0,
-    79,     0,     0,     0,   126,   123,   165,    93,   117,    94,
-   199,     0,   126,   123,   165,     1,     0,     0,     0,   130,
-   123,   168,    95,   117,    96,   199,     0,   130,   123,   168,
-     1,     0,     0,     0,   123,   168,    97,   117,    98,   199,
-     0,   123,   168,     1,     0,     3,     0,     4,     0,    45,
-     0,    51,     0,    50,     0,    56,     0,    57,     0,    81,
-     0,    82,     0,   103,     0,     0,   103,     0,   109,     0,
-   103,    83,   109,     0,   115,     0,    52,   107,     0,   243,
-   107,     0,   100,   107,     0,    42,    99,     0,   105,   104,
-     0,   105,    61,   186,    78,     0,   106,   104,     0,   106,
-    61,   186,    78,     0,    33,   107,     0,    34,   107,     0,
-    35,    61,   109,    83,   186,    78,     0,    11,     0,    29,
-     0,   104,     0,    61,   186,    78,   107,     0,     0,    61,
-   186,    78,    84,   108,   151,    80,     0,   107,     0,   109,
-    50,   109,     0,   109,    51,   109,     0,   109,    52,   109,
-     0,   109,    53,   109,     0,   109,    54,   109,     0,   109,
-    48,   109,     0,   109,    49,   109,     0,   109,    47,   109,
-     0,   109,    46,   109,     0,   109,    45,   109,     0,   109,
-    43,   109,     0,   109,    44,   109,     0,     0,   109,    42,
-   110,   109,     0,     0,   109,    41,   111,   109,     0,     0,
-     0,   109,    39,   112,   101,    40,   113,   109,     0,     0,
-   109,    39,   114,    40,   109,     0,   109,    38,   109,     0,
-   109,    37,   109,     0,     3,     0,     8,     0,   116,     0,
-    61,   101,    78,     0,    61,     1,    78,     0,   202,   201,
-    78,     0,   202,     1,    78,     0,   115,    61,   102,    78,
-     0,   115,    62,   101,    85,     0,   115,    60,    99,     0,
-   115,    59,    99,     0,   115,    56,     0,   115,    57,     0,
-     9,     0,   116,     9,     0,     0,   119,     0,   119,    10,
-     0,   208,   209,   120,     0,   118,     0,   194,     0,   119,
-   118,     0,   118,   194,     0,   128,   123,   136,    79,     0,
-   131,   123,   137,    79,     0,   128,    79,     0,   131,    79,
-     0,   208,   209,   125,     0,   121,     0,   194,     0,   122,
-   121,     0,   121,   194,     0,     0,     0,   126,   123,   136,
-    79,     0,   130,   123,   137,    79,     0,   126,   123,   159,
-     0,   130,   123,   162,     0,   126,    79,     0,   130,    79,
-     0,   243,   125,     0,   134,   127,     0,   130,   134,   127,
-     0,     0,   127,   135,     0,   127,     5,     0,   127,   144,
-     0,   134,   129,     0,   131,   134,   129,     0,     0,   129,
-   135,     0,   129,     5,     0,   131,     0,   144,     0,   130,
-   131,     0,   130,   144,     0,     7,     0,     5,     0,   131,
-     7,     0,   131,     5,     0,   134,   133,     0,   188,   134,
-   133,     0,     0,   133,   135,     0,     6,     0,   172,     0,
-     4,     0,    28,    61,   101,    78,     0,    28,    61,   186,
-    78,     0,     6,     0,     7,     0,   172,     0,   139,     0,
-   136,    83,   139,     0,   141,     0,   137,    83,   139,     0,
-     0,    27,    61,   116,    78,     0,     0,   165,   138,   143,
-    38,   140,   149,     0,   165,   138,   143,     0,     0,   168,
-   138,   143,    38,   142,   149,     0,   168,   138,   143,     0,
-     0,   144,     0,   145,     0,   144,   145,     0,    30,    61,
-    61,   146,    78,    78,     0,   147,     0,   146,    83,   147,
-     0,     0,   148,     0,   148,    61,     3,    78,     0,   148,
-    61,     3,    83,   103,    78,     0,   148,    61,   102,    78,
-     0,    99,     0,     5,     0,     6,     0,     7,     0,   109,
-     0,     0,    84,   150,   151,    80,     0,     1,     0,     0,
-   152,   177,     0,   153,     0,   152,    83,   153,     0,   157,
-    38,   155,     0,   158,   155,     0,     0,    99,    40,   154,
-   155,     0,   155,     0,     0,    84,   156,   151,    80,     0,
-   109,     0,     1,     0,   158,     0,   157,   158,     0,    60,
-    99,     0,    62,   109,    10,   109,    85,     0,    62,   109,
-    85,     0,     0,     0,   165,   160,   117,   161,   203,     0,
-     0,     0,   168,   163,   117,   164,   203,     0,   166,     0,
-   168,     0,    61,   166,    78,     0,   166,    61,   238,     0,
-   166,    62,   101,    85,     0,   166,    62,    85,     0,    52,
-   189,   166,     0,   144,   124,   166,     0,     4,     0,   167,
-    61,   238,     0,   167,    62,    52,    85,     0,   167,    62,
-   101,    85,     0,   167,    62,    85,     0,    52,   189,   167,
-     0,   144,   124,   167,     0,     4,     0,   168,    61,   238,
-     0,    61,   168,    78,     0,    52,   189,   168,     0,   168,
-    62,    52,    85,     0,   168,    62,   101,    85,     0,   168,
-    62,    85,     0,   144,   124,   168,     0,     3,     0,    13,
-     0,    13,   144,     0,    14,     0,    14,   144,     0,    12,
-     0,    12,   144,     0,     0,   169,    99,    84,   173,   179,
-    80,   143,     0,   169,    84,   179,    80,   143,     0,   169,
-    99,     0,     0,   170,    99,    84,   174,   179,    80,   143,
-     0,   170,    84,   179,    80,   143,     0,   170,    99,     0,
-     0,   171,    99,    84,   175,   184,   178,    80,   143,     0,
-     0,   171,    84,   176,   184,   178,    80,   143,     0,   171,
-    99,     0,     0,    83,     0,     0,    83,     0,   180,     0,
-   180,   181,     0,     0,   180,   181,    79,     0,   180,    79,
-     0,   132,   123,   182,     0,   132,   123,   208,   209,   143,
-     0,   188,   123,   182,     0,   188,     0,     1,     0,   243,
-   181,     0,   183,     0,   182,    83,   183,     0,   208,   209,
-   165,   143,     0,   208,   209,   165,    40,   109,   143,     0,
-   208,   209,    40,   109,   143,     0,   185,     0,   184,    83,
-   185,     0,     1,     0,    99,     0,    99,    38,   109,     0,
-   132,   187,     0,   188,   187,     0,     0,   190,     0,     7,
-     0,   188,     7,     0,     0,   189,     7,     0,    61,   190,
-    78,     0,    52,   189,   190,     0,    52,   189,     0,   190,
-    61,   231,     0,   190,    62,   101,    85,     0,   190,    62,
-    85,     0,    61,   231,     0,    62,   101,    85,     0,    62,
-    85,     0,   144,   124,   190,     0,   192,     0,   211,     0,
-   192,   211,     0,   192,   194,     0,     0,   191,     0,     1,
-    79,     0,     0,     0,   197,     0,   198,     0,   197,   198,
-     0,    32,   242,    79,     0,   203,     0,     1,   203,     0,
-    84,     0,    80,     0,   195,   196,   122,   193,    80,     0,
-   195,   196,     1,    80,     0,   195,   196,   191,    80,     0,
-    61,    84,     0,   200,   201,     0,   205,   210,     0,   205,
-     1,     0,    15,    61,   101,    78,     0,     0,    18,   207,
-   210,    17,     0,     0,     0,   208,   209,   213,     0,   208,
-   209,   224,   210,     0,   208,   209,   212,     0,   213,     0,
-   224,     0,   203,     0,   221,     0,   101,    79,     0,     0,
-   204,    16,   214,   210,     0,   204,     0,   204,    16,     1,
-     0,     0,     0,    17,   215,    61,   101,    78,   216,   210,
-     0,   206,    61,   101,    78,    79,     0,   206,     1,     0,
-     0,     0,     0,    19,    61,   226,    79,   217,   226,    79,
-   218,   226,    78,   219,   210,     0,     0,    20,    61,   101,
-    78,   220,   210,     0,    23,    79,     0,    24,    79,     0,
-    25,    79,     0,    25,   101,    79,     0,    27,   225,    61,
-   101,    78,    79,     0,    27,   225,    61,   101,    40,   227,
-    78,    79,     0,    27,   225,    61,   101,    40,   227,    40,
-   227,    78,    79,     0,    27,   225,    61,   101,    40,   227,
-    40,   227,    40,   230,    78,    79,     0,    26,    99,    79,
-     0,    26,    52,   101,    79,     0,    79,     0,   222,     0,
-     0,    19,    61,   115,    78,   223,   210,     0,    21,   109,
-    40,     0,    21,   109,    10,   109,    40,     0,    22,    40,
-     0,    99,    40,   143,     0,     0,     7,     0,     0,   101,
-     0,     0,   228,     0,   229,     0,   228,    83,   229,     0,
-     9,    61,   101,    78,     0,   116,     0,   230,    83,   116,
-     0,     0,   232,   233,     0,   235,    78,     0,     0,   236,
-    79,   234,   233,     0,     1,    78,     0,     0,    10,     0,
-   236,     0,   236,    83,    10,     0,   237,     0,   236,    83,
-   237,     0,   126,   123,   167,   143,     0,   126,   123,   168,
-   143,     0,   126,   123,   187,   143,     0,   130,   123,   168,
-   143,     0,   130,   123,   187,   143,     0,     0,   239,   240,
-     0,   233,     0,   241,    78,     0,     3,     0,   241,    83,
-     3,     0,    99,     0,   242,    83,    99,     0,    31,     0
+    90,     0,     0,    91,    93,     0,     0,    90,    92,    93,
+     0,    95,     0,    94,     0,    27,    64,   104,    81,    82,
+     0,   246,    93,     0,   126,   140,    82,     0,   133,   126,
+   140,    82,     0,   129,   126,   139,    82,     0,   133,    82,
+     0,   129,    82,     0,     1,    82,     0,     1,    83,     0,
+    82,     0,     0,     0,   129,   126,   168,    96,   120,    97,
+   202,     0,   129,   126,   168,     1,     0,     0,     0,   133,
+   126,   171,    98,   120,    99,   202,     0,   133,   126,   171,
+     1,     0,     0,     0,   126,   171,   100,   120,   101,   202,
+     0,   126,   171,     1,     0,     3,     0,     4,     0,    48,
+     0,    54,     0,    53,     0,    59,     0,    60,     0,    84,
+     0,    85,     0,   106,     0,     0,   106,     0,   112,     0,
+   106,    86,   112,     0,   118,     0,    55,   110,     0,   246,
+   110,     0,   103,   110,     0,    45,   102,     0,   108,   107,
+     0,   108,    64,   189,    81,     0,   109,   107,     0,   109,
+    64,   189,    81,     0,    33,   110,     0,    34,   110,     0,
+    35,    64,   112,    86,   189,    81,     0,    11,     0,    29,
+     0,   107,     0,    64,   189,    81,   110,     0,     0,    64,
+   189,    81,    87,   111,   154,    83,     0,   110,     0,   112,
+    53,   112,     0,   112,    54,   112,     0,   112,    55,   112,
+     0,   112,    56,   112,     0,   112,    57,   112,     0,   112,
+    51,   112,     0,   112,    52,   112,     0,   112,    50,   112,
+     0,   112,    49,   112,     0,   112,    48,   112,     0,   112,
+    46,   112,     0,   112,    47,   112,     0,     0,   112,    45,
+   113,   112,     0,     0,   112,    44,   114,   112,     0,     0,
+     0,   112,    42,   115,   104,    43,   116,   112,     0,     0,
+   112,    42,   117,    43,   112,     0,   112,    41,   112,     0,
+   112,    40,   112,     0,     3,     0,     8,     0,   119,     0,
+    64,   104,    81,     0,    64,     1,    81,     0,   205,   204,
+    81,     0,   205,     1,    81,     0,   118,    64,   105,    81,
+     0,   118,    65,   104,    88,     0,   118,    63,   102,     0,
+   118,    62,   102,     0,   118,    59,     0,   118,    60,     0,
+     9,     0,   119,     9,     0,     0,   122,     0,   122,    10,
+     0,   211,   212,   123,     0,   121,     0,   197,     0,   122,
+   121,     0,   121,   197,     0,   131,   126,   139,    82,     0,
+   134,   126,   140,    82,     0,   131,    82,     0,   134,    82,
+     0,   211,   212,   128,     0,   124,     0,   197,     0,   125,
+   124,     0,   124,   197,     0,     0,     0,   129,   126,   139,
+    82,     0,   133,   126,   140,    82,     0,   129,   126,   162,
+     0,   133,   126,   165,     0,   129,    82,     0,   133,    82,
+     0,   246,   128,     0,   137,   130,     0,   133,   137,   130,
+     0,     0,   130,   138,     0,   130,     5,     0,   130,   147,
+     0,   137,   132,     0,   134,   137,   132,     0,     0,   132,
+   138,     0,   132,     5,     0,   134,     0,   147,     0,   133,
+   134,     0,   133,   147,     0,     7,     0,     5,     0,   134,
+     7,     0,   134,     5,     0,   137,   136,     0,   191,   137,
+   136,     0,     0,   136,   138,     0,     6,     0,   175,     0,
+     4,     0,    28,    64,   104,    81,     0,    28,    64,   189,
+    81,     0,     6,     0,     7,     0,   175,     0,   142,     0,
+   139,    86,   142,     0,   144,     0,   140,    86,   142,     0,
+     0,    27,    64,   119,    81,     0,     0,   168,   141,   146,
+    41,   143,   152,     0,   168,   141,   146,     0,     0,   171,
+   141,   146,    41,   145,   152,     0,   171,   141,   146,     0,
+     0,   147,     0,   148,     0,   147,   148,     0,    30,    64,
+    64,   149,    81,    81,     0,   150,     0,   149,    86,   150,
+     0,     0,   151,     0,   151,    64,     3,    81,     0,   151,
+    64,     3,    86,   106,    81,     0,   151,    64,   105,    81,
+     0,   102,     0,     5,     0,     6,     0,     7,     0,   112,
+     0,     0,    87,   153,   154,    83,     0,     1,     0,     0,
+   155,   180,     0,   156,     0,   155,    86,   156,     0,   160,
+    41,   158,     0,   161,   158,     0,     0,   102,    43,   157,
+   158,     0,   158,     0,     0,    87,   159,   154,    83,     0,
+   112,     0,     1,     0,   161,     0,   160,   161,     0,    63,
+   102,     0,    65,   112,    10,   112,    88,     0,    65,   112,
+    88,     0,     0,     0,   168,   163,   120,   164,   206,     0,
+     0,     0,   171,   166,   120,   167,   206,     0,   169,     0,
+   171,     0,    64,   169,    81,     0,   169,    64,   241,     0,
+   169,    65,   104,    88,     0,   169,    65,    88,     0,    55,
+   192,   169,     0,   147,   127,   169,     0,     4,     0,   170,
+    64,   241,     0,   170,    65,    55,    88,     0,   170,    65,
+   104,    88,     0,   170,    65,    88,     0,    55,   192,   170,
+     0,   147,   127,   170,     0,     4,     0,   171,    64,   241,
+     0,    64,   171,    81,     0,    55,   192,   171,     0,   171,
+    65,    55,    88,     0,   171,    65,   104,    88,     0,   171,
+    65,    88,     0,   147,   127,   171,     0,     3,     0,    13,
+     0,    13,   147,     0,    14,     0,    14,   147,     0,    12,
+     0,    12,   147,     0,     0,   172,   102,    87,   176,   182,
+    83,   146,     0,   172,    87,   182,    83,   146,     0,   172,
+   102,     0,     0,   173,   102,    87,   177,   182,    83,   146,
+     0,   173,    87,   182,    83,   146,     0,   173,   102,     0,
+     0,   174,   102,    87,   178,   187,   181,    83,   146,     0,
+     0,   174,    87,   179,   187,   181,    83,   146,     0,   174,
+   102,     0,     0,    86,     0,     0,    86,     0,   183,     0,
+   183,   184,     0,     0,   183,   184,    82,     0,   183,    82,
+     0,   135,   126,   185,     0,   135,   126,   211,   212,   146,
+     0,   191,   126,   185,     0,   191,     0,     1,     0,   246,
+   184,     0,   186,     0,   185,    86,   186,     0,   211,   212,
+   168,   146,     0,   211,   212,   168,    43,   112,   146,     0,
+   211,   212,    43,   112,   146,     0,   188,     0,   187,    86,
+   188,     0,     1,     0,   102,     0,   102,    41,   112,     0,
+   135,   190,     0,   191,   190,     0,     0,   193,     0,     7,
+     0,   191,     7,     0,     0,   192,     7,     0,    64,   193,
+    81,     0,    55,   192,   193,     0,    55,   192,     0,   193,
+    64,   234,     0,   193,    65,   104,    88,     0,   193,    65,
+    88,     0,    64,   234,     0,    65,   104,    88,     0,    65,
+    88,     0,   147,   127,   193,     0,   195,     0,   214,     0,
+   195,   214,     0,   195,   197,     0,     0,   194,     0,     1,
+    82,     0,     0,     0,   200,     0,   201,     0,   200,   201,
+     0,    32,   245,    82,     0,   206,     0,     1,   206,     0,
+    87,     0,    83,     0,   198,   199,   125,   196,    83,     0,
+   198,   199,     1,    83,     0,   198,   199,   194,    83,     0,
+    64,    87,     0,   203,   204,     0,   208,   213,     0,   208,
+     1,     0,    15,    64,   104,    81,     0,     0,    18,   210,
+   213,    17,     0,     0,     0,   211,   212,   216,     0,   211,
+   212,   227,   213,     0,   211,   212,   215,     0,   216,     0,
+   227,     0,   206,     0,   224,     0,   104,    82,     0,     0,
+   207,    16,   217,   213,     0,   207,     0,   207,    16,     1,
+     0,     0,     0,    17,   218,    64,   104,    81,   219,   213,
+     0,   209,    64,   104,    81,    82,     0,   209,     1,     0,
+     0,     0,     0,    19,    64,   229,    82,   220,   229,    82,
+   221,   229,    81,   222,   213,     0,     0,    20,    64,   104,
+    81,   223,   213,     0,    23,    82,     0,    24,    82,     0,
+    25,    82,     0,    25,   104,    82,     0,    27,   228,    64,
+   104,    81,    82,     0,    27,   228,    64,   104,    43,   230,
+    81,    82,     0,    27,   228,    64,   104,    43,   230,    43,
+   230,    81,    82,     0,    27,   228,    64,   104,    43,   230,
+    43,   230,    43,   233,    81,    82,     0,    26,   102,    82,
+     0,    26,    55,   104,    82,     0,    82,     0,   225,     0,
+     0,    19,    64,   118,    81,   226,   213,     0,    21,   112,
+    43,     0,    21,   112,    10,   112,    43,     0,    22,    43,
+     0,   102,    43,   146,     0,     0,     7,     0,     0,   104,
+     0,     0,   231,     0,   232,     0,   231,    86,   232,     0,
+     9,    64,   104,    81,     0,   119,     0,   233,    86,   119,
+     0,     0,   235,   236,     0,   238,    81,     0,     0,   239,
+    82,   237,   236,     0,     1,    81,     0,     0,    10,     0,
+   239,     0,   239,    86,    10,     0,   240,     0,   239,    86,
+   240,     0,   129,   126,   170,   146,     0,   129,   126,   171,
+   146,     0,   129,   126,   190,   146,     0,   133,   126,   171,
+   146,     0,   133,   126,   190,   146,     0,     0,   242,   243,
+     0,   236,     0,   244,    81,     0,     3,     0,   244,    86,
+     3,     0,   102,     0,   245,    86,   102,     0,    31,     0
 };
 
 #endif
 
 #if YYDEBUG != 0
 static const short yyrline[] = { 0,
-   235,   240,   254,   256,   256,   257,   259,   261,   262,   270,
-   274,   284,   288,   292,   294,   296,   297,   298,   303,   310,
-   312,   316,   320,   326,   328,   332,   336,   342,   344,   348,
-   354,   356,   359,   361,   363,   365,   367,   369,   371,   375,
-   379,   382,   385,   388,   392,   394,   397,   400,   404,   432,
-   438,   441,   444,   447,   449,   451,   455,   459,   463,   465,
-   468,   472,   499,   501,   503,   505,   507,   509,   511,   513,
-   515,   517,   519,   521,   523,   525,   529,   531,   535,   537,
-   540,   544,   546,   553,   556,   564,   575,   674,   675,   677,
-   683,   685,   708,   717,   719,   721,   725,   731,   733,   738,
-   740,   748,   750,   751,   761,   766,   768,   769,   770,   777,
-   782,   786,   789,   797,   802,   804,   805,   806,   813,   823,
-   827,   832,   836,   840,   844,   846,   848,   857,   860,   864,
-   866,   868,   873,   877,   880,   884,   887,   889,   901,   904,
-   906,   908,   912,   916,   918,   921,   934,   937,   941,   943,
-   951,   952,   953,   957,   959,   965,   966,   967,   970,   972,
-   975,   977,   980,   983,   989,   996,   998,  1005,  1012,  1015,
-  1022,  1025,  1029,  1032,  1036,  1041,  1044,  1048,  1051,  1053,
-  1055,  1057,  1064,  1066,  1067,  1068,  1073,  1075,  1077,  1079,
-  1084,  1088,  1091,  1093,  1098,  1100,  1101,  1104,  1104,  1107,
-  1110,  1112,  1114,  1117,  1119,  1122,  1128,  1130,  1134,  1148,
-  1156,  1160,  1174,  1182,  1189,  1191,  1196,  1199,  1204,  1206,
-  1208,  1215,  1217,  1225,  1231,  1236,  1238,  1240,  1247,  1249,
-  1255,  1261,  1263,  1265,  1270,  1272,  1279,  1281,  1284,  1287,
-  1291,  1294,  1298,  1301,  1305,  1310,  1312,  1316,  1318,  1320,
-  1322,  1326,  1328,  1330,  1333,  1335,  1338,  1342,  1344,  1347,
-  1349,  1354,  1357,  1362,  1364,  1366,  1380,  1386,  1399,  1404,
-  1409,  1411,  1416,  1418,  1422,  1426,  1430,  1440,  1442,  1447,
-  1452,  1455,  1459,  1462,  1466,  1469,  1472,  1475,  1479,  1482,
-  1486,  1490,  1492,  1494,  1496,  1498,  1500,  1502,  1504,  1508,
-  1516,  1524,  1526,  1528,  1532,  1534,  1537,  1540,  1550,  1552,
-  1557,  1559,  1562,  1576,  1579,  1582,  1584,  1586,  1590,  1594,
-  1600,  1618,  1623,  1628,  1631,  1645,  1654,  1658,  1662,  1666,
-  1672,  1676,  1681,  1684,  1689,  1692,  1693,  1709,  1714,  1717,
-  1729,  1731,  1741,  1751,  1752,  1759,  1761,  1773,  1777,  1791,
-  1797,  1803,  1804,  1809,  1814,  1818,  1822,  1833,  1840,  1847,
-  1854,  1865,  1871,  1874,  1879,  1902,  1932,  1963,  1994,  2009,
-  2023,  2027,  2031,  2034,  2039,  2041,  2044,  2046,  2050,  2055,
-  2058,  2064,  2069,  2074,  2076,  2085,  2086,  2092,  2094,  2104,
-  2106,  2110,  2113,  2119,  2128,  2136,  2144,  2153,  2166,  2171,
-  2176,  2178,  2187,  2190,  2195,  2198,  2202
+   236,   241,   255,   257,   257,   258,   260,   262,   263,   271,
+   275,   285,   289,   293,   295,   297,   298,   299,   304,   311,
+   313,   317,   321,   327,   329,   333,   337,   343,   345,   349,
+   355,   357,   360,   362,   364,   366,   368,   370,   372,   376,
+   380,   383,   386,   389,   393,   395,   398,   401,   405,   433,
+   439,   442,   445,   448,   450,   452,   456,   460,   464,   466,
+   469,   473,   500,   502,   504,   506,   508,   510,   512,   514,
+   516,   518,   520,   522,   524,   526,   530,   532,   536,   538,
+   541,   545,   547,   554,   557,   565,   576,   675,   676,   678,
+   684,   686,   709,   718,   720,   722,   726,   732,   734,   739,
+   741,   749,   751,   752,   762,   767,   769,   770,   771,   778,
+   783,   787,   790,   798,   803,   805,   806,   807,   814,   824,
+   828,   833,   837,   841,   845,   847,   849,   858,   861,   865,
+   867,   869,   874,   878,   881,   885,   888,   890,   902,   905,
+   907,   909,   913,   917,   919,   922,   935,   938,   942,   944,
+   952,   953,   954,   958,   960,   966,   967,   968,   971,   973,
+   976,   978,   981,   984,   990,   997,   999,  1006,  1013,  1016,
+  1023,  1026,  1030,  1033,  1037,  1042,  1045,  1049,  1052,  1054,
+  1056,  1058,  1065,  1067,  1068,  1069,  1074,  1076,  1078,  1080,
+  1085,  1089,  1092,  1094,  1099,  1101,  1102,  1105,  1105,  1108,
+  1111,  1113,  1115,  1118,  1120,  1123,  1129,  1131,  1135,  1149,
+  1157,  1161,  1175,  1183,  1190,  1192,  1197,  1200,  1205,  1207,
+  1209,  1216,  1218,  1226,  1232,  1237,  1239,  1241,  1248,  1250,
+  1256,  1262,  1264,  1266,  1271,  1273,  1280,  1282,  1285,  1288,
+  1292,  1295,  1299,  1302,  1306,  1311,  1313,  1317,  1319,  1321,
+  1323,  1327,  1329,  1331,  1334,  1336,  1339,  1343,  1345,  1348,
+  1350,  1355,  1358,  1363,  1365,  1367,  1381,  1387,  1400,  1405,
+  1410,  1412,  1417,  1419,  1423,  1427,  1431,  1441,  1443,  1448,
+  1453,  1456,  1460,  1463,  1467,  1470,  1473,  1476,  1480,  1483,
+  1487,  1491,  1493,  1495,  1497,  1499,  1501,  1503,  1505,  1509,
+  1517,  1525,  1527,  1529,  1533,  1535,  1538,  1541,  1551,  1553,
+  1558,  1560,  1563,  1577,  1580,  1583,  1585,  1587,  1591,  1595,
+  1601,  1619,  1624,  1629,  1632,  1646,  1655,  1659,  1663,  1667,
+  1673,  1677,  1682,  1685,  1690,  1693,  1694,  1710,  1715,  1718,
+  1730,  1732,  1742,  1752,  1753,  1760,  1762,  1774,  1778,  1792,
+  1798,  1804,  1805,  1810,  1815,  1819,  1823,  1834,  1841,  1848,
+  1855,  1866,  1872,  1875,  1880,  1903,  1933,  1964,  1995,  2010,
+  2024,  2028,  2032,  2035,  2040,  2042,  2045,  2047,  2051,  2056,
+  2059,  2065,  2070,  2075,  2077,  2086,  2087,  2093,  2095,  2105,
+  2107,  2111,  2114,  2120,  2129,  2137,  2145,  2154,  2167,  2172,
+  2177,  2179,  2188,  2191,  2196,  2199,  2203
 };
 #endif
 
@@ -431,17 +434,17 @@ static const char * const yytname[] = {   "$","error","$undefined.","IDENTIFIER"
 "TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING","ELLIPSIS","SIZEOF",
 "ENUM","STRUCT","UNION","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT",
 "BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF","ATTRIBUTE",
-"EXTENSION","LABEL","REALPART","IMAGPART","VA_ARG","END_OF_LINE","ASSIGN","'='",
-"'?'","':'","OROR","ANDAND","'|'","'^'","'&'","EQCOMPARE","ARITHCOMPARE","LSHIFT",
-"RSHIFT","'+'","'-'","'*'","'/'","'%'","UNARY","PLUSPLUS","MINUSMINUS","HYPERUNARY",
-"POINTSAT","'.'","'('","'['","INTERFACE","IMPLEMENTATION","END","SELECTOR","DEFS",
-"ENCODE","CLASSNAME","PUBLIC","PRIVATE","PROTECTED","PROTOCOL","OBJECTNAME",
-"CLASS","ALIAS","OBJC_STRING","')'","';'","'}'","'~'","'!'","','","'{'","']'",
-"program","extdefs","@1","@2","extdef","datadef","fndef","@3","@4","@5","@6",
-"@7","@8","identifier","unop","expr","exprlist","nonnull_exprlist","unary_expr",
-"sizeof","alignof","cast_expr","@9","expr_no_commas","@10","@11","@12","@13",
-"@14","primary","string","old_style_parm_decls","lineno_datadecl","datadecls",
-"datadecl","lineno_decl","decls","setspecs","setattrs","decl","typed_declspecs",
+"EXTENSION","LABEL","REALPART","IMAGPART","VA_ARG","PTR_VALUE","PTR_BASE","PTR_EXTENT",
+"END_OF_LINE","ASSIGN","'='","'?'","':'","OROR","ANDAND","'|'","'^'","'&'","EQCOMPARE",
+"ARITHCOMPARE","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","UNARY","PLUSPLUS",
+"MINUSMINUS","HYPERUNARY","POINTSAT","'.'","'('","'['","INTERFACE","IMPLEMENTATION",
+"END","SELECTOR","DEFS","ENCODE","CLASSNAME","PUBLIC","PRIVATE","PROTECTED",
+"PROTOCOL","OBJECTNAME","CLASS","ALIAS","OBJC_STRING","')'","';'","'}'","'~'",
+"'!'","','","'{'","']'","program","extdefs","@1","@2","extdef","datadef","fndef",
+"@3","@4","@5","@6","@7","@8","identifier","unop","expr","exprlist","nonnull_exprlist",
+"unary_expr","sizeof","alignof","cast_expr","@9","expr_no_commas","@10","@11",
+"@12","@13","@14","primary","string","old_style_parm_decls","lineno_datadecl",
+"datadecls","datadecl","lineno_decl","decls","setspecs","setattrs","decl","typed_declspecs",
 "reserved_declspecs","typed_declspecs_no_prefix_attr","reserved_declspecs_no_prefix_attr",
 "declmods","declmods_no_prefix_attr","typed_typespecs","reserved_typespecquals",
 "typespec","typespecqual_reserved","initdecls","notype_initdecls","maybeasm",
@@ -466,47 +469,47 @@ static const char * const yytname[] = {   "$","error","$undefined.","IDENTIFIER"
 #endif
 
 static const short yyr1[] = {     0,
-    86,    86,    88,    87,    89,    87,    90,    90,    90,    90,
-    91,    91,    91,    91,    91,    91,    91,    91,    93,    94,
-    92,    92,    95,    96,    92,    92,    97,    98,    92,    92,
-    99,    99,   100,   100,   100,   100,   100,   100,   100,   101,
-   102,   102,   103,   103,   104,   104,   104,   104,   104,   104,
-   104,   104,   104,   104,   104,   104,   105,   106,   107,   107,
-   108,   107,   109,   109,   109,   109,   109,   109,   109,   109,
-   109,   109,   109,   109,   109,   110,   109,   111,   109,   112,
-   113,   109,   114,   109,   109,   109,   115,   115,   115,   115,
-   115,   115,   115,   115,   115,   115,   115,   115,   115,   116,
-   116,   117,   117,   117,   118,   119,   119,   119,   119,   120,
-   120,   120,   120,   121,   122,   122,   122,   122,   123,   124,
-   125,   125,   125,   125,   125,   125,   125,   126,   126,   127,
-   127,   127,   127,   128,   128,   129,   129,   129,   130,   130,
-   130,   130,   131,   131,   131,   131,   132,   132,   133,   133,
-   134,   134,   134,   134,   134,   135,   135,   135,   136,   136,
-   137,   137,   138,   138,   140,   139,   139,   142,   141,   141,
-   143,   143,   144,   144,   145,   146,   146,   147,   147,   147,
-   147,   147,   148,   148,   148,   148,   149,   150,   149,   149,
-   151,   151,   152,   152,   153,   153,   154,   153,   153,   156,
-   155,   155,   155,   157,   157,   158,   158,   158,   160,   161,
-   159,   163,   164,   162,   165,   165,   166,   166,   166,   166,
-   166,   166,   166,   167,   167,   167,   167,   167,   167,   167,
-   168,   168,   168,   168,   168,   168,   168,   168,   169,   169,
-   170,   170,   171,   171,   173,   172,   172,   172,   174,   172,
-   172,   172,   175,   172,   176,   172,   172,   177,   177,   178,
-   178,   179,   179,   180,   180,   180,   181,   181,   181,   181,
-   181,   181,   182,   182,   183,   183,   183,   184,   184,   184,
-   185,   185,   186,   186,   187,   187,   188,   188,   189,   189,
-   190,   190,   190,   190,   190,   190,   190,   190,   190,   190,
-   191,   192,   192,   192,   193,   193,   194,   195,   196,   196,
-   197,   197,   198,   199,   199,   200,   201,   201,   201,   201,
-   202,   203,   204,   204,   205,   207,   206,   208,   209,   210,
-   210,   211,   212,   212,   213,   213,   213,   214,   213,   213,
-   213,   215,   216,   213,   213,   213,   217,   218,   219,   213,
-   220,   213,   213,   213,   213,   213,   213,   213,   213,   213,
-   213,   213,   213,   221,   223,   222,   224,   224,   224,   224,
-   225,   225,   226,   226,   227,   227,   228,   228,   229,   230,
-   230,   232,   231,   233,   234,   233,   233,   235,   235,   235,
-   235,   236,   236,   237,   237,   237,   237,   237,   239,   238,
-   240,   240,   241,   241,   242,   242,   243
+    89,    89,    91,    90,    92,    90,    93,    93,    93,    93,
+    94,    94,    94,    94,    94,    94,    94,    94,    96,    97,
+    95,    95,    98,    99,    95,    95,   100,   101,    95,    95,
+   102,   102,   103,   103,   103,   103,   103,   103,   103,   104,
+   105,   105,   106,   106,   107,   107,   107,   107,   107,   107,
+   107,   107,   107,   107,   107,   107,   108,   109,   110,   110,
+   111,   110,   112,   112,   112,   112,   112,   112,   112,   112,
+   112,   112,   112,   112,   112,   113,   112,   114,   112,   115,
+   116,   112,   117,   112,   112,   112,   118,   118,   118,   118,
+   118,   118,   118,   118,   118,   118,   118,   118,   118,   119,
+   119,   120,   120,   120,   121,   122,   122,   122,   122,   123,
+   123,   123,   123,   124,   125,   125,   125,   125,   126,   127,
+   128,   128,   128,   128,   128,   128,   128,   129,   129,   130,
+   130,   130,   130,   131,   131,   132,   132,   132,   133,   133,
+   133,   133,   134,   134,   134,   134,   135,   135,   136,   136,
+   137,   137,   137,   137,   137,   138,   138,   138,   139,   139,
+   140,   140,   141,   141,   143,   142,   142,   145,   144,   144,
+   146,   146,   147,   147,   148,   149,   149,   150,   150,   150,
+   150,   150,   151,   151,   151,   151,   152,   153,   152,   152,
+   154,   154,   155,   155,   156,   156,   157,   156,   156,   159,
+   158,   158,   158,   160,   160,   161,   161,   161,   163,   164,
+   162,   166,   167,   165,   168,   168,   169,   169,   169,   169,
+   169,   169,   169,   170,   170,   170,   170,   170,   170,   170,
+   171,   171,   171,   171,   171,   171,   171,   171,   172,   172,
+   173,   173,   174,   174,   176,   175,   175,   175,   177,   175,
+   175,   175,   178,   175,   179,   175,   175,   180,   180,   181,
+   181,   182,   182,   183,   183,   183,   184,   184,   184,   184,
+   184,   184,   185,   185,   186,   186,   186,   187,   187,   187,
+   188,   188,   189,   189,   190,   190,   191,   191,   192,   192,
+   193,   193,   193,   193,   193,   193,   193,   193,   193,   193,
+   194,   195,   195,   195,   196,   196,   197,   198,   199,   199,
+   200,   200,   201,   202,   202,   203,   204,   204,   204,   204,
+   205,   206,   207,   207,   208,   210,   209,   211,   212,   213,
+   213,   214,   215,   215,   216,   216,   216,   217,   216,   216,
+   216,   218,   219,   216,   216,   216,   220,   221,   222,   216,
+   223,   216,   216,   216,   216,   216,   216,   216,   216,   216,
+   216,   216,   216,   224,   226,   225,   227,   227,   227,   227,
+   228,   228,   229,   229,   230,   230,   231,   231,   232,   233,
+   233,   235,   234,   236,   237,   236,   236,   238,   238,   238,
+   238,   239,   239,   240,   240,   240,   240,   240,   242,   241,
+   243,   243,   244,   244,   245,   245,   246
 };
 
 static const short yyr2[] = {     0,
@@ -646,101 +649,101 @@ static const short yydefgoto[] = {   704,
    313,   212,   213,   314,   315,   359,    97
 };
 
-static const short yypact[] = {    74,
-    77,  2389,  2389,   126,-32768,-32768,-32768,-32768,    73,    73,
-    73,    84,    88,    98,-32768,-32768,-32768,-32768,-32768,   361,
-    35,  1677,   248,-32768,    73,-32768,    55,    76,    91,-32768,
-  2389,-32768,-32768,-32768,    73,    73,    73,  2205,  2115,   111,
--32768,-32768,   361,    65,-32768,    73,  1485,-32768,   629,-32768,
-   361,   248,-32768,    73,-32768,-32768,   329,-32768,-32768,-32768,
--32768,    44,-32768,   106,-32768,   134,-32768,-32768,-32768,-32768,
--32768,-32768,  2205,  2205,   121,   426,-32768,-32768,-32768,  2205,
--32768,-32768,   732,-32768,-32768,  2205,   163,   180,-32768,  2240,
-  2295,-32768,  2520,   656,   235,   820,  2205,-32768,   187,   206,
--32768,   222,   381,   545,   292,   219,-32768,   629,   361,-32768,
-   241,-32768,  1521,   648,    73,-32768,-32768,   629,   114,-32768,
-    73,   319,   444,   451,   151,  1513,   329,-32768,-32768,-32768,
--32768,    73,-32768,   227,   483,-32768,   234,-32768,   552,-32768,
--32768,-32768,  2205,-32768,-32768,   249,-32768,   252,   259,-32768,
-   261,  2205,   732,-32768,   732,-32768,  2205,  2205,   311,-32768,
--32768,  2205,  2205,  2205,  2205,  2205,  2205,  2205,  2205,  2205,
-  2205,  2205,  2205,-32768,-32768,   426,   426,  2205,  2205,-32768,
-   283,-32768,   358,   321,-32768,-32768,-32768,   206,  1576,    73,
--32768,   463,   457,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,   125,-32768,   354,-32768,   451,-32768,-32768,   393,   451,
-   423,-32768,  1043,  1614,-32768,   349,   360,-32768,   595,    66,
--32768,-32768,   403,    73,   614,   267,-32768,   629,   629,-32768,
-   648,    73,-32768,  1669,-32768,-32768,   648,    73,-32768,-32768,
--32768,   365,   233,  1209,-32768,    73,-32768,-32768,   410,   373,
--32768,   552,  2455,-32768,-32768,  2000,-32768,  2520,   387,   389,
-  2520,  2520,  2205,   435,  2205,  2205,  2377,  2085,  2437,  1081,
-  1090,   718,   718,   429,   429,-32768,-32768,-32768,-32768,-32768,
-   408,   180,   406,-32768,   426,   984,   358,-32768,-32768,   242,
-   396,-32768,   790,-32768,   409,   206,-32768,  1707,-32768,   457,
-   420,   545,  2330,    53,   422,-32768,-32768,-32768,  1917,-32768,
-   438,   195,-32768,-32768,   137,-32768,-32768,-32768,    46,-32768,
--32768,-32768,   884,-32768,   444,-32768,-32768,   444,-32768,   450,
--32768,-32768,   433,-32768,-32768,-32768,-32768,-32768,-32768,   427,
--32768,   447,  2205,   426,   456,   373,   966,-32768,-32768,-32768,
--32768,   491,  2205,  2265,  2174,-32768,-32768,-32768,   210,   460,
-   902,   464,   480,  1066,-32768,-32768,-32768,-32768,   463,-32768,
--32768,-32768,   463,-32768,-32768,   488,-32768,-32768,   143,   501,
--32768,-32768,   224,   161,-32768,-32768,   936,-32768,   578,   503,
--32768,-32768,   517,-32768,-32768,   525,   172,-32768,   669,    46,
--32768,-32768,    46,   528,-32768,-32768,   528,-32768,    73,    73,
-  2520,-32768,    73,   533,   536,  1265,-32768,  1907,-32768,   426,
--32768,-32768,-32768,-32768,   540,-32768,-32768,-32768,-32768,  1883,
--32768,-32768,  2205,-32768,-32768,-32768,   161,    73,   208,   247,
-    73,-32768,    73,   247,    73,   790,-32768,-32768,-32768,-32768,
--32768,-32768,   629,-32768,   361,-32768,   679,-32768,-32768,  2520,
--32768,-32768,   669,-32768,-32768,   582,   582,-32768,-32768,-32768,
-    73,-32768,-32768,   588,   426,  2205,-32768,   591,  2520,   555,
-   553,-32768,-32768,   150,  1389,  2205,-32768,-32768,  1965,   598,
-   579,-32768,-32768,   581,   584,  2205,   606,   569,   571,  2150,
-    82,   650,-32768,   618,   585,-32768,   586,  1770,-32768,   647,
-  1148,    59,-32768,-32768,-32768,-32768,-32768,  2059,   223,   554,
-   224,-32768,  1762,-32768,-32768,-32768,   398,   161,-32768,-32768,
--32768,   317,   325,    75,   679,-32768,-32768,  1265,-32768,-32768,
-  2205,-32768,    67,    58,-32768,-32768,  2428,  1265,-32768,-32768,
-  1327,-32768,  1427,-32768,-32768,  1907,  2205,   607,-32768,  2205,
-  2205,  1826,-32768,-32768,-32768,-32768,   590,  2205,   592,-32768,
-   612,    73,-32768,-32768,   629,-32768,   361,  1230,-32768,-32768,
--32768,-32768,  2205,-32768,-32768,   504,   504,-32768,  1800,-32768,
-   597,-32768,-32768,   587,  2480,  2205,-32768,  2205,-32768,   603,
-  1427,-32768,-32768,   610,  2205,   672,-32768,   515,   615,   617,
-  2205,-32768,-32768,   620,-32768,  2205,-32768,   327,-32768,   205,
-   335,-32768,  1075,-32768,-32768,  1965,   623,-32768,-32768,-32768,
--32768,  2480,  2410,-32768,-32768,-32768,   627,-32768,-32768,-32768,
--32768,  2502,-32768,    29,-32768,   648,-32768,   648,-32768,-32768,
--32768,   630,-32768,-32768,-32768,-32768,  2205,-32768,-32768,   697,
-   631,-32768,-32768,-32768,-32768,-32768,-32768,   643,-32768,   662,
-    43,   625,-32768,-32768,   503,   503,-32768,-32768,  2205,   697,
-   645,   697,-32768,-32768,  2205,   649,    49,-32768,-32768,   653,
--32768,   423,   655,-32768,   235,   289,-32768,-32768,   658,   423,
--32768,-32768,   235,   728,   742,-32768
+static const short yypact[] = {    60,
+    74,  2478,  2478,   206,-32768,-32768,-32768,-32768,    53,    53,
+    53,    56,    64,    70,-32768,-32768,-32768,-32768,-32768,    66,
+    21,   483,   244,-32768,    53,-32768,    59,    73,    85,-32768,
+  2478,-32768,-32768,-32768,    53,    53,    53,  2279,  2200,    81,
+-32768,-32768,    66,   215,-32768,    53,   608,-32768,   461,-32768,
+    66,   244,-32768,    53,-32768,-32768,  1057,-32768,-32768,-32768,
+-32768,    27,-32768,    77,-32768,    95,-32768,-32768,-32768,-32768,
+-32768,-32768,  2279,  2279,   127,   392,-32768,-32768,-32768,  2279,
+-32768,-32768,  1222,-32768,-32768,  2279,   116,   120,-32768,  2337,
+  2375,-32768,  2542,   827,   203,   713,  2279,-32768,   139,   238,
+-32768,   193,  1137,   569,   403,   213,-32768,   461,    66,-32768,
+   180,-32768,  1573,   321,    53,-32768,-32768,   461,   222,-32768,
+    53,  1560,   339,   377,   271,  1530,  1057,-32768,-32768,-32768,
+-32768,    53,-32768,   170,   387,-32768,   212,-32768,   410,-32768,
+-32768,-32768,  2279,-32768,-32768,   195,-32768,   225,   228,-32768,
+   247,  2279,  1222,-32768,  1222,-32768,  2279,  2279,   293,-32768,
+-32768,  2279,  2279,  2279,  2279,  2279,  2279,  2279,  2279,  2279,
+  2279,  2279,  2279,-32768,-32768,   392,   392,  2279,  2279,-32768,
+   250,-32768,   319,   278,-32768,-32768,-32768,   238,  1640,    53,
+-32768,   395,   544,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,   129,-32768,   297,-32768,   377,-32768,-32768,   337,   377,
+   358,-32768,   778,  1678,-32768,   284,   303,-32768,   233,    57,
+-32768,-32768,   349,    53,   891,   249,-32768,   461,   461,-32768,
+   321,    53,-32768,  1736,-32768,-32768,   321,    53,-32768,-32768,
+-32768,   305,   172,   857,-32768,    53,-32768,-32768,   379,   336,
+-32768,   410,  2499,-32768,-32768,  2079,-32768,  2542,   369,   382,
+  2542,  2542,  2279,   386,  2279,  2279,  2553,  2167,  1456,  1664,
+  1392,   589,   589,   288,   288,-32768,-32768,-32768,-32768,-32768,
+   390,   120,   398,-32768,   392,   905,   319,-32768,-32768,    72,
+   259,-32768,   967,-32768,   406,   238,-32768,  1774,-32768,   544,
+   419,   569,  2416,    50,   424,-32768,-32768,-32768,  1112,-32768,
+   425,   316,-32768,-32768,   140,-32768,-32768,-32768,    46,-32768,
+-32768,-32768,  1534,-32768,   339,-32768,-32768,   339,-32768,   457,
+-32768,-32768,   426,-32768,-32768,-32768,-32768,-32768,-32768,   429,
+-32768,   435,  2279,   392,   441,   336,  1585,-32768,-32768,-32768,
+-32768,   464,  2279,  1799,  2303,-32768,-32768,-32768,   323,   374,
+   820,   444,   448,   990,-32768,-32768,-32768,-32768,   395,-32768,
+-32768,-32768,   395,-32768,-32768,   465,-32768,-32768,   155,   455,
+-32768,-32768,   282,   158,-32768,-32768,  1027,-32768,   552,   473,
+-32768,-32768,   478,-32768,-32768,   480,  1054,-32768,  1431,    46,
+-32768,-32768,    46,   482,-32768,-32768,   482,-32768,    53,    53,
+  2542,-32768,    53,   486,   496,  1260,-32768,  1704,-32768,   392,
+-32768,-32768,-32768,-32768,   498,-32768,-32768,-32768,-32768,  1956,
+-32768,-32768,  2279,-32768,-32768,-32768,   158,    53,   205,   235,
+    53,-32768,    53,   235,    53,   967,-32768,-32768,-32768,-32768,
+-32768,-32768,   461,-32768,    66,-32768,   698,-32768,-32768,  2542,
+-32768,-32768,  1431,-32768,-32768,   536,   536,-32768,-32768,-32768,
+    53,-32768,-32768,   542,   392,  2279,-32768,   549,  2542,   501,
+   507,-32768,-32768,   167,  1366,  2279,-32768,-32768,  2041,   554,
+   535,-32768,-32768,   537,   538,  2279,   564,   529,   534,  2238,
+   104,   610,-32768,   575,   546,-32768,   550,   672,-32768,   615,
+  1075,    84,-32768,-32768,-32768,-32768,-32768,  2141,   177,   277,
+   282,-32768,  1832,-32768,-32768,-32768,   541,   158,-32768,-32768,
+-32768,   346,   348,   163,   698,-32768,-32768,  1260,-32768,-32768,
+  2279,-32768,    67,   175,-32768,-32768,   613,  1260,-32768,-32768,
+  1325,-32768,  1469,-32768,-32768,  1704,  2279,   570,-32768,  2279,
+  2279,  1896,-32768,-32768,-32768,-32768,   551,  2279,   558,-32768,
+   584,    53,-32768,-32768,   461,-32768,    66,  1160,-32768,-32768,
+-32768,-32768,  2279,-32768,-32768,   417,   417,-32768,  1870,-32768,
+   562,-32768,-32768,   588,  1977,  2279,-32768,  2279,-32768,   592,
+  1469,-32768,-32768,   571,  2279,   663,-32768,  1237,   599,   601,
+  2279,-32768,-32768,   606,-32768,  2279,-32768,   357,-32768,   733,
+   362,-32768,   522,-32768,-32768,  2041,   602,-32768,-32768,-32768,
+-32768,  1977,  2470,-32768,-32768,-32768,   611,-32768,-32768,-32768,
+-32768,  2521,-32768,    37,-32768,   321,-32768,   321,-32768,-32768,
+-32768,   607,-32768,-32768,-32768,-32768,  2279,-32768,-32768,   682,
+   616,-32768,-32768,-32768,-32768,-32768,-32768,   617,-32768,   629,
+    43,   620,-32768,-32768,   473,   473,-32768,-32768,  2279,   682,
+   626,   682,-32768,-32768,  2279,   628,    96,-32768,-32768,   632,
+-32768,   358,   633,-32768,   203,   186,-32768,-32768,   641,   358,
+-32768,-32768,   203,   750,   751,-32768
 };
 
 static const short yypgoto[] = {-32768,
--32768,-32768,-32768,    93,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,   -23,-32768,   -38,   445,  -137,   478,-32768,-32768,
-   -57,-32768,   211,-32768,-32768,-32768,-32768,-32768,   194,  -199,
-  -193,   527,-32768,-32768,   394,-32768,    30,    -3,   237,    17,
-   705,-32768,   320,    24,    -4,   -89,   577,    39,  -165,  -417,
+-32768,-32768,-32768,    63,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,   -23,-32768,   -38,   450,  -137,   384,-32768,-32768,
+   -57,-32768,   211,-32768,-32768,-32768,-32768,-32768,   196,  -199,
+  -193,   545,-32768,-32768,   393,-32768,    30,    -3,   251,    17,
+   717,-32768,   315,    24,    -4,   -89,   579,    39,  -165,  -417,
    -43,  -100,   -59,-32768,-32768,-32768,   185,    62,   -22,-32768,
-   473,-32768,   315,-32768,  -430,-32768,   228,-32768,  -428,-32768,
--32768,   297,-32768,-32768,-32768,-32768,-32768,-32768,   -42,   -73,
-    71,   -18,-32768,-32768,-32768,    11,-32768,-32768,-32768,-32768,
--32768,   439,   -28,-32768,   542,   449,   333,   538,   448,   -49,
-   -66,   -81,   -86,   -48,   437,-32768,-32768,  -163,-32768,-32768,
--32768,   514,  -337,-32768,   412,-32768,  -360,-32768,-32768,-32768,
--32768,  -105,  -316,  -442,   442,-32768,   182,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,   184,-32768,  -524,
-   131,-32768,   133,-32768,   522,-32768,  -251,-32768,-32768,-32768,
-   443,  -212,-32768,-32768,-32768,-32768,     8
+   474,-32768,   324,-32768,  -345,-32768,   227,-32768,  -428,-32768,
+-32768,   302,-32768,-32768,-32768,-32768,-32768,-32768,   -42,   -73,
+   -37,   -18,-32768,-32768,-32768,    11,-32768,-32768,-32768,-32768,
+-32768,   443,   -28,-32768,   555,   456,   328,   553,   458,   -49,
+   -66,   -81,   -86,   -48,   439,-32768,-32768,  -163,-32768,-32768,
+-32768,   516,  -305,-32768,   411,-32768,  -360,-32768,-32768,-32768,
+-32768,  -105,  -316,  -442,   446,-32768,   187,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,   188,-32768,  -510,
+   131,-32768,   134,-32768,   521,-32768,  -251,-32768,-32768,-32768,
+   433,  -212,-32768,-32768,-32768,-32768,     8
 };
 
 
-#define        YYLAST          2574
+#define        YYLAST          2610
 
 
 static const short yytable[] = {    87,
@@ -749,259 +752,262 @@ static const short yytable[] = {    87,
    331,   232,   145,    58,   106,    22,    22,   299,   150,   450,
    225,    58,   126,   149,   137,   532,   197,   329,    31,   185,
    282,   371,   109,   334,   226,   241,   390,    21,   208,   430,
-    49,    51,   144,   243,    22,   320,   555,    59,    60,   582,
-    53,   180,   462,    25,    25,   464,  -103,   133,   660,   509,
-    35,    36,    37,    -1,   216,   321,    -2,   101,    59,    60,
-   201,    46,   680,    54,    59,    60,   206,    14,   692,   466,
-   210,   467,    25,    59,    60,    32,    14,   596,    58,   106,
-   290,   111,    14,   259,    46,   260,   661,   594,   232,    58,
-   121,   489,    46,    48,   222,   249,   606,   600,   132,   583,
-   681,   101,   365,    67,   603,   222,   693,   136,   509,   391,
-   381,   222,   668,   568,   299,   112,   113,   133,    61,   291,
-   283,   196,   244,   107,    38,  -172,  -172,   108,    39,  -103,
-   295,   325,   279,   280,   241,   328,   145,   618,    40,    63,
-   690,   190,   243,    41,   190,   282,    46,    58,   327,   121,
-    46,   104,   635,   101,    65,     5,    55,     7,    56,   121,
-   366,   143,   649,     9,    10,    11,   296,   553,   132,   138,
-    14,   101,   227,   101,   531,   333,   228,   422,   349,    13,
-   427,    58,   301,   133,    33,    34,   206,   302,   664,   475,
-   210,   476,   442,   667,   388,   669,   340,   140,   342,   389,
-   432,   437,   189,   677,   352,   433,    41,   435,   249,   235,
-   406,   111,   408,   108,  -163,    14,     5,    14,     7,   195,
-   151,   369,  -163,   180,     9,    10,    11,   373,   205,   190,
-   454,   244,    55,    14,    56,   701,   366,   187,   428,   376,
-    13,   358,   152,   626,   186,   509,   188,   189,   522,   523,
-   336,    14,   338,   386,    25,   436,    14,   387,   201,   112,
-   113,   196,   101,  -163,   437,   189,   121,  -163,   419,   121,
-   121,   537,   420,   187,    41,   519,   207,   415,   205,   194,
-   585,   211,   188,   189,    52,   152,   238,   112,   113,   588,
-   133,  -270,  -270,   246,   683,   684,   441,   445,   397,   230,
-   249,    14,   -19,   -19,   -19,   -19,   254,   233,   234,   255,
-   -19,   -19,   -19,   128,   129,   130,   256,   383,   384,   257,
-     9,    10,    11,    42,   326,   111,   -19,    53,  -163,   520,
-   -83,   190,    43,   253,    25,   527,  -163,   190,    14,   408,
-   284,   398,   258,    41,   440,   444,   699,   261,   262,   537,
-    54,   700,   267,   268,   269,   270,   271,   272,   273,   274,
-   275,   276,   277,   278,     5,   101,     7,   195,   291,   285,
-    14,   505,     9,    10,    11,   592,   487,  -163,   289,   228,
-    41,  -163,   -19,   593,   205,   645,   504,   108,    13,   228,
-    14,   533,    42,   647,   303,    58,   330,   108,   106,   111,
-    58,    43,   335,   544,   544,   453,   455,    14,    59,    60,
-   341,    70,   187,   317,   521,   456,   534,   518,   318,   528,
-   324,   188,   189,   337,   438,   443,   507,   343,    25,   442,
-   505,   546,   662,   508,   663,   344,   297,   298,   437,   189,
-   185,   567,   129,   130,   350,   504,   351,   133,     9,    10,
-    11,   369,   373,   370,   353,   354,   355,   569,   369,   373,
-   171,   172,   173,   239,   591,   356,     5,   401,     7,    98,
-   357,    25,   695,   372,     9,    10,    11,   377,   443,   382,
-   703,   206,   210,    52,   233,   234,   409,    25,   206,   210,
-    13,   112,   113,    15,   121,   385,    46,   402,   604,   232,
-    58,   607,   610,   297,   298,   518,   410,   543,   121,   614,
-   417,   145,   620,   621,   507,   413,   575,   577,   318,   421,
-   222,   508,   222,  -305,   627,   133,    53,    59,    60,   198,
-   199,   200,   248,   411,    59,    60,    41,   435,   623,   426,
-   205,   240,  -262,   418,   522,   523,   637,   154,   156,    54,
-   174,   175,   431,   176,   177,   178,   179,   644,   434,    25,
-   449,   438,   438,    14,    41,   116,   391,   505,   443,   443,
-   586,   587,   639,   468,   469,   217,   182,   470,  -106,  -106,
-  -106,  -106,   504,   452,  -106,   436,  -106,  -106,  -106,   460,
-   465,    14,   471,   472,   437,   189,    41,   116,   607,   488,
-   205,   541,  -106,   524,   525,   526,   479,   -31,   529,   530,
-   549,    41,   116,   117,   550,   551,   121,   -32,    46,   557,
-   686,   560,   118,    14,   561,   563,   607,   564,   217,   565,
-   542,  -328,  -328,  -328,  -328,   545,   570,   572,    14,  -328,
-  -328,  -328,   578,   573,   574,   117,   630,   605,   613,   458,
-   615,    68,   616,   460,   118,  -328,    69,    70,  -106,    71,
-   117,   629,   634,   536,   129,   130,   547,   636,   638,   118,
-     9,    10,    11,   640,   641,   479,   556,    72,   643,    15,
-   652,    73,    74,    75,   655,   670,   562,   682,   665,   674,
-    76,   174,   175,    77,   176,   177,   178,   179,    78,    79,
-    80,   678,   679,   688,    81,    82,   691,   705,   597,    83,
-   694,  -102,   146,   697,    68,     5,   702,     7,    98,    69,
-    70,   706,    71,     9,    10,    11,   322,   380,   479,    84,
-    85,   595,   459,   608,   584,   423,   617,   127,   479,    13,
-    72,   479,    15,   479,    73,    74,    75,   169,   170,   171,
-   172,   173,   300,    76,   378,   535,    77,   539,   602,   631,
-   554,    78,    79,    80,   414,   339,   407,    81,    82,   346,
-   305,   412,    83,     5,     6,     7,     8,   540,   424,   307,
-   368,     9,    10,    11,   451,   429,   632,   650,   633,   651,
-   687,   479,    84,    85,   689,   147,   653,    13,   374,    14,
-   181,   642,  -308,  -308,  -308,  -308,  -308,  -308,  -308,   448,
-  -308,  -308,  -308,  -308,  -308,     0,  -308,  -308,  -308,  -308,
+    49,    51,   144,   243,    22,   320,   555,  -103,   180,    -1,
+    53,    59,    60,    25,    25,    32,   321,   133,    41,   509,
+    35,    36,    37,    -2,   216,    59,    60,   101,   205,   660,
+   201,    46,    14,    54,   582,   680,   206,    59,    60,   466,
+   210,   467,    25,    67,   462,    14,    14,   464,    58,   106,
+   290,    14,    48,   259,    46,   260,    59,    60,   232,    58,
+   121,   489,    46,   136,   222,   249,   606,   661,   132,    38,
+    42,   101,   365,   681,   603,   222,   187,    39,   509,    43,
+   381,   222,   391,    40,   299,   188,   189,   133,   692,   291,
+   283,   196,   244,  -103,   104,    61,   668,   583,  -172,  -172,
+   295,   325,   279,   280,   241,   328,   145,   618,   568,    63,
+    41,   190,   243,   138,   190,   282,    46,    58,   327,   121,
+    46,    65,   635,   101,   690,     5,   693,     7,   195,   121,
+   366,   140,   649,     9,    10,    11,   296,    14,   132,   111,
+   143,   101,   594,   101,   531,   333,   151,   422,   349,    13,
+   427,    58,   600,   133,    14,   152,   206,   553,   664,   301,
+   210,   180,   442,   667,   302,   669,   340,   596,   342,   186,
+   388,   437,   189,   677,   352,   389,   112,   113,   249,   475,
+   406,   476,   408,   217,    14,   432,  -106,  -106,  -106,  -106,
+   433,   369,  -106,   211,  -106,  -106,  -106,   373,    55,   190,
+    56,   244,   238,  -270,  -270,   701,   366,   585,   428,   376,
+  -106,   358,   152,   626,    14,   509,   699,    14,   522,   523,
+   336,   700,   338,   194,    25,   254,   112,   113,   201,    41,
+   435,   196,   101,   205,    41,   435,   121,    33,    34,   121,
+   121,   537,   187,   207,   246,   519,   107,   415,   112,   113,
+   108,   188,   189,   227,    52,   255,    14,   228,   256,   588,
+   133,    14,   233,   234,   683,   684,   441,   445,   397,  -106,
+   249,   217,   297,   298,  -328,  -328,  -328,  -328,   257,   326,
+   284,   436,  -328,  -328,  -328,   -83,   436,   383,   384,   370,
+   437,   189,   171,   172,   173,   437,   189,    53,  -328,   520,
+   285,   190,   235,   253,    25,   527,   108,   190,   289,   408,
+   303,   398,   258,   111,   440,   444,    70,   261,   262,   537,
+    54,   317,   267,   268,   269,   270,   271,   272,   273,   274,
+   275,   276,   277,   278,   318,   101,   337,   239,   291,   324,
+     5,   505,     7,    98,    59,    60,   487,   386,     9,    10,
+    11,   387,   233,   234,   419,    41,   504,  -102,   420,   205,
+   248,   533,    59,    60,    13,    58,   330,    15,   106,   343,
+    58,   344,   335,   544,   544,   453,   455,   592,   353,   593,
+   341,   228,    14,   108,   521,   456,   534,   518,   645,   528,
+   112,   113,   228,   647,   438,   443,   507,   108,    25,   350,
+   505,   546,   662,   508,   663,   318,   421,    42,   297,   298,
+   185,   567,   351,    41,   116,   504,    43,   133,   240,  -262,
+   356,   369,   373,   154,   156,   354,   355,   569,   369,   373,
+   522,   523,   586,   587,   591,   357,     5,     6,     7,     8,
+    14,    25,   695,   372,     9,    10,    11,   401,   443,   377,
+   703,   206,   210,    52,   382,   385,   417,    25,   206,   210,
+    13,   409,    14,   402,   121,   117,    46,   410,   604,   232,
+    58,   607,   610,   413,   118,   518,  -305,   543,   121,   614,
+   426,   145,   620,   621,   507,   434,   575,   577,    41,   116,
+   222,   508,   222,    41,   627,   133,    53,   205,   111,   129,
+   130,  -163,   431,   411,   449,     9,    10,    11,   623,   391,
+   182,   452,  -163,   418,    50,    14,   637,   465,   471,    54,
+    14,    59,    60,   198,   199,   200,   472,   644,   541,    25,
+   488,   438,   438,   550,   -31,   112,   113,   505,   443,   443,
+   117,   549,   551,   468,   469,   442,   -32,   470,   557,   118,
+   560,   561,   504,  -163,   437,   189,   563,  -163,   110,   460,
+   564,   -27,   -27,   -27,   -27,   565,   570,   572,   607,   -27,
+   -27,   -27,   598,   524,   525,   526,   479,   573,   529,   530,
+   578,   574,   613,   605,   111,   -27,   121,  -163,    46,   615,
+   686,   169,   170,   171,   172,   173,   607,   616,  -163,   629,
+   542,   636,   157,   158,   159,   545,   160,   161,   162,   163,
+   164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
+   630,   112,   113,   460,   634,     5,     6,     7,     8,   638,
+   640,   641,   652,     9,    10,    11,   547,   643,   665,  -163,
+   670,   655,   679,  -163,   -27,   479,   556,   674,   678,    13,
+   599,    14,   536,   129,   130,   682,   562,   688,   691,     9,
+    10,    11,   694,   181,   697,  -308,  -308,  -308,  -308,  -308,
+  -308,  -308,   702,  -308,  -308,  -308,  -308,  -308,   597,  -308,
   -308,  -308,  -308,  -308,  -308,  -308,  -308,  -308,  -308,  -308,
-  -308,  -308,  -308,  -308,  -308,     0,     0,     0,     0,     0,
-     0,  -308,     0,     0,  -308,     0,     0,  -388,     0,  -308,
-  -308,  -308,     0,     0,     0,  -308,  -308,     0,     0,     0,
-  -308,     0,     0,     0,     0,     0,     0,     5,     6,     7,
-     8,     0,     0,     0,     0,     9,    10,    11,  -308,   182,
-  -308,  -308,   217,  -308,  -115,  -115,  -115,  -115,  -115,  -115,
-  -115,    13,  -115,  -115,  -115,  -115,  -115,     0,  -115,  -115,
+  -308,  -308,  -308,  -308,  -308,  -308,  -308,  -308,   479,   705,
+   706,   595,   380,   576,   423,   608,   617,  -308,   479,   111,
+  -308,   479,  -163,   479,   322,  -308,  -308,  -308,   584,   127,
+   535,  -308,  -308,  -163,   300,   378,  -308,   602,   305,   631,
+   306,     5,     6,     7,     8,   554,   539,   307,   414,     9,
+    10,    11,   540,   407,  -308,   182,  -308,  -308,   339,  -308,
+   424,   412,   368,   451,   346,    13,   632,    14,   633,   429,
+   687,   479,   650,   651,  -163,   689,   653,   374,  -163,   448,
+   217,   642,  -115,  -115,  -115,  -115,  -115,  -115,  -115,     0,
+  -115,  -115,  -115,  -115,  -115,     0,  -115,  -115,  -115,  -115,
   -115,  -115,  -115,  -115,  -115,  -115,  -115,  -115,  -115,  -115,
-  -115,  -115,  -115,     0,  -115,  -115,  -115,     0,     0,     5,
-     6,     7,     8,  -115,     0,   447,  -115,     9,    10,    11,
-     0,  -115,  -115,  -115,     0,     0,     0,  -115,  -115,     0,
-     0,     0,  -115,    13,     0,    14,     0,     0,     0,     5,
-     0,     7,    98,     0,     0,     0,     0,     9,    10,    11,
-  -115,  -115,  -115,  -115,   360,  -115,  -328,  -328,  -328,  -328,
-  -328,  -328,  -328,    13,  -328,  -328,  -328,  -328,  -328,     0,
-  -328,  -328,  -328,  -328,  -328,  -328,  -328,  -328,  -328,  -328,
-  -328,  -328,  -328,  -328,  -328,     0,  -328,  -328,  -328,     0,
-     0,     0,     0,     0,     0,  -328,     0,     0,  -328,     0,
-     0,     0,     0,  -328,  -328,  -328,     0,     0,     0,  -328,
-  -328,     0,     0,   305,  -328,   306,     5,     6,     7,     8,
-     0,     0,   307,     0,     9,    10,    11,     0,     0,     0,
-     0,     0,  -328,     0,  -328,  -328,   217,  -328,  -328,  -328,
-    13,     0,    14,  -328,  -328,     0,  -328,     0,     0,     0,
-  -328,     0,  -328,  -328,  -328,  -328,  -328,  -328,  -328,  -328,
-  -328,  -328,  -328,     0,  -328,     0,  -328,     0,  -328,  -328,
-  -328,   111,     0,     0,  -163,     0,     0,  -328,     0,     0,
-  -328,     0,  -163,     0,     0,  -328,  -328,  -328,     0,     0,
-  -388,  -328,  -328,     0,     0,     0,  -328,   166,   167,   168,
-   169,   170,   171,   172,   173,   112,   113,   167,   168,   169,
-   170,   171,   172,   173,  -328,  -301,  -328,  -328,   579,  -328,
-  -328,  -328,     0,  -163,     0,  -328,  -328,  -163,  -328,     0,
-     0,     0,  -328,     0,  -328,  -328,  -328,  -328,  -328,  -328,
-  -328,  -328,  -328,  -328,  -328,     0,  -328,     0,  -328,     0,
-  -328,  -328,  -328,     0,     0,     0,     0,     0,     0,  -328,
-     0,     0,  -328,     0,     0,     0,     0,  -328,  -328,  -328,
-     0,     0,     0,  -328,  -328,     0,     0,     0,  -328,   239,
-     0,     0,     5,     0,     7,    98,     0,     0,     0,     0,
-     9,    10,    11,     0,     0,     0,  -328,     0,  -328,  -328,
-   624,  -328,  -338,  -338,     0,     0,    13,  -338,  -338,    15,
+  -115,     0,  -115,  -115,  -115,     0,     0,   239,  -388,     0,
+     5,     0,     7,    98,  -115,     0,     0,  -115,     9,    10,
+    11,     0,  -115,  -115,  -115,     0,     0,     0,  -115,  -115,
+     0,     0,     0,  -115,    13,   174,   175,    15,   176,   177,
+   178,   179,     0,    41,   116,     0,     0,   205,     0,     0,
+     0,  -115,  -115,  -115,  -115,   360,  -115,  -328,  -328,  -328,
+  -328,  -328,  -328,  -328,     0,  -328,  -328,  -328,  -328,  -328,
+    14,  -328,  -328,  -328,  -328,  -328,  -328,  -328,  -328,  -328,
+  -328,  -328,  -328,  -328,  -328,  -328,     0,  -328,  -328,  -328,
+     0,     0,     0,     0,     0,   117,     0,     0,     0,  -328,
+     0,     0,  -328,     0,   118,     0,     0,  -328,  -328,  -328,
+     0,     0,     0,  -328,  -328,     0,     0,   305,  -328,     0,
+     5,     6,     7,     8,     0,     0,   307,     0,     9,    10,
+    11,     0,     0,     0,     0,     0,  -328,     0,  -328,  -328,
+   217,  -328,  -328,  -328,    13,     0,    14,  -328,  -328,     0,
+  -328,     0,     0,     0,  -328,     0,  -328,  -328,  -328,  -328,
+  -328,  -328,  -328,  -328,  -328,  -328,  -328,     0,  -328,     0,
+  -328,     0,  -328,  -328,  -328,     0,     0,     0,     0,     0,
+     5,     6,     7,     8,  -328,     0,   447,  -328,     9,    10,
+    11,     0,  -328,  -328,  -328,     0,     0,  -388,  -328,  -328,
+     0,     0,     0,  -328,    13,     0,    14,     5,    55,     7,
+    56,   128,   129,   130,     0,     9,    10,    11,     9,    10,
+    11,  -328,  -301,  -328,  -328,   579,  -328,  -328,  -328,     0,
+     0,    13,  -328,  -328,     0,  -328,    14,     0,     0,  -328,
+     0,  -328,  -328,  -328,  -328,  -328,  -328,  -328,  -328,  -328,
+  -328,  -328,     0,  -328,     0,  -328,     0,  -328,  -328,  -328,
+     0,     0,     0,     0,     0,     5,     6,     7,     8,  -328,
+     0,     0,  -328,     9,    10,    11,     0,  -328,  -328,  -328,
+     0,     0,     0,  -328,  -328,   454,     0,     0,  -328,    13,
+     5,    14,     7,   195,     0,     0,     0,     0,     9,    10,
+    11,     0,     0,     0,     0,     0,  -328,     0,  -328,  -328,
+   624,  -328,  -338,  -338,    13,     0,    14,  -338,  -338,     0,
   -338,     0,     0,     0,  -338,     0,  -338,  -338,  -338,  -338,
   -338,  -338,  -338,  -338,  -338,  -338,  -338,     0,  -338,     0,
-  -338,     0,  -338,  -338,  -338,   473,     0,   474,    60,     0,
-     0,  -338,    69,    70,  -338,    71,     0,     0,     0,  -338,
-  -338,  -338,     0,     0,     0,  -338,  -338,     0,     0,     0,
-  -338,     0,     0,    72,     0,    15,     0,    73,    74,    75,
-     0,     0,     0,     0,     0,     0,    76,     0,  -338,    77,
-  -338,  -338,     0,  -338,    78,    79,    80,     0,     0,     0,
-    81,    82,     0,     0,   475,    83,   476,   473,     0,   474,
-    60,     0,     0,     0,    69,    70,     0,    71,     0,     0,
-     0,     0,     0,     0,  -191,    84,    85,     0,   477,     0,
-     0,     0,     0,     0,     0,    72,     0,    15,     0,    73,
-    74,    75,     0,     0,     0,     0,     0,     0,    76,     0,
-     0,    77,     0,     0,     0,     0,    78,    79,    80,     0,
-     0,     0,    81,    82,     0,     0,   475,    83,   476,   473,
-     0,    68,     0,     0,     0,     0,    69,    70,     0,    71,
-     0,     0,     0,     0,     0,     0,  -259,    84,    85,     0,
-   477,     0,     0,     0,     0,     0,     0,    72,     0,    15,
-     0,    73,    74,    75,     0,     0,  -204,   473,     0,    68,
-    76,     0,     0,    77,    69,    70,     0,    71,    78,    79,
+  -338,   187,  -338,  -338,  -338,     0,     0,     0,     0,     0,
+   188,   189,     0,     0,  -338,     0,     0,  -338,     0,     0,
+     0,     0,  -338,  -338,  -338,     0,     0,     0,  -338,  -338,
+     0,     0,   146,  -338,    68,     5,     0,     7,    98,    69,
+    70,     0,    71,     9,    10,    11,     0,     0,     0,     0,
+     0,  -338,     0,  -338,  -338,     0,  -338,     0,     0,    13,
+    72,     0,    15,     0,    73,    74,    75,     0,     0,     0,
+   473,     0,   474,    60,     0,     0,    76,    69,    70,    77,
+    71,     0,     0,     0,    78,    79,    80,     0,     0,     0,
+    81,    82,     0,     0,     0,    83,     0,     0,    72,     0,
+    15,     0,    73,    74,    75,   174,   175,     0,   176,   177,
+   178,   179,     0,     0,    76,    84,    85,    77,   147,     0,
+     0,     0,    78,    79,    80,     0,     0,   639,    81,    82,
+     0,     0,   475,    83,   476,   473,     0,   474,    60,     0,
+     0,     0,    69,    70,     0,    71,     0,     0,     0,     0,
+     0,     0,  -191,    84,    85,     0,   477,     0,     0,     0,
+     0,     0,     0,    72,     0,    15,     0,    73,    74,    75,
+     0,     0,     0,     0,     0,     0,   473,     0,    68,    76,
+     0,     0,    77,    69,    70,     0,    71,    78,    79,    80,
+     0,     0,     0,    81,    82,     0,     0,   475,    83,   476,
+     0,     0,     0,     0,    72,     0,    15,     0,    73,    74,
+    75,     0,     0,     0,     0,     0,  -204,  -259,    84,    85,
+    76,   477,     0,    77,     0,     0,     0,     0,    78,    79,
     80,     0,     0,     0,    81,    82,     0,     0,  -204,    83,
-  -204,     0,     0,     0,     0,    72,     0,    15,     0,    73,
-    74,    75,     0,     0,     0,     0,     0,     0,    76,    84,
-    85,    77,   477,     0,     0,     0,    78,    79,    80,     0,
-     0,     0,    81,    82,     0,   110,     0,    83,   -27,   -27,
-   -27,   -27,     0,     0,     0,     0,   -27,   -27,   -27,     0,
-     0,     0,     0,     0,     0,     0,     0,    84,    85,     0,
-   477,   111,   -27,   236,  -163,     0,   -23,   -23,   -23,   -23,
-     0,     0,  -163,    68,   -23,   -23,   -23,     0,    69,    70,
-     0,    71,     0,     0,     0,     0,     0,     0,     0,   111,
-   -23,     0,  -163,     0,     0,   112,   113,     0,     0,    72,
-  -163,    15,     0,    73,    74,    75,     0,     0,     0,     0,
-     0,     0,    76,  -163,     0,    77,     0,  -163,   -27,     0,
-    78,    79,   214,   112,   113,     0,    81,    82,    68,     0,
-     0,    83,     0,    69,    70,     0,    71,     0,     0,     0,
-     0,  -163,     0,     0,     0,  -163,   -23,     0,     0,     0,
-     0,    84,    85,     0,    72,   215,    15,     0,    73,    74,
-    75,     0,     0,     0,     0,     0,    68,    76,     0,     0,
-    77,    69,    70,     0,    71,    78,    79,    80,     0,     0,
+  -204,   458,     0,    68,     0,     0,     0,     0,    69,    70,
+     0,    71,   167,   168,   169,   170,   171,   172,   173,    84,
+    85,     0,   477,     0,     0,     0,     0,     0,     0,    72,
+     0,    15,     0,    73,    74,    75,     0,     0,     0,   473,
+     0,    68,     0,     0,     0,    76,    69,    70,    77,    71,
+     0,     0,     0,    78,    79,    80,     0,     0,     0,    81,
+    82,     0,     0,     0,    83,     0,     0,    72,     0,    15,
+     0,    73,    74,    75,   165,   166,   167,   168,   169,   170,
+   171,   172,   173,    76,    84,    85,    77,   459,     0,     0,
+     0,    78,    79,    80,     0,     0,     0,    81,    82,     0,
+   236,     0,    83,   -23,   -23,   -23,   -23,     5,     6,     7,
+     8,   -23,   -23,   -23,     0,     9,    10,    11,     0,     0,
+     0,     0,    84,    85,     0,   477,   111,   -23,     0,  -163,
+   230,    13,     0,   -19,   -19,   -19,   -19,     0,     0,     0,
+  -163,   -19,   -19,   -19,     0,    68,     0,     0,     0,     0,
+    69,    70,     0,    71,     0,     0,   111,   -19,     5,  -163,
+     7,    98,     0,   112,   113,     0,     9,    10,    11,     0,
+  -163,    72,     0,    15,     0,    73,    74,    75,     0,     0,
+     0,  -163,    13,     0,     0,  -163,   -23,    76,     0,     0,
+    77,     0,     0,     0,     0,    78,    79,   214,     0,     0,
      0,    81,    82,     0,     0,     0,    83,     0,     0,     0,
-     0,     0,    72,     0,    15,     0,    73,    74,    75,     0,
-     0,     0,     0,     0,     0,    76,    84,    85,    77,     0,
-   294,     0,     0,    78,    79,    80,     0,     0,     0,    81,
-    82,    68,     0,     0,    83,     0,    69,    70,     0,    71,
-     5,     6,     7,     8,     0,     0,     0,     0,     9,    10,
-    11,     0,     0,     0,    84,    85,     0,    72,   316,    15,
-     0,    73,    74,    75,    13,     0,    14,     0,     0,    68,
-    76,     0,     0,    77,    69,    70,     0,    71,    78,    79,
+     0,  -163,    68,     0,     0,  -163,   -19,    69,    70,     0,
+    71,     0,     0,     0,     0,     0,    84,    85,     0,     0,
+   215,     0,     0,     0,     0,     0,     0,     0,    72,     0,
+    15,     0,    73,    74,    75,     0,     0,     0,     0,     0,
+    68,     0,     0,     0,    76,    69,    70,    77,    71,     0,
+     0,     0,    78,    79,    80,     0,     0,     0,    81,    82,
+     0,     0,     0,    83,     0,     0,    72,     0,    15,     0,
+    73,    74,    75,   166,   167,   168,   169,   170,   171,   172,
+   173,     0,    76,    84,    85,    77,     0,   294,     0,     0,
+    78,    79,    80,     0,     0,     0,    81,    82,    68,     0,
+     0,    83,     0,    69,    70,   159,    71,   160,   161,   162,
+   163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
+   173,    84,    85,     0,    72,   316,    15,     0,    73,    74,
+    75,     0,     0,     0,     0,     0,    68,     0,     0,     0,
+    76,    69,    70,    77,    71,     0,     0,     0,    78,    79,
     80,     0,     0,     0,    81,    82,     0,     0,     0,    83,
-     0,     0,     0,     0,     0,    72,     0,    15,     0,    73,
-    74,    75,     0,     0,     0,     0,     0,     0,    76,    84,
-    85,    77,     0,   332,     0,    50,    78,    79,    80,     0,
+     0,     0,    72,     0,    15,     0,    73,    74,    75,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,    76,    84,
+    85,    77,     0,   332,     0,     0,    78,    79,    80,     0,
      0,     0,    81,    82,    68,     0,     0,    83,     0,    69,
-    70,     0,    71,     5,     6,     7,     8,     0,     0,     0,
-     0,     9,    10,    11,     0,     0,     0,    84,    85,     0,
-    72,   375,    15,     0,    73,    74,    75,    13,     0,    14,
-     0,     0,    68,    76,     0,     0,    77,    69,    70,     0,
-    71,    78,    79,   589,     0,     0,     0,    81,    82,     0,
-     0,     0,    83,     0,     0,     0,     0,     0,    72,     0,
-    15,     0,    73,    74,    75,   611,     0,     0,     0,     0,
-     0,    76,    84,    85,    77,     0,   590,     0,   576,    78,
-    79,    80,     0,     0,     0,    81,    82,     0,     0,     0,
-    83,     0,   157,   158,   159,   612,   160,   161,   162,   163,
-   164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
-    84,    85,     0,     0,   628,   474,   490,     6,     7,     8,
-    69,    70,     0,    71,     9,    10,    11,   491,     0,   492,
-   493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
-    13,    72,    14,    15,     0,    73,    74,    75,     0,     0,
-     5,     6,     7,     8,    76,     0,     0,    77,     9,    10,
-    11,     0,    78,    79,    80,     0,     0,     0,    81,    82,
-     0,     0,     0,    83,    13,   159,    14,   160,   161,   162,
-   163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
-   173,   503,     0,    84,    85,     0,   391,   474,    60,     0,
-     0,     0,    69,    70,     0,    71,     0,     0,     0,   491,
-     0,   492,   493,   494,   495,   496,   497,   498,   499,   500,
-   501,   502,     0,    72,     0,    15,     0,    73,    74,    75,
+    70,     0,    71,   161,   162,   163,   164,   165,   166,   167,
+   168,   169,   170,   171,   172,   173,     0,    84,    85,     0,
+    72,   375,    15,     0,    73,    74,    75,     0,     0,     0,
      0,     0,    68,     0,     0,     0,    76,    69,    70,    77,
-    71,     0,     0,     0,    78,    79,    80,     0,     0,     0,
+    71,     0,     0,     0,    78,    79,   589,     0,     0,     0,
     81,    82,     0,     0,     0,    83,     0,     0,    72,     0,
+    15,     0,    73,    74,    75,   611,     0,     0,     0,     0,
+     0,     0,     0,     0,    76,    84,    85,    77,     0,   590,
+     0,     0,    78,    79,    80,     0,     0,     0,    81,    82,
+     0,     0,     0,    83,     0,   157,   158,   159,   612,   160,
+   161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
+   171,   172,   173,    84,    85,     0,     0,   628,   474,   490,
+     6,     7,     8,    69,    70,     0,    71,     9,    10,    11,
+   491,     0,   492,   493,   494,   495,   496,   497,   498,   499,
+   500,   501,   502,    13,    72,    14,    15,     0,    73,    74,
+    75,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+    76,     0,     0,    77,     0,     0,    14,     0,    78,    79,
+    80,     0,     0,     0,    81,    82,   157,   158,   159,    83,
+   160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
+   170,   171,   172,   173,     0,     0,     0,   503,     0,    84,
+    85,     0,   391,   474,    60,     0,     0,     0,    69,    70,
+     0,    71,     0,     0,     0,   491,     0,   492,   493,   494,
+   495,   496,   497,   498,   499,   500,   501,   502,     0,    72,
+     0,    15,     0,    73,    74,    75,     0,     0,     0,     0,
+     0,    68,     0,     0,     0,    76,    69,    70,    77,    71,
+     0,     0,     0,    78,    79,    80,     0,     0,     0,    81,
+    82,     0,     0,     0,    83,     0,     0,    72,     0,    15,
+     0,    73,    74,    75,     0,     0,     0,     0,     0,     0,
+     0,     0,   503,    76,    84,    85,    77,   391,     0,     0,
+     0,    78,    79,    80,     0,     0,     0,    81,    82,     0,
+     0,     0,    83,    68,     5,     6,     7,     8,    69,    70,
+     0,    71,     9,    10,    11,     0,     0,     0,     0,     0,
+     0,     0,    84,    85,     0,   348,     0,     0,    13,    72,
+    14,    15,     0,    73,    74,    75,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,    76,     0,     0,    77,     0,
+     0,     0,     0,    78,    79,    80,     0,     0,     0,    81,
+    82,     0,    68,     5,    83,     7,    98,    69,    70,     0,
+    71,     9,    10,    11,   164,   165,   166,   167,   168,   169,
+   170,   171,   172,   173,    84,    85,     0,    13,    72,     0,
     15,     0,    73,    74,    75,     0,     0,     0,     0,     0,
-     0,    76,     0,   503,    77,    84,    85,     0,   391,    78,
+    68,     0,     0,     0,    76,    69,    70,    77,    71,     0,
+     0,     0,    78,    79,    80,     0,     0,     0,    81,    82,
+     0,     0,     0,    83,     0,     0,    72,     0,    15,     0,
+    73,    74,    75,     0,     0,     0,     0,     0,     0,     0,
+     0,    68,    76,    84,    85,    77,    69,    70,     0,    71,
+    78,    79,    80,     0,     0,     0,    81,    82,     0,     0,
+     0,    83,     0,     0,     0,     0,     0,    72,     0,    15,
+     0,    73,    74,    75,     0,     0,     0,     0,     0,   566,
+     0,    84,    85,    76,     0,     0,    77,     0,     0,     0,
+     0,    78,    79,    80,     0,     0,     0,    81,    82,    68,
+     0,     0,    83,     0,    69,    70,     0,    71,   162,   163,
+   164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
+     0,     0,    84,    85,     0,    72,     0,    15,     0,    73,
+    74,    75,     0,     0,     0,     0,     0,    68,     0,     0,
+     0,    76,    69,    70,    77,    71,     0,     0,     0,    78,
     79,    80,     0,     0,     0,    81,    82,     0,     0,     0,
-    83,    68,     5,     6,     7,     8,    69,    70,     0,    71,
-     9,    10,    11,     0,     0,     0,     0,     0,     0,     0,
-    84,    85,     0,   348,     0,     0,    13,    72,    14,    15,
-     0,    73,    74,    75,     0,     0,     0,     0,     0,     0,
+   153,     0,     0,    72,     0,    15,     0,    73,    74,    75,
+     0,     0,     0,     0,     0,     0,     0,     0,   379,    76,
+    84,    85,    77,    69,    70,     0,    71,    78,    79,    80,
+     0,     0,     0,    81,    82,     0,     0,     0,   155,     0,
+     0,     0,     0,     0,    72,     0,    15,     0,    73,    74,
+    75,     0,     0,     0,     0,     0,     0,     0,    84,    85,
     76,     0,     0,    77,     0,     0,     0,     0,    78,    79,
-    80,     0,     0,     0,    81,    82,     0,    68,     5,    83,
-     7,    98,    69,    70,     0,    71,     9,    10,    11,   164,
-   165,   166,   167,   168,   169,   170,   171,   172,   173,    84,
-    85,     0,    13,    72,     0,    15,     0,    73,    74,    75,
-     0,     0,    68,     0,     0,     0,    76,    69,    70,    77,
-    71,     0,     0,     0,    78,    79,    80,     0,     0,     0,
-    81,    82,     0,     0,     0,    83,     0,     0,    72,     0,
-    15,     0,    73,    74,    75,     0,     0,     0,     0,     0,
-     0,    76,     0,     0,    77,    84,    85,     0,     0,    78,
-    79,    80,     0,     0,     0,    81,    82,    68,     0,     0,
-    83,     0,    69,    70,     0,    71,   162,   163,   164,   165,
-   166,   167,   168,   169,   170,   171,   172,   173,   566,     0,
-    84,    85,     0,    72,     0,    15,     0,    73,    74,    75,
-     0,     0,    68,     0,     0,     0,    76,    69,    70,    77,
-    71,     0,     0,     0,    78,    79,    80,     0,     0,     0,
-    81,    82,     0,     0,     0,    83,     0,     0,    72,     0,
-    15,     0,    73,    74,    75,     0,     0,     0,     0,     0,
-     0,    76,     0,     0,    77,    84,    85,     0,     0,    78,
-    79,    80,     0,     0,     0,    81,    82,    68,     0,     0,
-   153,     0,    69,    70,     0,    71,   161,   162,   163,   164,
-   165,   166,   167,   168,   169,   170,   171,   172,   173,     0,
-    84,    85,     0,    72,     0,    15,     0,    73,    74,    75,
-     0,     0,   379,     0,     0,     0,    76,    69,    70,    77,
-    71,     0,     0,     0,    78,    79,    80,     0,     0,     0,
-    81,    82,     0,     0,     0,   155,     0,     0,    72,     0,
-    15,     0,    73,    74,    75,     0,     0,     0,     0,     0,
-     0,    76,     0,     0,    77,    84,    85,     0,     0,    78,
-    79,    80,     0,     0,     0,    81,    82,     0,     0,     4,
-    83,  -119,     5,     6,     7,     8,     0,     0,     0,     0,
-     9,    10,    11,     0,     0,     0,     0,     0,     0,     0,
-    84,    85,     0,     0,     0,    12,    13,     0,    14,    15,
-   163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
-   173,     0,     0,     0,     0,     0,     0,   598,     0,     0,
-  -119,     0,     0,     0,     0,     0,   157,   158,   159,  -119,
-   160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
-   170,   171,   172,   173,   157,   158,   159,    16,   160,   161,
-   162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
-   172,   173,   165,   166,   167,   168,   169,   170,   171,   172,
-   173,   157,   158,   159,   654,   160,   161,   162,   163,   164,
-   165,   166,   167,   168,   169,   170,   171,   172,   173,    14,
-     0,     0,   599,     0,     0,     0,   157,   158,   159,     0,
-   160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
-   170,   171,   172,   173,     0,     0,     0,   347,   157,   158,
-   159,   659,   160,   161,   162,   163,   164,   165,   166,   167,
-   168,   169,   170,   171,   172,   173,   157,   158,   159,     0,
-   160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
-   170,   171,   172,   173
+    80,     0,     0,     0,    81,    82,     0,     0,     4,    83,
+  -119,     5,     6,     7,     8,     0,     0,     0,     0,     9,
+    10,    11,     0,     0,     0,     0,     0,     0,     0,    84,
+    85,     0,     0,     0,    12,    13,     0,    14,    15,   157,
+   158,   159,     0,   160,   161,   162,   163,   164,   165,   166,
+   167,   168,   169,   170,   171,   172,   173,     0,     0,     0,
+     0,     0,  -119,     0,     0,     0,     0,     0,   157,   158,
+   159,  -119,   160,   161,   162,   163,   164,   165,   166,   167,
+   168,   169,   170,   171,   172,   173,     0,   654,     0,    16,
+   157,   158,   159,   659,   160,   161,   162,   163,   164,   165,
+   166,   167,   168,   169,   170,   171,   172,   173,     0,     0,
+     0,   157,   158,   159,   347,   160,   161,   162,   163,   164,
+   165,   166,   167,   168,   169,   170,   171,   172,   173,   163,
+   164,   165,   166,   167,   168,   169,   170,   171,   172,   173
 };
 
 static const short yycheck[] = {    38,
@@ -1010,262 +1016,265 @@ static const short yycheck[] = {    38,
    233,   122,    80,    46,    43,     2,     3,   193,    86,   390,
    117,    54,    51,    83,    63,   453,   103,   231,    31,    97,
    178,   293,    46,   237,   118,   135,     1,    31,   108,   366,
-    21,    22,    76,   135,    31,   219,   485,     3,     4,     1,
-    22,     9,   400,     2,     3,   403,     1,    57,    40,   430,
-     9,    10,    11,     0,   113,    10,     0,    39,     3,     4,
-   104,    20,    40,    22,     3,     4,   105,    30,    40,   406,
-   109,   408,    31,     3,     4,     3,    30,    40,   121,   118,
-   187,    27,    30,   153,    43,   155,    78,   538,   209,   132,
-    49,   428,    51,    79,   220,   139,   559,   548,    57,    61,
-    78,    83,   286,    31,   553,   231,    78,    84,   489,    84,
-    78,   237,   657,    52,   300,    61,    62,   127,    84,   188,
-   179,   103,   135,    79,    61,    79,    80,    83,    61,    84,
-   189,   225,   176,   177,   244,   229,   214,   575,    61,    84,
-   685,   100,   244,     3,   103,   303,   105,   190,   228,   108,
-   109,    61,   601,   135,    84,     4,     5,     6,     7,   118,
-   286,    61,   625,    12,    13,    14,   190,    38,   127,    84,
-    30,   153,    79,   155,   446,   234,    83,   361,   256,    28,
-   364,   224,    78,   193,    79,    80,   225,    83,   651,    60,
-   229,    62,    52,   656,    78,   658,   245,    84,   247,    83,
-    78,    61,    62,   666,   263,    83,     3,     4,   252,    79,
-   336,    27,   338,    83,    30,    30,     4,    30,     6,     7,
-    78,   290,    38,     9,    12,    13,    14,   296,     7,   188,
-    79,   244,     5,    30,     7,   698,   362,    52,   364,   298,
-    28,   285,    83,   580,    78,   626,    61,    62,    61,    62,
-   241,    30,   243,    79,   213,    52,    30,    83,   302,    61,
-    62,   243,   244,    79,    61,    62,   225,    83,    79,   228,
-   229,   457,    83,    52,     3,   433,    78,   347,     7,    78,
-    78,    61,    61,    62,   309,    83,    80,    61,    62,   522,
-   300,    79,    80,    80,   675,   676,   383,   384,   323,     1,
-   344,    30,     4,     5,     6,     7,    78,    61,    62,    78,
-    12,    13,    14,     5,     6,     7,    78,   308,   309,    79,
-    12,    13,    14,    52,    78,    27,    28,   309,    30,   436,
-    40,   290,    61,   143,   293,   442,    38,   296,    30,   465,
-    78,   323,   152,     3,   383,   384,    78,   157,   158,   535,
-   309,    83,   162,   163,   164,   165,   166,   167,   168,   169,
-   170,   171,   172,   173,     4,   347,     6,     7,   437,    32,
-    30,   430,    12,    13,    14,    79,   420,    79,    78,    83,
-     3,    83,    84,    79,     7,    79,   430,    83,    28,    83,
-    30,   455,    52,    79,    61,   438,   232,    83,   437,    27,
-   443,    61,   238,   466,   467,   396,   397,    30,     3,     4,
-   246,     9,    52,    85,   438,   397,   455,   430,    79,   443,
-    38,    61,    62,    79,   383,   384,   430,    38,   387,    52,
-   489,   475,   646,   430,   648,    83,    61,    62,    61,    62,
-   518,   500,     6,     7,    78,   489,    78,   457,    12,    13,
-    14,   520,   521,    78,    40,   265,   266,   501,   527,   528,
-    52,    53,    54,     1,   523,    78,     4,    38,     6,     7,
-    85,   430,   692,    85,    12,    13,    14,    78,   437,    78,
-   700,   520,   521,   508,    61,    62,    80,   446,   527,   528,
-    28,    61,    62,    31,   453,    78,   455,    85,   557,   620,
-   543,   560,   561,    61,    62,   518,    80,   466,   467,   568,
-    40,   589,   575,   577,   518,    80,   507,   508,    79,    80,
-   646,   518,   648,    80,   583,   535,   508,     3,     4,     5,
-     6,     7,     1,   343,     3,     4,     3,     4,   577,    80,
-     7,    79,    80,   353,    61,    62,   605,    90,    91,   508,
-    56,    57,    85,    59,    60,    61,    62,   616,    78,   518,
-     3,   520,   521,    30,     3,     4,    84,   626,   527,   528,
-   520,   521,    78,   409,   410,     1,    80,   413,     4,     5,
-     6,     7,   626,    79,    10,    52,    12,    13,    14,   399,
-    83,    30,    80,    78,    61,    62,     3,     4,   657,    80,
-     7,    40,    28,   439,   440,   441,   416,    40,   444,   445,
-    40,     3,     4,    52,    80,    83,   575,    40,   577,    61,
-   679,    61,    61,    30,    61,    40,   685,    79,     1,    79,
-   466,     4,     5,     6,     7,   471,     7,    40,    30,    12,
-    13,    14,    16,    79,    79,    52,    80,    61,    79,     1,
-    79,     3,    61,   463,    61,    28,     8,     9,    84,    11,
-    52,    85,    80,     5,     6,     7,   476,    78,    17,    61,
-    12,    13,    14,    79,    78,   485,   486,    29,    79,    31,
-    78,    33,    34,    35,    78,     9,   496,    83,    79,    79,
-    42,    56,    57,    45,    59,    60,    61,    62,    50,    51,
-    52,    79,    61,    79,    56,    57,    78,     0,   544,    61,
-    78,    84,     1,    79,     3,     4,    79,     6,     7,     8,
-     9,     0,    11,    12,    13,    14,   220,   303,   538,    81,
-    82,   541,    84,   560,   518,   362,   572,    53,   548,    28,
-    29,   551,    31,   553,    33,    34,    35,    50,    51,    52,
-    53,    54,   196,    42,   302,   456,    45,   463,   551,   595,
-   484,    50,    51,    52,   346,   244,   338,    56,    57,   252,
-     1,   344,    61,     4,     5,     6,     7,   465,   362,    10,
-   287,    12,    13,    14,   393,   364,   596,   626,   598,   626,
-   680,   601,    81,    82,   682,    84,   632,    28,   297,    30,
-     1,   611,     3,     4,     5,     6,     7,     8,     9,   387,
+    21,    22,    76,   135,    31,   219,   485,     1,     9,     0,
+    22,     3,     4,     2,     3,     3,    10,    57,     3,   430,
+     9,    10,    11,     0,   113,     3,     4,    39,     7,    43,
+   104,    20,    30,    22,     1,    43,   105,     3,     4,   406,
+   109,   408,    31,    31,   400,    30,    30,   403,   121,   118,
+   187,    30,    82,   153,    43,   155,     3,     4,   209,   132,
+    49,   428,    51,    87,   220,   139,   559,    81,    57,    64,
+    55,    83,   286,    81,   553,   231,    55,    64,   489,    64,
+    81,   237,    87,    64,   300,    64,    65,   127,    43,   188,
+   179,   103,   135,    87,    64,    87,   657,    64,    82,    83,
+   189,   225,   176,   177,   244,   229,   214,   575,    55,    87,
+     3,   100,   244,    87,   103,   303,   105,   190,   228,   108,
+   109,    87,   601,   135,   685,     4,    81,     6,     7,   118,
+   286,    87,   625,    12,    13,    14,   190,    30,   127,    27,
+    64,   153,   538,   155,   446,   234,    81,   361,   256,    28,
+   364,   224,   548,   193,    30,    86,   225,    41,   651,    81,
+   229,     9,    55,   656,    86,   658,   245,    43,   247,    81,
+    81,    64,    65,   666,   263,    86,    64,    65,   252,    63,
+   336,    65,   338,     1,    30,    81,     4,     5,     6,     7,
+    86,   290,    10,    64,    12,    13,    14,   296,     5,   188,
+     7,   244,    83,    82,    83,   698,   362,    81,   364,   298,
+    28,   285,    86,   580,    30,   626,    81,    30,    64,    65,
+   241,    86,   243,    81,   213,    81,    64,    65,   302,     3,
+     4,   243,   244,     7,     3,     4,   225,    82,    83,   228,
+   229,   457,    55,    81,    83,   433,    82,   347,    64,    65,
+    86,    64,    65,    82,   309,    81,    30,    86,    81,   522,
+   300,    30,    64,    65,   675,   676,   383,   384,   323,    87,
+   344,     1,    64,    65,     4,     5,     6,     7,    82,    81,
+    81,    55,    12,    13,    14,    43,    55,   308,   309,    81,
+    64,    65,    55,    56,    57,    64,    65,   309,    28,   436,
+    32,   290,    82,   143,   293,   442,    86,   296,    81,   465,
+    64,   323,   152,    27,   383,   384,     9,   157,   158,   535,
+   309,    88,   162,   163,   164,   165,   166,   167,   168,   169,
+   170,   171,   172,   173,    82,   347,    82,     1,   437,    41,
+     4,   430,     6,     7,     3,     4,   420,    82,    12,    13,
+    14,    86,    64,    65,    82,     3,   430,    87,    86,     7,
+     1,   455,     3,     4,    28,   438,   232,    31,   437,    41,
+   443,    86,   238,   466,   467,   396,   397,    82,    43,    82,
+   246,    86,    30,    86,   438,   397,   455,   430,    82,   443,
+    64,    65,    86,    82,   383,   384,   430,    86,   387,    81,
+   489,   475,   646,   430,   648,    82,    83,    55,    64,    65,
+   518,   500,    81,     3,     4,   489,    64,   457,    82,    83,
+    81,   520,   521,    90,    91,   265,   266,   501,   527,   528,
+    64,    65,   520,   521,   523,    88,     4,     5,     6,     7,
+    30,   430,   692,    88,    12,    13,    14,    41,   437,    81,
+   700,   520,   521,   508,    81,    81,    43,   446,   527,   528,
+    28,    83,    30,    88,   453,    55,   455,    83,   557,   620,
+   543,   560,   561,    83,    64,   518,    83,   466,   467,   568,
+    83,   589,   575,   577,   518,    81,   507,   508,     3,     4,
+   646,   518,   648,     3,   583,   535,   508,     7,    27,     6,
+     7,    30,    88,   343,     3,    12,    13,    14,   577,    87,
+    83,    82,    41,   353,    82,    30,   605,    86,    83,   508,
+    30,     3,     4,     5,     6,     7,    81,   616,    43,   518,
+    83,   520,   521,    83,    43,    64,    65,   626,   527,   528,
+    55,    43,    86,   409,   410,    55,    43,   413,    64,    64,
+    64,    64,   626,    82,    64,    65,    43,    86,     1,   399,
+    82,     4,     5,     6,     7,    82,     7,    43,   657,    12,
+    13,    14,    10,   439,   440,   441,   416,    82,   444,   445,
+    16,    82,    82,    64,    27,    28,   575,    30,   577,    82,
+   679,    53,    54,    55,    56,    57,   685,    64,    41,    88,
+   466,    81,    40,    41,    42,   471,    44,    45,    46,    47,
+    48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
+    83,    64,    65,   463,    83,     4,     5,     6,     7,    17,
+    82,    81,    81,    12,    13,    14,   476,    82,    82,    82,
+     9,    81,    64,    86,    87,   485,   486,    82,    82,    28,
+    88,    30,     5,     6,     7,    86,   496,    82,    81,    12,
+    13,    14,    81,     1,    82,     3,     4,     5,     6,     7,
+     8,     9,    82,    11,    12,    13,    14,    15,   544,    17,
+    18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
+    28,    29,    30,    31,    32,    33,    34,    35,   538,     0,
+     0,   541,   303,    82,   362,   560,   572,    45,   548,    27,
+    48,   551,    30,   553,   220,    53,    54,    55,   518,    53,
+   456,    59,    60,    41,   196,   302,    64,   551,     1,   595,
+     3,     4,     5,     6,     7,   484,   463,    10,   346,    12,
+    13,    14,   465,   338,    82,    83,    84,    85,   244,    87,
+   362,   344,   287,   393,   252,    28,   596,    30,   598,   364,
+   680,   601,   626,   626,    82,   682,   632,   297,    86,   387,
+     1,   611,     3,     4,     5,     6,     7,     8,     9,    -1,
     11,    12,    13,    14,    15,    -1,    17,    18,    19,    20,
     21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
-    31,    32,    33,    34,    35,    -1,    -1,    -1,    -1,    -1,
-    -1,    42,    -1,    -1,    45,    -1,    -1,    78,    -1,    50,
-    51,    52,    -1,    -1,    -1,    56,    57,    -1,    -1,    -1,
-    61,    -1,    -1,    -1,    -1,    -1,    -1,     4,     5,     6,
-     7,    -1,    -1,    -1,    -1,    12,    13,    14,    79,    80,
-    81,    82,     1,    84,     3,     4,     5,     6,     7,     8,
-     9,    28,    11,    12,    13,    14,    15,    -1,    17,    18,
-    19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
-    29,    30,    31,    -1,    33,    34,    35,    -1,    -1,     4,
-     5,     6,     7,    42,    -1,    10,    45,    12,    13,    14,
-    -1,    50,    51,    52,    -1,    -1,    -1,    56,    57,    -1,
-    -1,    -1,    61,    28,    -1,    30,    -1,    -1,    -1,     4,
-    -1,     6,     7,    -1,    -1,    -1,    -1,    12,    13,    14,
-    79,    80,    81,    82,     1,    84,     3,     4,     5,     6,
-     7,     8,     9,    28,    11,    12,    13,    14,    15,    -1,
-    17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
-    27,    28,    29,    30,    31,    -1,    33,    34,    35,    -1,
-    -1,    -1,    -1,    -1,    -1,    42,    -1,    -1,    45,    -1,
-    -1,    -1,    -1,    50,    51,    52,    -1,    -1,    -1,    56,
-    57,    -1,    -1,     1,    61,     3,     4,     5,     6,     7,
-    -1,    -1,    10,    -1,    12,    13,    14,    -1,    -1,    -1,
-    -1,    -1,    79,    -1,    81,    82,     1,    84,     3,     4,
-    28,    -1,    30,     8,     9,    -1,    11,    -1,    -1,    -1,
-    15,    -1,    17,    18,    19,    20,    21,    22,    23,    24,
-    25,    26,    27,    -1,    29,    -1,    31,    -1,    33,    34,
-    35,    27,    -1,    -1,    30,    -1,    -1,    42,    -1,    -1,
-    45,    -1,    38,    -1,    -1,    50,    51,    52,    -1,    -1,
-    78,    56,    57,    -1,    -1,    -1,    61,    47,    48,    49,
-    50,    51,    52,    53,    54,    61,    62,    48,    49,    50,
-    51,    52,    53,    54,    79,    80,    81,    82,     1,    84,
-     3,     4,    -1,    79,    -1,     8,     9,    83,    11,    -1,
-    -1,    -1,    15,    -1,    17,    18,    19,    20,    21,    22,
-    23,    24,    25,    26,    27,    -1,    29,    -1,    31,    -1,
-    33,    34,    35,    -1,    -1,    -1,    -1,    -1,    -1,    42,
-    -1,    -1,    45,    -1,    -1,    -1,    -1,    50,    51,    52,
-    -1,    -1,    -1,    56,    57,    -1,    -1,    -1,    61,     1,
-    -1,    -1,     4,    -1,     6,     7,    -1,    -1,    -1,    -1,
-    12,    13,    14,    -1,    -1,    -1,    79,    -1,    81,    82,
-     1,    84,     3,     4,    -1,    -1,    28,     8,     9,    31,
+    31,    -1,    33,    34,    35,    -1,    -1,     1,    81,    -1,
+     4,    -1,     6,     7,    45,    -1,    -1,    48,    12,    13,
+    14,    -1,    53,    54,    55,    -1,    -1,    -1,    59,    60,
+    -1,    -1,    -1,    64,    28,    59,    60,    31,    62,    63,
+    64,    65,    -1,     3,     4,    -1,    -1,     7,    -1,    -1,
+    -1,    82,    83,    84,    85,     1,    87,     3,     4,     5,
+     6,     7,     8,     9,    -1,    11,    12,    13,    14,    15,
+    30,    17,    18,    19,    20,    21,    22,    23,    24,    25,
+    26,    27,    28,    29,    30,    31,    -1,    33,    34,    35,
+    -1,    -1,    -1,    -1,    -1,    55,    -1,    -1,    -1,    45,
+    -1,    -1,    48,    -1,    64,    -1,    -1,    53,    54,    55,
+    -1,    -1,    -1,    59,    60,    -1,    -1,     1,    64,    -1,
+     4,     5,     6,     7,    -1,    -1,    10,    -1,    12,    13,
+    14,    -1,    -1,    -1,    -1,    -1,    82,    -1,    84,    85,
+     1,    87,     3,     4,    28,    -1,    30,     8,     9,    -1,
+    11,    -1,    -1,    -1,    15,    -1,    17,    18,    19,    20,
+    21,    22,    23,    24,    25,    26,    27,    -1,    29,    -1,
+    31,    -1,    33,    34,    35,    -1,    -1,    -1,    -1,    -1,
+     4,     5,     6,     7,    45,    -1,    10,    48,    12,    13,
+    14,    -1,    53,    54,    55,    -1,    -1,    81,    59,    60,
+    -1,    -1,    -1,    64,    28,    -1,    30,     4,     5,     6,
+     7,     5,     6,     7,    -1,    12,    13,    14,    12,    13,
+    14,    82,    83,    84,    85,     1,    87,     3,     4,    -1,
+    -1,    28,     8,     9,    -1,    11,    30,    -1,    -1,    15,
+    -1,    17,    18,    19,    20,    21,    22,    23,    24,    25,
+    26,    27,    -1,    29,    -1,    31,    -1,    33,    34,    35,
+    -1,    -1,    -1,    -1,    -1,     4,     5,     6,     7,    45,
+    -1,    -1,    48,    12,    13,    14,    -1,    53,    54,    55,
+    -1,    -1,    -1,    59,    60,    82,    -1,    -1,    64,    28,
+     4,    30,     6,     7,    -1,    -1,    -1,    -1,    12,    13,
+    14,    -1,    -1,    -1,    -1,    -1,    82,    -1,    84,    85,
+     1,    87,     3,     4,    28,    -1,    30,     8,     9,    -1,
     11,    -1,    -1,    -1,    15,    -1,    17,    18,    19,    20,
     21,    22,    23,    24,    25,    26,    27,    -1,    29,    -1,
-    31,    -1,    33,    34,    35,     1,    -1,     3,     4,    -1,
-    -1,    42,     8,     9,    45,    11,    -1,    -1,    -1,    50,
-    51,    52,    -1,    -1,    -1,    56,    57,    -1,    -1,    -1,
-    61,    -1,    -1,    29,    -1,    31,    -1,    33,    34,    35,
-    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,    79,    45,
-    81,    82,    -1,    84,    50,    51,    52,    -1,    -1,    -1,
-    56,    57,    -1,    -1,    60,    61,    62,     1,    -1,     3,
-     4,    -1,    -1,    -1,     8,     9,    -1,    11,    -1,    -1,
-    -1,    -1,    -1,    -1,    80,    81,    82,    -1,    84,    -1,
-    -1,    -1,    -1,    -1,    -1,    29,    -1,    31,    -1,    33,
-    34,    35,    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,
-    -1,    45,    -1,    -1,    -1,    -1,    50,    51,    52,    -1,
-    -1,    -1,    56,    57,    -1,    -1,    60,    61,    62,     1,
-    -1,     3,    -1,    -1,    -1,    -1,     8,     9,    -1,    11,
-    -1,    -1,    -1,    -1,    -1,    -1,    80,    81,    82,    -1,
-    84,    -1,    -1,    -1,    -1,    -1,    -1,    29,    -1,    31,
-    -1,    33,    34,    35,    -1,    -1,    38,     1,    -1,     3,
-    42,    -1,    -1,    45,     8,     9,    -1,    11,    50,    51,
-    52,    -1,    -1,    -1,    56,    57,    -1,    -1,    60,    61,
-    62,    -1,    -1,    -1,    -1,    29,    -1,    31,    -1,    33,
-    34,    35,    -1,    -1,    -1,    -1,    -1,    -1,    42,    81,
-    82,    45,    84,    -1,    -1,    -1,    50,    51,    52,    -1,
-    -1,    -1,    56,    57,    -1,     1,    -1,    61,     4,     5,
-     6,     7,    -1,    -1,    -1,    -1,    12,    13,    14,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    81,    82,    -1,
-    84,    27,    28,     1,    30,    -1,     4,     5,     6,     7,
-    -1,    -1,    38,     3,    12,    13,    14,    -1,     8,     9,
-    -1,    11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
-    28,    -1,    30,    -1,    -1,    61,    62,    -1,    -1,    29,
-    38,    31,    -1,    33,    34,    35,    -1,    -1,    -1,    -1,
-    -1,    -1,    42,    79,    -1,    45,    -1,    83,    84,    -1,
-    50,    51,    52,    61,    62,    -1,    56,    57,     3,    -1,
-    -1,    61,    -1,     8,     9,    -1,    11,    -1,    -1,    -1,
-    -1,    79,    -1,    -1,    -1,    83,    84,    -1,    -1,    -1,
-    -1,    81,    82,    -1,    29,    85,    31,    -1,    33,    34,
-    35,    -1,    -1,    -1,    -1,    -1,     3,    42,    -1,    -1,
-    45,     8,     9,    -1,    11,    50,    51,    52,    -1,    -1,
-    -1,    56,    57,    -1,    -1,    -1,    61,    -1,    -1,    -1,
+    31,    55,    33,    34,    35,    -1,    -1,    -1,    -1,    -1,
+    64,    65,    -1,    -1,    45,    -1,    -1,    48,    -1,    -1,
+    -1,    -1,    53,    54,    55,    -1,    -1,    -1,    59,    60,
+    -1,    -1,     1,    64,     3,     4,    -1,     6,     7,     8,
+     9,    -1,    11,    12,    13,    14,    -1,    -1,    -1,    -1,
+    -1,    82,    -1,    84,    85,    -1,    87,    -1,    -1,    28,
+    29,    -1,    31,    -1,    33,    34,    35,    -1,    -1,    -1,
+     1,    -1,     3,     4,    -1,    -1,    45,     8,     9,    48,
+    11,    -1,    -1,    -1,    53,    54,    55,    -1,    -1,    -1,
+    59,    60,    -1,    -1,    -1,    64,    -1,    -1,    29,    -1,
+    31,    -1,    33,    34,    35,    59,    60,    -1,    62,    63,
+    64,    65,    -1,    -1,    45,    84,    85,    48,    87,    -1,
+    -1,    -1,    53,    54,    55,    -1,    -1,    81,    59,    60,
+    -1,    -1,    63,    64,    65,     1,    -1,     3,     4,    -1,
+    -1,    -1,     8,     9,    -1,    11,    -1,    -1,    -1,    -1,
+    -1,    -1,    83,    84,    85,    -1,    87,    -1,    -1,    -1,
+    -1,    -1,    -1,    29,    -1,    31,    -1,    33,    34,    35,
+    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,    45,
+    -1,    -1,    48,     8,     9,    -1,    11,    53,    54,    55,
+    -1,    -1,    -1,    59,    60,    -1,    -1,    63,    64,    65,
+    -1,    -1,    -1,    -1,    29,    -1,    31,    -1,    33,    34,
+    35,    -1,    -1,    -1,    -1,    -1,    41,    83,    84,    85,
+    45,    87,    -1,    48,    -1,    -1,    -1,    -1,    53,    54,
+    55,    -1,    -1,    -1,    59,    60,    -1,    -1,    63,    64,
+    65,     1,    -1,     3,    -1,    -1,    -1,    -1,     8,     9,
+    -1,    11,    51,    52,    53,    54,    55,    56,    57,    84,
+    85,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,    29,
+    -1,    31,    -1,    33,    34,    35,    -1,    -1,    -1,     1,
+    -1,     3,    -1,    -1,    -1,    45,     8,     9,    48,    11,
+    -1,    -1,    -1,    53,    54,    55,    -1,    -1,    -1,    59,
+    60,    -1,    -1,    -1,    64,    -1,    -1,    29,    -1,    31,
+    -1,    33,    34,    35,    49,    50,    51,    52,    53,    54,
+    55,    56,    57,    45,    84,    85,    48,    87,    -1,    -1,
+    -1,    53,    54,    55,    -1,    -1,    -1,    59,    60,    -1,
+     1,    -1,    64,     4,     5,     6,     7,     4,     5,     6,
+     7,    12,    13,    14,    -1,    12,    13,    14,    -1,    -1,
+    -1,    -1,    84,    85,    -1,    87,    27,    28,    -1,    30,
+     1,    28,    -1,     4,     5,     6,     7,    -1,    -1,    -1,
+    41,    12,    13,    14,    -1,     3,    -1,    -1,    -1,    -1,
+     8,     9,    -1,    11,    -1,    -1,    27,    28,     4,    30,
+     6,     7,    -1,    64,    65,    -1,    12,    13,    14,    -1,
+    41,    29,    -1,    31,    -1,    33,    34,    35,    -1,    -1,
+    -1,    82,    28,    -1,    -1,    86,    87,    45,    -1,    -1,
+    48,    -1,    -1,    -1,    -1,    53,    54,    55,    -1,    -1,
+    -1,    59,    60,    -1,    -1,    -1,    64,    -1,    -1,    -1,
+    -1,    82,     3,    -1,    -1,    86,    87,     8,     9,    -1,
+    11,    -1,    -1,    -1,    -1,    -1,    84,    85,    -1,    -1,
+    88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    29,    -1,
+    31,    -1,    33,    34,    35,    -1,    -1,    -1,    -1,    -1,
+     3,    -1,    -1,    -1,    45,     8,     9,    48,    11,    -1,
+    -1,    -1,    53,    54,    55,    -1,    -1,    -1,    59,    60,
+    -1,    -1,    -1,    64,    -1,    -1,    29,    -1,    31,    -1,
+    33,    34,    35,    50,    51,    52,    53,    54,    55,    56,
+    57,    -1,    45,    84,    85,    48,    -1,    88,    -1,    -1,
+    53,    54,    55,    -1,    -1,    -1,    59,    60,     3,    -1,
+    -1,    64,    -1,     8,     9,    42,    11,    44,    45,    46,
+    47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
+    57,    84,    85,    -1,    29,    88,    31,    -1,    33,    34,
+    35,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,
+    45,     8,     9,    48,    11,    -1,    -1,    -1,    53,    54,
+    55,    -1,    -1,    -1,    59,    60,    -1,    -1,    -1,    64,
     -1,    -1,    29,    -1,    31,    -1,    33,    34,    35,    -1,
-    -1,    -1,    -1,    -1,    -1,    42,    81,    82,    45,    -1,
-    85,    -1,    -1,    50,    51,    52,    -1,    -1,    -1,    56,
-    57,     3,    -1,    -1,    61,    -1,     8,     9,    -1,    11,
-     4,     5,     6,     7,    -1,    -1,    -1,    -1,    12,    13,
-    14,    -1,    -1,    -1,    81,    82,    -1,    29,    85,    31,
-    -1,    33,    34,    35,    28,    -1,    30,    -1,    -1,     3,
-    42,    -1,    -1,    45,     8,     9,    -1,    11,    50,    51,
-    52,    -1,    -1,    -1,    56,    57,    -1,    -1,    -1,    61,
-    -1,    -1,    -1,    -1,    -1,    29,    -1,    31,    -1,    33,
-    34,    35,    -1,    -1,    -1,    -1,    -1,    -1,    42,    81,
-    82,    45,    -1,    85,    -1,    79,    50,    51,    52,    -1,
-    -1,    -1,    56,    57,     3,    -1,    -1,    61,    -1,     8,
-     9,    -1,    11,     4,     5,     6,     7,    -1,    -1,    -1,
-    -1,    12,    13,    14,    -1,    -1,    -1,    81,    82,    -1,
-    29,    85,    31,    -1,    33,    34,    35,    28,    -1,    30,
-    -1,    -1,     3,    42,    -1,    -1,    45,     8,     9,    -1,
-    11,    50,    51,    52,    -1,    -1,    -1,    56,    57,    -1,
-    -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,    29,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,    84,
+    85,    48,    -1,    88,    -1,    -1,    53,    54,    55,    -1,
+    -1,    -1,    59,    60,     3,    -1,    -1,    64,    -1,     8,
+     9,    -1,    11,    45,    46,    47,    48,    49,    50,    51,
+    52,    53,    54,    55,    56,    57,    -1,    84,    85,    -1,
+    29,    88,    31,    -1,    33,    34,    35,    -1,    -1,    -1,
+    -1,    -1,     3,    -1,    -1,    -1,    45,     8,     9,    48,
+    11,    -1,    -1,    -1,    53,    54,    55,    -1,    -1,    -1,
+    59,    60,    -1,    -1,    -1,    64,    -1,    -1,    29,    -1,
     31,    -1,    33,    34,    35,    10,    -1,    -1,    -1,    -1,
-    -1,    42,    81,    82,    45,    -1,    85,    -1,    79,    50,
-    51,    52,    -1,    -1,    -1,    56,    57,    -1,    -1,    -1,
-    61,    -1,    37,    38,    39,    40,    41,    42,    43,    44,
+    -1,    -1,    -1,    -1,    45,    84,    85,    48,    -1,    88,
+    -1,    -1,    53,    54,    55,    -1,    -1,    -1,    59,    60,
+    -1,    -1,    -1,    64,    -1,    40,    41,    42,    43,    44,
     45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
-    81,    82,    -1,    -1,    85,     3,     4,     5,     6,     7,
-     8,     9,    -1,    11,    12,    13,    14,    15,    -1,    17,
-    18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
-    28,    29,    30,    31,    -1,    33,    34,    35,    -1,    -1,
-     4,     5,     6,     7,    42,    -1,    -1,    45,    12,    13,
-    14,    -1,    50,    51,    52,    -1,    -1,    -1,    56,    57,
-    -1,    -1,    -1,    61,    28,    39,    30,    41,    42,    43,
+    55,    56,    57,    84,    85,    -1,    -1,    88,     3,     4,
+     5,     6,     7,     8,     9,    -1,    11,    12,    13,    14,
+    15,    -1,    17,    18,    19,    20,    21,    22,    23,    24,
+    25,    26,    27,    28,    29,    30,    31,    -1,    33,    34,
+    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    45,    -1,    -1,    48,    -1,    -1,    30,    -1,    53,    54,
+    55,    -1,    -1,    -1,    59,    60,    40,    41,    42,    64,
     44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
-    54,    79,    -1,    81,    82,    -1,    84,     3,     4,    -1,
-    -1,    -1,     8,     9,    -1,    11,    -1,    -1,    -1,    15,
-    -1,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-    26,    27,    -1,    29,    -1,    31,    -1,    33,    34,    35,
-    -1,    -1,     3,    -1,    -1,    -1,    42,     8,     9,    45,
-    11,    -1,    -1,    -1,    50,    51,    52,    -1,    -1,    -1,
-    56,    57,    -1,    -1,    -1,    61,    -1,    -1,    29,    -1,
-    31,    -1,    33,    34,    35,    -1,    -1,    -1,    -1,    -1,
-    -1,    42,    -1,    79,    45,    81,    82,    -1,    84,    50,
-    51,    52,    -1,    -1,    -1,    56,    57,    -1,    -1,    -1,
-    61,     3,     4,     5,     6,     7,     8,     9,    -1,    11,
-    12,    13,    14,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    81,    82,    -1,    84,    -1,    -1,    28,    29,    30,    31,
+    54,    55,    56,    57,    -1,    -1,    -1,    82,    -1,    84,
+    85,    -1,    87,     3,     4,    -1,    -1,    -1,     8,     9,
+    -1,    11,    -1,    -1,    -1,    15,    -1,    17,    18,    19,
+    20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
+    -1,    31,    -1,    33,    34,    35,    -1,    -1,    -1,    -1,
+    -1,     3,    -1,    -1,    -1,    45,     8,     9,    48,    11,
+    -1,    -1,    -1,    53,    54,    55,    -1,    -1,    -1,    59,
+    60,    -1,    -1,    -1,    64,    -1,    -1,    29,    -1,    31,
     -1,    33,    34,    35,    -1,    -1,    -1,    -1,    -1,    -1,
-    42,    -1,    -1,    45,    -1,    -1,    -1,    -1,    50,    51,
-    52,    -1,    -1,    -1,    56,    57,    -1,     3,     4,    61,
-     6,     7,     8,     9,    -1,    11,    12,    13,    14,    45,
-    46,    47,    48,    49,    50,    51,    52,    53,    54,    81,
-    82,    -1,    28,    29,    -1,    31,    -1,    33,    34,    35,
-    -1,    -1,     3,    -1,    -1,    -1,    42,     8,     9,    45,
-    11,    -1,    -1,    -1,    50,    51,    52,    -1,    -1,    -1,
-    56,    57,    -1,    -1,    -1,    61,    -1,    -1,    29,    -1,
+    -1,    -1,    82,    45,    84,    85,    48,    87,    -1,    -1,
+    -1,    53,    54,    55,    -1,    -1,    -1,    59,    60,    -1,
+    -1,    -1,    64,     3,     4,     5,     6,     7,     8,     9,
+    -1,    11,    12,    13,    14,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    84,    85,    -1,    87,    -1,    -1,    28,    29,
+    30,    31,    -1,    33,    34,    35,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,    48,    -1,
+    -1,    -1,    -1,    53,    54,    55,    -1,    -1,    -1,    59,
+    60,    -1,     3,     4,    64,     6,     7,     8,     9,    -1,
+    11,    12,    13,    14,    48,    49,    50,    51,    52,    53,
+    54,    55,    56,    57,    84,    85,    -1,    28,    29,    -1,
     31,    -1,    33,    34,    35,    -1,    -1,    -1,    -1,    -1,
-    -1,    42,    -1,    -1,    45,    81,    82,    -1,    -1,    50,
-    51,    52,    -1,    -1,    -1,    56,    57,     3,    -1,    -1,
-    61,    -1,     8,     9,    -1,    11,    43,    44,    45,    46,
-    47,    48,    49,    50,    51,    52,    53,    54,    79,    -1,
-    81,    82,    -1,    29,    -1,    31,    -1,    33,    34,    35,
-    -1,    -1,     3,    -1,    -1,    -1,    42,     8,     9,    45,
-    11,    -1,    -1,    -1,    50,    51,    52,    -1,    -1,    -1,
-    56,    57,    -1,    -1,    -1,    61,    -1,    -1,    29,    -1,
-    31,    -1,    33,    34,    35,    -1,    -1,    -1,    -1,    -1,
-    -1,    42,    -1,    -1,    45,    81,    82,    -1,    -1,    50,
-    51,    52,    -1,    -1,    -1,    56,    57,     3,    -1,    -1,
-    61,    -1,     8,     9,    -1,    11,    42,    43,    44,    45,
-    46,    47,    48,    49,    50,    51,    52,    53,    54,    -1,
-    81,    82,    -1,    29,    -1,    31,    -1,    33,    34,    35,
-    -1,    -1,     3,    -1,    -1,    -1,    42,     8,     9,    45,
-    11,    -1,    -1,    -1,    50,    51,    52,    -1,    -1,    -1,
-    56,    57,    -1,    -1,    -1,    61,    -1,    -1,    29,    -1,
-    31,    -1,    33,    34,    35,    -1,    -1,    -1,    -1,    -1,
-    -1,    42,    -1,    -1,    45,    81,    82,    -1,    -1,    50,
-    51,    52,    -1,    -1,    -1,    56,    57,    -1,    -1,     1,
-    61,     3,     4,     5,     6,     7,    -1,    -1,    -1,    -1,
-    12,    13,    14,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    81,    82,    -1,    -1,    -1,    27,    28,    -1,    30,    31,
-    44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
-    54,    -1,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,
-    52,    -1,    -1,    -1,    -1,    -1,    37,    38,    39,    61,
-    41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
-    51,    52,    53,    54,    37,    38,    39,    79,    41,    42,
-    43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
-    53,    54,    46,    47,    48,    49,    50,    51,    52,    53,
-    54,    37,    38,    39,    85,    41,    42,    43,    44,    45,
-    46,    47,    48,    49,    50,    51,    52,    53,    54,    30,
-    -1,    -1,    85,    -1,    -1,    -1,    37,    38,    39,    -1,
-    41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
-    51,    52,    53,    54,    -1,    -1,    -1,    83,    37,    38,
-    39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
-    49,    50,    51,    52,    53,    54,    37,    38,    39,    -1,
-    41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
-    51,    52,    53,    54
+     3,    -1,    -1,    -1,    45,     8,     9,    48,    11,    -1,
+    -1,    -1,    53,    54,    55,    -1,    -1,    -1,    59,    60,
+    -1,    -1,    -1,    64,    -1,    -1,    29,    -1,    31,    -1,
+    33,    34,    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,     3,    45,    84,    85,    48,     8,     9,    -1,    11,
+    53,    54,    55,    -1,    -1,    -1,    59,    60,    -1,    -1,
+    -1,    64,    -1,    -1,    -1,    -1,    -1,    29,    -1,    31,
+    -1,    33,    34,    35,    -1,    -1,    -1,    -1,    -1,    82,
+    -1,    84,    85,    45,    -1,    -1,    48,    -1,    -1,    -1,
+    -1,    53,    54,    55,    -1,    -1,    -1,    59,    60,     3,
+    -1,    -1,    64,    -1,     8,     9,    -1,    11,    46,    47,
+    48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
+    -1,    -1,    84,    85,    -1,    29,    -1,    31,    -1,    33,
+    34,    35,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,
+    -1,    45,     8,     9,    48,    11,    -1,    -1,    -1,    53,
+    54,    55,    -1,    -1,    -1,    59,    60,    -1,    -1,    -1,
+    64,    -1,    -1,    29,    -1,    31,    -1,    33,    34,    35,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,    45,
+    84,    85,    48,     8,     9,    -1,    11,    53,    54,    55,
+    -1,    -1,    -1,    59,    60,    -1,    -1,    -1,    64,    -1,
+    -1,    -1,    -1,    -1,    29,    -1,    31,    -1,    33,    34,
+    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,    85,
+    45,    -1,    -1,    48,    -1,    -1,    -1,    -1,    53,    54,
+    55,    -1,    -1,    -1,    59,    60,    -1,    -1,     1,    64,
+     3,     4,     5,     6,     7,    -1,    -1,    -1,    -1,    12,
+    13,    14,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    84,
+    85,    -1,    -1,    -1,    27,    28,    -1,    30,    31,    40,
+    41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
+    51,    52,    53,    54,    55,    56,    57,    -1,    -1,    -1,
+    -1,    -1,    55,    -1,    -1,    -1,    -1,    -1,    40,    41,
+    42,    64,    44,    45,    46,    47,    48,    49,    50,    51,
+    52,    53,    54,    55,    56,    57,    -1,    88,    -1,    82,
+    40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
+    50,    51,    52,    53,    54,    55,    56,    57,    -1,    -1,
+    -1,    40,    41,    42,    86,    44,    45,    46,    47,    48,
+    49,    50,    51,    52,    53,    54,    55,    56,    57,    47,
+    48,    49,    50,    51,    52,    53,    54,    55,    56,    57
 };
 /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/lib/bison.simple"
+#line 3 "/usr/share/bison.simple"
 /* This file comes from bison-1.28.  */
 
 /* Skeleton output parser for bison,
@@ -1479,7 +1488,7 @@ __yy_memcpy (char *to, char *from, unsigned int count)
 #endif
 #endif
 \f
-#line 217 "/usr/lib/bison.simple"
+#line 217 "/usr/share/bison.simple"
 
 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
    into yyparse.  The argument should have type void *.
@@ -1554,7 +1563,7 @@ yyparse(YYPARSE_PARAM_ARG)
 
   int yylen;
 
-#if YYDEBUG != 0
+#if YYDEBUG != 0 && !defined YYFILE
   if (yydebug)
     fprintf(stderr, "Starting parse\n");
 #endif
@@ -1657,7 +1666,7 @@ yynewstate:
       yylsp = yyls + size - 1;
 #endif
 
-#if YYDEBUG != 0
+#if YYDEBUG != 0 && !defined YYFILE
       if (yydebug)
        fprintf(stderr, "Stack size increased to %d\n", yystacksize);
 #endif
@@ -1666,7 +1675,7 @@ yynewstate:
        YYABORT;
     }
 
-#if YYDEBUG != 0
+#if YYDEBUG != 0 && !defined YYFILE
   if (yydebug)
     fprintf(stderr, "Entering state %d\n", yystate);
 #endif
@@ -1691,7 +1700,7 @@ yynewstate:
 
   if (yychar == YYEMPTY)
     {
-#if YYDEBUG != 0
+#if YYDEBUG != 0 && !defined YYFILE
       if (yydebug)
        fprintf(stderr, "Reading a token: ");
 #endif
@@ -1705,7 +1714,7 @@ yynewstate:
       yychar1 = 0;
       yychar = YYEOF;          /* Don't call YYLEX any more */
 
-#if YYDEBUG != 0
+#if YYDEBUG != 0 && !defined YYFILE
       if (yydebug)
        fprintf(stderr, "Now at end of input.\n");
 #endif
@@ -1714,7 +1723,7 @@ yynewstate:
     {
       yychar1 = YYTRANSLATE(yychar);
 
-#if YYDEBUG != 0
+#if YYDEBUG != 0 && !defined YYFILE
       if (yydebug)
        {
          fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
@@ -1756,7 +1765,7 @@ yynewstate:
 
   /* Shift the lookahead token.  */
 
-#if YYDEBUG != 0
+#if YYDEBUG != 0 && !defined YYFILE
   if (yydebug)
     fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
 #endif
@@ -1793,7 +1802,12 @@ yyreduce:
   if (yydebug)
     {
       int i;
-
+#ifdef YYFILE
+      fprintf (stderr, YYFILE ":%d: %s:", yyrline[yyn], yytname[yyr1[yyn]]);
+      for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
+       fprintf (stderr, " %s", yytname[yyrhs[i]]);
+      fputc ('\n', stderr);
+#else
       fprintf (stderr, "Reducing via rule %d (line %d), ",
               yyn, yyrline[yyn]);
 
@@ -1801,6 +1815,7 @@ yyreduce:
       for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
        fprintf (stderr, "%s ", yytname[yyrhs[i]]);
       fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
+#endif
     }
 #endif
 
@@ -1808,14 +1823,14 @@ yyreduce:
   switch (yyn) {
 
 case 1:
-#line 236 "c-parse.y"
+#line 237 "c-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids an empty source file");
                  finish_file ();
                ;
     break;}
 case 2:
-#line 241 "c-parse.y"
+#line 242 "c-parse.y"
 {
                  /* In case there were missing closebraces,
                     get us back to the global binding level.  */
@@ -1825,15 +1840,15 @@ case 2:
                ;
     break;}
 case 3:
-#line 255 "c-parse.y"
+#line 256 "c-parse.y"
 {yyval.ttype = NULL_TREE; ;
     break;}
 case 5:
-#line 256 "c-parse.y"
+#line 257 "c-parse.y"
 {yyval.ttype = NULL_TREE; ;
     break;}
 case 9:
-#line 263 "c-parse.y"
+#line 264 "c-parse.y"
 { STRIP_NOPS (yyvsp[-2].ttype);
                  if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR
                       && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST)
@@ -1843,11 +1858,11 @@ case 9:
                    error ("argument of `asm' is not a constant string"); ;
     break;}
 case 10:
-#line 271 "c-parse.y"
+#line 272 "c-parse.y"
 { RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
     break;}
 case 11:
-#line 276 "c-parse.y"
+#line 277 "c-parse.y"
 { if (pedantic)
                    error ("ANSI C forbids data definition with no type or storage class");
                  else if (!flag_traditional)
@@ -1858,162 +1873,162 @@ case 11:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 12:
-#line 285 "c-parse.y"
+#line 286 "c-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 13:
-#line 289 "c-parse.y"
+#line 290 "c-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 14:
-#line 293 "c-parse.y"
+#line 294 "c-parse.y"
 { pedwarn ("empty declaration"); ;
     break;}
 case 15:
-#line 295 "c-parse.y"
+#line 296 "c-parse.y"
 { shadow_tag (yyvsp[-1].ttype); ;
     break;}
 case 18:
-#line 299 "c-parse.y"
+#line 300 "c-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C does not allow extra `;' outside of a function"); ;
     break;}
 case 19:
-#line 305 "c-parse.y"
+#line 306 "c-parse.y"
 { if (! start_function (current_declspecs, yyvsp[0].ttype,
                                        prefix_attributes, NULL_TREE))
                    YYERROR1;
                  reinit_parse_for_function (); ;
     break;}
 case 20:
-#line 310 "c-parse.y"
+#line 311 "c-parse.y"
 { store_parm_decls (); ;
     break;}
 case 21:
-#line 312 "c-parse.y"
+#line 313 "c-parse.y"
 { finish_function (0); 
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 22:
-#line 317 "c-parse.y"
+#line 318 "c-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 23:
-#line 321 "c-parse.y"
+#line 322 "c-parse.y"
 { if (! start_function (current_declspecs, yyvsp[0].ttype,
                                        prefix_attributes, NULL_TREE))
                    YYERROR1;
                  reinit_parse_for_function (); ;
     break;}
 case 24:
-#line 326 "c-parse.y"
+#line 327 "c-parse.y"
 { store_parm_decls (); ;
     break;}
 case 25:
-#line 328 "c-parse.y"
+#line 329 "c-parse.y"
 { finish_function (0); 
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 26:
-#line 333 "c-parse.y"
+#line 334 "c-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 27:
-#line 337 "c-parse.y"
+#line 338 "c-parse.y"
 { if (! start_function (NULL_TREE, yyvsp[0].ttype,
                                        prefix_attributes, NULL_TREE))
                    YYERROR1;
                  reinit_parse_for_function (); ;
     break;}
 case 28:
-#line 342 "c-parse.y"
+#line 343 "c-parse.y"
 { store_parm_decls (); ;
     break;}
 case 29:
-#line 344 "c-parse.y"
+#line 345 "c-parse.y"
 { finish_function (0); 
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 30:
-#line 349 "c-parse.y"
+#line 350 "c-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 33:
-#line 360 "c-parse.y"
+#line 361 "c-parse.y"
 { yyval.code = ADDR_EXPR; ;
     break;}
 case 34:
-#line 362 "c-parse.y"
+#line 363 "c-parse.y"
 { yyval.code = NEGATE_EXPR; ;
     break;}
 case 35:
-#line 364 "c-parse.y"
+#line 365 "c-parse.y"
 { yyval.code = CONVERT_EXPR; ;
     break;}
 case 36:
-#line 366 "c-parse.y"
+#line 367 "c-parse.y"
 { yyval.code = PREINCREMENT_EXPR; ;
     break;}
 case 37:
-#line 368 "c-parse.y"
+#line 369 "c-parse.y"
 { yyval.code = PREDECREMENT_EXPR; ;
     break;}
 case 38:
-#line 370 "c-parse.y"
+#line 371 "c-parse.y"
 { yyval.code = BIT_NOT_EXPR; ;
     break;}
 case 39:
-#line 372 "c-parse.y"
+#line 373 "c-parse.y"
 { yyval.code = TRUTH_NOT_EXPR; ;
     break;}
 case 40:
-#line 376 "c-parse.y"
+#line 377 "c-parse.y"
 { yyval.ttype = build_compound_expr (yyvsp[0].ttype); ;
     break;}
 case 41:
-#line 381 "c-parse.y"
+#line 382 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 43:
-#line 387 "c-parse.y"
+#line 388 "c-parse.y"
 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 44:
-#line 389 "c-parse.y"
+#line 390 "c-parse.y"
 { chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
     break;}
 case 46:
-#line 395 "c-parse.y"
+#line 396 "c-parse.y"
 { yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ;
     break;}
 case 47:
-#line 398 "c-parse.y"
+#line 399 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
     break;}
 case 48:
-#line 401 "c-parse.y"
+#line 402 "c-parse.y"
 { yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0);
                  overflow_warning (yyval.ttype); ;
     break;}
 case 49:
-#line 405 "c-parse.y"
+#line 406 "c-parse.y"
 { tree label = lookup_label (yyvsp[0].ttype);
                  if (pedantic)
                    pedwarn ("ANSI C forbids `&&'");
@@ -2028,7 +2043,7 @@ case 49:
                ;
     break;}
 case 50:
-#line 433 "c-parse.y"
+#line 434 "c-parse.y"
 { skip_evaluation--;
                  if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
                      && DECL_C_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
@@ -2036,53 +2051,53 @@ case 50:
                  yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
     break;}
 case 51:
-#line 439 "c-parse.y"
+#line 440 "c-parse.y"
 { skip_evaluation--;
                  yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
     break;}
 case 52:
-#line 442 "c-parse.y"
+#line 443 "c-parse.y"
 { skip_evaluation--;
                  yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ;
     break;}
 case 53:
-#line 445 "c-parse.y"
+#line 446 "c-parse.y"
 { skip_evaluation--;
                  yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
     break;}
 case 54:
-#line 448 "c-parse.y"
+#line 449 "c-parse.y"
 { yyval.ttype = build_unary_op (REALPART_EXPR, yyvsp[0].ttype, 0); ;
     break;}
 case 55:
-#line 450 "c-parse.y"
+#line 451 "c-parse.y"
 { yyval.ttype = build_unary_op (IMAGPART_EXPR, yyvsp[0].ttype, 0); ;
     break;}
 case 56:
-#line 452 "c-parse.y"
+#line 453 "c-parse.y"
 { yyval.ttype = build_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ttype)); ;
     break;}
 case 57:
-#line 456 "c-parse.y"
+#line 457 "c-parse.y"
 { skip_evaluation++; ;
     break;}
 case 58:
-#line 460 "c-parse.y"
+#line 461 "c-parse.y"
 { skip_evaluation++; ;
     break;}
 case 60:
-#line 466 "c-parse.y"
+#line 467 "c-parse.y"
 { tree type = groktypename (yyvsp[-2].ttype);
                  yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
     break;}
 case 61:
-#line 469 "c-parse.y"
+#line 470 "c-parse.y"
 { start_init (NULL_TREE, NULL, 0);
                  yyvsp[-2].ttype = groktypename (yyvsp[-2].ttype);
                  really_start_incremental_init (yyvsp[-2].ttype); ;
     break;}
 case 62:
-#line 473 "c-parse.y"
+#line 474 "c-parse.y"
 { const char *name;
                  tree result = pop_init_level (0);
                  tree type = yyvsp[-5].ttype;
@@ -2109,90 +2124,90 @@ case 62:
                ;
     break;}
 case 64:
-#line 502 "c-parse.y"
+#line 503 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 65:
-#line 504 "c-parse.y"
+#line 505 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 66:
-#line 506 "c-parse.y"
+#line 507 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 67:
-#line 508 "c-parse.y"
+#line 509 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 68:
-#line 510 "c-parse.y"
+#line 511 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 69:
-#line 512 "c-parse.y"
+#line 513 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 70:
-#line 514 "c-parse.y"
+#line 515 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 71:
-#line 516 "c-parse.y"
+#line 517 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 72:
-#line 518 "c-parse.y"
+#line 519 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 73:
-#line 520 "c-parse.y"
+#line 521 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 74:
-#line 522 "c-parse.y"
+#line 523 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 75:
-#line 524 "c-parse.y"
+#line 525 "c-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 76:
-#line 526 "c-parse.y"
+#line 527 "c-parse.y"
 { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
                  skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
     break;}
 case 77:
-#line 529 "c-parse.y"
+#line 530 "c-parse.y"
 { skip_evaluation -= yyvsp[-3].ttype == boolean_false_node;
                  yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
     break;}
 case 78:
-#line 532 "c-parse.y"
+#line 533 "c-parse.y"
 { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
                  skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
     break;}
 case 79:
-#line 535 "c-parse.y"
+#line 536 "c-parse.y"
 { skip_evaluation -= yyvsp[-3].ttype == boolean_true_node;
                  yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
     break;}
 case 80:
-#line 538 "c-parse.y"
+#line 539 "c-parse.y"
 { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
                  skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
     break;}
 case 81:
-#line 541 "c-parse.y"
+#line 542 "c-parse.y"
 { skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node)
                                      - (yyvsp[-4].ttype == boolean_false_node)); ;
     break;}
 case 82:
-#line 544 "c-parse.y"
+#line 545 "c-parse.y"
 { skip_evaluation -= yyvsp[-6].ttype == boolean_true_node;
                  yyval.ttype = build_conditional_expr (yyvsp[-6].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
     break;}
 case 83:
-#line 547 "c-parse.y"
+#line 548 "c-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids omitting the middle term of a ?: expression");
                  /* Make sure first operand is calculated only once.  */
@@ -2201,12 +2216,12 @@ case 83:
                  skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
     break;}
 case 84:
-#line 554 "c-parse.y"
+#line 555 "c-parse.y"
 { skip_evaluation -= yyvsp[-4].ttype == boolean_true_node;
                  yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
     break;}
 case 85:
-#line 557 "c-parse.y"
+#line 558 "c-parse.y"
 { char class;
                  yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype);
                  class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
@@ -2216,7 +2231,7 @@ case 85:
                ;
     break;}
 case 86:
-#line 565 "c-parse.y"
+#line 566 "c-parse.y"
 { char class;
                  yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype);
                  /* This inhibits warnings in truthvalue_conversion.  */
@@ -2227,7 +2242,7 @@ case 86:
                ;
     break;}
 case 87:
-#line 577 "c-parse.y"
+#line 578 "c-parse.y"
 {
                  yyval.ttype = lastiddecl;
                  if (!yyval.ttype || yyval.ttype == error_mark_node)
@@ -2327,11 +2342,11 @@ case 87:
                ;
     break;}
 case 89:
-#line 676 "c-parse.y"
+#line 677 "c-parse.y"
 { yyval.ttype = combine_strings (yyvsp[0].ttype); ;
     break;}
 case 90:
-#line 678 "c-parse.y"
+#line 679 "c-parse.y"
 { char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype));
                  if (class == 'e' || class == '1'
                      || class == '2' || class == '<')
@@ -2339,11 +2354,11 @@ case 90:
                  yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 91:
-#line 684 "c-parse.y"
+#line 685 "c-parse.y"
 { yyval.ttype = error_mark_node; ;
     break;}
 case 92:
-#line 686 "c-parse.y"
+#line 687 "c-parse.y"
 { tree rtl_exp;
                  if (pedantic)
                    pedwarn ("ANSI C forbids braced-groups within expressions");
@@ -2368,7 +2383,7 @@ case 92:
                ;
     break;}
 case 93:
-#line 709 "c-parse.y"
+#line 710 "c-parse.y"
 {
                  /* Make sure we call expand_end_stmt_expr.  Otherwise
                     we are likely to lose sequences and crash later.  */
@@ -2379,21 +2394,21 @@ case 93:
                ;
     break;}
 case 94:
-#line 718 "c-parse.y"
+#line 719 "c-parse.y"
 { yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 95:
-#line 720 "c-parse.y"
+#line 721 "c-parse.y"
 { yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 96:
-#line 722 "c-parse.y"
+#line 723 "c-parse.y"
 {
                    yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 97:
-#line 726 "c-parse.y"
+#line 727 "c-parse.y"
 {
                   tree expr = build_indirect_ref (yyvsp[-2].ttype, "->");
 
@@ -2401,57 +2416,57 @@ case 97:
                ;
     break;}
 case 98:
-#line 732 "c-parse.y"
+#line 733 "c-parse.y"
 { yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ;
     break;}
 case 99:
-#line 734 "c-parse.y"
+#line 735 "c-parse.y"
 { yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ;
     break;}
 case 101:
-#line 741 "c-parse.y"
+#line 742 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
                  if (warn_traditional && !in_system_header)
                    warning ("Use of ANSI string concatenation");
                ;
     break;}
 case 104:
-#line 753 "c-parse.y"
+#line 754 "c-parse.y"
 { c_mark_varargs ();
                  if (pedantic)
                    pedwarn ("ANSI C does not permit use of `varargs.h'"); ;
     break;}
 case 105:
-#line 763 "c-parse.y"
+#line 764 "c-parse.y"
 { ;
     break;}
 case 110:
-#line 779 "c-parse.y"
+#line 780 "c-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 111:
-#line 783 "c-parse.y"
+#line 784 "c-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);     
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 112:
-#line 787 "c-parse.y"
+#line 788 "c-parse.y"
 { shadow_tag_warned (yyvsp[-1].ttype, 1);
                  pedwarn ("empty declaration"); ;
     break;}
 case 113:
-#line 790 "c-parse.y"
+#line 791 "c-parse.y"
 { pedwarn ("empty declaration"); ;
     break;}
 case 114:
-#line 799 "c-parse.y"
+#line 800 "c-parse.y"
 { ;
     break;}
 case 119:
-#line 814 "c-parse.y"
+#line 815 "c-parse.y"
 { pending_xref_error ();
                  declspec_stack = tree_cons (prefix_attributes,
                                              current_declspecs,
@@ -2460,127 +2475,127 @@ case 119:
                                     &current_declspecs, &prefix_attributes); ;
     break;}
 case 120:
-#line 824 "c-parse.y"
+#line 825 "c-parse.y"
 { prefix_attributes = chainon (prefix_attributes, yyvsp[0].ttype); ;
     break;}
 case 121:
-#line 829 "c-parse.y"
+#line 830 "c-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 122:
-#line 833 "c-parse.y"
+#line 834 "c-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 123:
-#line 837 "c-parse.y"
+#line 838 "c-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 124:
-#line 841 "c-parse.y"
+#line 842 "c-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 125:
-#line 845 "c-parse.y"
+#line 846 "c-parse.y"
 { shadow_tag (yyvsp[-1].ttype); ;
     break;}
 case 126:
-#line 847 "c-parse.y"
+#line 848 "c-parse.y"
 { pedwarn ("empty declaration"); ;
     break;}
 case 127:
-#line 849 "c-parse.y"
+#line 850 "c-parse.y"
 { RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
     break;}
 case 128:
-#line 859 "c-parse.y"
+#line 860 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 129:
-#line 861 "c-parse.y"
+#line 862 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
     break;}
 case 130:
-#line 865 "c-parse.y"
+#line 866 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 131:
-#line 867 "c-parse.y"
+#line 868 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 132:
-#line 869 "c-parse.y"
+#line 870 "c-parse.y"
 { if (extra_warnings)
                    warning ("`%s' is not at beginning of declaration",
                             IDENTIFIER_POINTER (yyvsp[0].ttype));
                  yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 133:
-#line 874 "c-parse.y"
+#line 875 "c-parse.y"
 { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 134:
-#line 879 "c-parse.y"
+#line 880 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 135:
-#line 881 "c-parse.y"
+#line 882 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
     break;}
 case 136:
-#line 886 "c-parse.y"
+#line 887 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 137:
-#line 888 "c-parse.y"
+#line 889 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 138:
-#line 890 "c-parse.y"
+#line 891 "c-parse.y"
 { if (extra_warnings)
                    warning ("`%s' is not at beginning of declaration",
                             IDENTIFIER_POINTER (yyvsp[0].ttype));
                  yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 139:
-#line 903 "c-parse.y"
+#line 904 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 140:
-#line 905 "c-parse.y"
+#line 906 "c-parse.y"
 { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
     break;}
 case 141:
-#line 907 "c-parse.y"
+#line 908 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 142:
-#line 909 "c-parse.y"
+#line 910 "c-parse.y"
 { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 143:
-#line 914 "c-parse.y"
+#line 915 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
                  TREE_STATIC (yyval.ttype) = 1; ;
     break;}
 case 144:
-#line 917 "c-parse.y"
+#line 918 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 145:
-#line 919 "c-parse.y"
+#line 920 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
                  TREE_STATIC (yyval.ttype) = 1; ;
     break;}
 case 146:
-#line 922 "c-parse.y"
+#line 923 "c-parse.y"
 { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
                    warning ("`%s' is not at beginning of declaration",
                             IDENTIFIER_POINTER (yyvsp[0].ttype));
@@ -2588,176 +2603,176 @@ case 146:
                  TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
     break;}
 case 147:
-#line 936 "c-parse.y"
+#line 937 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 148:
-#line 938 "c-parse.y"
+#line 939 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
     break;}
 case 149:
-#line 942 "c-parse.y"
+#line 943 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 150:
-#line 944 "c-parse.y"
+#line 945 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 153:
-#line 954 "c-parse.y"
+#line 955 "c-parse.y"
 { /* For a typedef name, record the meaning, not the name.
                     In case of `foo foo, bar;'.  */
                  yyval.ttype = lookup_name (yyvsp[0].ttype); ;
     break;}
 case 154:
-#line 958 "c-parse.y"
+#line 959 "c-parse.y"
 { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ;
     break;}
 case 155:
-#line 960 "c-parse.y"
+#line 961 "c-parse.y"
 { yyval.ttype = groktypename (yyvsp[-1].ttype); ;
     break;}
 case 163:
-#line 982 "c-parse.y"
+#line 983 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 164:
-#line 984 "c-parse.y"
+#line 985 "c-parse.y"
 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
                  yyval.ttype = yyvsp[-1].ttype;
                ;
     break;}
 case 165:
-#line 991 "c-parse.y"
+#line 992 "c-parse.y"
 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
                                          yyvsp[-1].ttype, prefix_attributes);
                  start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
     break;}
 case 166:
-#line 996 "c-parse.y"
+#line 997 "c-parse.y"
 { finish_init ();
                  finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
     break;}
 case 167:
-#line 999 "c-parse.y"
+#line 1000 "c-parse.y"
 { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
                                       yyvsp[0].ttype, prefix_attributes);
                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype); 
                 ;
     break;}
 case 168:
-#line 1007 "c-parse.y"
+#line 1008 "c-parse.y"
 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
                                          yyvsp[-1].ttype, prefix_attributes);
                  start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
     break;}
 case 169:
-#line 1012 "c-parse.y"
+#line 1013 "c-parse.y"
 { finish_init ();
                  decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype, prefix_attributes);
                  finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
     break;}
 case 170:
-#line 1016 "c-parse.y"
+#line 1017 "c-parse.y"
 { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
                                       yyvsp[0].ttype, prefix_attributes);
                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 171:
-#line 1024 "c-parse.y"
+#line 1025 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 172:
-#line 1026 "c-parse.y"
+#line 1027 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 173:
-#line 1031 "c-parse.y"
+#line 1032 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 174:
-#line 1033 "c-parse.y"
+#line 1034 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 175:
-#line 1038 "c-parse.y"
+#line 1039 "c-parse.y"
 { yyval.ttype = yyvsp[-2].ttype; ;
     break;}
 case 176:
-#line 1043 "c-parse.y"
+#line 1044 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 177:
-#line 1045 "c-parse.y"
+#line 1046 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 178:
-#line 1050 "c-parse.y"
+#line 1051 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 179:
-#line 1052 "c-parse.y"
+#line 1053 "c-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 180:
-#line 1054 "c-parse.y"
+#line 1055 "c-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
     break;}
 case 181:
-#line 1056 "c-parse.y"
+#line 1057 "c-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
     break;}
 case 182:
-#line 1058 "c-parse.y"
+#line 1059 "c-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 188:
-#line 1076 "c-parse.y"
+#line 1077 "c-parse.y"
 { really_start_incremental_init (NULL_TREE); ;
     break;}
 case 189:
-#line 1078 "c-parse.y"
+#line 1079 "c-parse.y"
 { yyval.ttype = pop_init_level (0); ;
     break;}
 case 190:
-#line 1080 "c-parse.y"
+#line 1081 "c-parse.y"
 { yyval.ttype = error_mark_node; ;
     break;}
 case 191:
-#line 1086 "c-parse.y"
+#line 1087 "c-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids empty initializer braces"); ;
     break;}
 case 197:
-#line 1102 "c-parse.y"
+#line 1103 "c-parse.y"
 { set_init_label (yyvsp[-1].ttype); ;
     break;}
 case 200:
-#line 1109 "c-parse.y"
+#line 1110 "c-parse.y"
 { push_init_level (0); ;
     break;}
 case 201:
-#line 1111 "c-parse.y"
+#line 1112 "c-parse.y"
 { process_init_element (pop_init_level (0)); ;
     break;}
 case 202:
-#line 1113 "c-parse.y"
+#line 1114 "c-parse.y"
 { process_init_element (yyvsp[0].ttype); ;
     break;}
 case 206:
-#line 1124 "c-parse.y"
+#line 1125 "c-parse.y"
 { set_init_label (yyvsp[0].ttype); ;
     break;}
 case 207:
-#line 1129 "c-parse.y"
+#line 1130 "c-parse.y"
 { set_init_index (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 208:
-#line 1131 "c-parse.y"
+#line 1132 "c-parse.y"
 { set_init_index (yyvsp[-1].ttype, NULL_TREE); ;
     break;}
 case 209:
-#line 1136 "c-parse.y"
+#line 1137 "c-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids nested functions");
 
@@ -2771,16 +2786,16 @@ case 209:
                  reinit_parse_for_function (); ;
     break;}
 case 210:
-#line 1148 "c-parse.y"
+#line 1149 "c-parse.y"
 { store_parm_decls (); ;
     break;}
 case 211:
-#line 1156 "c-parse.y"
+#line 1157 "c-parse.y"
 { finish_function (1);
                  pop_function_context (); ;
     break;}
 case 212:
-#line 1162 "c-parse.y"
+#line 1163 "c-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids nested functions");
 
@@ -2794,216 +2809,216 @@ case 212:
                  reinit_parse_for_function (); ;
     break;}
 case 213:
-#line 1174 "c-parse.y"
+#line 1175 "c-parse.y"
 { store_parm_decls (); ;
     break;}
 case 214:
-#line 1182 "c-parse.y"
+#line 1183 "c-parse.y"
 { finish_function (1);
                  pop_function_context (); ;
     break;}
 case 217:
-#line 1198 "c-parse.y"
+#line 1199 "c-parse.y"
 { yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 218:
-#line 1200 "c-parse.y"
+#line 1201 "c-parse.y"
 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 219:
-#line 1205 "c-parse.y"
+#line 1206 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 220:
-#line 1207 "c-parse.y"
+#line 1208 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
     break;}
 case 221:
-#line 1209 "c-parse.y"
+#line 1210 "c-parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 222:
-#line 1216 "c-parse.y"
+#line 1217 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 224:
-#line 1227 "c-parse.y"
+#line 1228 "c-parse.y"
 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 225:
-#line 1232 "c-parse.y"
+#line 1233 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, NULL_TREE);
                  if (! flag_isoc99)
                    error ("`[*]' in parameter declaration only allowed in ISO C 99");
                ;
     break;}
 case 226:
-#line 1237 "c-parse.y"
+#line 1238 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 227:
-#line 1239 "c-parse.y"
+#line 1240 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
     break;}
 case 228:
-#line 1241 "c-parse.y"
+#line 1242 "c-parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 229:
-#line 1248 "c-parse.y"
+#line 1249 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 231:
-#line 1257 "c-parse.y"
+#line 1258 "c-parse.y"
 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 232:
-#line 1262 "c-parse.y"
+#line 1263 "c-parse.y"
 { yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 233:
-#line 1264 "c-parse.y"
+#line 1265 "c-parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 234:
-#line 1266 "c-parse.y"
+#line 1267 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, NULL_TREE);
                  if (! flag_isoc99)
                    error ("`[*]' in parameter declaration only allowed in ISO C 99");
                ;
     break;}
 case 235:
-#line 1271 "c-parse.y"
+#line 1272 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 236:
-#line 1273 "c-parse.y"
+#line 1274 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
     break;}
 case 237:
-#line 1280 "c-parse.y"
+#line 1281 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 239:
-#line 1286 "c-parse.y"
+#line 1287 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 240:
-#line 1288 "c-parse.y"
+#line 1289 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 241:
-#line 1293 "c-parse.y"
+#line 1294 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 242:
-#line 1295 "c-parse.y"
+#line 1296 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 243:
-#line 1300 "c-parse.y"
+#line 1301 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 244:
-#line 1302 "c-parse.y"
+#line 1303 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 245:
-#line 1307 "c-parse.y"
+#line 1308 "c-parse.y"
 { yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype);
                  /* Start scope of tag before parsing components.  */
                ;
     break;}
 case 246:
-#line 1311 "c-parse.y"
+#line 1312 "c-parse.y"
 { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
     break;}
 case 247:
-#line 1313 "c-parse.y"
+#line 1314 "c-parse.y"
 { yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE),
                                      yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
                ;
     break;}
 case 248:
-#line 1317 "c-parse.y"
+#line 1318 "c-parse.y"
 { yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ;
     break;}
 case 249:
-#line 1319 "c-parse.y"
+#line 1320 "c-parse.y"
 { yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ;
     break;}
 case 250:
-#line 1321 "c-parse.y"
+#line 1322 "c-parse.y"
 { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
     break;}
 case 251:
-#line 1323 "c-parse.y"
+#line 1324 "c-parse.y"
 { yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE),
                                      yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
                ;
     break;}
 case 252:
-#line 1327 "c-parse.y"
+#line 1328 "c-parse.y"
 { yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ;
     break;}
 case 253:
-#line 1329 "c-parse.y"
+#line 1330 "c-parse.y"
 { yyval.ttype = start_enum (yyvsp[-1].ttype); ;
     break;}
 case 254:
-#line 1331 "c-parse.y"
+#line 1332 "c-parse.y"
 { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
                                    chainon (yyvsp[-7].ttype, yyvsp[0].ttype)); ;
     break;}
 case 255:
-#line 1334 "c-parse.y"
+#line 1335 "c-parse.y"
 { yyval.ttype = start_enum (NULL_TREE); ;
     break;}
 case 256:
-#line 1336 "c-parse.y"
+#line 1337 "c-parse.y"
 { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
                                    chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
     break;}
 case 257:
-#line 1339 "c-parse.y"
+#line 1340 "c-parse.y"
 { yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); ;
     break;}
 case 261:
-#line 1350 "c-parse.y"
+#line 1351 "c-parse.y"
 { if (pedantic && ! flag_isoc99)
                    pedwarn ("comma at end of enumerator list"); ;
     break;}
 case 262:
-#line 1356 "c-parse.y"
+#line 1357 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 263:
-#line 1358 "c-parse.y"
+#line 1359 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
                  pedwarn ("no semicolon at end of struct or union"); ;
     break;}
 case 264:
-#line 1363 "c-parse.y"
+#line 1364 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 265:
-#line 1365 "c-parse.y"
+#line 1366 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
     break;}
 case 266:
-#line 1367 "c-parse.y"
+#line 1368 "c-parse.y"
 { if (pedantic)
                    pedwarn ("extra semicolon in struct or union specified"); ;
     break;}
 case 267:
-#line 1382 "c-parse.y"
+#line 1383 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 268:
-#line 1387 "c-parse.y"
+#line 1388 "c-parse.y"
 {
                  /* Support for unnamed structs or unions as members of 
                     structs or unions (which is [a] useful and [b] supports 
@@ -3018,151 +3033,151 @@ case 268:
                ;
     break;}
 case 269:
-#line 1400 "c-parse.y"
+#line 1401 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 270:
-#line 1405 "c-parse.y"
+#line 1406 "c-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids member declarations with no members");
                  shadow_tag(yyvsp[0].ttype);
                  yyval.ttype = NULL_TREE; ;
     break;}
 case 271:
-#line 1410 "c-parse.y"
+#line 1411 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 272:
-#line 1412 "c-parse.y"
+#line 1413 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
     break;}
 case 274:
-#line 1419 "c-parse.y"
+#line 1420 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 275:
-#line 1424 "c-parse.y"
+#line 1425 "c-parse.y"
 { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE);
                  decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
     break;}
 case 276:
-#line 1428 "c-parse.y"
+#line 1429 "c-parse.y"
 { yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype);
                  decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
     break;}
 case 277:
-#line 1431 "c-parse.y"
+#line 1432 "c-parse.y"
 { yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype);
                  decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
     break;}
 case 279:
-#line 1443 "c-parse.y"
+#line 1444 "c-parse.y"
 { if (yyvsp[-2].ttype == error_mark_node)
                    yyval.ttype = yyvsp[-2].ttype;
                  else
                    yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ;
     break;}
 case 280:
-#line 1448 "c-parse.y"
+#line 1449 "c-parse.y"
 { yyval.ttype = error_mark_node; ;
     break;}
 case 281:
-#line 1454 "c-parse.y"
+#line 1455 "c-parse.y"
 { yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 282:
-#line 1456 "c-parse.y"
+#line 1457 "c-parse.y"
 { yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 283:
-#line 1461 "c-parse.y"
+#line 1462 "c-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 284:
-#line 1463 "c-parse.y"
+#line 1464 "c-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 285:
-#line 1468 "c-parse.y"
+#line 1469 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 287:
-#line 1474 "c-parse.y"
+#line 1475 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 288:
-#line 1476 "c-parse.y"
+#line 1477 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 289:
-#line 1481 "c-parse.y"
+#line 1482 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 290:
-#line 1483 "c-parse.y"
+#line 1484 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 291:
-#line 1488 "c-parse.y"
+#line 1489 "c-parse.y"
 { yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 292:
-#line 1491 "c-parse.y"
+#line 1492 "c-parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 293:
-#line 1493 "c-parse.y"
+#line 1494 "c-parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 294:
-#line 1495 "c-parse.y"
+#line 1496 "c-parse.y"
 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 295:
-#line 1497 "c-parse.y"
+#line 1498 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 296:
-#line 1499 "c-parse.y"
+#line 1500 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
     break;}
 case 297:
-#line 1501 "c-parse.y"
+#line 1502 "c-parse.y"
 { yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 298:
-#line 1503 "c-parse.y"
+#line 1504 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 299:
-#line 1505 "c-parse.y"
+#line 1506 "c-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ;
     break;}
 case 300:
-#line 1509 "c-parse.y"
+#line 1510 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 301:
-#line 1518 "c-parse.y"
+#line 1519 "c-parse.y"
 {
                  if (pedantic && yyvsp[0].ends_in_label)
                    pedwarn ("ANSI C forbids label at end of compound statement");
                ;
     break;}
 case 303:
-#line 1527 "c-parse.y"
+#line 1528 "c-parse.y"
 { yyval.ends_in_label = yyvsp[0].ends_in_label; ;
     break;}
 case 304:
-#line 1529 "c-parse.y"
+#line 1530 "c-parse.y"
 { yyval.ends_in_label = 0; ;
     break;}
 case 308:
-#line 1541 "c-parse.y"
+#line 1542 "c-parse.y"
 { emit_line_note (input_filename, lineno);
                  pushlevel (0);
                  clear_last_expr ();
@@ -3170,12 +3185,12 @@ case 308:
                ;
     break;}
 case 310:
-#line 1553 "c-parse.y"
+#line 1554 "c-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids label declarations"); ;
     break;}
 case 313:
-#line 1564 "c-parse.y"
+#line 1565 "c-parse.y"
 { tree link;
                  for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
                    {
@@ -3186,37 +3201,37 @@ case 313:
                ;
     break;}
 case 314:
-#line 1578 "c-parse.y"
+#line 1579 "c-parse.y"
 {;
     break;}
 case 316:
-#line 1582 "c-parse.y"
+#line 1583 "c-parse.y"
 { compstmt_count++; ;
     break;}
 case 317:
-#line 1585 "c-parse.y"
+#line 1586 "c-parse.y"
 { yyval.ttype = convert (void_type_node, integer_zero_node); ;
     break;}
 case 318:
-#line 1587 "c-parse.y"
+#line 1588 "c-parse.y"
 { emit_line_note (input_filename, lineno);
                  expand_end_bindings (getdecls (), 1, 0);
                  yyval.ttype = poplevel (1, 1, 0); ;
     break;}
 case 319:
-#line 1591 "c-parse.y"
+#line 1592 "c-parse.y"
 { emit_line_note (input_filename, lineno);
                  expand_end_bindings (getdecls (), kept_level_p (), 0);
                  yyval.ttype = poplevel (kept_level_p (), 0, 0); ;
     break;}
 case 320:
-#line 1595 "c-parse.y"
+#line 1596 "c-parse.y"
 { emit_line_note (input_filename, lineno);
                  expand_end_bindings (getdecls (), kept_level_p (), 0);
                  yyval.ttype = poplevel (kept_level_p (), 0, 0); ;
     break;}
 case 321:
-#line 1602 "c-parse.y"
+#line 1603 "c-parse.y"
 { if (current_function_decl == 0)
                    {
                      error ("braced-group within expression allowed only inside a function");
@@ -3234,11 +3249,11 @@ case 321:
                ;
     break;}
 case 322:
-#line 1619 "c-parse.y"
+#line 1620 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 325:
-#line 1633 "c-parse.y"
+#line 1634 "c-parse.y"
 { emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
                  c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0, 
                                       compstmt_count);
@@ -3248,7 +3263,7 @@ case 325:
                  position_after_white_space (); ;
     break;}
 case 326:
-#line 1647 "c-parse.y"
+#line 1648 "c-parse.y"
 { stmt_count++;
                  compstmt_count++;
                  emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
@@ -3258,43 +3273,43 @@ case 326:
                  position_after_white_space (); ;
     break;}
 case 327:
-#line 1655 "c-parse.y"
+#line 1656 "c-parse.y"
 { expand_loop_continue_here (); ;
     break;}
 case 328:
-#line 1659 "c-parse.y"
+#line 1660 "c-parse.y"
 { yyval.filename = input_filename; ;
     break;}
 case 329:
-#line 1663 "c-parse.y"
+#line 1664 "c-parse.y"
 { yyval.lineno = lineno; ;
     break;}
 case 330:
-#line 1668 "c-parse.y"
+#line 1669 "c-parse.y"
 { ;
     break;}
 case 331:
-#line 1673 "c-parse.y"
+#line 1674 "c-parse.y"
 { ;
     break;}
 case 332:
-#line 1678 "c-parse.y"
+#line 1679 "c-parse.y"
 { yyval.ends_in_label = yyvsp[0].ends_in_label; ;
     break;}
 case 333:
-#line 1683 "c-parse.y"
+#line 1684 "c-parse.y"
 { yyval.ends_in_label = 0; ;
     break;}
 case 334:
-#line 1685 "c-parse.y"
+#line 1686 "c-parse.y"
 { yyval.ends_in_label = 1; ;
     break;}
 case 335:
-#line 1691 "c-parse.y"
+#line 1692 "c-parse.y"
 { stmt_count++; ;
     break;}
 case 337:
-#line 1694 "c-parse.y"
+#line 1695 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
 /* It appears that this should not be done--that a non-lvalue array
@@ -3312,19 +3327,19 @@ case 337:
                  iterator_expand (yyvsp[-1].ttype); ;
     break;}
 case 338:
-#line 1710 "c-parse.y"
+#line 1711 "c-parse.y"
 { c_expand_start_else ();
                  yyvsp[-1].itype = stmt_count;
                  position_after_white_space (); ;
     break;}
 case 339:
-#line 1714 "c-parse.y"
+#line 1715 "c-parse.y"
 { c_expand_end_cond ();
                  if (extra_warnings && stmt_count == yyvsp[-3].itype)
                    warning ("empty body in an else-statement"); ;
     break;}
 case 340:
-#line 1718 "c-parse.y"
+#line 1719 "c-parse.y"
 { c_expand_end_cond ();
                  /* This warning is here instead of in simple_if, because we
                     do not want a warning if an empty if is followed by an
@@ -3335,11 +3350,11 @@ case 340:
                                                "empty body in an if-statement"); ;
     break;}
 case 341:
-#line 1730 "c-parse.y"
+#line 1731 "c-parse.y"
 { c_expand_end_cond (); ;
     break;}
 case 342:
-#line 1732 "c-parse.y"
+#line 1733 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
                  /* The emit_nop used to come before emit_line_note,
@@ -3351,7 +3366,7 @@ case 342:
                  emit_nop (); ;
     break;}
 case 343:
-#line 1742 "c-parse.y"
+#line 1743 "c-parse.y"
 { /* Don't start the loop till we have succeeded
                     in parsing the end test.  This is to make sure
                     that we end every loop we start.  */
@@ -3362,22 +3377,22 @@ case 343:
                  position_after_white_space (); ;
     break;}
 case 344:
-#line 1751 "c-parse.y"
+#line 1752 "c-parse.y"
 { expand_end_loop (); ;
     break;}
 case 345:
-#line 1754 "c-parse.y"
+#line 1755 "c-parse.y"
 { emit_line_note (input_filename, lineno);
                  expand_exit_loop_if_false (NULL_PTR,
                                             truthvalue_conversion (yyvsp[-2].ttype));
                  expand_end_loop (); ;
     break;}
 case 346:
-#line 1760 "c-parse.y"
+#line 1761 "c-parse.y"
 { expand_end_loop (); ;
     break;}
 case 347:
-#line 1763 "c-parse.y"
+#line 1764 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
                  /* See comment in `while' alternative, above.  */
@@ -3390,12 +3405,12 @@ case 347:
                ;
     break;}
 case 348:
-#line 1775 "c-parse.y"
+#line 1776 "c-parse.y"
 { yyvsp[0].lineno = lineno;
                  yyval.filename = input_filename; ;
     break;}
 case 349:
-#line 1778 "c-parse.y"
+#line 1779 "c-parse.y"
 { 
                  /* Start the loop.  Doing this after parsing
                     all the expressions ensures we will end the loop.  */
@@ -3410,7 +3425,7 @@ case 349:
                  position_after_white_space (); ;
     break;}
 case 350:
-#line 1791 "c-parse.y"
+#line 1792 "c-parse.y"
 { /* Emit the increment expression, with a line number.  */
                  emit_line_note (yyvsp[-4].filename, yyvsp[-5].lineno);
                  expand_loop_continue_here ();
@@ -3419,44 +3434,44 @@ case 350:
                  expand_end_loop (); ;
     break;}
 case 351:
-#line 1798 "c-parse.y"
+#line 1799 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
                  c_expand_start_case (yyvsp[-1].ttype);
                  position_after_white_space (); ;
     break;}
 case 352:
-#line 1803 "c-parse.y"
+#line 1804 "c-parse.y"
 { expand_end_case (yyvsp[-3].ttype); ;
     break;}
 case 353:
-#line 1805 "c-parse.y"
+#line 1806 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
                  if ( ! expand_exit_something ())
                    error ("break statement not within loop or switch"); ;
     break;}
 case 354:
-#line 1810 "c-parse.y"
+#line 1811 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
                  if (! expand_continue_loop (NULL_PTR))
                    error ("continue statement not within a loop"); ;
     break;}
 case 355:
-#line 1815 "c-parse.y"
+#line 1816 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
                  c_expand_return (NULL_TREE); ;
     break;}
 case 356:
-#line 1819 "c-parse.y"
+#line 1820 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
                  c_expand_return (yyvsp[-1].ttype); ;
     break;}
 case 357:
-#line 1823 "c-parse.y"
+#line 1824 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-7].filename, yyvsp[-6].lineno);
                  STRIP_NOPS (yyvsp[-2].ttype);
@@ -3468,7 +3483,7 @@ case 357:
                    error ("argument of `asm' is not a constant string"); ;
     break;}
 case 358:
-#line 1834 "c-parse.y"
+#line 1835 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-9].filename, yyvsp[-8].lineno);
                  c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
@@ -3476,7 +3491,7 @@ case 358:
                                         input_filename, lineno); ;
     break;}
 case 359:
-#line 1841 "c-parse.y"
+#line 1842 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-11].filename, yyvsp[-10].lineno);
                  c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
@@ -3484,7 +3499,7 @@ case 359:
                                         input_filename, lineno); ;
     break;}
 case 360:
-#line 1849 "c-parse.y"
+#line 1850 "c-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-13].filename, yyvsp[-12].lineno);
                  c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
@@ -3492,7 +3507,7 @@ case 360:
                                         input_filename, lineno); ;
     break;}
 case 361:
-#line 1855 "c-parse.y"
+#line 1856 "c-parse.y"
 { tree decl;
                  stmt_count++;
                  emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
@@ -3505,7 +3520,7 @@ case 361:
                ;
     break;}
 case 362:
-#line 1866 "c-parse.y"
+#line 1867 "c-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids `goto *expr;'");
                  stmt_count++;
@@ -3513,7 +3528,7 @@ case 362:
                  expand_computed_goto (convert (ptr_type_node, yyvsp[-1].ttype)); ;
     break;}
 case 365:
-#line 1881 "c-parse.y"
+#line 1882 "c-parse.y"
 {
            /* The value returned by this action is  */
            /*      1 if everything is OK */ 
@@ -3536,14 +3551,14 @@ case 365:
          ;
     break;}
 case 366:
-#line 1902 "c-parse.y"
+#line 1903 "c-parse.y"
 {
            if (yyvsp[-1].itype)
              iterator_for_loop_end (yyvsp[-3].ttype);
          ;
     break;}
 case 367:
-#line 1933 "c-parse.y"
+#line 1934 "c-parse.y"
 { register tree value = check_case_value (yyvsp[-1].ttype);
                  register tree label
                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
@@ -3576,7 +3591,7 @@ case 367:
                  position_after_white_space (); ;
     break;}
 case 368:
-#line 1964 "c-parse.y"
+#line 1965 "c-parse.y"
 { register tree value1 = check_case_value (yyvsp[-3].ttype);
                  register tree value2 = check_case_value (yyvsp[-1].ttype);
                  register tree label
@@ -3609,7 +3624,7 @@ case 368:
                  position_after_white_space (); ;
     break;}
 case 369:
-#line 1995 "c-parse.y"
+#line 1996 "c-parse.y"
 {
                  tree duplicate;
                  register tree label
@@ -3626,7 +3641,7 @@ case 369:
                  position_after_white_space (); ;
     break;}
 case 370:
-#line 2010 "c-parse.y"
+#line 2011 "c-parse.y"
 { tree label = define_label (input_filename, lineno, yyvsp[-2].ttype);
                  stmt_count++;
                  emit_nop ();
@@ -3638,52 +3653,52 @@ case 370:
                  position_after_white_space (); ;
     break;}
 case 371:
-#line 2025 "c-parse.y"
+#line 2026 "c-parse.y"
 { emit_line_note (input_filename, lineno);
                  yyval.ttype = NULL_TREE; ;
     break;}
 case 372:
-#line 2028 "c-parse.y"
+#line 2029 "c-parse.y"
 { emit_line_note (input_filename, lineno); ;
     break;}
 case 373:
-#line 2033 "c-parse.y"
+#line 2034 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 375:
-#line 2040 "c-parse.y"
+#line 2041 "c-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 378:
-#line 2047 "c-parse.y"
+#line 2048 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 379:
-#line 2052 "c-parse.y"
+#line 2053 "c-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 380:
-#line 2057 "c-parse.y"
+#line 2058 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ;
     break;}
 case 381:
-#line 2059 "c-parse.y"
+#line 2060 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;
     break;}
 case 382:
-#line 2065 "c-parse.y"
+#line 2066 "c-parse.y"
 { pushlevel (0);
                  clear_parm_order ();
                  declare_parm_level (0); ;
     break;}
 case 383:
-#line 2069 "c-parse.y"
+#line 2070 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  parmlist_tags_warning ();
                  poplevel (0, 0, 0); ;
     break;}
 case 385:
-#line 2077 "c-parse.y"
+#line 2078 "c-parse.y"
 { tree parm;
                  if (pedantic)
                    pedwarn ("ANSI C forbids forward parameter declarations");
@@ -3693,19 +3708,19 @@ case 385:
                  clear_parm_order (); ;
     break;}
 case 386:
-#line 2085 "c-parse.y"
+#line 2086 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 387:
-#line 2087 "c-parse.y"
+#line 2088 "c-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;
     break;}
 case 388:
-#line 2093 "c-parse.y"
+#line 2094 "c-parse.y"
 { yyval.ttype = get_parm_info (0); ;
     break;}
 case 389:
-#line 2095 "c-parse.y"
+#line 2096 "c-parse.y"
 { yyval.ttype = get_parm_info (0);
                  /* Gcc used to allow this as an extension.  However, it does
                     not work for all targets, and thus has been disabled.
@@ -3717,23 +3732,23 @@ case 389:
                ;
     break;}
 case 390:
-#line 2105 "c-parse.y"
+#line 2106 "c-parse.y"
 { yyval.ttype = get_parm_info (1); ;
     break;}
 case 391:
-#line 2107 "c-parse.y"
+#line 2108 "c-parse.y"
 { yyval.ttype = get_parm_info (0); ;
     break;}
 case 392:
-#line 2112 "c-parse.y"
+#line 2113 "c-parse.y"
 { push_parm_decl (yyvsp[0].ttype); ;
     break;}
 case 393:
-#line 2114 "c-parse.y"
+#line 2115 "c-parse.y"
 { push_parm_decl (yyvsp[0].ttype); ;
     break;}
 case 394:
-#line 2121 "c-parse.y"
+#line 2122 "c-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
@@ -3743,7 +3758,7 @@ case 394:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 395:
-#line 2129 "c-parse.y"
+#line 2130 "c-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
@@ -3753,7 +3768,7 @@ case 395:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 396:
-#line 2137 "c-parse.y"
+#line 2138 "c-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
@@ -3763,7 +3778,7 @@ case 396:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 397:
-#line 2145 "c-parse.y"
+#line 2146 "c-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
@@ -3773,7 +3788,7 @@ case 397:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 398:
-#line 2154 "c-parse.y"
+#line 2155 "c-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
@@ -3783,19 +3798,19 @@ case 398:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 399:
-#line 2167 "c-parse.y"
+#line 2168 "c-parse.y"
 { pushlevel (0);
                  clear_parm_order ();
                  declare_parm_level (1); ;
     break;}
 case 400:
-#line 2171 "c-parse.y"
+#line 2172 "c-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  parmlist_tags_warning ();
                  poplevel (0, 0, 0); ;
     break;}
 case 402:
-#line 2179 "c-parse.y"
+#line 2180 "c-parse.y"
 { tree t;
                  for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t))
                    if (TREE_VALUE (t) == NULL_TREE)
@@ -3803,30 +3818,30 @@ case 402:
                  yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 403:
-#line 2189 "c-parse.y"
+#line 2190 "c-parse.y"
 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 404:
-#line 2191 "c-parse.y"
+#line 2192 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
     break;}
 case 405:
-#line 2197 "c-parse.y"
+#line 2198 "c-parse.y"
 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 406:
-#line 2199 "c-parse.y"
+#line 2200 "c-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
     break;}
 case 407:
-#line 2204 "c-parse.y"
+#line 2205 "c-parse.y"
 { yyval.ttype = SAVE_WARN_FLAGS();
                  pedantic = 0;
                  warn_pointer_arith = 0; ;
     break;}
 }
    /* the action file gets copied in in place of this dollarsign */
-#line 543 "/usr/lib/bison.simple"
+#line 543 "/usr/share/bison.simple"
 \f
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -3834,7 +3849,7 @@ case 407:
   yylsp -= yylen;
 #endif
 
-#if YYDEBUG != 0
+#if YYDEBUG != 0 && !defined YYFILE
   if (yydebug)
     {
       short *ssp1 = yyss - 1;
@@ -3941,7 +3956,7 @@ yyerrlab1:   /* here on error raised explicitly by an action */
       if (yychar == YYEOF)
        YYABORT;
 
-#if YYDEBUG != 0
+#if YYDEBUG != 0 && !defined YYFILE
       if (yydebug)
        fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
 #endif
@@ -3974,7 +3989,7 @@ yyerrpop:   /* pop the current state because it cannot handle the error token */
   yylsp--;
 #endif
 
-#if YYDEBUG != 0
+#if YYDEBUG != 0 && !defined YYFILE
   if (yydebug)
     {
       short *ssp1 = yyss - 1;
@@ -4009,7 +4024,7 @@ yyerrhandle:
   if (yyn == YYFINAL)
     YYACCEPT;
 
-#if YYDEBUG != 0
+#if YYDEBUG != 0 && !defined YYFILE
   if (yydebug)
     fprintf(stderr, "Shifting error token, ");
 #endif
@@ -4046,5 +4061,5 @@ yyerrhandle:
     }
   return 1;
 }
-#line 2209 "c-parse.y"
+#line 2210 "c-parse.y"
 
index cbffaaac88bf24269ecaad23256559d3eea872f4..29eff126e1c818184b3110ef2e4931e372c7fbe6 100644 (file)
@@ -33,34 +33,37 @@ typedef union {long itype; tree ttype; enum tree_code code;
 #define        REALPART        287
 #define        IMAGPART        288
 #define        VA_ARG  289
-#define        END_OF_LINE     290
-#define        ASSIGN  291
-#define        OROR    292
-#define        ANDAND  293
-#define        EQCOMPARE       294
-#define        ARITHCOMPARE    295
-#define        LSHIFT  296
-#define        RSHIFT  297
-#define        UNARY   298
-#define        PLUSPLUS        299
-#define        MINUSMINUS      300
-#define        HYPERUNARY      301
-#define        POINTSAT        302
-#define        INTERFACE       303
-#define        IMPLEMENTATION  304
-#define        END     305
-#define        SELECTOR        306
-#define        DEFS    307
-#define        ENCODE  308
-#define        CLASSNAME       309
-#define        PUBLIC  310
-#define        PRIVATE 311
-#define        PROTECTED       312
-#define        PROTOCOL        313
-#define        OBJECTNAME      314
-#define        CLASS   315
-#define        ALIAS   316
-#define        OBJC_STRING     317
+#define        PTR_VALUE       290
+#define        PTR_BASE        291
+#define        PTR_EXTENT      292
+#define        END_OF_LINE     293
+#define        ASSIGN  294
+#define        OROR    295
+#define        ANDAND  296
+#define        EQCOMPARE       297
+#define        ARITHCOMPARE    298
+#define        LSHIFT  299
+#define        RSHIFT  300
+#define        UNARY   301
+#define        PLUSPLUS        302
+#define        MINUSMINUS      303
+#define        HYPERUNARY      304
+#define        POINTSAT        305
+#define        INTERFACE       306
+#define        IMPLEMENTATION  307
+#define        END     308
+#define        SELECTOR        309
+#define        DEFS    310
+#define        ENCODE  311
+#define        CLASSNAME       312
+#define        PUBLIC  313
+#define        PRIVATE 314
+#define        PROTECTED       315
+#define        PROTOCOL        316
+#define        OBJECTNAME      317
+#define        CLASS   318
+#define        ALIAS   319
+#define        OBJC_STRING     320
 
 
 extern YYSTYPE yylval;
index 553396b1512709d6ec3e71505ed848010b5975b6..38af74af30cf0976ed21d94c8105f66febc6eb7e 100644 (file)
@@ -1,7 +1,7 @@
 /*WARNING: This file is automatically generated!*/
 /* YACC parser for C syntax and for Objective C.  -*-c-*-
-   Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-   1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996,
+   1997, 1998, 1999, 2000 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -103,6 +103,7 @@ const char * const language_string = "GNU C";
 %token BREAK CONTINUE RETURN GOTO ASM_KEYWORD TYPEOF ALIGNOF
 %token ATTRIBUTE EXTENSION LABEL
 %token REALPART IMAGPART VA_ARG
+%token PTR_VALUE PTR_BASE PTR_EXTENT
 
 /* Used in c-lex.c for parsing pragmas.  */
 %token END_OF_LINE
index 66886138880f3bb82f297f6d085f075077917745..30b3c776ca85850a2314d5e21232358a8a366b42 100644 (file)
 #define        REALPART        287
 #define        IMAGPART        288
 #define        VA_ARG  289
-#define        END_OF_LINE     290
-#define        ASSIGN  291
-#define        OROR    292
-#define        ANDAND  293
-#define        EQCOMPARE       294
-#define        ARITHCOMPARE    295
-#define        LSHIFT  296
-#define        RSHIFT  297
-#define        UNARY   298
-#define        PLUSPLUS        299
-#define        MINUSMINUS      300
-#define        HYPERUNARY      301
-#define        POINTSAT        302
-#define        INTERFACE       303
-#define        IMPLEMENTATION  304
-#define        END     305
-#define        SELECTOR        306
-#define        DEFS    307
-#define        ENCODE  308
-#define        CLASSNAME       309
-#define        PUBLIC  310
-#define        PRIVATE 311
-#define        PROTECTED       312
-#define        PROTOCOL        313
-#define        OBJECTNAME      314
-#define        CLASS   315
-#define        ALIAS   316
-#define        OBJC_STRING     317
+#define        PTR_VALUE       290
+#define        PTR_BASE        291
+#define        PTR_EXTENT      292
+#define        END_OF_LINE     293
+#define        ASSIGN  294
+#define        OROR    295
+#define        ANDAND  296
+#define        EQCOMPARE       297
+#define        ARITHCOMPARE    298
+#define        LSHIFT  299
+#define        RSHIFT  300
+#define        UNARY   301
+#define        PLUSPLUS        302
+#define        MINUSMINUS      303
+#define        HYPERUNARY      304
+#define        POINTSAT        305
+#define        INTERFACE       306
+#define        IMPLEMENTATION  307
+#define        END     308
+#define        SELECTOR        309
+#define        DEFS    310
+#define        ENCODE  311
+#define        CLASSNAME       312
+#define        PUBLIC  313
+#define        PRIVATE 314
+#define        PROTECTED       315
+#define        PROTOCOL        316
+#define        OBJECTNAME      317
+#define        CLASS   318
+#define        ALIAS   319
+#define        OBJC_STRING     320
 
 #line 34 "objc-parse.y"
 
@@ -99,7 +102,7 @@ const char * const language_string = "GNU Obj-C";
 #line 66 "objc-parse.y"
 typedef union {long itype; tree ttype; enum tree_code code;
        char *filename; int lineno; int ends_in_label; } YYSTYPE;
-#line 197 "objc-parse.y"
+#line 198 "objc-parse.y"
 
 /* Number of statements (loosely speaking) and compound statements 
    seen so far.  */
@@ -170,24 +173,24 @@ c_parse_init ()
 
 #define        YYFINAL         969
 #define        YYFLAG          -32768
-#define        YYNTBASE        86
+#define        YYNTBASE        89
 
-#define YYTRANSLATE(x) ((unsigned)(x) <= 317 ? yytranslate[x] : 314)
+#define YYTRANSLATE(x) ((unsigned)(x) <= 320 ? yytranslate[x] : 317)
 
 static const char yytranslate[] = {     0,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,    82,     2,     2,     2,    54,    45,     2,    61,
-    78,    52,    50,    83,    51,    60,    53,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,    40,    79,     2,
-    38,     2,    39,     2,     2,     2,     2,     2,     2,     2,
+     2,     2,    85,     2,     2,     2,    57,    48,     2,    64,
+    81,    55,    53,    86,    54,    63,    56,     2,     2,     2,
+     2,     2,     2,     2,     2,     2,     2,    43,    82,     2,
+    41,     2,    42,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-    62,     2,    85,    44,     2,     2,     2,     2,     2,     2,
+    65,     2,    88,    47,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,    84,    43,    80,    81,     2,     2,     2,     2,
+     2,     2,    87,    46,    83,    84,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -204,9 +207,9 @@ static const char yytranslate[] = {     0,
      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,    41,    42,    46,    47,    48,    49,    55,    56,    57,
-    58,    59,    63,    64,    65,    66,    67,    68,    69,    70,
-    71,    72,    73,    74,    75,    76,    77
+    37,    38,    39,    40,    44,    45,    49,    50,    51,    52,
+    58,    59,    60,    61,    62,    66,    67,    68,    69,    70,
+    71,    72,    73,    74,    75,    76,    77,    78,    79,    80
 };
 
 #if YYDEBUG != 0
@@ -271,246 +274,246 @@ static const short yyprhs[] = {     0,
 };
 
 static const short yyrhs[] = {    -1,
-    87,     0,     0,    88,    90,     0,     0,    87,    89,    90,
-     0,    92,     0,    91,     0,   245,     0,    27,    61,   101,
-    78,    79,     0,   244,    90,     0,   124,   138,    79,     0,
-   131,   124,   138,    79,     0,   127,   124,   137,    79,     0,
-   131,    79,     0,   127,    79,     0,     1,    79,     0,     1,
-    80,     0,    79,     0,     0,     0,   127,   124,   166,    93,
-   118,    94,   200,     0,   127,   124,   166,     1,     0,     0,
-     0,   131,   124,   169,    95,   118,    96,   200,     0,   131,
-   124,   169,     1,     0,     0,     0,   124,   169,    97,   118,
-    98,   200,     0,   124,   169,     1,     0,     3,     0,     4,
-     0,    74,     0,    69,     0,    45,     0,    51,     0,    50,
-     0,    56,     0,    57,     0,    81,     0,    82,     0,   103,
-     0,     0,   103,     0,   109,     0,   103,    83,   109,     0,
-   115,     0,    52,   107,     0,   244,   107,     0,   100,   107,
-     0,    42,    99,     0,   105,   104,     0,   105,    61,   187,
-    78,     0,   106,   104,     0,   106,    61,   187,    78,     0,
-    33,   107,     0,    34,   107,     0,    35,    61,   109,    83,
-   187,    78,     0,    11,     0,    29,     0,   104,     0,    61,
-   187,    78,   107,     0,     0,    61,   187,    78,    84,   108,
-   152,    80,     0,   107,     0,   109,    50,   109,     0,   109,
-    51,   109,     0,   109,    52,   109,     0,   109,    53,   109,
-     0,   109,    54,   109,     0,   109,    48,   109,     0,   109,
-    49,   109,     0,   109,    47,   109,     0,   109,    46,   109,
-     0,   109,    45,   109,     0,   109,    43,   109,     0,   109,
-    44,   109,     0,     0,   109,    42,   110,   109,     0,     0,
-   109,    41,   111,   109,     0,     0,     0,   109,    39,   112,
-   101,    40,   113,   109,     0,     0,   109,    39,   114,    40,
-   109,     0,   109,    38,   109,     0,   109,    37,   109,     0,
-     3,     0,     8,     0,   116,     0,    61,   101,    78,     0,
-    61,     1,    78,     0,   203,   202,    78,     0,   203,     1,
-    78,     0,   115,    61,   102,    78,     0,   115,    62,   101,
-    85,     0,   115,    60,    99,     0,   115,    59,    99,     0,
-   115,    56,     0,   115,    57,     0,   305,     0,   311,     0,
-   312,     0,   313,     0,   117,     0,     9,     0,   116,     9,
-     0,    77,     0,   117,    77,     0,     0,   120,     0,   120,
-    10,     0,   209,   210,   121,     0,   119,     0,   195,     0,
-   120,   119,     0,   119,   195,     0,   129,   124,   137,    79,
-     0,   132,   124,   138,    79,     0,   129,    79,     0,   132,
-    79,     0,   209,   210,   126,     0,   122,     0,   195,     0,
-   123,   122,     0,   122,   195,     0,     0,     0,   127,   124,
-   137,    79,     0,   131,   124,   138,    79,     0,   127,   124,
-   160,     0,   131,   124,   163,     0,   127,    79,     0,   131,
-    79,     0,   244,   126,     0,   135,   128,     0,   131,   135,
-   128,     0,     0,   128,   136,     0,   128,     5,     0,   128,
-   145,     0,   135,   130,     0,   132,   135,   130,     0,     0,
-   130,   136,     0,   130,     5,     0,   132,     0,   145,     0,
-   131,   132,     0,   131,   145,     0,     7,     0,     5,     0,
-   132,     7,     0,   132,     5,     0,   135,   134,     0,   189,
-   135,   134,     0,     0,   134,   136,     0,     6,     0,   173,
-     0,     4,     0,    69,   261,     0,    74,   261,     0,   262,
-     0,    28,    61,   101,    78,     0,    28,    61,   187,    78,
-     0,     6,     0,     7,     0,   173,     0,   140,     0,   137,
-    83,   140,     0,   142,     0,   138,    83,   140,     0,     0,
-    27,    61,   116,    78,     0,     0,   166,   139,   144,    38,
-   141,   150,     0,   166,   139,   144,     0,     0,   169,   139,
-   144,    38,   143,   150,     0,   169,   139,   144,     0,     0,
-   145,     0,   146,     0,   145,   146,     0,    30,    61,    61,
-   147,    78,    78,     0,   148,     0,   147,    83,   148,     0,
-     0,   149,     0,   149,    61,     3,    78,     0,   149,    61,
-     3,    83,   103,    78,     0,   149,    61,   102,    78,     0,
-    99,     0,     5,     0,     6,     0,     7,     0,   109,     0,
-     0,    84,   151,   152,    80,     0,     1,     0,     0,   153,
-   178,     0,   154,     0,   153,    83,   154,     0,   158,    38,
-   156,     0,   159,   156,     0,     0,    99,    40,   155,   156,
-     0,   156,     0,     0,    84,   157,   152,    80,     0,   109,
-     0,     1,     0,   159,     0,   158,   159,     0,    60,    99,
-     0,     0,     0,   166,   161,   118,   162,   204,     0,     0,
-     0,   169,   164,   118,   165,   204,     0,   167,     0,   169,
-     0,    61,   167,    78,     0,   167,    61,   239,     0,   167,
-    62,   101,    85,     0,   167,    62,    85,     0,    52,   190,
-   167,     0,   145,   125,   167,     0,     4,     0,    74,     0,
-   168,    61,   239,     0,   168,    62,   101,    85,     0,   168,
-    62,    85,     0,    52,   190,   168,     0,   145,   125,   168,
-     0,     4,     0,   169,    61,   239,     0,    61,   169,    78,
-     0,    52,   190,   169,     0,   169,    62,   101,    85,     0,
-   169,    62,    85,     0,   145,   125,   169,     0,     3,     0,
-    13,     0,    13,   145,     0,    14,     0,    14,   145,     0,
-    12,     0,    12,   145,     0,     0,   170,    99,    84,   174,
-   180,    80,   144,     0,   170,    84,   180,    80,   144,     0,
-   170,    99,     0,     0,   171,    99,    84,   175,   180,    80,
-   144,     0,   171,    84,   180,    80,   144,     0,   171,    99,
-     0,     0,   172,    99,    84,   176,   185,   179,    80,   144,
-     0,     0,   172,    84,   177,   185,   179,    80,   144,     0,
-   172,    99,     0,     0,    83,     0,     0,    83,     0,   181,
-     0,   181,   182,     0,     0,   181,   182,    79,     0,   181,
-    79,     0,    67,    61,    69,    78,     0,   133,   124,   183,
-     0,   133,   124,   209,   210,   144,     0,   189,   124,   183,
-     0,   189,     0,     1,     0,   244,   182,     0,   184,     0,
-   183,    83,   184,     0,   209,   210,   166,   144,     0,   209,
-   210,   166,    40,   109,   144,     0,   209,   210,    40,   109,
-   144,     0,   186,     0,   185,    83,   186,     0,     1,     0,
-    99,     0,    99,    38,   109,     0,   133,   188,     0,   189,
-   188,     0,     0,   191,     0,     7,     0,   189,     7,     0,
-     0,   190,     7,     0,    61,   191,    78,     0,    52,   190,
-   191,     0,    52,   190,     0,   191,    61,   232,     0,   191,
-    62,   101,    85,     0,   191,    62,    85,     0,    61,   232,
-     0,    62,   101,    85,     0,    62,    85,     0,   145,   125,
-   191,     0,   193,     0,   212,     0,   193,   212,     0,   193,
-   195,     0,     0,   192,     0,     1,    79,     0,     0,     0,
-   198,     0,   199,     0,   198,   199,     0,    32,   243,    79,
-     0,   204,     0,     1,   204,     0,    84,     0,    80,     0,
-   196,   197,   123,   194,    80,     0,   196,   197,     1,    80,
-     0,   196,   197,   192,    80,     0,    61,    84,     0,   201,
-   202,     0,   206,   211,     0,   206,     1,     0,    15,    61,
-   101,    78,     0,     0,    18,   208,   211,    17,     0,     0,
-     0,   209,   210,   214,     0,   209,   210,   225,   211,     0,
-   209,   210,   213,     0,   214,     0,   225,     0,   204,     0,
-   222,     0,   101,    79,     0,     0,   205,    16,   215,   211,
-     0,   205,     0,   205,    16,     1,     0,     0,     0,    17,
-   216,    61,   101,    78,   217,   211,     0,   207,    61,   101,
-    78,    79,     0,   207,     1,     0,     0,     0,     0,    19,
-    61,   227,    79,   218,   227,    79,   219,   227,    78,   220,
-   211,     0,     0,    20,    61,   101,    78,   221,   211,     0,
-    23,    79,     0,    24,    79,     0,    25,    79,     0,    25,
-   101,    79,     0,    27,   226,    61,   101,    78,    79,     0,
-    27,   226,    61,   101,    40,   228,    78,    79,     0,    27,
-   226,    61,   101,    40,   228,    40,   228,    78,    79,     0,
-    27,   226,    61,   101,    40,   228,    40,   228,    40,   231,
-    78,    79,     0,    26,    99,    79,     0,    26,    52,   101,
-    79,     0,    79,     0,   223,     0,     0,    19,    61,   115,
-    78,   224,   211,     0,    21,   109,    40,     0,    21,   109,
-    10,   109,    40,     0,    22,    40,     0,    99,    40,   144,
-     0,     0,     7,     0,     0,   101,     0,     0,   229,     0,
-   230,     0,   229,    83,   230,     0,     9,    61,   101,    78,
-     0,   116,     0,   231,    83,   116,     0,     0,   233,   234,
-     0,   236,    78,     0,     0,   237,    79,   235,   234,     0,
-     1,    78,     0,     0,    10,     0,   237,     0,   237,    83,
-    10,     0,   238,     0,   237,    83,   238,     0,   127,   124,
-   168,   144,     0,   127,   124,   169,   144,     0,   127,   124,
-   188,   144,     0,   131,   124,   169,   144,     0,   131,   124,
-   188,   144,     0,     0,   240,   241,     0,   234,     0,   242,
-    78,     0,     3,     0,   242,    83,     3,     0,    99,     0,
-   243,    83,    99,     0,    31,     0,   249,     0,   247,     0,
-   248,     0,   259,     0,   269,     0,    65,     0,    99,     0,
-   246,    83,    99,     0,    75,   246,    79,     0,    76,    99,
-    99,    79,     0,     0,     0,    63,    99,   261,    84,   250,
-   263,    80,   251,   276,    65,     0,     0,    63,    99,   261,
-   252,   276,    65,     0,     0,     0,    63,    99,    40,    99,
-   261,    84,   253,   263,    80,   254,   276,    65,     0,     0,
-    63,    99,    40,    99,   261,   255,   276,    65,     0,     0,
-    64,    99,    84,   256,   263,    80,     0,    64,    99,     0,
-     0,    64,    99,    40,    99,    84,   257,   263,    80,     0,
-    64,    99,    40,    99,     0,     0,    63,    99,    61,    99,
-    78,   261,   258,   276,    65,     0,    64,    99,    61,    99,
-    78,     0,     0,    73,    99,   261,   260,   276,    65,     0,
-     0,   262,     0,    47,   246,    47,     0,   263,   264,   265,
-     0,   265,     0,    71,     0,    72,     0,    70,     0,     0,
-   265,   266,    79,     0,   265,    79,     0,   133,   124,   267,
-     0,   189,   124,   267,     0,     1,     0,     0,   268,     0,
-   267,    83,   268,     0,   166,     0,   166,    40,   109,     0,
-    40,   109,     0,     0,     0,     0,    50,   270,   286,   271,
-   287,   272,   200,     0,     0,     0,     0,    51,   273,   286,
-   274,   287,   275,   200,     0,     0,     0,   277,   278,     0,
-   281,     0,    91,     0,   278,   281,     0,     0,   278,   279,
-    91,     0,    79,     0,     1,     0,     0,     0,    50,   282,
-   286,   283,   280,     0,     0,     0,    51,   284,   286,   285,
-   280,     0,    61,   187,    78,   295,     0,   295,     0,    61,
-   187,    78,   296,   293,     0,   296,   293,     0,     0,    79,
-   288,     0,     0,   289,     0,   290,     0,   195,     0,   289,
-   290,     0,   290,   195,     0,   127,   124,   291,    79,     0,
-   127,    79,     0,   131,    79,     0,   292,     0,   291,    83,
-   292,     0,   168,   144,     0,   169,   144,     0,   188,   144,
-     0,     0,    83,    10,     0,     0,    83,   294,   236,     0,
-   297,     0,   299,     0,   296,   299,     0,     3,     0,     4,
-     0,    74,     0,   298,     0,    12,     0,    13,     0,    14,
+    90,     0,     0,    91,    93,     0,     0,    90,    92,    93,
+     0,    95,     0,    94,     0,   248,     0,    27,    64,   104,
+    81,    82,     0,   247,    93,     0,   127,   141,    82,     0,
+   134,   127,   141,    82,     0,   130,   127,   140,    82,     0,
+   134,    82,     0,   130,    82,     0,     1,    82,     0,     1,
+    83,     0,    82,     0,     0,     0,   130,   127,   169,    96,
+   121,    97,   203,     0,   130,   127,   169,     1,     0,     0,
+     0,   134,   127,   172,    98,   121,    99,   203,     0,   134,
+   127,   172,     1,     0,     0,     0,   127,   172,   100,   121,
+   101,   203,     0,   127,   172,     1,     0,     3,     0,     4,
+     0,    77,     0,    72,     0,    48,     0,    54,     0,    53,
+     0,    59,     0,    60,     0,    84,     0,    85,     0,   106,
+     0,     0,   106,     0,   112,     0,   106,    86,   112,     0,
+   118,     0,    55,   110,     0,   247,   110,     0,   103,   110,
+     0,    45,   102,     0,   108,   107,     0,   108,    64,   190,
+    81,     0,   109,   107,     0,   109,    64,   190,    81,     0,
+    33,   110,     0,    34,   110,     0,    35,    64,   112,    86,
+   190,    81,     0,    11,     0,    29,     0,   107,     0,    64,
+   190,    81,   110,     0,     0,    64,   190,    81,    87,   111,
+   155,    83,     0,   110,     0,   112,    53,   112,     0,   112,
+    54,   112,     0,   112,    55,   112,     0,   112,    56,   112,
+     0,   112,    57,   112,     0,   112,    51,   112,     0,   112,
+    52,   112,     0,   112,    50,   112,     0,   112,    49,   112,
+     0,   112,    48,   112,     0,   112,    46,   112,     0,   112,
+    47,   112,     0,     0,   112,    45,   113,   112,     0,     0,
+   112,    44,   114,   112,     0,     0,     0,   112,    42,   115,
+   104,    43,   116,   112,     0,     0,   112,    42,   117,    43,
+   112,     0,   112,    41,   112,     0,   112,    40,   112,     0,
+     3,     0,     8,     0,   119,     0,    64,   104,    81,     0,
+    64,     1,    81,     0,   206,   205,    81,     0,   206,     1,
+    81,     0,   118,    64,   105,    81,     0,   118,    65,   104,
+    88,     0,   118,    63,   102,     0,   118,    62,   102,     0,
+   118,    59,     0,   118,    60,     0,   308,     0,   314,     0,
+   315,     0,   316,     0,   120,     0,     9,     0,   119,     9,
+     0,    80,     0,   120,    80,     0,     0,   123,     0,   123,
+    10,     0,   212,   213,   124,     0,   122,     0,   198,     0,
+   123,   122,     0,   122,   198,     0,   132,   127,   140,    82,
+     0,   135,   127,   141,    82,     0,   132,    82,     0,   135,
+    82,     0,   212,   213,   129,     0,   125,     0,   198,     0,
+   126,   125,     0,   125,   198,     0,     0,     0,   130,   127,
+   140,    82,     0,   134,   127,   141,    82,     0,   130,   127,
+   163,     0,   134,   127,   166,     0,   130,    82,     0,   134,
+    82,     0,   247,   129,     0,   138,   131,     0,   134,   138,
+   131,     0,     0,   131,   139,     0,   131,     5,     0,   131,
+   148,     0,   138,   133,     0,   135,   138,   133,     0,     0,
+   133,   139,     0,   133,     5,     0,   135,     0,   148,     0,
+   134,   135,     0,   134,   148,     0,     7,     0,     5,     0,
+   135,     7,     0,   135,     5,     0,   138,   137,     0,   192,
+   138,   137,     0,     0,   137,   139,     0,     6,     0,   176,
+     0,     4,     0,    72,   264,     0,    77,   264,     0,   265,
+     0,    28,    64,   104,    81,     0,    28,    64,   190,    81,
+     0,     6,     0,     7,     0,   176,     0,   143,     0,   140,
+    86,   143,     0,   145,     0,   141,    86,   143,     0,     0,
+    27,    64,   119,    81,     0,     0,   169,   142,   147,    41,
+   144,   153,     0,   169,   142,   147,     0,     0,   172,   142,
+   147,    41,   146,   153,     0,   172,   142,   147,     0,     0,
+   148,     0,   149,     0,   148,   149,     0,    30,    64,    64,
+   150,    81,    81,     0,   151,     0,   150,    86,   151,     0,
+     0,   152,     0,   152,    64,     3,    81,     0,   152,    64,
+     3,    86,   106,    81,     0,   152,    64,   105,    81,     0,
+   102,     0,     5,     0,     6,     0,     7,     0,   112,     0,
+     0,    87,   154,   155,    83,     0,     1,     0,     0,   156,
+   181,     0,   157,     0,   156,    86,   157,     0,   161,    41,
+   159,     0,   162,   159,     0,     0,   102,    43,   158,   159,
+     0,   159,     0,     0,    87,   160,   155,    83,     0,   112,
+     0,     1,     0,   162,     0,   161,   162,     0,    63,   102,
+     0,     0,     0,   169,   164,   121,   165,   207,     0,     0,
+     0,   172,   167,   121,   168,   207,     0,   170,     0,   172,
+     0,    64,   170,    81,     0,   170,    64,   242,     0,   170,
+    65,   104,    88,     0,   170,    65,    88,     0,    55,   193,
+   170,     0,   148,   128,   170,     0,     4,     0,    77,     0,
+   171,    64,   242,     0,   171,    65,   104,    88,     0,   171,
+    65,    88,     0,    55,   193,   171,     0,   148,   128,   171,
+     0,     4,     0,   172,    64,   242,     0,    64,   172,    81,
+     0,    55,   193,   172,     0,   172,    65,   104,    88,     0,
+   172,    65,    88,     0,   148,   128,   172,     0,     3,     0,
+    13,     0,    13,   148,     0,    14,     0,    14,   148,     0,
+    12,     0,    12,   148,     0,     0,   173,   102,    87,   177,
+   183,    83,   147,     0,   173,    87,   183,    83,   147,     0,
+   173,   102,     0,     0,   174,   102,    87,   178,   183,    83,
+   147,     0,   174,    87,   183,    83,   147,     0,   174,   102,
+     0,     0,   175,   102,    87,   179,   188,   182,    83,   147,
+     0,     0,   175,    87,   180,   188,   182,    83,   147,     0,
+   175,   102,     0,     0,    86,     0,     0,    86,     0,   184,
+     0,   184,   185,     0,     0,   184,   185,    82,     0,   184,
+    82,     0,    70,    64,    72,    81,     0,   136,   127,   186,
+     0,   136,   127,   212,   213,   147,     0,   192,   127,   186,
+     0,   192,     0,     1,     0,   247,   185,     0,   187,     0,
+   186,    86,   187,     0,   212,   213,   169,   147,     0,   212,
+   213,   169,    43,   112,   147,     0,   212,   213,    43,   112,
+   147,     0,   189,     0,   188,    86,   189,     0,     1,     0,
+   102,     0,   102,    41,   112,     0,   136,   191,     0,   192,
+   191,     0,     0,   194,     0,     7,     0,   192,     7,     0,
+     0,   193,     7,     0,    64,   194,    81,     0,    55,   193,
+   194,     0,    55,   193,     0,   194,    64,   235,     0,   194,
+    65,   104,    88,     0,   194,    65,    88,     0,    64,   235,
+     0,    65,   104,    88,     0,    65,    88,     0,   148,   128,
+   194,     0,   196,     0,   215,     0,   196,   215,     0,   196,
+   198,     0,     0,   195,     0,     1,    82,     0,     0,     0,
+   201,     0,   202,     0,   201,   202,     0,    32,   246,    82,
+     0,   207,     0,     1,   207,     0,    87,     0,    83,     0,
+   199,   200,   126,   197,    83,     0,   199,   200,     1,    83,
+     0,   199,   200,   195,    83,     0,    64,    87,     0,   204,
+   205,     0,   209,   214,     0,   209,     1,     0,    15,    64,
+   104,    81,     0,     0,    18,   211,   214,    17,     0,     0,
+     0,   212,   213,   217,     0,   212,   213,   228,   214,     0,
+   212,   213,   216,     0,   217,     0,   228,     0,   207,     0,
+   225,     0,   104,    82,     0,     0,   208,    16,   218,   214,
+     0,   208,     0,   208,    16,     1,     0,     0,     0,    17,
+   219,    64,   104,    81,   220,   214,     0,   210,    64,   104,
+    81,    82,     0,   210,     1,     0,     0,     0,     0,    19,
+    64,   230,    82,   221,   230,    82,   222,   230,    81,   223,
+   214,     0,     0,    20,    64,   104,    81,   224,   214,     0,
+    23,    82,     0,    24,    82,     0,    25,    82,     0,    25,
+   104,    82,     0,    27,   229,    64,   104,    81,    82,     0,
+    27,   229,    64,   104,    43,   231,    81,    82,     0,    27,
+   229,    64,   104,    43,   231,    43,   231,    81,    82,     0,
+    27,   229,    64,   104,    43,   231,    43,   231,    43,   234,
+    81,    82,     0,    26,   102,    82,     0,    26,    55,   104,
+    82,     0,    82,     0,   226,     0,     0,    19,    64,   118,
+    81,   227,   214,     0,    21,   112,    43,     0,    21,   112,
+    10,   112,    43,     0,    22,    43,     0,   102,    43,   147,
+     0,     0,     7,     0,     0,   104,     0,     0,   232,     0,
+   233,     0,   232,    86,   233,     0,     9,    64,   104,    81,
+     0,   119,     0,   234,    86,   119,     0,     0,   236,   237,
+     0,   239,    81,     0,     0,   240,    82,   238,   237,     0,
+     1,    81,     0,     0,    10,     0,   240,     0,   240,    86,
+    10,     0,   241,     0,   240,    86,   241,     0,   130,   127,
+   171,   147,     0,   130,   127,   172,   147,     0,   130,   127,
+   191,   147,     0,   134,   127,   172,   147,     0,   134,   127,
+   191,   147,     0,     0,   243,   244,     0,   237,     0,   245,
+    81,     0,     3,     0,   245,    86,     3,     0,   102,     0,
+   246,    86,   102,     0,    31,     0,   252,     0,   250,     0,
+   251,     0,   262,     0,   272,     0,    68,     0,   102,     0,
+   249,    86,   102,     0,    78,   249,    82,     0,    79,   102,
+   102,    82,     0,     0,     0,    66,   102,   264,    87,   253,
+   266,    83,   254,   279,    68,     0,     0,    66,   102,   264,
+   255,   279,    68,     0,     0,     0,    66,   102,    43,   102,
+   264,    87,   256,   266,    83,   257,   279,    68,     0,     0,
+    66,   102,    43,   102,   264,   258,   279,    68,     0,     0,
+    67,   102,    87,   259,   266,    83,     0,    67,   102,     0,
+     0,    67,   102,    43,   102,    87,   260,   266,    83,     0,
+    67,   102,    43,   102,     0,     0,    66,   102,    64,   102,
+    81,   264,   261,   279,    68,     0,    67,   102,    64,   102,
+    81,     0,     0,    76,   102,   264,   263,   279,    68,     0,
+     0,   265,     0,    50,   249,    50,     0,   266,   267,   268,
+     0,   268,     0,    74,     0,    75,     0,    73,     0,     0,
+   268,   269,    82,     0,   268,    82,     0,   136,   127,   270,
+     0,   192,   127,   270,     0,     1,     0,     0,   271,     0,
+   270,    86,   271,     0,   169,     0,   169,    43,   112,     0,
+    43,   112,     0,     0,     0,     0,    53,   273,   289,   274,
+   290,   275,   203,     0,     0,     0,     0,    54,   276,   289,
+   277,   290,   278,   203,     0,     0,     0,   280,   281,     0,
+   284,     0,    94,     0,   281,   284,     0,     0,   281,   282,
+    94,     0,    82,     0,     1,     0,     0,     0,    53,   285,
+   289,   286,   283,     0,     0,     0,    54,   287,   289,   288,
+   283,     0,    64,   190,    81,   298,     0,   298,     0,    64,
+   190,    81,   299,   296,     0,   299,   296,     0,     0,    82,
+   291,     0,     0,   292,     0,   293,     0,   198,     0,   292,
+   293,     0,   293,   198,     0,   130,   127,   294,    82,     0,
+   130,    82,     0,   134,    82,     0,   295,     0,   294,    86,
+   295,     0,   171,   147,     0,   172,   147,     0,   191,   147,
+     0,     0,    86,    10,     0,     0,    86,   297,   239,     0,
+   300,     0,   302,     0,   299,   302,     0,     3,     0,     4,
+     0,    77,     0,   301,     0,    12,     0,    13,     0,    14,
      0,    15,     0,    16,     0,    17,     0,    18,     0,    19,
      0,    20,     0,    21,     0,    22,     0,    23,     0,    24,
      0,    25,     0,    26,     0,    27,     0,    11,     0,    28,
-     0,    29,     0,     6,     0,     7,     0,   297,    40,    61,
-   187,    78,    99,     0,   297,    40,    99,     0,    40,    61,
-   187,    78,    99,     0,    40,    99,     0,   297,     0,   301,
-     0,   303,     0,   301,   303,     0,   103,     0,   297,    40,
-   302,     0,    40,   302,     0,   101,     0,    69,     0,     0,
-     0,    62,   306,   304,   307,   300,    85,     0,   297,     0,
-   309,     0,   310,     0,   309,   310,     0,   297,    40,     0,
-    40,     0,    66,    61,   308,    78,     0,    73,    61,    99,
-    78,     0,    68,    61,   187,    78,     0
+     0,    29,     0,     6,     0,     7,     0,   300,    43,    64,
+   190,    81,   102,     0,   300,    43,   102,     0,    43,    64,
+   190,    81,   102,     0,    43,   102,     0,   300,     0,   304,
+     0,   306,     0,   304,   306,     0,   106,     0,   300,    43,
+   305,     0,    43,   305,     0,   104,     0,    72,     0,     0,
+     0,    65,   309,   307,   310,   303,    88,     0,   300,     0,
+   312,     0,   313,     0,   312,   313,     0,   300,    43,     0,
+    43,     0,    69,    64,   311,    81,     0,    76,    64,   102,
+    81,     0,    71,    64,   190,    81,     0
 };
 
 #endif
 
 #if YYDEBUG != 0
 static const short yyrline[] = { 0,
-   258,   263,   277,   279,   279,   280,   282,   284,   285,   286,
-   294,   298,   308,   312,   316,   318,   320,   321,   322,   327,
-   334,   336,   340,   344,   350,   352,   356,   360,   366,   368,
-   372,   378,   380,   381,   382,   385,   387,   389,   391,   393,
-   395,   397,   401,   405,   408,   411,   414,   418,   420,   423,
-   426,   430,   458,   464,   467,   470,   473,   475,   477,   481,
-   485,   489,   491,   494,   498,   525,   527,   529,   531,   533,
-   535,   537,   539,   541,   543,   545,   547,   549,   551,   555,
-   557,   561,   563,   566,   570,   572,   579,   582,   590,   601,
-   761,   762,   764,   770,   772,   795,   804,   806,   808,   820,
-   834,   836,   838,   840,   842,   844,   846,   851,   853,   860,
-   862,   866,   868,   869,   879,   884,   886,   887,   888,   895,
-   900,   904,   907,   915,   920,   922,   923,   924,   931,   941,
-   945,   950,   954,   958,   962,   964,   966,   975,   978,   982,
-   984,   986,   991,   995,   998,  1002,  1005,  1007,  1019,  1022,
-  1024,  1026,  1030,  1034,  1036,  1039,  1052,  1055,  1059,  1061,
-  1069,  1070,  1071,  1075,  1077,  1082,  1084,  1086,  1092,  1093,
-  1094,  1097,  1099,  1102,  1104,  1107,  1110,  1116,  1123,  1125,
-  1132,  1139,  1142,  1149,  1152,  1156,  1159,  1163,  1168,  1171,
-  1175,  1178,  1180,  1182,  1184,  1191,  1193,  1194,  1195,  1200,
-  1202,  1204,  1206,  1211,  1215,  1218,  1220,  1225,  1227,  1228,
-  1231,  1231,  1234,  1237,  1239,  1241,  1244,  1246,  1249,  1257,
-  1271,  1279,  1283,  1297,  1305,  1312,  1314,  1319,  1322,  1327,
-  1329,  1331,  1338,  1340,  1341,  1349,  1355,  1357,  1359,  1366,
-  1368,  1374,  1380,  1382,  1384,  1386,  1393,  1395,  1398,  1401,
-  1405,  1408,  1412,  1415,  1419,  1424,  1426,  1430,  1432,  1434,
-  1436,  1440,  1442,  1444,  1447,  1449,  1452,  1456,  1458,  1461,
-  1463,  1468,  1471,  1476,  1478,  1480,  1484,  1508,  1514,  1527,
-  1532,  1537,  1539,  1544,  1546,  1550,  1554,  1558,  1568,  1570,
-  1575,  1580,  1583,  1587,  1590,  1594,  1597,  1600,  1603,  1607,
-  1610,  1614,  1618,  1620,  1622,  1624,  1626,  1628,  1630,  1632,
-  1636,  1644,  1652,  1654,  1656,  1660,  1662,  1665,  1668,  1680,
-  1682,  1687,  1689,  1692,  1706,  1709,  1712,  1714,  1716,  1720,
-  1724,  1730,  1748,  1753,  1758,  1761,  1775,  1784,  1788,  1792,
-  1796,  1802,  1806,  1811,  1814,  1819,  1822,  1823,  1839,  1844,
-  1847,  1859,  1861,  1871,  1881,  1882,  1889,  1891,  1903,  1907,
-  1921,  1927,  1933,  1934,  1939,  1944,  1948,  1952,  1963,  1970,
-  1977,  1984,  1995,  2001,  2004,  2009,  2032,  2062,  2093,  2124,
-  2139,  2153,  2157,  2161,  2164,  2169,  2171,  2174,  2176,  2180,
-  2185,  2188,  2194,  2199,  2204,  2206,  2215,  2216,  2222,  2224,
-  2234,  2236,  2240,  2243,  2249,  2258,  2266,  2274,  2283,  2296,
-  2301,  2306,  2308,  2317,  2320,  2325,  2328,  2332,  2341,  2343,
-  2344,  2345,  2346,  2347,  2361,  2364,  2368,  2374,  2380,  2387,
-  2392,  2398,  2405,  2411,  2417,  2422,  2428,  2435,  2441,  2447,
-  2453,  2461,  2467,  2473,  2481,  2488,  2494,  2503,  2510,  2518,
-  2523,  2526,  2536,  2538,  2541,  2543,  2544,  2547,  2552,  2553,
-  2570,  2576,  2581,  2585,  2588,  2589,  2592,  2600,  2606,  2615,
-  2625,  2632,  2636,  2641,  2650,  2657,  2661,  2671,  2673,  2674,
-  2676,  2678,  2679,  2680,  2681,  2683,  2685,  2688,  2696,  2703,
-  2703,  2710,  2716,  2718,  2724,  2729,  2734,  2743,  2745,  2751,
-  2753,  2756,  2758,  2759,  2760,  2763,  2768,  2770,  2774,  2777,
-  2784,  2790,  2795,  2802,  2807,  2812,  2817,  2824,  2828,  2831,
-  2837,  2839,  2840,  2841,  2844,  2846,  2847,  2848,  2849,  2850,
-  2851,  2852,  2853,  2854,  2855,  2856,  2857,  2858,  2859,  2860,
-  2861,  2862,  2863,  2864,  2864,  2867,  2873,  2878,  2883,  2889,
-  2891,  2894,  2896,  2903,  2915,  2920,  2926,  2928,  2934,  2938,
-  2939,  2945,  2947,  2950,  2952,  2958,  2963,  2969,  2976,  2985
+   259,   264,   278,   280,   280,   281,   283,   285,   286,   287,
+   295,   299,   309,   313,   317,   319,   321,   322,   323,   328,
+   335,   337,   341,   345,   351,   353,   357,   361,   367,   369,
+   373,   379,   381,   382,   383,   386,   388,   390,   392,   394,
+   396,   398,   402,   406,   409,   412,   415,   419,   421,   424,
+   427,   431,   459,   465,   468,   471,   474,   476,   478,   482,
+   486,   490,   492,   495,   499,   526,   528,   530,   532,   534,
+   536,   538,   540,   542,   544,   546,   548,   550,   552,   556,
+   558,   562,   564,   567,   571,   573,   580,   583,   591,   602,
+   762,   763,   765,   771,   773,   796,   805,   807,   809,   821,
+   835,   837,   839,   841,   843,   845,   847,   852,   854,   861,
+   863,   867,   869,   870,   880,   885,   887,   888,   889,   896,
+   901,   905,   908,   916,   921,   923,   924,   925,   932,   942,
+   946,   951,   955,   959,   963,   965,   967,   976,   979,   983,
+   985,   987,   992,   996,   999,  1003,  1006,  1008,  1020,  1023,
+  1025,  1027,  1031,  1035,  1037,  1040,  1053,  1056,  1060,  1062,
+  1070,  1071,  1072,  1076,  1078,  1083,  1085,  1087,  1093,  1094,
+  1095,  1098,  1100,  1103,  1105,  1108,  1111,  1117,  1124,  1126,
+  1133,  1140,  1143,  1150,  1153,  1157,  1160,  1164,  1169,  1172,
+  1176,  1179,  1181,  1183,  1185,  1192,  1194,  1195,  1196,  1201,
+  1203,  1205,  1207,  1212,  1216,  1219,  1221,  1226,  1228,  1229,
+  1232,  1232,  1235,  1238,  1240,  1242,  1245,  1247,  1250,  1258,
+  1272,  1280,  1284,  1298,  1306,  1313,  1315,  1320,  1323,  1328,
+  1330,  1332,  1339,  1341,  1342,  1350,  1356,  1358,  1360,  1367,
+  1369,  1375,  1381,  1383,  1385,  1387,  1394,  1396,  1399,  1402,
+  1406,  1409,  1413,  1416,  1420,  1425,  1427,  1431,  1433,  1435,
+  1437,  1441,  1443,  1445,  1448,  1450,  1453,  1457,  1459,  1462,
+  1464,  1469,  1472,  1477,  1479,  1481,  1485,  1509,  1515,  1528,
+  1533,  1538,  1540,  1545,  1547,  1551,  1555,  1559,  1569,  1571,
+  1576,  1581,  1584,  1588,  1591,  1595,  1598,  1601,  1604,  1608,
+  1611,  1615,  1619,  1621,  1623,  1625,  1627,  1629,  1631,  1633,
+  1637,  1645,  1653,  1655,  1657,  1661,  1663,  1666,  1669,  1681,
+  1683,  1688,  1690,  1693,  1707,  1710,  1713,  1715,  1717,  1721,
+  1725,  1731,  1749,  1754,  1759,  1762,  1776,  1785,  1789,  1793,
+  1797,  1803,  1807,  1812,  1815,  1820,  1823,  1824,  1840,  1845,
+  1848,  1860,  1862,  1872,  1882,  1883,  1890,  1892,  1904,  1908,
+  1922,  1928,  1934,  1935,  1940,  1945,  1949,  1953,  1964,  1971,
+  1978,  1985,  1996,  2002,  2005,  2010,  2033,  2063,  2094,  2125,
+  2140,  2154,  2158,  2162,  2165,  2170,  2172,  2175,  2177,  2181,
+  2186,  2189,  2195,  2200,  2205,  2207,  2216,  2217,  2223,  2225,
+  2235,  2237,  2241,  2244,  2250,  2259,  2267,  2275,  2284,  2297,
+  2302,  2307,  2309,  2318,  2321,  2326,  2329,  2333,  2342,  2344,
+  2345,  2346,  2347,  2348,  2362,  2365,  2369,  2375,  2381,  2388,
+  2393,  2399,  2406,  2412,  2418,  2423,  2429,  2436,  2442,  2448,
+  2454,  2462,  2468,  2474,  2482,  2489,  2495,  2504,  2511,  2519,
+  2524,  2527,  2537,  2539,  2542,  2544,  2545,  2548,  2553,  2554,
+  2571,  2577,  2582,  2586,  2589,  2590,  2593,  2601,  2607,  2616,
+  2626,  2633,  2637,  2642,  2651,  2658,  2662,  2672,  2674,  2675,
+  2677,  2679,  2680,  2681,  2682,  2684,  2686,  2689,  2697,  2704,
+  2704,  2711,  2717,  2719,  2725,  2730,  2735,  2744,  2746,  2752,
+  2754,  2757,  2759,  2760,  2761,  2764,  2769,  2771,  2775,  2778,
+  2785,  2791,  2796,  2803,  2808,  2813,  2818,  2825,  2829,  2832,
+  2838,  2840,  2841,  2842,  2845,  2847,  2848,  2849,  2850,  2851,
+  2852,  2853,  2854,  2855,  2856,  2857,  2858,  2859,  2860,  2861,
+  2862,  2863,  2864,  2865,  2865,  2868,  2874,  2879,  2884,  2890,
+  2892,  2895,  2897,  2904,  2916,  2921,  2927,  2929,  2935,  2939,
+  2940,  2946,  2948,  2951,  2953,  2959,  2964,  2970,  2977,  2986
 };
 #endif
 
@@ -521,16 +524,16 @@ static const char * const yytname[] = {   "$","error","$undefined.","IDENTIFIER"
 "TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING","ELLIPSIS","SIZEOF",
 "ENUM","STRUCT","UNION","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT",
 "BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF","ATTRIBUTE",
-"EXTENSION","LABEL","REALPART","IMAGPART","VA_ARG","END_OF_LINE","ASSIGN","'='",
-"'?'","':'","OROR","ANDAND","'|'","'^'","'&'","EQCOMPARE","ARITHCOMPARE","LSHIFT",
-"RSHIFT","'+'","'-'","'*'","'/'","'%'","UNARY","PLUSPLUS","MINUSMINUS","HYPERUNARY",
-"POINTSAT","'.'","'('","'['","INTERFACE","IMPLEMENTATION","END","SELECTOR","DEFS",
-"ENCODE","CLASSNAME","PUBLIC","PRIVATE","PROTECTED","PROTOCOL","OBJECTNAME",
-"CLASS","ALIAS","OBJC_STRING","')'","';'","'}'","'~'","'!'","','","'{'","']'",
-"program","extdefs","@1","@2","extdef","datadef","fndef","@3","@4","@5","@6",
-"@7","@8","identifier","unop","expr","exprlist","nonnull_exprlist","unary_expr",
-"sizeof","alignof","cast_expr","@9","expr_no_commas","@10","@11","@12","@13",
-"@14","primary","string","objc_string","old_style_parm_decls","lineno_datadecl",
+"EXTENSION","LABEL","REALPART","IMAGPART","VA_ARG","PTR_VALUE","PTR_BASE","PTR_EXTENT",
+"END_OF_LINE","ASSIGN","'='","'?'","':'","OROR","ANDAND","'|'","'^'","'&'","EQCOMPARE",
+"ARITHCOMPARE","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","UNARY","PLUSPLUS",
+"MINUSMINUS","HYPERUNARY","POINTSAT","'.'","'('","'['","INTERFACE","IMPLEMENTATION",
+"END","SELECTOR","DEFS","ENCODE","CLASSNAME","PUBLIC","PRIVATE","PROTECTED",
+"PROTOCOL","OBJECTNAME","CLASS","ALIAS","OBJC_STRING","')'","';'","'}'","'~'",
+"'!'","','","'{'","']'","program","extdefs","@1","@2","extdef","datadef","fndef",
+"@3","@4","@5","@6","@7","@8","identifier","unop","expr","exprlist","nonnull_exprlist",
+"unary_expr","sizeof","alignof","cast_expr","@9","expr_no_commas","@10","@11",
+"@12","@13","@14","primary","string","objc_string","old_style_parm_decls","lineno_datadecl",
 "datadecls","datadecl","lineno_decl","decls","setspecs","setattrs","decl","typed_declspecs",
 "reserved_declspecs","typed_declspecs_no_prefix_attr","reserved_declspecs_no_prefix_attr",
 "declmods","declmods_no_prefix_attr","typed_typespecs","reserved_typespecquals",
@@ -565,63 +568,63 @@ static const char * const yytname[] = {   "$","error","$undefined.","IDENTIFIER"
 #endif
 
 static const short yyr1[] = {     0,
-    86,    86,    88,    87,    89,    87,    90,    90,    90,    90,
-    90,    91,    91,    91,    91,    91,    91,    91,    91,    93,
-    94,    92,    92,    95,    96,    92,    92,    97,    98,    92,
-    92,    99,    99,    99,    99,   100,   100,   100,   100,   100,
-   100,   100,   101,   102,   102,   103,   103,   104,   104,   104,
-   104,   104,   104,   104,   104,   104,   104,   104,   104,   105,
-   106,   107,   107,   108,   107,   109,   109,   109,   109,   109,
-   109,   109,   109,   109,   109,   109,   109,   109,   110,   109,
-   111,   109,   112,   113,   109,   114,   109,   109,   109,   115,
-   115,   115,   115,   115,   115,   115,   115,   115,   115,   115,
-   115,   115,   115,   115,   115,   115,   115,   116,   116,   117,
-   117,   118,   118,   118,   119,   120,   120,   120,   120,   121,
-   121,   121,   121,   122,   123,   123,   123,   123,   124,   125,
-   126,   126,   126,   126,   126,   126,   126,   127,   127,   128,
-   128,   128,   128,   129,   129,   130,   130,   130,   131,   131,
-   131,   131,   132,   132,   132,   132,   133,   133,   134,   134,
-   135,   135,   135,   135,   135,   135,   135,   135,   136,   136,
-   136,   137,   137,   138,   138,   139,   139,   141,   140,   140,
-   143,   142,   142,   144,   144,   145,   145,   146,   147,   147,
-   148,   148,   148,   148,   148,   149,   149,   149,   149,   150,
-   151,   150,   150,   152,   152,   153,   153,   154,   154,   155,
-   154,   154,   157,   156,   156,   156,   158,   158,   159,   161,
-   162,   160,   164,   165,   163,   166,   166,   167,   167,   167,
-   167,   167,   167,   167,   167,   168,   168,   168,   168,   168,
-   168,   169,   169,   169,   169,   169,   169,   169,   170,   170,
-   171,   171,   172,   172,   174,   173,   173,   173,   175,   173,
-   173,   173,   176,   173,   177,   173,   173,   178,   178,   179,
-   179,   180,   180,   181,   181,   181,   181,   182,   182,   182,
-   182,   182,   182,   183,   183,   184,   184,   184,   185,   185,
-   185,   186,   186,   187,   187,   188,   188,   189,   189,   190,
-   190,   191,   191,   191,   191,   191,   191,   191,   191,   191,
-   191,   192,   193,   193,   193,   194,   194,   195,   196,   197,
-   197,   198,   198,   199,   200,   200,   201,   202,   202,   202,
-   202,   203,   204,   205,   205,   206,   208,   207,   209,   210,
-   211,   211,   212,   213,   213,   214,   214,   214,   215,   214,
-   214,   214,   216,   217,   214,   214,   214,   218,   219,   220,
-   214,   221,   214,   214,   214,   214,   214,   214,   214,   214,
-   214,   214,   214,   214,   222,   224,   223,   225,   225,   225,
-   225,   226,   226,   227,   227,   228,   228,   229,   229,   230,
-   231,   231,   233,   232,   234,   235,   234,   234,   236,   236,
-   236,   236,   237,   237,   238,   238,   238,   238,   238,   240,
-   239,   241,   241,   242,   242,   243,   243,   244,   245,   245,
-   245,   245,   245,   245,   246,   246,   247,   248,   250,   251,
-   249,   252,   249,   253,   254,   249,   255,   249,   256,   249,
-   249,   257,   249,   249,   258,   249,   249,   260,   259,   261,
-   261,   262,   263,   263,   264,   264,   264,   265,   265,   265,
-   266,   266,   266,   267,   267,   267,   268,   268,   268,   270,
-   271,   272,   269,   273,   274,   275,   269,   276,   277,   276,
-   278,   278,   278,   279,   278,   280,   280,   282,   283,   281,
-   284,   285,   281,   286,   286,   286,   286,   287,   287,   288,
-   288,   289,   289,   289,   289,   290,   290,   290,   291,   291,
-   292,   292,   292,   293,   293,   294,   293,   295,   296,   296,
-   297,   297,   297,   297,   298,   298,   298,   298,   298,   298,
-   298,   298,   298,   298,   298,   298,   298,   298,   298,   298,
-   298,   298,   298,   298,   298,   299,   299,   299,   299,   300,
-   300,   301,   301,   302,   303,   303,   304,   304,   306,   307,
-   305,   308,   308,   309,   309,   310,   310,   311,   312,   313
+    89,    89,    91,    90,    92,    90,    93,    93,    93,    93,
+    93,    94,    94,    94,    94,    94,    94,    94,    94,    96,
+    97,    95,    95,    98,    99,    95,    95,   100,   101,    95,
+    95,   102,   102,   102,   102,   103,   103,   103,   103,   103,
+   103,   103,   104,   105,   105,   106,   106,   107,   107,   107,
+   107,   107,   107,   107,   107,   107,   107,   107,   107,   108,
+   109,   110,   110,   111,   110,   112,   112,   112,   112,   112,
+   112,   112,   112,   112,   112,   112,   112,   112,   113,   112,
+   114,   112,   115,   116,   112,   117,   112,   112,   112,   118,
+   118,   118,   118,   118,   118,   118,   118,   118,   118,   118,
+   118,   118,   118,   118,   118,   118,   118,   119,   119,   120,
+   120,   121,   121,   121,   122,   123,   123,   123,   123,   124,
+   124,   124,   124,   125,   126,   126,   126,   126,   127,   128,
+   129,   129,   129,   129,   129,   129,   129,   130,   130,   131,
+   131,   131,   131,   132,   132,   133,   133,   133,   134,   134,
+   134,   134,   135,   135,   135,   135,   136,   136,   137,   137,
+   138,   138,   138,   138,   138,   138,   138,   138,   139,   139,
+   139,   140,   140,   141,   141,   142,   142,   144,   143,   143,
+   146,   145,   145,   147,   147,   148,   148,   149,   150,   150,
+   151,   151,   151,   151,   151,   152,   152,   152,   152,   153,
+   154,   153,   153,   155,   155,   156,   156,   157,   157,   158,
+   157,   157,   160,   159,   159,   159,   161,   161,   162,   164,
+   165,   163,   167,   168,   166,   169,   169,   170,   170,   170,
+   170,   170,   170,   170,   170,   171,   171,   171,   171,   171,
+   171,   172,   172,   172,   172,   172,   172,   172,   173,   173,
+   174,   174,   175,   175,   177,   176,   176,   176,   178,   176,
+   176,   176,   179,   176,   180,   176,   176,   181,   181,   182,
+   182,   183,   183,   184,   184,   184,   184,   185,   185,   185,
+   185,   185,   185,   186,   186,   187,   187,   187,   188,   188,
+   188,   189,   189,   190,   190,   191,   191,   192,   192,   193,
+   193,   194,   194,   194,   194,   194,   194,   194,   194,   194,
+   194,   195,   196,   196,   196,   197,   197,   198,   199,   200,
+   200,   201,   201,   202,   203,   203,   204,   205,   205,   205,
+   205,   206,   207,   208,   208,   209,   211,   210,   212,   213,
+   214,   214,   215,   216,   216,   217,   217,   217,   218,   217,
+   217,   217,   219,   220,   217,   217,   217,   221,   222,   223,
+   217,   224,   217,   217,   217,   217,   217,   217,   217,   217,
+   217,   217,   217,   217,   225,   227,   226,   228,   228,   228,
+   228,   229,   229,   230,   230,   231,   231,   232,   232,   233,
+   234,   234,   236,   235,   237,   238,   237,   237,   239,   239,
+   239,   239,   240,   240,   241,   241,   241,   241,   241,   243,
+   242,   244,   244,   245,   245,   246,   246,   247,   248,   248,
+   248,   248,   248,   248,   249,   249,   250,   251,   253,   254,
+   252,   255,   252,   256,   257,   252,   258,   252,   259,   252,
+   252,   260,   252,   252,   261,   252,   252,   263,   262,   264,
+   264,   265,   266,   266,   267,   267,   267,   268,   268,   268,
+   269,   269,   269,   270,   270,   270,   271,   271,   271,   273,
+   274,   275,   272,   276,   277,   278,   272,   279,   280,   279,
+   281,   281,   281,   282,   281,   283,   283,   285,   286,   284,
+   287,   288,   284,   289,   289,   289,   289,   290,   290,   291,
+   291,   292,   292,   292,   292,   293,   293,   293,   294,   294,
+   295,   295,   295,   296,   296,   297,   296,   298,   299,   299,
+   300,   300,   300,   300,   301,   301,   301,   301,   301,   301,
+   301,   301,   301,   301,   301,   301,   301,   301,   301,   301,
+   301,   301,   301,   301,   301,   302,   302,   302,   302,   303,
+   303,   304,   304,   305,   306,   306,   307,   307,   309,   310,
+   308,   311,   311,   312,   312,   313,   313,   314,   315,   316
 };
 
 static const short yyr2[] = {     0,
@@ -810,134 +813,134 @@ static const short yydefgoto[] = {   967,
    492,   375,   376,   377,   137,   138,   139
 };
 
-static const short yypact[] = {   118,
-   137,  3350,  3350,   190,-32768,-32768,-32768,-32768,   204,   204,
-   204,   104,   161,   189,-32768,   294,-32768,-32768,   294,   294,
--32768,   236,   294,   236,   294,   294,-32768,-32768,-32768,-32768,
-   226,   174,  2782,   382,-32768,   204,-32768,   135,   192,   208,
--32768,  3350,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,   204,   204,   204,  3019,  2851,   241,-32768,-32768,
--32768,-32768,-32768,   158,  3627,  3627,   346,   123,-32768,-32768,
-   236,-32768,   237,   294,-32768,-32768,   226,   249,-32768,   204,
-   870,-32768,   416,-32768,   226,   382,-32768,   204,-32768,-32768,
-   793,-32768,   238,   242,   238,   258,-32768,   266,-32768,-32768,
--32768,-32768,-32768,-32768,  3019,  3019,   300,   294,-32768,-32768,
--32768,  3019,-32768,-32768,  1277,-32768,   354,   357,   362,-32768,
--32768,-32768,  3019,   330,   371,-32768,  3075,  3131,-32768,  3955,
-  1125,   457,   403,   986,  3019,-32768,-32768,-32768,-32768,-32768,
-   411,   297,-32768,   413,  3751,   303,-32768,   294,-32768,-32768,
+static const short yypact[] = {   102,
+   124,  3399,  3399,   214,-32768,-32768,-32768,-32768,    70,    70,
+    70,   114,   145,   206,-32768,   152,-32768,-32768,   152,   152,
+-32768,    94,   152,    94,   152,   152,-32768,-32768,-32768,-32768,
+   189,   197,  1269,   271,-32768,    70,-32768,   135,   230,   306,
+-32768,  3399,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,    70,    70,    70,  3083,  2906,   223,-32768,-32768,
+-32768,-32768,-32768,    61,  3667,  3667,   131,    50,-32768,-32768,
+    94,-32768,   252,   152,-32768,-32768,   189,   293,-32768,    70,
+  2040,-32768,   479,-32768,   189,   271,-32768,    70,-32768,-32768,
+   910,-32768,   224,   219,   224,   229,-32768,   242,-32768,-32768,
+-32768,-32768,-32768,-32768,  3083,  3083,   313,   152,-32768,-32768,
+-32768,  3083,-32768,-32768,  1620,-32768,   322,   332,   346,-32768,
+-32768,-32768,  3083,   254,   330,-32768,  3142,  3201,-32768,  3961,
+   523,   335,   347,   985,  3083,-32768,-32768,-32768,-32768,-32768,
+   349,   434,-32768,   360,  3794,   343,-32768,   152,-32768,-32768,
 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,   188,  2179,-32768,-32768,-32768,  2741,   458,-32768,-32768,
--32768,   294,   294,   423,   294,   294,-32768,-32768,-32768,   421,
-    98,    52,-32768,   416,   226,-32768,   452,-32768,  2194,   498,
-   204,-32768,-32768,   416,-32768,   327,-32768,   204,  2082,   317,
-   329,   347,  2054,   793,-32768,-32768,-32768,-32768,   204,-32768,
-   454,   442,  3270,-32768,   444,-32768,   106,-32768,-32768,-32768,
-  3019,-32768,-32768,   464,-32768,   465,   466,  2907,  3657,  2179,
-   294,-32768,   455,  3019,  1277,-32768,  1277,-32768,  3019,  3019,
-   510,-32768,-32768,  3019,  3019,  3019,  3019,  3019,  3019,  3019,
-  3019,  3019,  3019,  3019,  3019,-32768,-32768,   294,   294,  3019,
-  3019,-32768,-32768,   473,-32768,   531,   486,-32768,-32768,-32768,
-   297,  2255,   204,-32768,   379,   907,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,    41,-32768,   515,-32768,  2179,-32768,
-   493,   504,   567,-32768,   458,-32768,   353,   504,   236,   513,
--32768,   527,   519,   516,-32768,   527,-32768,-32768,   329,-32768,
--32768,   579,   329,   599,-32768,  3455,-32768,   524,   532,-32768,
-  1371,    80,-32768,-32768,   589,   204,   308,   182,-32768,   416,
-   416,-32768,   498,   204,-32768,  2316,-32768,-32768,   498,   560,
-   204,-32768,-32768,-32768,   551,  3296,  3563,   238,   204,   238,
--32768,   594,   552,-32768,   106,  3876,-32768,-32768,  2659,-32768,
--32768,-32768,-32768,   598,   558,  3657,-32768,   562,   568,-32768,
-  3955,   569,   570,  3955,  3955,  3019,   610,  3019,  3019,  1863,
-   912,   675,  1126,  1034,   535,   535,    63,    63,-32768,-32768,
--32768,-32768,-32768,   576,   371,   571,-32768,   294,  1191,   531,
--32768,-32768,   409,   185,-32768,  3485,-32768,   575,   297,-32768,
-  2377,-32768,   907,   577,   303,  3187,   583,  3692,  2140,-32768,
--32768,  3763,  2179,-32768,-32768,   573,   236,-32768,   601,  3427,
--32768,-32768,   449,   898,   602,    84,   586,-32768,-32768,-32768,
-  3829,-32768,   592,   364,-32768,-32768,   211,-32768,-32768,    83,
--32768,-32768,-32768,  2093,-32768,   317,-32768,-32768,   317,-32768,
-   634,-32768,-32768,   590,-32768,   600,-32768,-32768,-32768,-32768,
--32768,   604,-32768,   605,  3019,   294,   607,   552,  2179,-32768,
--32768,  3722,-32768,-32768,   598,-32768,-32768,-32768,-32768,-32768,
-   639,  3019,  1706,  1787,-32768,-32768,-32768,   435,   372,  1088,
-   609,   613,  1408,-32768,-32768,-32768,-32768,   379,-32768,-32768,
--32768,   379,-32768,-32768,   595,-32768,-32768,   246,   617,   294,
--32768,  2741,   624,  3513,-32768,-32768,  3829,  2168,    83,-32768,
-   591,   626,    83,-32768,   527,-32768,   476,-32768,-32768,-32768,
--32768,   226,   174,  2782,   399,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,  3842,   627,-32768,-32768,-32768,
-   471,    93,-32768,-32768,  3817,-32768,   702,   623,-32768,-32768,
-   628,-32768,-32768,   632,  3314,-32768,  1895,    83,-32768,-32768,
-    83,-32768,   631,-32768,-32768,   631,-32768,   204,   204,  3955,
--32768,   204,   655,   658,  1654,  3019,   701,   659,  3722,-32768,
--32768,  1625,-32768,   294,-32768,-32768,-32768,-32768,   663,-32768,
--32768,-32768,-32768,  2521,-32768,-32768,  3019,-32768,-32768,-32768,
--32768,   471,-32768,-32768,-32768,-32768,   294,-32768,-32768,   680,
-   527,-32768,  3627,  3627,   206,   416,   226,  1983,-32768,   489,
-  3266,   314,   314,-32768,-32768,-32768,    93,   204,   261,   273,
-   204,-32768,   204,   273,   204,  3485,-32768,-32768,-32768,-32768,
--32768,-32768,   416,-32768,   226,-32768,   829,-32768,-32768,  3955,
--32768,-32768,  1895,-32768,-32768,   343,   343,-32768,-32768,-32768,
-   204,-32768,-32768,   708,   294,-32768,   711,  3955,   672,   670,
--32768,-32768,   143,  1818,   371,-32768,  3019,-32768,   701,-32768,
-  3019,-32768,-32768,  2603,   714,   694,-32768,-32768,   697,   698,
-  3019,   721,   684,   685,  2963,   227,   759,   212,   324,-32768,
-   727,   692,-32768,   695,  3543,-32768,   757,  1490,    99,-32768,
--32768,-32768,-32768,-32768,  2771,   270,   261,   273,   204,   456,
--32768,-32768,   572,-32768,   712,   527,-32768,-32768,-32768,-32768,
-  3019,   738,   699,-32768,   699,   621,   471,-32768,  2438,-32768,
--32768,-32768,   735,    93,-32768,-32768,-32768,   474,   487,   829,
--32768,-32768,  1654,-32768,-32768,  3019,-32768,    73,   184,-32768,
--32768,  1654,-32768,-32768,  1736,-32768,  1972,-32768,-32768,-32768,
-  1625,  3019,   719,-32768,  3019,  3019,  3894,-32768,-32768,-32768,
--32768,   705,  3019,   706,-32768,   725,   204,-32768,-32768,   416,
--32768,   226,  1572,-32768,-32768,-32768,-32768,  3019,-32768,-32768,
--32768,-32768,-32768,-32768,   471,-32768,-32768,   723,    77,    77,
-  3955,  3019,   314,   397,   397,-32768,-32768,   707,-32768,-32768,
-   710,  3919,  3019,-32768,   713,  1972,-32768,-32768,   716,  3019,
-   778,-32768,   375,   724,   730,  3019,-32768,-32768,   733,-32768,
-  3019,-32768,   522,-32768,    95,   539,-32768,   479,-32768,-32768,
-  2603,   731,-32768,   527,-32768,-32768,-32768,-32768,-32768,  3955,
--32768,-32768,-32768,-32768,  3919,-32768,-32768,-32768,   741,-32768,
--32768,-32768,-32768,  3937,-32768,    48,-32768,   498,-32768,   498,
--32768,-32768,-32768,   737,   755,-32768,-32768,-32768,  3019,-32768,
--32768,   812,   743,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-   747,-32768,   767,    64,   746,-32768,-32768,   623,   623,-32768,
--32768,  3019,   812,   751,   812,-32768,-32768,  3019,   753,    66,
--32768,-32768,   760,-32768,   599,   765,-32768,   457,   284,-32768,
--32768,   768,   599,-32768,-32768,   457,   839,   862,-32768
+-32768,   368,  3874,-32768,-32768,-32768,  2795,   415,-32768,-32768,
+-32768,   152,   152,   362,   152,   152,-32768,-32768,-32768,   386,
+   503,   292,-32768,   479,   189,-32768,   402,-32768,  2224,   255,
+    70,-32768,-32768,   479,-32768,   337,-32768,    70,  2143,   406,
+   475,   418,  2059,   910,-32768,-32768,-32768,-32768,    70,-32768,
+   416,   408,  1966,-32768,   420,-32768,   119,-32768,-32768,-32768,
+  3083,-32768,-32768,   424,-32768,   451,   472,  2965,  3700,  3874,
+   152,-32768,   477,  3083,  1620,-32768,  1620,-32768,  3083,  3083,
+   514,-32768,-32768,  3083,  3083,  3083,  3083,  3083,  3083,  3083,
+  3083,  3083,  3083,  3083,  3083,-32768,-32768,   152,   152,  3083,
+  3083,-32768,-32768,   483,-32768,   539,   496,-32768,-32768,-32768,
+   434,  2288,    70,-32768,   486,   666,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,   222,-32768,   525,-32768,  3874,-32768,
+   513,   519,   593,-32768,   415,-32768,   443,   519,    94,   527,
+-32768,   543,   537,   544,-32768,   543,-32768,-32768,   475,-32768,
+-32768,   600,   475,   626,-32768,   103,-32768,   573,   603,-32768,
+   793,    80,-32768,-32768,   646,    70,   384,   325,-32768,   479,
+   479,-32768,   255,    70,-32768,  2352,-32768,-32768,   255,   617,
+    70,-32768,-32768,-32768,   611,   354,  3600,   224,    70,   224,
+-32768,   662,   620,-32768,   119,  1283,-32768,-32768,  2710,-32768,
+-32768,-32768,-32768,   664,   630,  3700,-32768,   633,   654,-32768,
+  3961,   655,   657,  3961,  3961,  3083,   665,  3083,  3083,  1588,
+  1391,   672,  1068,  1257,   688,   688,   627,   627,-32768,-32768,
+-32768,-32768,-32768,   667,   330,   663,-32768,   152,  1185,   539,
+-32768,-32768,   388,   448,-32768,  3553,-32768,   670,   434,-32768,
+  2416,-32768,   666,   671,   343,  3260,   673,  3735,  2162,-32768,
+-32768,  3371,  3874,-32768,-32768,   668,    94,-32768,   685,  3479,
+-32768,-32768,   487,  3342,   691,    79,   680,-32768,-32768,-32768,
+  3824,-32768,   682,   436,-32768,-32768,   273,-32768,-32768,    77,
+-32768,-32768,-32768,  3863,-32768,   406,-32768,-32768,   406,-32768,
+   723,-32768,-32768,   677,-32768,   686,-32768,-32768,-32768,-32768,
+-32768,   683,-32768,   690,  3083,   152,   694,   620,  3874,-32768,
+-32768,  3768,-32768,-32768,   664,-32768,-32768,-32768,-32768,-32768,
+   735,  3083,  1125,  1238,-32768,-32768,-32768,   437,   509,  1082,
+   697,   699,  1341,-32768,-32768,-32768,-32768,   486,-32768,-32768,
+-32768,   486,-32768,-32768,   696,-32768,-32768,   283,   705,   152,
+-32768,  2795,   706,  2174,-32768,-32768,  3824,  2193,    77,-32768,
+   701,   709,    77,-32768,   543,-32768,   555,-32768,-32768,-32768,
+-32768,   189,   197,  1269,   258,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,  3891,   710,-32768,-32768,-32768,
+   227,   298,-32768,-32768,  3813,-32768,   790,   708,-32768,-32768,
+   713,-32768,-32768,   730,  3583,-32768,   873,    77,-32768,-32768,
+    77,-32768,   733,-32768,-32768,   733,-32768,    70,    70,  3961,
+-32768,    70,   737,   741,  1705,  3083,   773,   740,  3768,-32768,
+-32768,  1673,-32768,   152,-32768,-32768,-32768,-32768,   746,-32768,
+-32768,-32768,-32768,  2566,-32768,-32768,  3083,-32768,-32768,-32768,
+-32768,   227,-32768,-32768,-32768,-32768,   152,-32768,-32768,   755,
+   543,-32768,  3667,  3667,    98,   479,   189,  3498,-32768,   577,
+  3359,   447,   447,-32768,-32768,-32768,   298,    70,   259,   370,
+    70,-32768,    70,   370,    70,  3553,-32768,-32768,-32768,-32768,
+-32768,-32768,   479,-32768,   189,-32768,  1143,-32768,-32768,  3961,
+-32768,-32768,   873,-32768,-32768,   471,   471,-32768,-32768,-32768,
+    70,-32768,-32768,   788,   152,-32768,   791,  3961,   752,   750,
+-32768,-32768,    87,  1875,   330,-32768,  3083,-32768,   773,-32768,
+  3083,-32768,-32768,  2651,   795,   775,-32768,-32768,   777,   778,
+  3083,   801,   765,   780,  3024,   243,   861,    76,   200,-32768,
+   826,   789,-32768,   796,  3572,-32768,   856,  1450,    95,-32768,
+-32768,-32768,-32768,-32768,  2823,   336,   259,   370,    70,   490,
+-32768,-32768,   581,-32768,   805,   543,-32768,-32768,-32768,-32768,
+  3083,   832,   797,-32768,   797,   602,   227,-32768,  2480,-32768,
+-32768,-32768,   640,   298,-32768,-32768,-32768,   536,   554,  1143,
+-32768,-32768,  1705,-32768,-32768,  3083,-32768,   122,    75,-32768,
+-32768,  1705,-32768,-32768,  1790,-32768,  1955,-32768,-32768,-32768,
+  1673,  3083,   813,-32768,  3083,  3083,   921,-32768,-32768,-32768,
+-32768,   803,  3083,   806,-32768,   825,    70,-32768,-32768,   479,
+-32768,   189,  1535,-32768,-32768,-32768,-32768,  3083,-32768,-32768,
+-32768,-32768,-32768,-32768,   227,-32768,-32768,   822,    83,    83,
+  3961,  3083,   447,   610,   610,-32768,-32768,   807,-32768,-32768,
+   808,  3925,  3083,-32768,   810,  1955,-32768,-32768,   816,  3083,
+   877,-32768,   482,   817,   819,  3083,-32768,-32768,   821,-32768,
+  3083,-32768,   560,-32768,   236,   562,-32768,   744,-32768,-32768,
+  2651,   820,-32768,   543,-32768,-32768,-32768,-32768,-32768,  3961,
+-32768,-32768,-32768,-32768,  3925,-32768,-32768,-32768,   824,-32768,
+-32768,-32768,-32768,  3943,-32768,   160,-32768,   255,-32768,   255,
+-32768,-32768,-32768,   827,   830,-32768,-32768,-32768,  3083,-32768,
+-32768,   901,   829,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+   831,-32768,   848,   168,   828,-32768,-32768,   708,   708,-32768,
+-32768,  3083,   901,   837,   901,-32768,-32768,  3083,   839,   171,
+-32768,-32768,   849,-32768,   626,   847,-32768,   335,   373,-32768,
+-32768,   852,   626,-32768,-32768,   335,   935,   939,-32768
 };
 
 static const short yypgoto[] = {-32768,
--32768,-32768,-32768,   105,  -375,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,   -14,-32768,   -56,   439,  -226,   355,-32768,-32768,
-   -74,-32768,   596,-32768,-32768,-32768,-32768,-32768,    65,  -310,
--32768,  -313,   536,-32768,-32768,   358,-32768,   248,   -46,   127,
-    15,   786,-32768,   202,    38,   -26,  -172,   606,   492,  -244,
+-32768,-32768,-32768,   100,  -375,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,   -14,-32768,   -56,   515,  -226,   280,-32768,-32768,
+   -74,-32768,   596,-32768,-32768,-32768,-32768,-32768,   140,  -310,
+-32768,  -313,   614,-32768,-32768,   439,-32768,   248,   -46,   202,
+    15,   864,-32768,   272,    38,   -26,  -172,   698,   492,  -244,
   -602,   -82,  -181,  -120,-32768,-32768,-32768,  -262,    44,   -32,
--32768,   460,-32768,   197,-32768,  -672,-32768,    86,-32768,  -631,
--32768,-32768,   186,-32768,-32768,-32768,-32768,-32768,-32768,   -73,
+-32768,   529,-32768,   269,-32768,  -638,-32768,   164,-32768,  -631,
+-32768,-32768,   276,-32768,-32768,-32768,-32768,-32768,-32768,   -73,
   -109,  -502,     2,-32768,-32768,-32768,   -78,-32768,-32768,-32768,
--32768,-32768,   400,   -27,-32768,   533,   414,   216,   526,   407,
-   -24,   -75,  -159,  -168,  -236,   392,-32768,-32768,  -239,-32768,
--32768,-32768,   496,  -143,-32768,   326,-32768,  -526,-32768,-32768,
--32768,-32768,  -192,  -449,  -719,   396,-32768,    34,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,    35,-32768,
-  -817,   -25,-32768,   -22,-32768,   502,-32768,  -353,-32768,   495,
-   497,   349,  -306,-32768,-32768,-32768,-32768,    17,-32768,   903,
+-32768,-32768,   467,   -27,-32768,   623,   521,   310,   656,   538,
+   -24,   -75,  -159,  -168,  -236,   511,-32768,-32768,  -239,-32768,
+-32768,-32768,   613,   -22,-32768,   444,-32768,  -526,-32768,-32768,
+-32768,-32768,  -192,  -449,  -719,   516,-32768,   146,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   147,-32768,
+  -818,    88,-32768,    89,-32768,   612,-32768,  -353,-32768,   604,
+   605,   466,  -306,-32768,-32768,-32768,-32768,    17,-32768,  1017,
 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,    -9,     5,  -355,-32768,   368,-32768,
-   280,    91,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  -300,
--32768,-32768,-32768,    97,   380,-32768,-32768,-32768,-32768,   -23,
-   630,-32768,-32768,   404,-32768,   107,   408,-32768,   518,   520,
-  -140,-32768,  -127,-32768,-32768,   240,   341,-32768,-32768,-32768,
--32768,-32768,-32768,   597,-32768,-32768,-32768
+-32768,-32768,-32768,-32768,    -9,     5,  -355,-32768,   481,-32768,
+   394,   205,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  -300,
+-32768,-32768,-32768,   211,   497,-32768,-32768,-32768,-32768,   -23,
+   745,-32768,-32768,   518,-32768,   225,   531,-32768,   631,   636,
+  -140,-32768,  -127,-32768,-32768,   359,   462,-32768,-32768,-32768,
+-32768,-32768,-32768,   700,-32768,-32768,-32768
 };
 
 
-#define        YYLAST          4009
+#define        YYLAST          4018
 
 
 static const short yytable[] = {   124,
@@ -948,400 +951,401 @@ static const short yytable[] = {   124,
     33,   422,   181,   405,   414,    36,    36,    92,   242,   306,
    354,   670,    53,    54,    55,    92,    32,   184,    42,   190,
    278,   188,   520,   356,   551,   624,   284,   225,   659,   290,
-   778,    70,   799,   321,    80,    70,    88,   886,   192,    33,
-  -113,   471,   547,   578,   861,    36,   213,   922,   477,   462,
-   237,   461,   272,   232,   338,    75,   483,   736,   374,   827,
-    75,   931,    14,   943,   318,   955,   361,    50,    59,    60,
-   851,   413,   198,   199,   263,   264,   265,    -1,   424,   855,
-    80,   197,    14,   425,  -176,   923,   208,    14,    80,   320,
-   953,   294,  -176,   298,   219,   220,    -2,    59,    60,   334,
-   344,   944,   328,   956,   662,   686,    99,   687,   301,    76,
-   334,  -185,  -185,   657,   282,   887,   334,   300,    77,   828,
-   911,   569,   185,  -113,    56,   858,   579,   309,   310,   514,
-   313,   314,   714,  -176,    61,    92,   518,  -176,   422,    62,
-   797,   371,   522,   186,   354,   283,    92,   736,   283,   535,
-    59,    60,   319,   926,    59,    60,   323,   356,   930,   405,
-   932,   650,   695,    61,   147,   192,   187,   220,    62,   940,
-    59,    60,   362,    14,   406,   378,   515,   873,    93,   468,
-   382,    57,   383,   853,   897,   418,   379,   466,    75,    59,
-    60,   469,   197,    14,    80,   495,   419,   208,    80,   357,
-   148,   964,   345,   346,   640,   420,   421,   208,   299,    58,
-    92,   -35,    82,   402,   403,    14,    61,   219,    16,   467,
-    61,    62,   519,   844,   845,    62,   198,   199,    51,    52,
-   616,   565,   759,   621,   427,    95,    61,    76,   813,    83,
-    85,    62,    16,   753,   566,   595,    77,   597,   576,   474,
-    14,    97,   434,   577,   491,    61,    59,    60,   635,   436,
-    62,   146,    14,    92,   221,    59,    60,   291,   292,   293,
-    75,   202,   777,    70,   318,   189,    75,   202,   515,   148,
-   622,   768,   769,   626,   283,   224,    14,   193,   627,   501,
-   482,   194,   484,   198,   199,   688,   689,    14,   319,   690,
-   755,   226,   323,    14,   220,    75,   202,   830,   280,   228,
-   362,   607,   244,   761,   736,    59,    60,   281,   282,   203,
-   231,   962,    61,   -34,   525,   203,   963,    62,   204,    36,
-    16,    61,    14,   357,   204,   881,    62,   345,   346,   705,
-   208,   205,   786,   208,   208,   182,    89,   205,    90,   198,
-   199,   305,    16,   507,   203,   636,   770,   771,   772,   638,
-   746,   775,   776,   204,   306,   339,   183,   243,   542,   340,
-   294,   946,   947,   433,   239,   318,   205,   240,    75,   202,
-   414,    61,   241,   787,    86,   347,    62,   546,   790,   194,
-   266,   267,   782,   268,   269,   270,   271,   585,    14,   420,
-   421,    70,   574,   533,   682,    14,   575,   684,   549,   550,
-   459,   615,   901,   244,   553,   838,   283,   768,   769,    36,
-   280,   846,   283,  -480,   604,   272,   534,   203,   709,   281,
-   282,   362,    36,    75,   655,    36,   204,   554,   565,   273,
-   705,   246,   248,    36,   831,   832,   833,   766,   279,   205,
-   287,   566,   597,   773,    88,   661,   665,   307,   329,   317,
-    14,  -339,  -339,  -339,  -339,   197,   311,    86,  -176,  -339,
-  -339,  -339,   324,   613,   350,   629,  -176,   614,   558,   559,
-   560,   351,   656,   359,    87,  -339,   854,    86,   561,   518,
-   522,   657,   282,   380,   834,   782,   518,   522,   835,   198,
-   199,   367,   368,   369,  -339,   558,   559,   560,   143,   -86,
-   407,   533,   849,   645,   872,   642,   340,  -176,   558,   559,
-   560,  -176,   408,   412,   212,   850,  -339,   732,   760,   194,
-   428,  -339,   660,   664,   534,   426,   431,    88,   762,   762,
-    36,  -112,   429,   915,   261,   262,   263,   264,   265,   894,
-   437,  -478,   779,   442,   924,    80,   925,    88,   220,   712,
-   907,   478,   441,   480,   340,   197,   143,   102,   458,   731,
-   459,   767,   789,   789,   658,   663,   774,   909,    36,   757,
-   758,   194,   752,    75,   655,    92,   465,   318,   476,   479,
-    92,   485,   916,   748,   486,   494,   289,   493,   734,   497,
-   745,   558,   559,   560,   958,   498,   499,   500,   645,   502,
-    14,   836,   966,   505,   526,   506,   544,   732,   192,   521,
-   530,   735,   553,   570,   143,   548,   568,    36,   812,   573,
-   278,   589,   656,   575,   590,   658,   645,   592,   611,   625,
-   791,   657,   282,   598,   599,   554,   602,   552,  -316,   208,
-    80,    36,   620,   344,   628,   208,   208,   571,   572,   731,
-   663,   220,   631,   637,   669,   654,   579,   275,    86,    36,
-   672,   814,   848,   685,   143,   334,   208,   334,    80,    72,
+   778,    70,   799,   321,    80,    70,    88,   578,   192,    33,
+  -113,   471,   547,   886,   861,    36,   213,   272,   477,   462,
+   237,   461,   185,   232,   338,   827,   483,   736,   374,    14,
+   931,    -1,    50,   447,    14,   448,     5,     6,     7,     8,
+   147,   413,   449,   186,     9,    10,    11,   853,   -35,   361,
+    80,    59,    60,    -2,   197,    16,   208,   797,    80,   953,
+    13,   294,    14,   298,   219,   220,   187,    59,    60,   334,
+   344,    99,   328,    16,   851,   686,   148,   687,   301,   695,
+   334,    14,    16,   855,    59,    60,   334,   300,   828,   569,
+   911,   198,   199,   579,   887,   858,  -113,   309,   310,   514,
+   313,   314,   714,   182,    22,    92,   518,    56,   422,    24,
+    16,   371,   522,  -399,   354,   283,    92,   736,   283,   535,
+    61,    75,   319,   926,   183,    62,   323,   356,   930,   405,
+   932,   650,   922,  -185,  -185,   192,    61,   220,    57,   940,
+   943,    62,   362,   955,   406,   378,   515,   873,    14,   468,
+   382,    93,   383,    61,   897,   418,   379,   466,    62,    75,
+   655,   469,    59,    60,    80,   495,   419,   208,    80,   357,
+   923,   964,   -34,    76,   640,    59,    60,   208,   944,    16,
+    92,   956,    77,   402,   403,   329,    14,   219,  -339,  -339,
+  -339,  -339,   197,   844,   845,  -176,  -339,  -339,  -339,    58,
+   616,   565,   759,   621,   427,    89,  -176,    90,    82,    83,
+    85,   656,  -339,   753,   566,   595,   146,   597,    14,   474,
+   657,   282,   434,   221,   491,    51,    52,   813,   635,   436,
+    75,    61,   424,    92,  -339,   224,    62,   425,    59,    60,
+   549,   550,   777,    70,    61,   226,    95,  -176,   515,    62,
+   622,  -176,   768,   769,   283,  -480,  -339,    14,   228,   501,
+   482,  -339,   484,   189,   243,   688,   689,   148,   319,   690,
+   755,  -112,   323,   272,   220,    59,    60,   291,   292,   293,
+   362,   607,   662,   576,   736,   198,   199,     5,   577,     7,
+   288,   657,   282,   626,   525,     9,    10,    11,   627,    36,
+    59,    60,   320,   357,   193,   881,   231,    61,   194,   705,
+   208,    13,    62,   208,   208,   239,    75,   202,   345,   346,
+   318,   305,    97,   507,   318,   240,   770,   771,   772,    14,
+   746,   775,   776,    16,   306,   467,   246,   248,   542,   241,
+   294,   946,   947,    14,    61,   244,   830,    14,   339,    62,
+   414,   244,   340,   787,    86,    22,   273,   546,   790,   279,
+    24,   299,   782,   198,   199,  -281,  -281,   585,   203,    61,
+   287,    70,   280,   533,    62,    59,    60,   204,   311,    75,
+   202,   281,   282,   962,   553,   838,   283,   307,   963,    36,
+   205,   846,   283,    14,   604,   324,   534,   317,   709,   345,
+   346,   362,    36,    75,   202,    36,    14,   554,   565,   350,
+   705,    75,   202,    36,   831,   832,   833,   766,   280,   761,
+   351,   566,   597,   773,    88,   661,   665,   281,   282,   347,
+    14,   203,   359,   194,   367,    75,   433,    86,    14,   318,
+   204,   420,   421,   786,    61,   629,   636,   574,   613,    62,
+   638,   575,   614,   205,    87,   203,   854,    86,   519,   518,
+   522,   368,    14,   203,   204,   782,   518,   522,   198,   199,
+   266,   267,   204,   268,   269,   270,   271,   205,   143,   420,
+   421,   533,   369,   645,   872,   205,   -86,    76,   380,   558,
+   559,   560,   901,   407,   212,   682,    77,   732,   684,   561,
+   408,   834,   660,   664,   534,   835,   412,    88,   762,   762,
+    36,   266,   267,   915,   268,   269,   270,   271,   426,   894,
+   459,   615,   779,   428,   924,    80,   925,    88,   220,   712,
+   429,   478,   431,   480,    75,   655,   143,   437,   318,   731,
+  -478,   767,   789,   789,   658,   663,   774,   849,    36,   757,
+   758,   340,   752,   441,   442,    92,   197,   558,   559,   560,
+    92,    14,   916,   748,   102,   850,   289,   642,   734,   194,
+   745,   907,    75,   909,   958,   340,   318,   194,   645,   558,
+   559,   560,   966,   558,   559,   560,   656,   732,   192,   760,
+   458,   735,   553,   836,   143,   657,   282,    36,   812,    14,
+   278,   216,   217,   768,   769,   658,   645,     9,    10,    11,
+   791,   263,   264,   265,   459,   554,   465,   552,   476,   208,
+    80,    36,   479,   344,   662,   208,   208,   571,   572,   731,
+   663,   220,   485,   657,   282,   486,   493,   502,    86,    36,
+   494,   814,   848,   497,   143,   334,   208,   334,    80,    72,
    257,   258,   259,   260,   261,   262,   263,   264,   265,   788,
-   208,   143,    70,    70,   691,   692,   143,    75,   143,   876,
-   707,   318,   713,   708,   754,   859,   875,   -32,   862,   865,
-   793,   794,   795,   -33,   802,    92,   869,   805,   806,   734,
-   808,   745,   809,   810,    14,   815,   817,   319,   323,   762,
-   818,   882,   823,   819,   319,   323,   837,   842,    88,   860,
-   632,   843,   735,   868,   870,   871,   662,   885,    36,   893,
-   143,   892,   896,   898,   900,   657,   282,   215,   216,   217,
-   646,   647,   902,   899,     9,    10,    11,   903,   914,   658,
-   658,   905,   652,   653,   906,   927,   663,   663,   917,   928,
-   933,   937,    14,   878,   732,   941,   366,   942,   945,   951,
-   954,   673,   675,   781,   216,   217,   748,   957,   968,   381,
-     9,    10,    11,   960,   384,   385,   965,   289,   143,   390,
+   208,   143,    70,    70,   498,   499,   143,   500,   143,   876,
+   261,   262,   263,   264,   265,   859,   875,   505,   862,   865,
+   506,   526,   548,   530,   544,    92,   869,   521,   568,   734,
+   570,   745,   573,   589,   590,   598,   592,   319,   323,   762,
+   197,   882,   599,  -176,   319,   323,   602,   611,    88,  -316,
+   632,   620,   735,   625,  -176,   628,   575,   631,    36,   637,
+   143,   654,   669,   329,   579,   275,  -116,  -116,  -116,  -116,
+   646,   647,  -116,   899,  -116,  -116,  -116,   198,   199,   658,
+   658,   672,   652,   653,   906,   707,   663,   663,   685,   691,
+  -116,   692,   754,   878,   732,  -176,   366,   708,   713,  -176,
+   -32,   673,   675,   793,   794,   795,   748,   -33,   802,   381,
+   805,   806,  -116,   808,   384,   385,   809,   289,   143,   390,
    391,   392,   393,   394,   395,   396,   397,   398,   399,   400,
-   401,   969,   862,   208,   529,    80,   731,   463,   617,   863,
-   196,   829,   214,   -28,   -28,   -28,   -28,   780,   658,   784,
-   857,   -28,   -28,   -28,   527,   949,   208,   603,   798,   481,
-   488,   862,   601,   596,   423,   552,   197,   -28,   563,  -176,
-   785,     5,   618,     7,   140,   517,   671,  -176,   623,     9,
-    10,    11,   216,   217,   912,   913,   -28,   950,     9,    10,
-    11,   523,   952,   668,   143,    13,   540,    73,   541,   651,
-   198,   199,   765,   891,   649,   143,   889,   435,   -28,   630,
-   634,   883,    87,   -28,    16,   531,   800,   532,  -176,   710,
-     0,     0,  -176,   -28,     0,   586,   256,   257,   258,   259,
-   260,   261,   262,   263,   264,   265,    22,  -454,  -454,  -454,
-     0,    24,   496,     0,     0,     0,   564,  -454,     0,     0,
-   143,   820,   822,   503,   504,     0,   274,     0,  -319,  -319,
-  -319,  -319,  -319,  -319,  -319,     0,  -319,  -319,  -319,  -319,
-  -319,     0,  -319,  -319,  -319,  -319,  -319,  -319,  -319,  -319,
+   401,   810,   862,   208,  -116,    80,   731,   815,   817,  -116,
+   818,   823,   837,   678,   842,   100,   860,   819,   658,  -116,
+   101,   102,   843,   103,   868,   949,   208,   870,   871,   885,
+   893,   862,   896,   900,   892,   552,   898,   928,   902,   903,
+   914,   104,   905,    15,   917,   105,   106,   107,   927,   933,
+   937,   942,   941,   945,   215,   216,   217,   108,   951,   954,
+   109,     9,    10,    11,   143,   110,   111,   112,   960,   957,
+   866,   113,   114,   965,   968,   143,   115,   116,   969,    14,
+   529,   117,    87,   118,   863,   463,   829,   780,   119,   617,
+   214,   784,   120,   527,   603,   586,   121,   122,   857,   679,
+   249,   250,   251,   867,   252,   253,   254,   255,   256,   257,
+   258,   259,   260,   261,   262,   263,   264,   265,   798,   481,
+   143,   820,   822,   503,   504,   274,   423,  -319,  -319,  -319,
+  -319,  -319,  -319,  -319,   785,  -319,  -319,  -319,  -319,  -319,
+   596,  -319,  -319,  -319,  -319,  -319,  -319,  -319,  -319,  -319,
   -319,  -319,  -319,  -319,  -319,  -319,  -319,  -319,  -319,  -319,
-  -319,     0,     0,     0,     0,    87,     0,  -319,     0,     0,
-  -319,     0,  -319,     0,     0,  -319,  -319,  -319,     0,     0,
-     0,  -319,  -319,     0,     0,    87,  -319,  -319,     0,     0,
-     0,  -319,     0,  -319,  -319,     0,     0,   289,  -319,  -319,
-     0,     0,  -319,     0,  -319,   275,  -319,  -319,     0,  -319,
-     0,     0,     0,     0,     0,     0,   676,     0,     0,     0,
-   600,   259,   260,   261,   262,   263,   264,   265,   329,     0,
-  -125,  -125,  -125,  -125,  -125,  -125,  -125,   612,  -125,  -125,
-  -125,  -125,  -125,     0,  -125,  -125,  -125,  -125,  -125,  -125,
-  -125,  -125,  -125,  -125,  -125,  -125,  -125,  -125,  -125,     0,
-  -125,  -125,  -125,     0,     0,     0,     0,     0,     0,  -125,
-     0,     0,  -125,     0,  -125,     0,     0,  -125,  -125,  -125,
-     0,     0,   143,  -125,  -125,     0,     0,     0,  -125,  -125,
-     0,     0,     0,  -125,     0,  -125,  -125,     0,     0,     0,
-  -125,  -125,     0,     0,  -125,     0,  -125,  -125,  -125,  -125,
-     0,  -125,   258,   259,   260,   261,   262,   263,   264,   265,
-   266,   267,   680,   268,   269,   270,   271,     0,     0,     0,
-     0,   509,     0,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
-   698,  -339,  -339,  -339,  -339,  -339,     0,  -339,  -339,  -339,
-  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
-  -339,  -339,     0,  -339,  -339,  -339,    87,     0,     0,     0,
-     0,     0,  -339,     0,     0,  -339,     0,  -339,     0,     0,
-  -339,  -339,  -339,     0,     0,     0,  -339,  -339,     0,     0,
-     0,  -339,  -339,     0,     0,     0,  -339,     0,  -339,  -339,
-     0,     0,     0,  -339,  -339,     0,     0,  -339,     0,  -339,
-     0,  -339,  -339,     0,  -339,     0,     0,   234,   680,   100,
-     5,     0,     7,   140,   101,   102,     0,   103,     9,    10,
-    11,     0,     0,     0,     0,     0,     0,     0,     0,   698,
-     0,     0,     0,     0,    13,   104,   801,    15,     0,   105,
-   106,   107,     0,     0,     0,     0,   807,     0,   108,     0,
-     0,   109,     0,    16,     0,     0,   110,   111,   112,     0,
-     0,     0,   113,   114,     0,     0,     0,   115,   116,     0,
-     0,     0,   117,     0,   118,    22,     0,     0,     0,   119,
-    24,     0,     0,   120,     0,     0,   841,   121,   122,     0,
-   235,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,   329,     0,     0,  -116,  -116,  -116,  -116,   698,     0,
-  -116,   852,  -116,  -116,  -116,     0,     0,   698,     0,     0,
-   698,     0,   698,     0,     0,     0,     0,     0,  -116,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,   329,     0,
-  -339,  -339,     0,     0,     0,  -339,  -339,  -116,  -339,     0,
-     0,     0,  -339,     0,  -339,  -339,  -339,  -339,  -339,  -339,
-  -339,  -339,  -339,  -339,  -339,     0,  -339,   890,  -339,  -116,
-  -339,  -339,  -339,     0,  -116,     0,     0,     0,   895,  -339,
-     0,   698,  -339,     0,  -116,     0,     0,  -339,  -339,  -339,
-     0,   904,     0,  -339,  -339,     0,     0,     0,  -339,  -339,
+   488,   618,   517,   601,   671,    87,   912,   913,   623,  -319,
+   950,   523,  -319,   952,  -319,   540,   541,  -319,  -319,  -319,
+   668,    73,   651,  -319,  -319,    87,   765,   891,  -319,  -319,
+   889,   649,   435,  -319,   634,  -319,  -319,   289,   531,   883,
+  -319,  -319,   630,   532,  -319,   800,  -319,   275,  -319,  -319,
+   710,  -319,     0,     0,     0,   496,   676,     0,     0,     0,
+   600,     0,   329,     0,  -125,  -125,  -125,  -125,  -125,  -125,
+  -125,     0,  -125,  -125,  -125,  -125,  -125,   612,  -125,  -125,
+  -125,  -125,  -125,  -125,  -125,  -125,  -125,  -125,  -125,  -125,
+  -125,  -125,  -125,     0,  -125,  -125,  -125,   258,   259,   260,
+   261,   262,   263,   264,   265,     0,  -125,     0,     0,  -125,
+     0,  -125,     0,     0,  -125,  -125,  -125,     0,     0,     0,
+  -125,  -125,   143,     0,     0,  -125,  -125,   781,   216,   217,
+  -125,     0,  -125,  -125,     9,    10,    11,  -125,  -125,     0,
+     0,  -125,     0,  -125,  -125,  -125,  -125,     0,  -125,   253,
+   254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
+   264,   265,   680,     0,     0,   509,     0,  -339,  -339,  -339,
+  -339,  -339,  -339,  -339,     0,  -339,  -339,  -339,  -339,  -339,
+   698,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,
+  -339,  -339,  -339,  -339,  -339,  -339,     0,  -339,  -339,  -339,
+     0,     0,     0,     0,     0,     0,    87,     0,     0,  -339,
+     0,     0,  -339,     0,  -339,     0,     0,  -339,  -339,  -339,
+     0,     0,     0,  -339,  -339,     0,     0,     0,  -339,  -339,
      0,     0,     0,  -339,     0,  -339,  -339,     0,     0,     0,
-  -339,  -339,     0,     0,  -339,     0,  -339,  -312,  -339,  -339,
-   824,  -339,  -339,  -339,     0,     0,     0,  -339,  -339,     0,
-  -339,     0,     0,     0,  -339,     0,  -339,  -339,  -339,  -339,
+  -339,  -339,     0,     0,  -339,     0,  -339,     0,  -339,  -339,
+     0,  -339,     5,     6,     7,     8,     0,     0,   680,     0,
+     9,    10,    11,   254,   255,   256,   257,   258,   259,   260,
+   261,   262,   263,   264,   265,     0,    13,     0,    14,   698,
+     0,     0,     0,     0,     0,     0,   801,   259,   260,   261,
+   262,   263,   264,   265,     0,     0,   807,     0,    16,     0,
+     0,     0,   249,   250,   251,     0,   252,   253,   254,   255,
+   256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
+    22,   329,     0,  -339,  -339,    24,     0,     0,  -339,  -339,
+    84,  -339,     0,     0,     0,  -339,   841,  -339,  -339,  -339,
+  -339,  -339,  -339,  -339,  -339,  -339,  -339,  -339,   489,  -339,
+     0,  -339,     0,  -339,  -339,  -339,     0,     0,   698,     0,
+     0,   852,     0,     0,     0,  -339,     0,   698,  -339,     0,
+   698,     0,   698,  -339,  -339,  -339,     0,     0,     0,  -339,
+  -339,     0,     0,     0,  -339,  -339,     0,     0,     0,  -339,
+     0,  -339,  -339,     0,     0,     0,  -339,  -339,     0,     0,
+  -339,     0,  -339,  -312,  -339,  -339,     0,  -339,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,   890,   256,   257,
+   258,   259,   260,   261,   262,   263,   264,   265,   895,     0,
+   824,   698,  -339,  -339,     0,     0,     0,  -339,  -339,     0,
+  -339,   904,     0,     0,  -339,     0,  -339,  -339,  -339,  -339,
   -339,  -339,  -339,  -339,  -339,  -339,  -339,     0,  -339,     0,
   -339,     0,  -339,  -339,  -339,     0,     0,     0,     0,     0,
-     0,  -339,     0,     0,  -339,     0,     0,     0,     0,  -339,
-  -339,  -339,     0,     0,     0,  -339,  -339,     0,     0,     0,
-  -339,  -339,     0,     0,     0,  -339,     0,  -339,  -339,     0,
-     0,     0,  -339,  -339,     0,     0,  -339,     0,  -339,     0,
-  -339,  -339,   879,  -339,  -349,  -349,     0,     0,     0,  -349,
-  -349,     0,  -349,     0,     0,     0,  -349,     0,  -349,  -349,
-  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,     0,
-  -349,     0,  -349,     0,  -349,  -349,  -349,     0,     0,     0,
-     0,     0,     0,  -349,     0,     0,  -349,     0,     0,     0,
-     0,  -349,  -349,  -349,     0,     0,     0,  -349,  -349,     0,
-     0,     0,  -349,  -349,     0,     0,     0,  -349,     0,  -349,
-  -349,     0,     0,     0,  -349,  -349,     0,     0,  -349,     0,
-  -349,     0,  -349,  -349,   693,  -349,   694,    60,     0,     0,
-     0,   101,   102,   251,   103,   252,   253,   254,   255,   256,
-   257,   258,   259,   260,   261,   262,   263,   264,   265,     0,
-     0,     0,   104,     0,    15,     0,   105,   106,   107,     0,
-     0,     0,     0,     0,     0,   108,     0,     0,   109,     0,
-     0,     0,     0,   110,   111,   112,     0,     0,     0,   113,
-   114,     0,     0,   695,   115,   116,     0,     0,     0,   117,
-     0,   118,    61,     0,     0,     0,   119,    62,     0,     0,
-   120,     0,     0,  -204,   121,   122,   693,   696,   694,    60,
-     0,     0,     0,   101,   102,     0,   103,   253,   254,   255,
+     0,     0,     0,     0,  -339,     0,     0,  -339,     0,     0,
+     0,     0,  -339,  -339,  -339,     0,     0,     0,  -339,  -339,
+     0,     0,     0,  -339,  -339,     0,     0,     0,  -339,     0,
+  -339,  -339,     0,     0,     0,  -339,  -339,     0,     0,  -339,
+     0,  -339,     0,  -339,  -339,   879,  -339,  -349,  -349,     0,
+     0,     0,  -349,  -349,     0,  -349,     0,     0,     0,  -349,
+     0,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,  -349,
+  -349,  -349,     0,  -349,     0,  -349,     0,  -349,  -349,  -349,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,  -349,
+     0,     0,  -349,     0,     0,     0,     0,  -349,  -349,  -349,
+     0,     0,     0,  -349,  -349,     0,     0,     0,  -349,  -349,
+     0,     0,     0,  -349,     0,  -349,  -349,     0,     0,     0,
+  -349,  -349,     0,     0,  -349,     0,  -349,     0,  -349,  -349,
+   234,  -349,   100,     5,     0,     7,   140,   101,   102,     0,
+   103,     9,    10,    11,   255,   256,   257,   258,   259,   260,
+   261,   262,   263,   264,   265,     0,     0,    13,   104,     0,
+    15,     0,   105,   106,   107,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,   108,     0,     0,   109,     0,    16,
+     0,     0,   110,   111,   112,     0,     0,     0,   113,   114,
+     0,     0,     0,   115,   116,     0,     0,     0,   117,     0,
+   118,    22,     0,     0,     0,   119,    24,     0,     0,   120,
+     0,     0,     0,   121,   122,   693,   235,   694,    60,     0,
+     0,     0,   101,   102,   251,   103,   252,   253,   254,   255,
    256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
-     0,     0,     0,     0,   104,     0,    15,     0,   105,   106,
-   107,     0,     0,     0,     0,     0,     0,   108,     0,     0,
-   109,     0,     0,     0,     0,   110,   111,   112,     0,     0,
-     0,   113,   114,     0,     0,   695,   115,   116,     0,     0,
-     0,   117,     0,   118,    61,     0,     0,     0,   119,    62,
-     0,     0,   120,     0,     0,  -269,   121,   122,   693,   696,
-   100,     0,     0,     0,     0,   101,   102,     0,   103,   254,
-   255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
-   265,     0,     0,     0,     0,     0,   104,     0,    15,     0,
-   105,   106,   107,     0,     0,  -217,     0,     0,     0,   108,
+     0,     0,     0,   104,     0,    15,     0,   105,   106,   107,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,   108,
+     0,     0,   109,     0,     0,     0,     0,   110,   111,   112,
+     0,     0,     0,   113,   114,     0,     0,   695,   115,   116,
+     0,     0,     0,   117,     0,   118,    61,     0,     0,     0,
+   119,    62,     0,     0,   120,     0,     0,  -204,   121,   122,
+   693,   696,   694,    60,     0,     0,     0,   101,   102,     0,
+   103,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,   104,     0,
+    15,     0,   105,   106,   107,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,   108,     0,     0,   109,     0,     0,
+     0,     0,   110,   111,   112,     0,     0,     0,   113,   114,
+     0,     0,   695,   115,   116,     0,     0,     0,   117,     0,
+   118,    61,     0,     0,     0,   119,    62,     0,     0,   120,
+     0,     0,  -269,   121,   122,   693,   696,   100,     0,     0,
+     0,     0,   101,   102,     0,   103,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,   104,     0,    15,     0,   105,   106,   107,
+     0,     0,     0,     0,     0,  -217,     0,     0,     0,   108,
      0,     0,   109,     0,     0,     0,     0,   110,   111,   112,
      0,     0,     0,   113,   114,     0,     0,  -217,   115,   116,
      0,     0,     0,   117,     0,   118,     0,     0,     0,     0,
-   119,     0,     0,     0,   120,   678,     0,   100,   121,   122,
-     0,   696,   101,   102,     0,   103,   255,   256,   257,   258,
-   259,   260,   261,   262,   263,   264,   265,     0,     0,     0,
+   119,     0,     0,     0,   120,   693,     0,   100,   121,   122,
+     0,   696,   101,   102,     0,   103,   352,     0,     0,     5,
+     0,     7,   140,     0,     0,     0,     0,     9,    10,    11,
      0,     0,     0,   104,     0,    15,     0,   105,   106,   107,
-     0,     0,     0,     0,     0,     0,   108,     0,     0,   109,
-     0,     0,     0,     0,   110,   111,   112,     0,     0,     0,
-   113,   114,     0,     0,     0,   115,   116,     0,     0,     0,
-   117,     0,   118,     0,     0,     0,     0,   119,     0,     0,
-     0,   120,   693,     0,   100,   121,   122,     0,   679,   101,
-   102,     0,   103,     4,     0,  -129,     5,     6,     7,     8,
-     0,     0,     0,     0,     9,    10,    11,     0,     0,     0,
+     0,     0,     0,    13,     0,     0,    15,     0,     0,   108,
+     0,     0,   109,     0,     0,     0,     0,   110,   111,   112,
+     0,     0,     0,   113,   114,    16,     0,     0,   115,   116,
+     0,     0,     0,   117,     0,   118,     0,     0,     0,     0,
+   119,     0,     0,     0,   120,     0,     0,    22,   121,   122,
+   196,   696,    24,   -28,   -28,   -28,   -28,   353,  -272,     0,
+     0,   -28,   -28,   -28,     0,     0,     0,     0,     0,   348,
+     0,     0,   -24,   -24,   -24,   -24,   197,   -28,     0,  -176,
+   -24,   -24,   -24,     0,     0,     0,     0,     0,     0,     0,
+  -176,     0,     0,     0,     0,   197,   -24,     0,  -176,   -28,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,  -176,
+     0,     0,     0,   198,   199,     0,     0,     0,   -24,     0,
+     0,   -28,     0,     0,     0,     0,   -28,     0,     0,     0,
+     0,  -176,   198,   199,     0,  -176,   -28,     0,     0,     0,
+   -24,     0,     0,     0,     0,   -24,     0,     0,     0,     0,
+  -176,     0,     0,   342,  -176,   -24,   -20,   -20,   -20,   -20,
+     0,     0,     0,     0,   -20,   -20,   -20,     0,     0,     0,
+     0,     0,   329,     0,     0,     5,     6,     7,     8,   197,
+   -20,     0,  -176,     9,    10,    11,     0,     5,     6,     7,
+     8,     0,     0,  -176,     0,     9,    10,    11,     0,    13,
+     0,    14,   -20,   329,     0,     0,  -502,  -502,  -502,  -502,
+     0,    13,     0,    14,  -502,  -502,  -502,     0,     0,     0,
+     0,    16,     0,     0,   -20,     0,     0,     0,     0,   -20,
+  -502,     0,  -502,    16,  -176,     0,   100,     0,  -176,   -20,
+     0,   101,   102,    22,   103,     0,     0,     0,    24,     0,
+     0,     0,  -502,     0,     0,    22,     0,     0,  -500,     0,
+    24,     0,   104,     0,    15,   633,   105,   106,   107,     0,
+     0,     0,     0,     0,  -502,     0,     0,     0,   108,  -502,
+     0,   109,     0,     0,     0,     0,   110,   111,   112,  -502,
+     0,     0,   113,   114,     0,     0,     0,   115,   116,     0,
+   100,     0,   117,     0,   118,   101,   102,     0,   103,   119,
+     0,     0,     0,   120,     0,     0,     0,   121,   122,     0,
+     0,   327,     0,     0,     0,     0,   104,     0,    15,     0,
+   105,   106,   107,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,   108,     0,     0,   109,     0,     0,     0,     0,
+   110,   111,   112,     0,     0,     0,   113,   114,     0,     0,
+     0,   115,   116,     0,   100,     0,   117,     0,   118,   101,
+   102,     0,   103,   119,     0,     0,     0,   120,     0,     0,
+     0,   121,   122,     0,     0,   417,     0,     0,     0,     0,
    104,     0,    15,     0,   105,   106,   107,     0,     0,     0,
-    13,     0,    14,   108,     0,     0,   109,     0,     0,     0,
-     0,   110,   111,   112,     0,     0,     0,   113,   114,    16,
-     0,     0,   115,   116,  -129,     0,     0,   117,     0,   118,
-     0,     0,     0,  -129,   119,     0,     0,     0,   120,     0,
-     0,    22,   121,   122,   348,   696,    24,   -24,   -24,   -24,
-   -24,    27,     0,     0,     0,   -24,   -24,   -24,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-   197,   -24,   342,  -176,     0,   -20,   -20,   -20,   -20,     0,
-     0,  -176,     0,   -20,   -20,   -20,     5,     6,     7,     8,
-   -24,     0,     0,     0,     9,    10,    11,     0,   197,   -20,
-     0,  -176,     0,     0,   198,   199,     0,     0,     0,  -176,
-    13,     0,   -24,     0,     0,     0,     0,   -24,   -20,     0,
-     0,     0,  -176,     0,     0,     0,  -176,   -24,     0,    16,
-   329,     0,     0,     5,     6,     7,     8,     0,     0,     0,
-   -20,     9,    10,    11,     0,   -20,     0,     0,     0,     0,
-  -176,    22,     0,     0,  -176,   -20,    24,    13,   329,    14,
-     0,  -502,  -502,  -502,  -502,     0,     0,     0,     0,  -502,
-  -502,  -502,     5,     0,     7,   140,    16,     0,     0,     0,
-     9,    10,    11,     0,     0,  -502,   100,  -502,     0,     0,
-     0,   101,   102,     0,   103,     0,    13,     0,    22,     0,
-     0,     0,     0,    24,  -502,     0,     0,     0,     0,     0,
-     0,     0,   104,  -500,    15,    16,   105,   106,   107,     0,
-     0,     0,     0,     0,     0,   108,  -502,     0,   109,     0,
-     0,  -502,     0,   110,   111,   112,     0,    22,     0,   113,
-   114,  -502,    24,     0,   115,   116,     0,   100,     0,   117,
-     0,   118,   101,   102,     0,   103,   119,     0,     0,     0,
-   120,     0,     0,     0,   121,   122,     0,     0,   327,     0,
-     0,     0,     0,   104,     0,    15,     0,   105,   106,   107,
      0,     0,     0,     0,     0,     0,   108,     0,     0,   109,
      0,     0,     0,     0,   110,   111,   112,     0,     0,     0,
    113,   114,     0,     0,     0,   115,   116,     0,   100,     0,
    117,     0,   118,   101,   102,     0,   103,   119,     0,     0,
-     0,   120,     0,     0,     0,   121,   122,     0,     0,   417,
+     0,   120,     0,     0,     0,   121,   122,     0,     0,   473,
      0,     0,     0,     0,   104,     0,    15,     0,   105,   106,
-   107,     0,     0,     0,     0,     0,     0,   108,     0,     0,
-   109,     0,     0,     0,     0,   110,   111,   112,     0,     0,
-     0,   113,   114,     0,     0,     0,   115,   116,     0,   100,
-     0,   117,     0,   118,   101,   102,     0,   103,   119,     0,
-     0,     0,   120,     0,     0,     0,   121,   122,     0,     0,
-   473,     0,     0,     0,     0,   104,     0,    15,     0,   105,
-   106,   107,     0,     0,     0,     0,     0,     0,   108,     0,
-     0,   109,     0,     0,     0,     0,   110,   111,   112,     0,
-     0,     0,   113,   114,     0,     0,     0,   115,   116,     0,
-   100,     0,   117,     0,   118,   101,   102,     0,   103,   119,
-     0,     0,     0,   120,     0,     0,     0,   121,   122,     0,
-     0,   524,     0,     0,     0,     0,   104,     0,    15,     0,
-   105,   106,   107,     0,     0,     0,     0,     0,     0,   108,
-     0,     0,   109,     0,     0,     0,     0,   110,   111,   112,
-     0,     0,     0,   113,   114,     0,     0,     0,   115,   116,
-     0,     0,     0,   117,     0,   118,     0,     0,     0,     0,
-   119,     0,     0,     0,   120,     0,     0,     0,   121,   122,
-     0,     0,   847,   694,   715,     6,     7,     8,   101,   102,
-     0,   103,     9,    10,    11,   716,     0,   717,   718,   719,
-   720,   721,   722,   723,   724,   725,   726,   727,    13,   104,
-    14,    15,     0,   105,   106,   107,     0,     0,     0,     0,
-     0,     0,   108,     0,     0,   109,     0,    16,     0,     0,
-   110,   111,   112,     0,     0,     0,   113,   114,     0,     0,
-     0,   115,   116,     0,     0,     0,   117,     0,   118,   728,
-     0,     0,     0,   119,   729,     0,     0,   120,     0,   730,
-     0,   121,   122,     0,   579,   694,    60,     0,     0,     0,
-   101,   102,     0,   103,     0,     0,     0,   716,     0,   717,
-   718,   719,   720,   721,   722,   723,   724,   725,   726,   727,
-     0,   104,     0,    15,     0,   105,   106,   107,     0,     0,
+   107,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+   108,     0,     0,   109,     0,     0,     0,     0,   110,   111,
+   112,     0,     0,     0,   113,   114,     0,     0,     0,   115,
+   116,     0,   100,     0,   117,     0,   118,   101,   102,     0,
+   103,   119,     0,     0,     0,   120,     0,     0,     0,   121,
+   122,     0,     0,   524,     0,     0,     0,     0,   104,     0,
+    15,     0,   105,   106,   107,     0,     0,     0,     0,     0,
      0,     0,     0,     0,   108,     0,     0,   109,     0,     0,
      0,     0,   110,   111,   112,     0,     0,     0,   113,   114,
-     0,   100,     0,   115,   116,     0,   101,   102,   117,   103,
-   118,    61,     0,     0,     0,   119,    62,     0,     0,   120,
-     0,   730,     0,   121,   122,     0,   579,   104,     0,    15,
-     0,   105,   106,   107,     0,     0,     0,     0,     0,     0,
-   108,     0,     0,   109,     0,     0,     0,     0,   110,   111,
+     0,     0,     0,   115,   116,     0,     0,     0,   117,     0,
+   118,     0,     0,     0,     0,   119,     0,     0,     0,   120,
+     0,     0,     0,   121,   122,     0,     0,   847,   694,   715,
+     6,     7,     8,   101,   102,     0,   103,     9,    10,    11,
+   716,     0,   717,   718,   719,   720,   721,   722,   723,   724,
+   725,   726,   727,    13,   104,    14,    15,     0,   105,   106,
+   107,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+   108,     0,     0,   109,     0,    16,     0,     0,   110,   111,
    112,     0,     0,     0,   113,   114,     0,     0,     0,   115,
-   116,     0,     0,     0,   117,     0,   118,     0,     0,     0,
-     0,   119,     0,     0,     0,   120,     0,     0,     0,   121,
-   122,     0,   490,   149,   150,     0,   151,   152,     0,     0,
-     0,   153,   154,   155,   156,   157,   158,   159,   160,   161,
-   162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
-     0,     0,     0,   100,     5,     6,     7,     8,   101,   102,
-   172,   103,     9,    10,    11,     5,     6,     7,     8,     0,
-     0,     0,     0,     9,    10,    11,     0,     0,    13,   104,
-    14,    15,     0,   105,   106,   107,     0,     0,     0,    13,
-     0,    14,   108,     0,   174,   109,     0,    16,     0,     0,
-   110,   111,   112,   303,     0,     0,   113,   114,    16,     0,
-     0,   115,   116,     0,     0,     0,   117,     0,   118,    22,
-     0,     0,     0,   119,    24,     0,     0,   120,     0,     0,
-    22,   121,   122,   100,     5,    24,     7,   140,   101,   102,
-    84,   103,     9,    10,    11,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,    13,   104,
+   116,     0,     0,     0,   117,     0,   118,   728,     0,     0,
+     0,   119,   729,     0,     0,   120,     0,   730,     0,   121,
+   122,     0,   579,   694,    60,     0,     0,     0,   101,   102,
+     0,   103,     0,     0,     0,   716,     0,   717,   718,   719,
+   720,   721,   722,   723,   724,   725,   726,   727,     0,   104,
      0,    15,     0,   105,   106,   107,     0,     0,     0,     0,
-     0,     0,   108,     0,     0,   109,     0,    16,     0,     0,
-   110,   111,   112,     0,     0,     0,   113,   114,     0,   100,
-     0,   115,   116,     0,   101,   102,   117,   103,   118,    22,
-     0,     0,     0,   119,    24,     0,     0,   120,     0,     0,
-     0,   121,   122,     0,     0,   104,     0,    15,     0,   105,
-   106,   107,     0,     0,     0,     0,     0,     0,   108,     0,
-     0,   109,     0,     0,     0,     0,   110,   111,   112,     0,
-     0,     0,   113,   114,     0,   100,     0,   115,   116,     0,
-   101,   102,   117,   103,   118,   370,     0,     0,     0,   119,
-     0,     0,     0,   120,     0,     0,     0,   121,   122,     0,
-     0,   104,     0,    15,     0,   105,   106,   107,     0,     0,
+     0,     0,     0,     0,     0,   108,     0,     0,   109,     0,
+     0,     0,     0,   110,   111,   112,     0,     0,     0,   113,
+   114,     0,   100,     0,   115,   116,     0,   101,   102,   117,
+   103,   118,    61,     0,     0,     0,   119,    62,     0,     0,
+   120,     0,   730,     0,   121,   122,     0,   579,   104,     0,
+    15,     0,   105,   106,   107,     0,     0,     0,     0,     0,
      0,     0,     0,     0,   108,     0,     0,   109,     0,     0,
      0,     0,   110,   111,   112,     0,     0,     0,   113,   114,
-     0,   100,     0,   115,   116,     0,   101,   102,   117,   103,
+     0,     0,     0,   115,   116,     0,     0,     0,   117,     0,
    118,     0,     0,     0,     0,   119,     0,     0,     0,   120,
-     0,   811,     0,   121,   122,     0,     0,   104,     0,    15,
-     0,   105,   106,   107,     0,     0,     0,     0,     0,     0,
-   108,     0,     0,   109,     0,     0,     0,     0,   110,   111,
+     0,     0,     0,   121,   122,     0,   490,   149,   150,     0,
+   151,   152,     0,     0,     0,   153,   154,   155,   156,   157,
+   158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
+   168,   169,   170,   171,     0,   100,     5,     6,     7,     8,
+   101,   102,     0,   103,     9,    10,    11,   172,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+    13,   104,    14,    15,     0,   105,   106,   107,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,   108,     0,     0,
+   109,   174,    16,     0,     0,   110,   111,   112,     0,     0,
+   303,   113,   114,     0,     0,     0,   115,   116,     0,     0,
+     0,   117,     0,   118,    22,     0,     0,     0,   119,    24,
+     0,     0,   120,     0,     0,     0,   121,   122,   100,     5,
+     0,     7,   140,   101,   102,     0,   103,     9,    10,    11,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,    13,   104,     0,    15,     0,   105,   106,
+   107,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+   108,     0,     0,   109,     0,    16,     0,     0,   110,   111,
    112,     0,     0,     0,   113,   114,     0,   100,     0,   115,
-   116,     0,   101,   102,   117,   103,   118,     0,     0,     0,
-     0,   119,     0,     0,     0,   120,     0,     0,     0,   121,
+   116,     0,   101,   102,   117,   103,   118,    22,     0,     0,
+     0,   119,    24,     0,     0,   120,     0,     0,     0,   121,
    122,     0,     0,   104,     0,    15,     0,   105,   106,   107,
+     0,     0,     0,     0,     0,     0,     0,     0,     0,   108,
+     0,     0,   109,     0,     0,     0,     0,   110,   111,   112,
+     0,     0,     0,   113,   114,     0,   100,     0,   115,   116,
+     0,   101,   102,   117,   103,   118,   370,     0,     0,     0,
+   119,     0,     0,     0,   120,     0,     0,     0,   121,   122,
+     0,     0,   104,     0,    15,     0,   105,   106,   107,     0,
+     0,     0,     0,     0,     0,     0,     0,     0,   108,     0,
+     0,   109,     0,     0,     0,     0,   110,   111,   112,     0,
+     0,     0,   113,   114,     0,   100,     0,   115,   116,     0,
+   101,   102,   117,   103,   118,     0,     0,     0,     0,   119,
+     0,     0,     0,   120,     0,   811,     0,   121,   122,     0,
+     0,   104,     0,    15,     0,   105,   106,   107,     0,     0,
+     0,     0,     0,     0,     0,     0,     0,   108,     0,     0,
+   109,     0,     0,     0,     0,   110,   111,   112,     0,     0,
+     0,   113,   114,     0,   100,     0,   115,   116,     0,   101,
+   102,   117,   103,   118,     0,     0,     0,     0,   119,     0,
+     0,     0,   120,     0,     0,     0,   121,   122,     0,     0,
+   104,     0,    15,     0,   105,   106,   107,     0,     0,     0,
      0,     0,     0,     0,     0,     0,   108,     0,     0,   109,
      0,     0,     0,     0,   110,   111,   112,     0,     0,     0,
    113,   114,     0,   100,     0,   245,   116,     0,   101,   102,
    117,   103,   118,     0,     0,     0,     0,   119,     0,     0,
      0,   120,     0,     0,     0,   121,   122,     0,     0,   104,
      0,    15,     0,   105,   106,   107,     0,     0,     0,     0,
-     0,     0,   108,     0,     0,   109,     0,     0,     0,     0,
-   110,   111,   112,     0,     0,     0,   113,   114,     0,   528,
-     0,   247,   116,     0,   101,   102,   117,   103,   118,     0,
-     0,     0,     0,   119,     0,     0,     0,   120,     0,     0,
-     0,   121,   122,     0,     0,   104,     0,    15,     0,   105,
-   106,   107,     0,     0,     0,     0,     0,     0,   108,     0,
-     0,   109,     0,     0,     0,     0,   110,   111,   112,     0,
-     0,     0,   113,   114,     0,     0,     0,   115,   116,     0,
-     0,     0,   117,     0,   118,     0,     0,     0,     0,   119,
-     0,     0,     0,   120,     0,     0,   563,   121,   122,     5,
-   352,     7,   140,     5,     0,     7,   140,     9,    10,    11,
-     0,     9,    10,    11,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,    13,     0,     0,     0,    13,     0,     5,
-    15,     7,   288,     0,     0,     0,     0,     9,    10,    11,
-     0,     0,    16,     0,     0,     0,    16,     5,    89,     7,
-    90,     0,     0,    13,     0,     9,    10,    11,     0,     0,
-     0,     0,     0,     0,    22,  -453,  -453,  -453,    22,    24,
-     0,    13,    16,    24,   564,  -453,     0,     0,   353,  -272,
-     4,     0,  -129,     5,     6,     7,     8,     0,     0,     0,
-    16,     9,    10,    11,    22,     0,     0,     0,     0,    24,
-     0,     0,     0,     0,  -281,  -281,    12,    13,     0,    14,
-    15,     0,    22,     0,     0,     0,     0,    24,     0,     0,
-     0,     0,   674,     0,     0,     0,    16,     0,     0,    17,
-    18,  -129,     0,     0,     0,     0,     0,     0,     0,     0,
-  -129,     0,    19,    20,    21,     0,     0,     0,    22,     0,
-     0,     0,    23,    24,    25,    26,     0,     4,    27,  -129,
-     5,     6,     7,     8,     0,     0,     0,     0,     9,    10,
-    11,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,    13,   447,    14,   448,     5,     6,
-     7,     8,     0,     0,   449,     0,     9,    10,    11,     0,
-     0,     0,     0,    16,     0,     0,   549,   550,  -129,     0,
-     0,     0,    13,     0,    14,   447,     0,  -129,     5,     6,
-     7,     8,     0,     0,   449,    22,     9,    10,    11,     0,
-    24,    16,     0,     0,     0,    27,     0,     0,     0,     0,
-     0,     0,    13,     0,    14,     0,     5,     6,     7,     8,
-     0,     0,     0,    22,     9,    10,    11,     0,    24,     0,
-     0,    16,  -399,     0,     0,     0,     0,     0,     0,     0,
-    13,     0,    14,     0,     0,     0,     5,     6,     7,     8,
-     0,     0,     0,    22,     9,    10,    11,     0,    24,    16,
-     0,     0,  -399,   352,     0,     0,     5,     0,     7,   140,
-    13,     0,    14,     0,     9,    10,    11,     0,     0,     0,
-     0,    22,     0,     0,     0,     0,    24,     0,     0,    16,
-    13,   633,     0,    15,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,     0,     0,     0,    16,
-     0,    22,     0,     0,     0,     0,    24,     0,     0,     0,
-     0,   821,     0,     0,     0,     0,     0,     0,     0,   149,
+     0,     0,     0,     0,     0,   108,     0,     0,   109,     0,
+     0,     0,     0,   110,   111,   112,     0,     0,     0,   113,
+   114,     0,   528,     0,   247,   116,     0,   101,   102,   117,
+   103,   118,     0,     0,     0,     0,   119,     0,     0,     0,
+   120,     0,     0,     0,   121,   122,     0,     0,   104,     0,
+    15,     0,   105,   106,   107,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,   108,     0,     0,   109,     0,     0,
+     0,     0,   110,   111,   112,     0,     0,     0,   113,   114,
+     0,     0,     0,   115,   116,     0,     0,     0,   117,     0,
+   118,     0,     0,     0,     0,   119,     0,     0,     0,   120,
+     0,     0,   563,   121,   122,     5,     0,     7,   140,     0,
+     0,     0,     0,     9,    10,    11,     0,     0,     0,   563,
+     0,     0,     5,     0,     7,   140,     0,     0,     0,    13,
+     9,    10,    11,     0,     5,     6,     7,     8,     0,     0,
+   449,     0,     9,    10,    11,     0,    13,     0,     0,     0,
+     0,    16,     0,     0,     0,     0,     0,     0,    13,     4,
+    14,  -129,     5,     6,     7,     8,     0,     0,    16,     0,
+     9,    10,    11,    22,  -454,  -454,  -454,     0,    24,     0,
+    16,     0,     0,   564,  -454,    12,    13,     0,    14,    15,
+    22,  -453,  -453,  -453,     0,    24,     0,     0,     0,     0,
+   564,  -453,    22,     0,     0,     0,     0,    24,    16,     0,
+     0,    17,    18,  -129,     0,     0,     0,     0,     0,     0,
+     0,     0,  -129,     0,    19,    20,    21,     0,     0,     0,
+    22,     0,     0,     0,    23,    24,    25,    26,     0,     4,
+    27,  -129,     5,     6,     7,     8,     0,     0,     0,     0,
+     9,    10,    11,     0,     0,     0,     0,     0,     4,     0,
+  -129,     5,     6,     7,     8,     0,    13,     0,    14,     9,
+    10,    11,     0,     0,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,     0,    13,     0,    14,    16,     0,
+     0,   549,   550,  -129,     0,     0,     0,     0,     0,     0,
+     0,     0,  -129,     0,     0,     0,     0,    16,     0,     0,
+    22,     0,  -129,   447,     0,    24,     5,     6,     7,     8,
+    27,  -129,   449,     0,     9,    10,    11,     0,     0,    22,
+     0,     0,     0,     0,    24,     5,     6,     7,     8,    27,
+    13,     0,    14,     9,    10,    11,     5,    89,     7,    90,
+     0,     0,     0,     0,     9,    10,    11,     0,     0,    13,
+   352,    14,    16,     5,     0,     7,   140,     0,     0,     0,
+    13,     9,    10,    11,     0,     0,     0,     0,     0,     0,
+     0,    16,     0,     0,    22,     0,     0,    13,     0,    24,
+    15,     0,    16,  -399,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,    22,     0,     0,     0,     0,    24,    16,
+     0,     0,     0,   821,    22,     0,     0,     0,     0,    24,
+     0,     0,     0,     0,   674,     0,     0,     0,     0,   149,
    150,    22,   151,   152,     0,     0,    24,   153,   154,   155,
    156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
-   166,   167,   168,   169,   170,   171,     0,     0,     0,   149,
-   150,     0,   151,   152,     0,     0,   172,   153,   154,   155,
-   156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
-   166,   167,   168,   169,   170,   171,     0,   173,     0,     0,
-     0,     0,     0,     0,   149,   150,   373,   151,   152,     0,
-   174,     0,   153,   154,   155,   156,   157,   158,   159,   160,
-   161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
-   171,     0,     0,     0,   149,   150,     0,   151,   152,     0,
-   174,   172,   153,   154,   155,   156,   157,   158,   159,   160,
-   161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
-   171,     0,     0,     0,     5,     0,     7,   288,     0,     0,
-     0,   606,     9,    10,    11,   174,     5,     6,     7,     8,
-     0,     0,   449,     0,     9,    10,    11,     0,    13,     0,
-    14,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-    13,     0,    14,     0,     0,   174,     0,    16,     0,     0,
-     0,     0,   280,     0,     0,     0,     0,     0,     0,    16,
-     0,   281,   282,     0,     0,     0,     0,     0,     0,    22,
-     5,     6,     7,     8,    24,     0,   667,     0,     9,    10,
-    11,    22,     5,     6,     7,     8,    24,     0,     0,     0,
-     9,    10,    11,     0,    13,     5,    14,     7,   288,     0,
-     0,     0,     0,     9,    10,    11,    13,     0,    14,     0,
-     0,     0,     0,    16,     0,     0,     0,     0,     0,    13,
-     0,     0,     0,     0,     0,    16,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,    22,     0,     0,    16,     0,
-    24,     0,     0,     0,     0,     0,     0,    22,     0,     0,
-     0,     0,    24,   866,     0,     0,     0,     0,     0,     0,
-    22,     0,   249,   250,   251,    24,   252,   253,   254,   255,
+   166,   167,   168,   169,   170,   171,     0,     0,     0,     0,
+     0,     0,   149,   150,     0,   151,   152,     0,     0,   172,
+   153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
+   163,   164,   165,   166,   167,   168,   169,   170,   171,     0,
+   173,     0,     0,     0,     0,     0,     0,   149,   150,     0,
+   151,   152,   373,   174,     0,   153,   154,   155,   156,   157,
+   158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
+   168,   169,   170,   171,     0,     0,     0,     0,     0,     0,
+   149,   150,     0,   151,   152,     0,   174,   172,   153,   154,
+   155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
+   165,   166,   167,   168,   169,   170,   171,     5,     0,     7,
+   288,     0,     0,     0,     0,     9,    10,    11,     0,     0,
+   606,   174,     0,     0,     0,     0,     5,     6,     7,     8,
+     0,    13,   667,    14,     9,    10,    11,     5,     6,     7,
+     8,     0,     0,     0,     0,     9,    10,    11,     0,     0,
+    13,     0,    14,    16,   174,     0,     0,     0,   280,     0,
+     0,    13,     0,    14,     0,     0,     0,   281,   282,     0,
+     0,     0,    16,     0,     0,    22,     5,     6,     7,     8,
+    24,     0,     0,    16,     9,    10,    11,     5,     0,     7,
+   140,     0,     0,     0,    22,     9,    10,    11,     0,    24,
+    13,     0,     0,     0,     5,    22,     7,   288,     0,     0,
+    24,    13,     9,    10,    11,     0,     0,     0,     0,     0,
+     0,     0,    16,     0,     0,     0,     0,     0,    13,     0,
+     0,     0,     0,    16,     0,     0,     0,     0,     0,     0,
+     0,     0,     0,     0,    22,     0,     0,     0,     0,    24,
+    16,     0,     0,     0,     0,    22,     0,     0,     0,     0,
+    24,     0,     0,     0,    14,     0,     0,     0,     0,     0,
+     0,     0,    22,     0,   249,   250,   251,    24,   252,   253,
+   254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
+   264,   265,   249,   250,   251,   921,   252,   253,   254,   255,
    256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
-   249,   250,   251,   867,   252,   253,   254,   255,   256,   257,
-   258,   259,   260,   261,   262,   263,   264,   265,    14,     0,
-     0,     0,     0,     0,     0,   249,   250,   251,   489,   252,
-   253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
-   263,   264,   265,   249,   250,   251,   921,   252,   253,   254,
-   255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
-   265,   249,   250,   251,     0,   252,   253,   254,   255,   256,
-   257,   258,   259,   260,   261,   262,   263,   264,   265
+   249,   250,   251,     0,   252,   253,   254,   255,   256,   257,
+   258,   259,   260,   261,   262,   263,   264,   265
 };
 
 static const short yycheck[] = {    56,
@@ -1353,402 +1357,403 @@ static const short yycheck[] = {    56,
    223,   578,     9,    10,    11,    88,    42,    67,    42,    74,
    135,    71,   416,   223,   440,   515,   142,    95,   571,   145,
    673,    67,   704,   194,    31,    71,    33,     1,    77,    42,
-     1,   344,   438,     1,   804,    42,    85,    40,   351,    10,
-   115,   331,     9,   108,   204,     3,   359,   624,   239,     1,
-     3,   919,    30,    40,     7,    40,     1,     3,     3,     4,
-   783,   280,    61,    62,    52,    53,    54,     0,    78,   792,
-    77,    27,    30,    83,    30,    78,    83,    30,    85,    78,
-   948,   146,    38,   148,    91,   214,     0,     3,     4,   332,
-   322,    78,   199,    78,    52,   595,    42,   597,   173,    52,
-   343,    79,    80,    61,    62,    79,   349,   172,    61,    61,
-   880,    78,    40,    84,    61,   797,    84,   182,   183,   409,
-   185,   186,   622,    79,    69,   208,   413,    83,   423,    74,
-    38,   238,   419,    61,   357,   142,   219,   714,   145,   429,
-     3,     4,   191,   913,     3,     4,   195,   357,   918,   426,
-   920,   557,    60,    69,    47,   204,    84,   286,    74,   929,
-     3,     4,   227,    30,   271,   240,   409,   820,    84,   340,
-   245,    61,   247,    40,   856,   282,   241,   337,     3,     3,
-     4,   341,    27,    30,   191,   376,   283,   194,   195,   223,
-    83,   961,    61,    62,   545,    61,    62,   204,    61,    61,
-   283,    40,    79,   268,   269,    30,    69,   214,    47,    78,
-    69,    74,    78,   766,   767,    74,    61,    62,    79,    80,
-   510,   444,   648,   513,   299,    84,    69,    52,    52,    32,
-    33,    74,    47,   639,   444,   478,    61,   480,    78,   346,
-    30,    84,   307,    83,   369,    69,     3,     4,   538,   309,
-    74,    61,    30,   336,    67,     3,     4,     5,     6,     7,
-     3,     4,   666,   309,     7,    79,     3,     4,   511,    83,
-   513,    61,    62,    78,   281,    84,    30,    79,    83,   386,
-   358,    83,   360,    61,    62,   598,   599,    30,   337,   602,
-   641,    84,   341,    30,   423,     3,     4,    78,    52,    84,
-   365,   492,    83,    40,   881,     3,     4,    61,    62,    52,
-    61,    78,    69,    40,   421,    52,    83,    74,    61,   326,
-    47,    69,    30,   357,    61,   825,    74,    61,    62,   606,
-   337,    74,    40,   340,   341,    40,     5,    74,     7,    61,
-    62,   532,    47,   408,    52,   539,   659,   660,   661,   543,
-   627,   664,   665,    61,   532,    79,    61,    78,   433,    83,
-   425,   938,   939,    61,    61,     7,    74,    61,     3,     4,
-   657,    69,    61,   686,   451,    79,    74,   437,   691,    83,
-    56,    57,   677,    59,    60,    61,    62,   464,    30,    61,
-    62,   437,    79,   429,   588,    30,    83,   591,    50,    51,
-    79,    80,    78,    83,   440,   756,   413,    61,    62,   416,
-    52,   768,   419,    65,   489,     9,   429,    52,   609,    61,
-    62,   486,   429,     3,     4,   432,    61,   440,   651,    77,
-   707,   127,   128,   440,   747,   748,   749,   656,    78,    74,
-    78,   651,   685,   662,   451,   571,   572,    40,     1,    79,
-    30,     4,     5,     6,     7,    27,    84,   534,    30,    12,
-    13,    14,    61,    79,    61,   530,    38,    83,    70,    71,
-    72,    80,    52,    80,    33,    28,   789,   554,    80,   766,
-   767,    61,    62,    79,    79,   780,   773,   774,    83,    61,
-    62,    78,    78,    78,    47,    70,    71,    72,    57,    40,
-    78,   537,    79,   552,   817,    80,    83,    79,    70,    71,
-    72,    83,    32,    78,   647,    79,    69,   624,    80,    83,
-    78,    74,   571,   572,   537,    61,    10,   534,   652,   653,
-   537,    84,    79,   884,    50,    51,    52,    53,    54,   852,
-    78,    65,   675,    78,   908,   552,   910,   554,   677,   614,
-    79,   354,    84,   356,    83,    27,   115,     9,    85,   624,
-    79,   658,   686,   687,   571,   572,   663,    79,   575,   643,
-   644,    83,   637,     3,     4,   658,    38,     7,    69,    79,
-   663,    38,   895,   632,    83,    78,   145,    40,   624,    78,
-   624,    70,    71,    72,   955,    78,    78,    78,   647,    40,
-    30,    80,   963,    78,    78,    85,    84,   714,   657,    85,
-    78,   624,   648,    78,   173,    65,    65,   624,   725,    78,
-   745,    38,    52,    83,    85,   632,   675,    78,    40,    85,
-   695,    61,    62,    80,    80,   648,    80,   440,    80,   646,
-   647,   648,    80,   875,    78,   652,   653,   450,   451,   714,
-   657,   780,    79,    78,     3,    79,    84,    80,   735,   666,
-    79,   726,   769,    83,   223,   908,   673,   910,   675,   729,
-    46,    47,    48,    49,    50,    51,    52,    53,    54,   686,
-   687,   240,   728,   729,    80,    78,   245,     3,   247,   822,
-    40,     7,    80,    85,    65,   802,   820,    40,   805,   806,
-    40,    80,    83,    40,    61,   788,   813,    61,    61,   745,
-    40,   745,    79,    79,    30,     7,    40,   766,   767,   843,
-    79,   828,    16,    79,   773,   774,    65,    40,   735,    61,
-   533,    83,   745,    79,    79,    61,    52,    65,   745,    80,
-   299,    85,    80,    78,    17,    61,    62,     5,     6,     7,
-   553,   554,    79,   860,    12,    13,    14,    78,    78,   766,
-   767,    79,   565,   566,   871,    79,   773,   774,    78,    65,
-     9,    79,    30,   822,   881,    79,   231,    61,    83,    79,
-    78,   584,   585,     5,     6,     7,   835,    78,     0,   244,
-    12,    13,    14,    79,   249,   250,    79,   356,   357,   254,
+     1,   344,   438,     1,   804,    42,    85,     9,   351,    10,
+   115,   331,    43,   108,   204,     1,   359,   624,   239,    30,
+   919,     0,     3,     1,    30,     3,     4,     5,     6,     7,
+    50,   280,    10,    64,    12,    13,    14,    43,    43,     1,
+    77,     3,     4,     0,    27,    50,    83,    41,    85,   948,
+    28,   146,    30,   148,    91,   214,    87,     3,     4,   332,
+   322,    42,   199,    50,   783,   595,    86,   597,   173,    63,
+   343,    30,    50,   792,     3,     4,   349,   172,    64,    81,
+   880,    64,    65,    87,    82,   797,    87,   182,   183,   409,
+   185,   186,   622,    43,    72,   208,   413,    64,   423,    77,
+    50,   238,   419,    81,   357,   142,   219,   714,   145,   429,
+    72,     3,   191,   913,    64,    77,   195,   357,   918,   426,
+   920,   557,    43,    82,    83,   204,    72,   286,    64,   929,
+    43,    77,   227,    43,   271,   240,   409,   820,    30,   340,
+   245,    87,   247,    72,   856,   282,   241,   337,    77,     3,
+     4,   341,     3,     4,   191,   376,   283,   194,   195,   223,
+    81,   961,    43,    55,   545,     3,     4,   204,    81,    50,
+   283,    81,    64,   268,   269,     1,    30,   214,     4,     5,
+     6,     7,    27,   766,   767,    30,    12,    13,    14,    64,
+   510,   444,   648,   513,   299,     5,    41,     7,    82,    32,
+    33,    55,    28,   639,   444,   478,    64,   480,    30,   346,
+    64,    65,   307,    70,   369,    82,    83,    55,   538,   309,
+     3,    72,    81,   336,    50,    87,    77,    86,     3,     4,
+    53,    54,   666,   309,    72,    87,    87,    82,   511,    77,
+   513,    86,    64,    65,   281,    68,    72,    30,    87,   386,
+   358,    77,   360,    82,    81,   598,   599,    86,   337,   602,
+   641,    87,   341,     9,   423,     3,     4,     5,     6,     7,
+   365,   492,    55,    81,   881,    64,    65,     4,    86,     6,
+     7,    64,    65,    81,   421,    12,    13,    14,    86,   326,
+     3,     4,    81,   357,    82,   825,    64,    72,    86,   606,
+   337,    28,    77,   340,   341,    64,     3,     4,    64,    65,
+     7,   532,    87,   408,     7,    64,   659,   660,   661,    30,
+   627,   664,   665,    50,   532,    81,   127,   128,   433,    64,
+   425,   938,   939,    30,    72,    86,    81,    30,    82,    77,
+   657,    86,    86,   686,   451,    72,    80,   437,   691,    81,
+    77,    64,   677,    64,    65,    82,    83,   464,    55,    72,
+    81,   437,    55,   429,    77,     3,     4,    64,    87,     3,
+     4,    64,    65,    81,   440,   756,   413,    43,    86,   416,
+    77,   768,   419,    30,   489,    64,   429,    82,   609,    64,
+    65,   486,   429,     3,     4,   432,    30,   440,   651,    64,
+   707,     3,     4,   440,   747,   748,   749,   656,    55,    43,
+    83,   651,   685,   662,   451,   571,   572,    64,    65,    82,
+    30,    55,    83,    86,    81,     3,    64,   534,    30,     7,
+    64,    64,    65,    43,    72,   530,   539,    82,    82,    77,
+   543,    86,    86,    77,    33,    55,   789,   554,    81,   766,
+   767,    81,    30,    55,    64,   780,   773,   774,    64,    65,
+    59,    60,    64,    62,    63,    64,    65,    77,    57,    64,
+    65,   537,    81,   552,   817,    77,    43,    55,    82,    73,
+    74,    75,    81,    81,   647,   588,    64,   624,   591,    83,
+    32,    82,   571,   572,   537,    86,    81,   534,   652,   653,
+   537,    59,    60,   884,    62,    63,    64,    65,    64,   852,
+    82,    83,   675,    81,   908,   552,   910,   554,   677,   614,
+    82,   354,    10,   356,     3,     4,   115,    81,     7,   624,
+    68,   658,   686,   687,   571,   572,   663,    82,   575,   643,
+   644,    86,   637,    87,    81,   658,    27,    73,    74,    75,
+   663,    30,   895,   632,     9,    82,   145,    83,   624,    86,
+   624,    82,     3,    82,   955,    86,     7,    86,   647,    73,
+    74,    75,   963,    73,    74,    75,    55,   714,   657,    83,
+    88,   624,   648,    83,   173,    64,    65,   624,   725,    30,
+   745,     6,     7,    64,    65,   632,   675,    12,    13,    14,
+   695,    55,    56,    57,    82,   648,    41,   440,    72,   646,
+   647,   648,    82,   875,    55,   652,   653,   450,   451,   714,
+   657,   780,    41,    64,    65,    86,    43,    43,   735,   666,
+    81,   726,   769,    81,   223,   908,   673,   910,   675,   729,
+    49,    50,    51,    52,    53,    54,    55,    56,    57,   686,
+   687,   240,   728,   729,    81,    81,   245,    81,   247,   822,
+    53,    54,    55,    56,    57,   802,   820,    81,   805,   806,
+    88,    81,    68,    81,    87,   788,   813,    88,    68,   745,
+    81,   745,    81,    41,    88,    83,    81,   766,   767,   843,
+    27,   828,    83,    30,   773,   774,    83,    43,   735,    83,
+   533,    83,   745,    88,    41,    81,    86,    82,   745,    81,
+   299,    82,     3,     1,    87,    83,     4,     5,     6,     7,
+   553,   554,    10,   860,    12,    13,    14,    64,    65,   766,
+   767,    82,   565,   566,   871,    43,   773,   774,    86,    83,
+    28,    81,    68,   822,   881,    82,   231,    88,    83,    86,
+    43,   584,   585,    43,    83,    86,   835,    43,    64,   244,
+    64,    64,    50,    43,   249,   250,    82,   356,   357,   254,
    255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
-   265,     0,   919,   820,   426,   822,   881,   332,   511,   805,
-     1,   745,    87,     4,     5,     6,     7,   676,   835,   683,
-   795,    12,    13,    14,   425,   942,   843,   488,   703,   357,
-   365,   948,   486,   480,   289,   648,    27,    28,     1,    30,
-   685,     4,   511,     6,     7,   410,   581,    38,   513,    12,
-    13,    14,     6,     7,   881,   881,    47,   943,    12,    13,
-    14,   420,   945,   575,   433,    28,   432,    25,   432,   562,
-    61,    62,   653,   843,   555,   444,   840,   308,    69,   532,
-   537,   835,   451,    74,    47,   428,   707,   428,    79,   609,
-    -1,    -1,    83,    84,    -1,   464,    45,    46,    47,    48,
-    49,    50,    51,    52,    53,    54,    69,    70,    71,    72,
-    -1,    74,   376,    -1,    -1,    -1,    79,    80,    -1,    -1,
-   489,   734,   735,   388,   389,    -1,     1,    -1,     3,     4,
-     5,     6,     7,     8,     9,    -1,    11,    12,    13,    14,
-    15,    -1,    17,    18,    19,    20,    21,    22,    23,    24,
-    25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
-    35,    -1,    -1,    -1,    -1,   534,    -1,    42,    -1,    -1,
-    45,    -1,    47,    -1,    -1,    50,    51,    52,    -1,    -1,
-    -1,    56,    57,    -1,    -1,   554,    61,    62,    -1,    -1,
-    -1,    66,    -1,    68,    69,    -1,    -1,   566,    73,    74,
-    -1,    -1,    77,    -1,    79,    80,    81,    82,    -1,    84,
-    -1,    -1,    -1,    -1,    -1,    -1,   585,    -1,    -1,    -1,
-   485,    48,    49,    50,    51,    52,    53,    54,     1,    -1,
-     3,     4,     5,     6,     7,     8,     9,   502,    11,    12,
-    13,    14,    15,    -1,    17,    18,    19,    20,    21,    22,
-    23,    24,    25,    26,    27,    28,    29,    30,    31,    -1,
-    33,    34,    35,    -1,    -1,    -1,    -1,    -1,    -1,    42,
-    -1,    -1,    45,    -1,    47,    -1,    -1,    50,    51,    52,
-    -1,    -1,   651,    56,    57,    -1,    -1,    -1,    61,    62,
-    -1,    -1,    -1,    66,    -1,    68,    69,    -1,    -1,    -1,
-    73,    74,    -1,    -1,    77,    -1,    79,    80,    81,    82,
-    -1,    84,    47,    48,    49,    50,    51,    52,    53,    54,
-    56,    57,   587,    59,    60,    61,    62,    -1,    -1,    -1,
-    -1,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
-   605,    11,    12,    13,    14,    15,    -1,    17,    18,    19,
-    20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
-    30,    31,    -1,    33,    34,    35,   735,    -1,    -1,    -1,
-    -1,    -1,    42,    -1,    -1,    45,    -1,    47,    -1,    -1,
-    50,    51,    52,    -1,    -1,    -1,    56,    57,    -1,    -1,
-    -1,    61,    62,    -1,    -1,    -1,    66,    -1,    68,    69,
-    -1,    -1,    -1,    73,    74,    -1,    -1,    77,    -1,    79,
-    -1,    81,    82,    -1,    84,    -1,    -1,     1,   683,     3,
-     4,    -1,     6,     7,     8,     9,    -1,    11,    12,    13,
-    14,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   704,
-    -1,    -1,    -1,    -1,    28,    29,   711,    31,    -1,    33,
-    34,    35,    -1,    -1,    -1,    -1,   721,    -1,    42,    -1,
-    -1,    45,    -1,    47,    -1,    -1,    50,    51,    52,    -1,
-    -1,    -1,    56,    57,    -1,    -1,    -1,    61,    62,    -1,
-    -1,    -1,    66,    -1,    68,    69,    -1,    -1,    -1,    73,
-    74,    -1,    -1,    77,    -1,    -1,   761,    81,    82,    -1,
-    84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,     1,    -1,    -1,     4,     5,     6,     7,   783,    -1,
-    10,   786,    12,    13,    14,    -1,    -1,   792,    -1,    -1,
-   795,    -1,   797,    -1,    -1,    -1,    -1,    -1,    28,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,
-     3,     4,    -1,    -1,    -1,     8,     9,    47,    11,    -1,
-    -1,    -1,    15,    -1,    17,    18,    19,    20,    21,    22,
-    23,    24,    25,    26,    27,    -1,    29,   842,    31,    69,
-    33,    34,    35,    -1,    74,    -1,    -1,    -1,   853,    42,
-    -1,   856,    45,    -1,    84,    -1,    -1,    50,    51,    52,
-    -1,   866,    -1,    56,    57,    -1,    -1,    -1,    61,    62,
-    -1,    -1,    -1,    66,    -1,    68,    69,    -1,    -1,    -1,
-    73,    74,    -1,    -1,    77,    -1,    79,    80,    81,    82,
-     1,    84,     3,     4,    -1,    -1,    -1,     8,     9,    -1,
-    11,    -1,    -1,    -1,    15,    -1,    17,    18,    19,    20,
+   265,    82,   919,   820,    72,   822,   881,     7,    43,    77,
+    82,    16,    68,     1,    43,     3,    64,    82,   835,    87,
+     8,     9,    86,    11,    82,   942,   843,    82,    64,    68,
+    83,   948,    83,    17,    88,   648,    81,    68,    82,    81,
+    81,    29,    82,    31,    81,    33,    34,    35,    82,     9,
+    82,    64,    82,    86,     5,     6,     7,    45,    82,    81,
+    48,    12,    13,    14,   433,    53,    54,    55,    82,    81,
+    10,    59,    60,    82,     0,   444,    64,    65,     0,    30,
+   426,    69,   451,    71,   805,   332,   745,   676,    76,   511,
+    87,   683,    80,   425,   488,   464,    84,    85,   795,    87,
+    40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
+    50,    51,    52,    53,    54,    55,    56,    57,   703,   357,
+   489,   734,   735,   388,   389,     1,   289,     3,     4,     5,
+     6,     7,     8,     9,   685,    11,    12,    13,    14,    15,
+   480,    17,    18,    19,    20,    21,    22,    23,    24,    25,
+    26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
+   365,   511,   410,   486,   581,   534,   881,   881,   513,    45,
+   943,   420,    48,   945,    50,   432,   432,    53,    54,    55,
+   575,    25,   562,    59,    60,   554,   653,   843,    64,    65,
+   840,   555,   308,    69,   537,    71,    72,   566,   428,   835,
+    76,    77,   532,   428,    80,   707,    82,    83,    84,    85,
+   609,    87,    -1,    -1,    -1,   376,   585,    -1,    -1,    -1,
+   485,    -1,     1,    -1,     3,     4,     5,     6,     7,     8,
+     9,    -1,    11,    12,    13,    14,    15,   502,    17,    18,
+    19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
+    29,    30,    31,    -1,    33,    34,    35,    50,    51,    52,
+    53,    54,    55,    56,    57,    -1,    45,    -1,    -1,    48,
+    -1,    50,    -1,    -1,    53,    54,    55,    -1,    -1,    -1,
+    59,    60,   651,    -1,    -1,    64,    65,     5,     6,     7,
+    69,    -1,    71,    72,    12,    13,    14,    76,    77,    -1,
+    -1,    80,    -1,    82,    83,    84,    85,    -1,    87,    45,
+    46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
+    56,    57,   587,    -1,    -1,     1,    -1,     3,     4,     5,
+     6,     7,     8,     9,    -1,    11,    12,    13,    14,    15,
+   605,    17,    18,    19,    20,    21,    22,    23,    24,    25,
+    26,    27,    28,    29,    30,    31,    -1,    33,    34,    35,
+    -1,    -1,    -1,    -1,    -1,    -1,   735,    -1,    -1,    45,
+    -1,    -1,    48,    -1,    50,    -1,    -1,    53,    54,    55,
+    -1,    -1,    -1,    59,    60,    -1,    -1,    -1,    64,    65,
+    -1,    -1,    -1,    69,    -1,    71,    72,    -1,    -1,    -1,
+    76,    77,    -1,    -1,    80,    -1,    82,    -1,    84,    85,
+    -1,    87,     4,     5,     6,     7,    -1,    -1,   683,    -1,
+    12,    13,    14,    46,    47,    48,    49,    50,    51,    52,
+    53,    54,    55,    56,    57,    -1,    28,    -1,    30,   704,
+    -1,    -1,    -1,    -1,    -1,    -1,   711,    51,    52,    53,
+    54,    55,    56,    57,    -1,    -1,   721,    -1,    50,    -1,
+    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
+    48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
+    72,     1,    -1,     3,     4,    77,    -1,    -1,     8,     9,
+    82,    11,    -1,    -1,    -1,    15,   761,    17,    18,    19,
+    20,    21,    22,    23,    24,    25,    26,    27,    86,    29,
+    -1,    31,    -1,    33,    34,    35,    -1,    -1,   783,    -1,
+    -1,   786,    -1,    -1,    -1,    45,    -1,   792,    48,    -1,
+   795,    -1,   797,    53,    54,    55,    -1,    -1,    -1,    59,
+    60,    -1,    -1,    -1,    64,    65,    -1,    -1,    -1,    69,
+    -1,    71,    72,    -1,    -1,    -1,    76,    77,    -1,    -1,
+    80,    -1,    82,    83,    84,    85,    -1,    87,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,   842,    48,    49,
+    50,    51,    52,    53,    54,    55,    56,    57,   853,    -1,
+     1,   856,     3,     4,    -1,    -1,    -1,     8,     9,    -1,
+    11,   866,    -1,    -1,    15,    -1,    17,    18,    19,    20,
     21,    22,    23,    24,    25,    26,    27,    -1,    29,    -1,
     31,    -1,    33,    34,    35,    -1,    -1,    -1,    -1,    -1,
-    -1,    42,    -1,    -1,    45,    -1,    -1,    -1,    -1,    50,
-    51,    52,    -1,    -1,    -1,    56,    57,    -1,    -1,    -1,
-    61,    62,    -1,    -1,    -1,    66,    -1,    68,    69,    -1,
-    -1,    -1,    73,    74,    -1,    -1,    77,    -1,    79,    -1,
-    81,    82,     1,    84,     3,     4,    -1,    -1,    -1,     8,
-     9,    -1,    11,    -1,    -1,    -1,    15,    -1,    17,    18,
-    19,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
-    29,    -1,    31,    -1,    33,    34,    35,    -1,    -1,    -1,
-    -1,    -1,    -1,    42,    -1,    -1,    45,    -1,    -1,    -1,
-    -1,    50,    51,    52,    -1,    -1,    -1,    56,    57,    -1,
-    -1,    -1,    61,    62,    -1,    -1,    -1,    66,    -1,    68,
-    69,    -1,    -1,    -1,    73,    74,    -1,    -1,    77,    -1,
-    79,    -1,    81,    82,     1,    84,     3,     4,    -1,    -1,
-    -1,     8,     9,    39,    11,    41,    42,    43,    44,    45,
-    46,    47,    48,    49,    50,    51,    52,    53,    54,    -1,
-    -1,    -1,    29,    -1,    31,    -1,    33,    34,    35,    -1,
-    -1,    -1,    -1,    -1,    -1,    42,    -1,    -1,    45,    -1,
-    -1,    -1,    -1,    50,    51,    52,    -1,    -1,    -1,    56,
-    57,    -1,    -1,    60,    61,    62,    -1,    -1,    -1,    66,
-    -1,    68,    69,    -1,    -1,    -1,    73,    74,    -1,    -1,
-    77,    -1,    -1,    80,    81,    82,     1,    84,     3,     4,
-    -1,    -1,    -1,     8,     9,    -1,    11,    42,    43,    44,
-    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
-    -1,    -1,    -1,    -1,    29,    -1,    31,    -1,    33,    34,
-    35,    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,    -1,
-    45,    -1,    -1,    -1,    -1,    50,    51,    52,    -1,    -1,
-    -1,    56,    57,    -1,    -1,    60,    61,    62,    -1,    -1,
-    -1,    66,    -1,    68,    69,    -1,    -1,    -1,    73,    74,
-    -1,    -1,    77,    -1,    -1,    80,    81,    82,     1,    84,
-     3,    -1,    -1,    -1,    -1,     8,     9,    -1,    11,    43,
-    44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
-    54,    -1,    -1,    -1,    -1,    -1,    29,    -1,    31,    -1,
-    33,    34,    35,    -1,    -1,    38,    -1,    -1,    -1,    42,
-    -1,    -1,    45,    -1,    -1,    -1,    -1,    50,    51,    52,
-    -1,    -1,    -1,    56,    57,    -1,    -1,    60,    61,    62,
-    -1,    -1,    -1,    66,    -1,    68,    -1,    -1,    -1,    -1,
-    73,    -1,    -1,    -1,    77,     1,    -1,     3,    81,    82,
-    -1,    84,     8,     9,    -1,    11,    44,    45,    46,    47,
-    48,    49,    50,    51,    52,    53,    54,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    45,    -1,    -1,    48,    -1,    -1,
+    -1,    -1,    53,    54,    55,    -1,    -1,    -1,    59,    60,
+    -1,    -1,    -1,    64,    65,    -1,    -1,    -1,    69,    -1,
+    71,    72,    -1,    -1,    -1,    76,    77,    -1,    -1,    80,
+    -1,    82,    -1,    84,    85,     1,    87,     3,     4,    -1,
+    -1,    -1,     8,     9,    -1,    11,    -1,    -1,    -1,    15,
+    -1,    17,    18,    19,    20,    21,    22,    23,    24,    25,
+    26,    27,    -1,    29,    -1,    31,    -1,    33,    34,    35,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,
+    -1,    -1,    48,    -1,    -1,    -1,    -1,    53,    54,    55,
+    -1,    -1,    -1,    59,    60,    -1,    -1,    -1,    64,    65,
+    -1,    -1,    -1,    69,    -1,    71,    72,    -1,    -1,    -1,
+    76,    77,    -1,    -1,    80,    -1,    82,    -1,    84,    85,
+     1,    87,     3,     4,    -1,     6,     7,     8,     9,    -1,
+    11,    12,    13,    14,    47,    48,    49,    50,    51,    52,
+    53,    54,    55,    56,    57,    -1,    -1,    28,    29,    -1,
+    31,    -1,    33,    34,    35,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    45,    -1,    -1,    48,    -1,    50,
+    -1,    -1,    53,    54,    55,    -1,    -1,    -1,    59,    60,
+    -1,    -1,    -1,    64,    65,    -1,    -1,    -1,    69,    -1,
+    71,    72,    -1,    -1,    -1,    76,    77,    -1,    -1,    80,
+    -1,    -1,    -1,    84,    85,     1,    87,     3,     4,    -1,
+    -1,    -1,     8,     9,    42,    11,    44,    45,    46,    47,
+    48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
     -1,    -1,    -1,    29,    -1,    31,    -1,    33,    34,    35,
-    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,    -1,    45,
-    -1,    -1,    -1,    -1,    50,    51,    52,    -1,    -1,    -1,
-    56,    57,    -1,    -1,    -1,    61,    62,    -1,    -1,    -1,
-    66,    -1,    68,    -1,    -1,    -1,    -1,    73,    -1,    -1,
-    -1,    77,     1,    -1,     3,    81,    82,    -1,    84,     8,
-     9,    -1,    11,     1,    -1,     3,     4,     5,     6,     7,
-    -1,    -1,    -1,    -1,    12,    13,    14,    -1,    -1,    -1,
-    29,    -1,    31,    -1,    33,    34,    35,    -1,    -1,    -1,
-    28,    -1,    30,    42,    -1,    -1,    45,    -1,    -1,    -1,
-    -1,    50,    51,    52,    -1,    -1,    -1,    56,    57,    47,
-    -1,    -1,    61,    62,    52,    -1,    -1,    66,    -1,    68,
-    -1,    -1,    -1,    61,    73,    -1,    -1,    -1,    77,    -1,
-    -1,    69,    81,    82,     1,    84,    74,     4,     5,     6,
-     7,    79,    -1,    -1,    -1,    12,    13,    14,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,
+    -1,    -1,    48,    -1,    -1,    -1,    -1,    53,    54,    55,
+    -1,    -1,    -1,    59,    60,    -1,    -1,    63,    64,    65,
+    -1,    -1,    -1,    69,    -1,    71,    72,    -1,    -1,    -1,
+    76,    77,    -1,    -1,    80,    -1,    -1,    83,    84,    85,
+     1,    87,     3,     4,    -1,    -1,    -1,     8,     9,    -1,
+    11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    29,    -1,
+    31,    -1,    33,    34,    35,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    45,    -1,    -1,    48,    -1,    -1,
+    -1,    -1,    53,    54,    55,    -1,    -1,    -1,    59,    60,
+    -1,    -1,    63,    64,    65,    -1,    -1,    -1,    69,    -1,
+    71,    72,    -1,    -1,    -1,    76,    77,    -1,    -1,    80,
+    -1,    -1,    83,    84,    85,     1,    87,     3,    -1,    -1,
+    -1,    -1,     8,     9,    -1,    11,    -1,    -1,    -1,    -1,
     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    27,    28,     1,    30,    -1,     4,     5,     6,     7,    -1,
-    -1,    38,    -1,    12,    13,    14,     4,     5,     6,     7,
-    47,    -1,    -1,    -1,    12,    13,    14,    -1,    27,    28,
-    -1,    30,    -1,    -1,    61,    62,    -1,    -1,    -1,    38,
-    28,    -1,    69,    -1,    -1,    -1,    -1,    74,    47,    -1,
-    -1,    -1,    79,    -1,    -1,    -1,    83,    84,    -1,    47,
-     1,    -1,    -1,     4,     5,     6,     7,    -1,    -1,    -1,
-    69,    12,    13,    14,    -1,    74,    -1,    -1,    -1,    -1,
-    79,    69,    -1,    -1,    83,    84,    74,    28,     1,    30,
-    -1,     4,     5,     6,     7,    -1,    -1,    -1,    -1,    12,
-    13,    14,     4,    -1,     6,     7,    47,    -1,    -1,    -1,
-    12,    13,    14,    -1,    -1,    28,     3,    30,    -1,    -1,
-    -1,     8,     9,    -1,    11,    -1,    28,    -1,    69,    -1,
-    -1,    -1,    -1,    74,    47,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    29,    84,    31,    47,    33,    34,    35,    -1,
-    -1,    -1,    -1,    -1,    -1,    42,    69,    -1,    45,    -1,
-    -1,    74,    -1,    50,    51,    52,    -1,    69,    -1,    56,
-    57,    84,    74,    -1,    61,    62,    -1,     3,    -1,    66,
-    -1,    68,     8,     9,    -1,    11,    73,    -1,    -1,    -1,
-    77,    -1,    -1,    -1,    81,    82,    -1,    -1,    85,    -1,
     -1,    -1,    -1,    29,    -1,    31,    -1,    33,    34,    35,
-    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,    -1,    45,
-    -1,    -1,    -1,    -1,    50,    51,    52,    -1,    -1,    -1,
-    56,    57,    -1,    -1,    -1,    61,    62,    -1,     3,    -1,
-    66,    -1,    68,     8,     9,    -1,    11,    73,    -1,    -1,
-    -1,    77,    -1,    -1,    -1,    81,    82,    -1,    -1,    85,
+    -1,    -1,    -1,    -1,    -1,    41,    -1,    -1,    -1,    45,
+    -1,    -1,    48,    -1,    -1,    -1,    -1,    53,    54,    55,
+    -1,    -1,    -1,    59,    60,    -1,    -1,    63,    64,    65,
+    -1,    -1,    -1,    69,    -1,    71,    -1,    -1,    -1,    -1,
+    76,    -1,    -1,    -1,    80,     1,    -1,     3,    84,    85,
+    -1,    87,     8,     9,    -1,    11,     1,    -1,    -1,     4,
+    -1,     6,     7,    -1,    -1,    -1,    -1,    12,    13,    14,
+    -1,    -1,    -1,    29,    -1,    31,    -1,    33,    34,    35,
+    -1,    -1,    -1,    28,    -1,    -1,    31,    -1,    -1,    45,
+    -1,    -1,    48,    -1,    -1,    -1,    -1,    53,    54,    55,
+    -1,    -1,    -1,    59,    60,    50,    -1,    -1,    64,    65,
+    -1,    -1,    -1,    69,    -1,    71,    -1,    -1,    -1,    -1,
+    76,    -1,    -1,    -1,    80,    -1,    -1,    72,    84,    85,
+     1,    87,    77,     4,     5,     6,     7,    82,    83,    -1,
+    -1,    12,    13,    14,    -1,    -1,    -1,    -1,    -1,     1,
+    -1,    -1,     4,     5,     6,     7,    27,    28,    -1,    30,
+    12,    13,    14,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    41,    -1,    -1,    -1,    -1,    27,    28,    -1,    30,    50,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,
+    -1,    -1,    -1,    64,    65,    -1,    -1,    -1,    50,    -1,
+    -1,    72,    -1,    -1,    -1,    -1,    77,    -1,    -1,    -1,
+    -1,    82,    64,    65,    -1,    86,    87,    -1,    -1,    -1,
+    72,    -1,    -1,    -1,    -1,    77,    -1,    -1,    -1,    -1,
+    82,    -1,    -1,     1,    86,    87,     4,     5,     6,     7,
+    -1,    -1,    -1,    -1,    12,    13,    14,    -1,    -1,    -1,
+    -1,    -1,     1,    -1,    -1,     4,     5,     6,     7,    27,
+    28,    -1,    30,    12,    13,    14,    -1,     4,     5,     6,
+     7,    -1,    -1,    41,    -1,    12,    13,    14,    -1,    28,
+    -1,    30,    50,     1,    -1,    -1,     4,     5,     6,     7,
+    -1,    28,    -1,    30,    12,    13,    14,    -1,    -1,    -1,
+    -1,    50,    -1,    -1,    72,    -1,    -1,    -1,    -1,    77,
+    28,    -1,    30,    50,    82,    -1,     3,    -1,    86,    87,
+    -1,     8,     9,    72,    11,    -1,    -1,    -1,    77,    -1,
+    -1,    -1,    50,    -1,    -1,    72,    -1,    -1,    87,    -1,
+    77,    -1,    29,    -1,    31,    82,    33,    34,    35,    -1,
+    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    45,    77,
+    -1,    48,    -1,    -1,    -1,    -1,    53,    54,    55,    87,
+    -1,    -1,    59,    60,    -1,    -1,    -1,    64,    65,    -1,
+     3,    -1,    69,    -1,    71,     8,     9,    -1,    11,    76,
+    -1,    -1,    -1,    80,    -1,    -1,    -1,    84,    85,    -1,
+    -1,    88,    -1,    -1,    -1,    -1,    29,    -1,    31,    -1,
+    33,    34,    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    45,    -1,    -1,    48,    -1,    -1,    -1,    -1,
+    53,    54,    55,    -1,    -1,    -1,    59,    60,    -1,    -1,
+    -1,    64,    65,    -1,     3,    -1,    69,    -1,    71,     8,
+     9,    -1,    11,    76,    -1,    -1,    -1,    80,    -1,    -1,
+    -1,    84,    85,    -1,    -1,    88,    -1,    -1,    -1,    -1,
+    29,    -1,    31,    -1,    33,    34,    35,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,    48,
+    -1,    -1,    -1,    -1,    53,    54,    55,    -1,    -1,    -1,
+    59,    60,    -1,    -1,    -1,    64,    65,    -1,     3,    -1,
+    69,    -1,    71,     8,     9,    -1,    11,    76,    -1,    -1,
+    -1,    80,    -1,    -1,    -1,    84,    85,    -1,    -1,    88,
     -1,    -1,    -1,    -1,    29,    -1,    31,    -1,    33,    34,
-    35,    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,    -1,
-    45,    -1,    -1,    -1,    -1,    50,    51,    52,    -1,    -1,
-    -1,    56,    57,    -1,    -1,    -1,    61,    62,    -1,     3,
-    -1,    66,    -1,    68,     8,     9,    -1,    11,    73,    -1,
-    -1,    -1,    77,    -1,    -1,    -1,    81,    82,    -1,    -1,
-    85,    -1,    -1,    -1,    -1,    29,    -1,    31,    -1,    33,
-    34,    35,    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,
-    -1,    45,    -1,    -1,    -1,    -1,    50,    51,    52,    -1,
-    -1,    -1,    56,    57,    -1,    -1,    -1,    61,    62,    -1,
-     3,    -1,    66,    -1,    68,     8,     9,    -1,    11,    73,
-    -1,    -1,    -1,    77,    -1,    -1,    -1,    81,    82,    -1,
-    -1,    85,    -1,    -1,    -1,    -1,    29,    -1,    31,    -1,
-    33,    34,    35,    -1,    -1,    -1,    -1,    -1,    -1,    42,
-    -1,    -1,    45,    -1,    -1,    -1,    -1,    50,    51,    52,
-    -1,    -1,    -1,    56,    57,    -1,    -1,    -1,    61,    62,
-    -1,    -1,    -1,    66,    -1,    68,    -1,    -1,    -1,    -1,
-    73,    -1,    -1,    -1,    77,    -1,    -1,    -1,    81,    82,
-    -1,    -1,    85,     3,     4,     5,     6,     7,     8,     9,
-    -1,    11,    12,    13,    14,    15,    -1,    17,    18,    19,
-    20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
-    30,    31,    -1,    33,    34,    35,    -1,    -1,    -1,    -1,
-    -1,    -1,    42,    -1,    -1,    45,    -1,    47,    -1,    -1,
-    50,    51,    52,    -1,    -1,    -1,    56,    57,    -1,    -1,
-    -1,    61,    62,    -1,    -1,    -1,    66,    -1,    68,    69,
-    -1,    -1,    -1,    73,    74,    -1,    -1,    77,    -1,    79,
-    -1,    81,    82,    -1,    84,     3,     4,    -1,    -1,    -1,
-     8,     9,    -1,    11,    -1,    -1,    -1,    15,    -1,    17,
-    18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
-    -1,    29,    -1,    31,    -1,    33,    34,    35,    -1,    -1,
-    -1,    -1,    -1,    -1,    42,    -1,    -1,    45,    -1,    -1,
-    -1,    -1,    50,    51,    52,    -1,    -1,    -1,    56,    57,
-    -1,     3,    -1,    61,    62,    -1,     8,     9,    66,    11,
-    68,    69,    -1,    -1,    -1,    73,    74,    -1,    -1,    77,
-    -1,    79,    -1,    81,    82,    -1,    84,    29,    -1,    31,
-    -1,    33,    34,    35,    -1,    -1,    -1,    -1,    -1,    -1,
-    42,    -1,    -1,    45,    -1,    -1,    -1,    -1,    50,    51,
-    52,    -1,    -1,    -1,    56,    57,    -1,    -1,    -1,    61,
-    62,    -1,    -1,    -1,    66,    -1,    68,    -1,    -1,    -1,
-    -1,    73,    -1,    -1,    -1,    77,    -1,    -1,    -1,    81,
-    82,    -1,    84,     3,     4,    -1,     6,     7,    -1,    -1,
-    -1,    11,    12,    13,    14,    15,    16,    17,    18,    19,
-    20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
-    -1,    -1,    -1,     3,     4,     5,     6,     7,     8,     9,
-    40,    11,    12,    13,    14,     4,     5,     6,     7,    -1,
-    -1,    -1,    -1,    12,    13,    14,    -1,    -1,    28,    29,
-    30,    31,    -1,    33,    34,    35,    -1,    -1,    -1,    28,
-    -1,    30,    42,    -1,    74,    45,    -1,    47,    -1,    -1,
-    50,    51,    52,    83,    -1,    -1,    56,    57,    47,    -1,
-    -1,    61,    62,    -1,    -1,    -1,    66,    -1,    68,    69,
-    -1,    -1,    -1,    73,    74,    -1,    -1,    77,    -1,    -1,
-    69,    81,    82,     3,     4,    74,     6,     7,     8,     9,
-    79,    11,    12,    13,    14,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
+    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    45,    -1,    -1,    48,    -1,    -1,    -1,    -1,    53,    54,
+    55,    -1,    -1,    -1,    59,    60,    -1,    -1,    -1,    64,
+    65,    -1,     3,    -1,    69,    -1,    71,     8,     9,    -1,
+    11,    76,    -1,    -1,    -1,    80,    -1,    -1,    -1,    84,
+    85,    -1,    -1,    88,    -1,    -1,    -1,    -1,    29,    -1,
+    31,    -1,    33,    34,    35,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    45,    -1,    -1,    48,    -1,    -1,
+    -1,    -1,    53,    54,    55,    -1,    -1,    -1,    59,    60,
+    -1,    -1,    -1,    64,    65,    -1,    -1,    -1,    69,    -1,
+    71,    -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,    80,
+    -1,    -1,    -1,    84,    85,    -1,    -1,    88,     3,     4,
+     5,     6,     7,     8,     9,    -1,    11,    12,    13,    14,
+    15,    -1,    17,    18,    19,    20,    21,    22,    23,    24,
+    25,    26,    27,    28,    29,    30,    31,    -1,    33,    34,
+    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    45,    -1,    -1,    48,    -1,    50,    -1,    -1,    53,    54,
+    55,    -1,    -1,    -1,    59,    60,    -1,    -1,    -1,    64,
+    65,    -1,    -1,    -1,    69,    -1,    71,    72,    -1,    -1,
+    -1,    76,    77,    -1,    -1,    80,    -1,    82,    -1,    84,
+    85,    -1,    87,     3,     4,    -1,    -1,    -1,     8,     9,
+    -1,    11,    -1,    -1,    -1,    15,    -1,    17,    18,    19,
+    20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
     -1,    31,    -1,    33,    34,    35,    -1,    -1,    -1,    -1,
-    -1,    -1,    42,    -1,    -1,    45,    -1,    47,    -1,    -1,
-    50,    51,    52,    -1,    -1,    -1,    56,    57,    -1,     3,
-    -1,    61,    62,    -1,     8,     9,    66,    11,    68,    69,
-    -1,    -1,    -1,    73,    74,    -1,    -1,    77,    -1,    -1,
-    -1,    81,    82,    -1,    -1,    29,    -1,    31,    -1,    33,
-    34,    35,    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,
-    -1,    45,    -1,    -1,    -1,    -1,    50,    51,    52,    -1,
-    -1,    -1,    56,    57,    -1,     3,    -1,    61,    62,    -1,
-     8,     9,    66,    11,    68,    69,    -1,    -1,    -1,    73,
-    -1,    -1,    -1,    77,    -1,    -1,    -1,    81,    82,    -1,
+    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,    48,    -1,
+    -1,    -1,    -1,    53,    54,    55,    -1,    -1,    -1,    59,
+    60,    -1,     3,    -1,    64,    65,    -1,     8,     9,    69,
+    11,    71,    72,    -1,    -1,    -1,    76,    77,    -1,    -1,
+    80,    -1,    82,    -1,    84,    85,    -1,    87,    29,    -1,
+    31,    -1,    33,    34,    35,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    45,    -1,    -1,    48,    -1,    -1,
+    -1,    -1,    53,    54,    55,    -1,    -1,    -1,    59,    60,
+    -1,    -1,    -1,    64,    65,    -1,    -1,    -1,    69,    -1,
+    71,    -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,    80,
+    -1,    -1,    -1,    84,    85,    -1,    87,     3,     4,    -1,
+     6,     7,    -1,    -1,    -1,    11,    12,    13,    14,    15,
+    16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
+    26,    27,    28,    29,    -1,     3,     4,     5,     6,     7,
+     8,     9,    -1,    11,    12,    13,    14,    43,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    28,    29,    30,    31,    -1,    33,    34,    35,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,
+    48,    77,    50,    -1,    -1,    53,    54,    55,    -1,    -1,
+    86,    59,    60,    -1,    -1,    -1,    64,    65,    -1,    -1,
+    -1,    69,    -1,    71,    72,    -1,    -1,    -1,    76,    77,
+    -1,    -1,    80,    -1,    -1,    -1,    84,    85,     3,     4,
+    -1,     6,     7,     8,     9,    -1,    11,    12,    13,    14,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    28,    29,    -1,    31,    -1,    33,    34,
+    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    45,    -1,    -1,    48,    -1,    50,    -1,    -1,    53,    54,
+    55,    -1,    -1,    -1,    59,    60,    -1,     3,    -1,    64,
+    65,    -1,     8,     9,    69,    11,    71,    72,    -1,    -1,
+    -1,    76,    77,    -1,    -1,    80,    -1,    -1,    -1,    84,
+    85,    -1,    -1,    29,    -1,    31,    -1,    33,    34,    35,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,
+    -1,    -1,    48,    -1,    -1,    -1,    -1,    53,    54,    55,
+    -1,    -1,    -1,    59,    60,    -1,     3,    -1,    64,    65,
+    -1,     8,     9,    69,    11,    71,    72,    -1,    -1,    -1,
+    76,    -1,    -1,    -1,    80,    -1,    -1,    -1,    84,    85,
+    -1,    -1,    29,    -1,    31,    -1,    33,    34,    35,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,    -1,
+    -1,    48,    -1,    -1,    -1,    -1,    53,    54,    55,    -1,
+    -1,    -1,    59,    60,    -1,     3,    -1,    64,    65,    -1,
+     8,     9,    69,    11,    71,    -1,    -1,    -1,    -1,    76,
+    -1,    -1,    -1,    80,    -1,    82,    -1,    84,    85,    -1,
     -1,    29,    -1,    31,    -1,    33,    34,    35,    -1,    -1,
-    -1,    -1,    -1,    -1,    42,    -1,    -1,    45,    -1,    -1,
-    -1,    -1,    50,    51,    52,    -1,    -1,    -1,    56,    57,
-    -1,     3,    -1,    61,    62,    -1,     8,     9,    66,    11,
-    68,    -1,    -1,    -1,    -1,    73,    -1,    -1,    -1,    77,
-    -1,    79,    -1,    81,    82,    -1,    -1,    29,    -1,    31,
-    -1,    33,    34,    35,    -1,    -1,    -1,    -1,    -1,    -1,
-    42,    -1,    -1,    45,    -1,    -1,    -1,    -1,    50,    51,
-    52,    -1,    -1,    -1,    56,    57,    -1,     3,    -1,    61,
-    62,    -1,     8,     9,    66,    11,    68,    -1,    -1,    -1,
-    -1,    73,    -1,    -1,    -1,    77,    -1,    -1,    -1,    81,
-    82,    -1,    -1,    29,    -1,    31,    -1,    33,    34,    35,
-    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,    -1,    45,
-    -1,    -1,    -1,    -1,    50,    51,    52,    -1,    -1,    -1,
-    56,    57,    -1,     3,    -1,    61,    62,    -1,     8,     9,
-    66,    11,    68,    -1,    -1,    -1,    -1,    73,    -1,    -1,
-    -1,    77,    -1,    -1,    -1,    81,    82,    -1,    -1,    29,
+    -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,
+    48,    -1,    -1,    -1,    -1,    53,    54,    55,    -1,    -1,
+    -1,    59,    60,    -1,     3,    -1,    64,    65,    -1,     8,
+     9,    69,    11,    71,    -1,    -1,    -1,    -1,    76,    -1,
+    -1,    -1,    80,    -1,    -1,    -1,    84,    85,    -1,    -1,
+    29,    -1,    31,    -1,    33,    34,    35,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,    48,
+    -1,    -1,    -1,    -1,    53,    54,    55,    -1,    -1,    -1,
+    59,    60,    -1,     3,    -1,    64,    65,    -1,     8,     9,
+    69,    11,    71,    -1,    -1,    -1,    -1,    76,    -1,    -1,
+    -1,    80,    -1,    -1,    -1,    84,    85,    -1,    -1,    29,
     -1,    31,    -1,    33,    34,    35,    -1,    -1,    -1,    -1,
-    -1,    -1,    42,    -1,    -1,    45,    -1,    -1,    -1,    -1,
-    50,    51,    52,    -1,    -1,    -1,    56,    57,    -1,     3,
-    -1,    61,    62,    -1,     8,     9,    66,    11,    68,    -1,
-    -1,    -1,    -1,    73,    -1,    -1,    -1,    77,    -1,    -1,
-    -1,    81,    82,    -1,    -1,    29,    -1,    31,    -1,    33,
-    34,    35,    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,
-    -1,    45,    -1,    -1,    -1,    -1,    50,    51,    52,    -1,
-    -1,    -1,    56,    57,    -1,    -1,    -1,    61,    62,    -1,
-    -1,    -1,    66,    -1,    68,    -1,    -1,    -1,    -1,    73,
-    -1,    -1,    -1,    77,    -1,    -1,     1,    81,    82,     4,
-     1,     6,     7,     4,    -1,     6,     7,    12,    13,    14,
-    -1,    12,    13,    14,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    28,    -1,    -1,    -1,    28,    -1,     4,
-    31,     6,     7,    -1,    -1,    -1,    -1,    12,    13,    14,
-    -1,    -1,    47,    -1,    -1,    -1,    47,     4,     5,     6,
-     7,    -1,    -1,    28,    -1,    12,    13,    14,    -1,    -1,
-    -1,    -1,    -1,    -1,    69,    70,    71,    72,    69,    74,
-    -1,    28,    47,    74,    79,    80,    -1,    -1,    79,    80,
-     1,    -1,     3,     4,     5,     6,     7,    -1,    -1,    -1,
-    47,    12,    13,    14,    69,    -1,    -1,    -1,    -1,    74,
-    -1,    -1,    -1,    -1,    79,    80,    27,    28,    -1,    30,
-    31,    -1,    69,    -1,    -1,    -1,    -1,    74,    -1,    -1,
-    -1,    -1,    79,    -1,    -1,    -1,    47,    -1,    -1,    50,
-    51,    52,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    61,    -1,    63,    64,    65,    -1,    -1,    -1,    69,    -1,
-    -1,    -1,    73,    74,    75,    76,    -1,     1,    79,     3,
-     4,     5,     6,     7,    -1,    -1,    -1,    -1,    12,    13,
-    14,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    28,     1,    30,     3,     4,     5,
-     6,     7,    -1,    -1,    10,    -1,    12,    13,    14,    -1,
-    -1,    -1,    -1,    47,    -1,    -1,    50,    51,    52,    -1,
-    -1,    -1,    28,    -1,    30,     1,    -1,    61,     4,     5,
-     6,     7,    -1,    -1,    10,    69,    12,    13,    14,    -1,
-    74,    47,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
-    -1,    -1,    28,    -1,    30,    -1,     4,     5,     6,     7,
-    -1,    -1,    -1,    69,    12,    13,    14,    -1,    74,    -1,
-    -1,    47,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    28,    -1,    30,    -1,    -1,    -1,     4,     5,     6,     7,
-    -1,    -1,    -1,    69,    12,    13,    14,    -1,    74,    47,
-    -1,    -1,    78,     1,    -1,    -1,     4,    -1,     6,     7,
-    28,    -1,    30,    -1,    12,    13,    14,    -1,    -1,    -1,
-    -1,    69,    -1,    -1,    -1,    -1,    74,    -1,    -1,    47,
-    28,    79,    -1,    31,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    47,
-    -1,    69,    -1,    -1,    -1,    -1,    74,    -1,    -1,    -1,
-    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
-     4,    69,     6,     7,    -1,    -1,    74,    11,    12,    13,
-    14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-    24,    25,    26,    27,    28,    29,    -1,    -1,    -1,     3,
-     4,    -1,     6,     7,    -1,    -1,    40,    11,    12,    13,
+    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,    48,    -1,
+    -1,    -1,    -1,    53,    54,    55,    -1,    -1,    -1,    59,
+    60,    -1,     3,    -1,    64,    65,    -1,     8,     9,    69,
+    11,    71,    -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,
+    80,    -1,    -1,    -1,    84,    85,    -1,    -1,    29,    -1,
+    31,    -1,    33,    34,    35,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    45,    -1,    -1,    48,    -1,    -1,
+    -1,    -1,    53,    54,    55,    -1,    -1,    -1,    59,    60,
+    -1,    -1,    -1,    64,    65,    -1,    -1,    -1,    69,    -1,
+    71,    -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,    80,
+    -1,    -1,     1,    84,    85,     4,    -1,     6,     7,    -1,
+    -1,    -1,    -1,    12,    13,    14,    -1,    -1,    -1,     1,
+    -1,    -1,     4,    -1,     6,     7,    -1,    -1,    -1,    28,
+    12,    13,    14,    -1,     4,     5,     6,     7,    -1,    -1,
+    10,    -1,    12,    13,    14,    -1,    28,    -1,    -1,    -1,
+    -1,    50,    -1,    -1,    -1,    -1,    -1,    -1,    28,     1,
+    30,     3,     4,     5,     6,     7,    -1,    -1,    50,    -1,
+    12,    13,    14,    72,    73,    74,    75,    -1,    77,    -1,
+    50,    -1,    -1,    82,    83,    27,    28,    -1,    30,    31,
+    72,    73,    74,    75,    -1,    77,    -1,    -1,    -1,    -1,
+    82,    83,    72,    -1,    -1,    -1,    -1,    77,    50,    -1,
+    -1,    53,    54,    55,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    64,    -1,    66,    67,    68,    -1,    -1,    -1,
+    72,    -1,    -1,    -1,    76,    77,    78,    79,    -1,     1,
+    82,     3,     4,     5,     6,     7,    -1,    -1,    -1,    -1,
+    12,    13,    14,    -1,    -1,    -1,    -1,    -1,     1,    -1,
+     3,     4,     5,     6,     7,    -1,    28,    -1,    30,    12,
+    13,    14,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    -1,    28,    -1,    30,    50,    -1,
+    -1,    53,    54,    55,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    64,    -1,    -1,    -1,    -1,    50,    -1,    -1,
+    72,    -1,    55,     1,    -1,    77,     4,     5,     6,     7,
+    82,    64,    10,    -1,    12,    13,    14,    -1,    -1,    72,
+    -1,    -1,    -1,    -1,    77,     4,     5,     6,     7,    82,
+    28,    -1,    30,    12,    13,    14,     4,     5,     6,     7,
+    -1,    -1,    -1,    -1,    12,    13,    14,    -1,    -1,    28,
+     1,    30,    50,     4,    -1,     6,     7,    -1,    -1,    -1,
+    28,    12,    13,    14,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    50,    -1,    -1,    72,    -1,    -1,    28,    -1,    77,
+    31,    -1,    50,    81,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    72,    -1,    -1,    -1,    -1,    77,    50,
+    -1,    -1,    -1,    82,    72,    -1,    -1,    -1,    -1,    77,
+    -1,    -1,    -1,    -1,    82,    -1,    -1,    -1,    -1,     3,
+     4,    72,     6,     7,    -1,    -1,    77,    11,    12,    13,
     14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-    24,    25,    26,    27,    28,    29,    -1,    61,    -1,    -1,
-    -1,    -1,    -1,    -1,     3,     4,    40,     6,     7,    -1,
-    74,    -1,    11,    12,    13,    14,    15,    16,    17,    18,
-    19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
-    29,    -1,    -1,    -1,     3,     4,    -1,     6,     7,    -1,
-    74,    40,    11,    12,    13,    14,    15,    16,    17,    18,
-    19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
-    29,    -1,    -1,    -1,     4,    -1,     6,     7,    -1,    -1,
-    -1,    40,    12,    13,    14,    74,     4,     5,     6,     7,
-    -1,    -1,    10,    -1,    12,    13,    14,    -1,    28,    -1,
-    30,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    28,    -1,    30,    -1,    -1,    74,    -1,    47,    -1,    -1,
-    -1,    -1,    52,    -1,    -1,    -1,    -1,    -1,    -1,    47,
-    -1,    61,    62,    -1,    -1,    -1,    -1,    -1,    -1,    69,
-     4,     5,     6,     7,    74,    -1,    10,    -1,    12,    13,
-    14,    69,     4,     5,     6,     7,    74,    -1,    -1,    -1,
-    12,    13,    14,    -1,    28,     4,    30,     6,     7,    -1,
-    -1,    -1,    -1,    12,    13,    14,    28,    -1,    30,    -1,
-    -1,    -1,    -1,    47,    -1,    -1,    -1,    -1,    -1,    28,
-    -1,    -1,    -1,    -1,    -1,    47,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,    47,    -1,
-    74,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,
-    -1,    -1,    74,    10,    -1,    -1,    -1,    -1,    -1,    -1,
-    69,    -1,    37,    38,    39,    74,    41,    42,    43,    44,
-    45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
-    37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
-    47,    48,    49,    50,    51,    52,    53,    54,    30,    -1,
-    -1,    -1,    -1,    -1,    -1,    37,    38,    39,    83,    41,
-    42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
-    52,    53,    54,    37,    38,    39,    40,    41,    42,    43,
-    44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
-    54,    37,    38,    39,    -1,    41,    42,    43,    44,    45,
-    46,    47,    48,    49,    50,    51,    52,    53,    54
+    24,    25,    26,    27,    28,    29,    -1,    -1,    -1,    -1,
+    -1,    -1,     3,     4,    -1,     6,     7,    -1,    -1,    43,
+    11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
+    21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
+    64,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,    -1,
+     6,     7,    43,    77,    -1,    11,    12,    13,    14,    15,
+    16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
+    26,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
+     3,     4,    -1,     6,     7,    -1,    77,    43,    11,    12,
+    13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
+    23,    24,    25,    26,    27,    28,    29,     4,    -1,     6,
+     7,    -1,    -1,    -1,    -1,    12,    13,    14,    -1,    -1,
+    43,    77,    -1,    -1,    -1,    -1,     4,     5,     6,     7,
+    -1,    28,    10,    30,    12,    13,    14,     4,     5,     6,
+     7,    -1,    -1,    -1,    -1,    12,    13,    14,    -1,    -1,
+    28,    -1,    30,    50,    77,    -1,    -1,    -1,    55,    -1,
+    -1,    28,    -1,    30,    -1,    -1,    -1,    64,    65,    -1,
+    -1,    -1,    50,    -1,    -1,    72,     4,     5,     6,     7,
+    77,    -1,    -1,    50,    12,    13,    14,     4,    -1,     6,
+     7,    -1,    -1,    -1,    72,    12,    13,    14,    -1,    77,
+    28,    -1,    -1,    -1,     4,    72,     6,     7,    -1,    -1,
+    77,    28,    12,    13,    14,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,    28,    -1,
+    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    -1,    77,
+    50,    -1,    -1,    -1,    -1,    72,    -1,    -1,    -1,    -1,
+    77,    -1,    -1,    -1,    30,    -1,    -1,    -1,    -1,    -1,
+    -1,    -1,    72,    -1,    40,    41,    42,    77,    44,    45,
+    46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
+    56,    57,    40,    41,    42,    43,    44,    45,    46,    47,
+    48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
+    40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
+    50,    51,    52,    53,    54,    55,    56,    57
 };
 /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/lib/bison.simple"
+#line 3 "/usr/share/bison.simple"
 /* This file comes from bison-1.28.  */
 
 /* Skeleton output parser for bison,
@@ -1962,7 +1967,7 @@ __yy_memcpy (char *to, char *from, unsigned int count)
 #endif
 #endif
 \f
-#line 217 "/usr/lib/bison.simple"
+#line 217 "/usr/share/bison.simple"
 
 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
    into yyparse.  The argument should have type void *.
@@ -2037,7 +2042,7 @@ yyparse(YYPARSE_PARAM_ARG)
 
   int yylen;
 
-#if YYDEBUG != 0
+#if YYDEBUG != 0 && !defined YYFILE
   if (yydebug)
     fprintf(stderr, "Starting parse\n");
 #endif
@@ -2140,7 +2145,7 @@ yynewstate:
       yylsp = yyls + size - 1;
 #endif
 
-#if YYDEBUG != 0
+#if YYDEBUG != 0 && !defined YYFILE
       if (yydebug)
        fprintf(stderr, "Stack size increased to %d\n", yystacksize);
 #endif
@@ -2149,7 +2154,7 @@ yynewstate:
        YYABORT;
     }
 
-#if YYDEBUG != 0
+#if YYDEBUG != 0 && !defined YYFILE
   if (yydebug)
     fprintf(stderr, "Entering state %d\n", yystate);
 #endif
@@ -2174,7 +2179,7 @@ yynewstate:
 
   if (yychar == YYEMPTY)
     {
-#if YYDEBUG != 0
+#if YYDEBUG != 0 && !defined YYFILE
       if (yydebug)
        fprintf(stderr, "Reading a token: ");
 #endif
@@ -2188,7 +2193,7 @@ yynewstate:
       yychar1 = 0;
       yychar = YYEOF;          /* Don't call YYLEX any more */
 
-#if YYDEBUG != 0
+#if YYDEBUG != 0 && !defined YYFILE
       if (yydebug)
        fprintf(stderr, "Now at end of input.\n");
 #endif
@@ -2197,7 +2202,7 @@ yynewstate:
     {
       yychar1 = YYTRANSLATE(yychar);
 
-#if YYDEBUG != 0
+#if YYDEBUG != 0 && !defined YYFILE
       if (yydebug)
        {
          fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
@@ -2239,7 +2244,7 @@ yynewstate:
 
   /* Shift the lookahead token.  */
 
-#if YYDEBUG != 0
+#if YYDEBUG != 0 && !defined YYFILE
   if (yydebug)
     fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
 #endif
@@ -2276,7 +2281,12 @@ yyreduce:
   if (yydebug)
     {
       int i;
-
+#ifdef YYFILE
+      fprintf (stderr, YYFILE ":%d: %s:", yyrline[yyn], yytname[yyr1[yyn]]);
+      for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
+       fprintf (stderr, " %s", yytname[yyrhs[i]]);
+      fputc ('\n', stderr);
+#else
       fprintf (stderr, "Reducing via rule %d (line %d), ",
               yyn, yyrline[yyn]);
 
@@ -2284,6 +2294,7 @@ yyreduce:
       for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
        fprintf (stderr, "%s ", yytname[yyrhs[i]]);
       fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
+#endif
     }
 #endif
 
@@ -2291,14 +2302,14 @@ yyreduce:
   switch (yyn) {
 
 case 1:
-#line 259 "objc-parse.y"
+#line 260 "objc-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids an empty source file");
                  finish_file ();
                ;
     break;}
 case 2:
-#line 264 "objc-parse.y"
+#line 265 "objc-parse.y"
 {
                  /* In case there were missing closebraces,
                     get us back to the global binding level.  */
@@ -2308,15 +2319,15 @@ case 2:
                ;
     break;}
 case 3:
-#line 278 "objc-parse.y"
+#line 279 "objc-parse.y"
 {yyval.ttype = NULL_TREE; ;
     break;}
 case 5:
-#line 279 "objc-parse.y"
+#line 280 "objc-parse.y"
 {yyval.ttype = NULL_TREE; ;
     break;}
 case 10:
-#line 287 "objc-parse.y"
+#line 288 "objc-parse.y"
 { STRIP_NOPS (yyvsp[-2].ttype);
                  if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR
                       && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST)
@@ -2326,11 +2337,11 @@ case 10:
                    error ("argument of `asm' is not a constant string"); ;
     break;}
 case 11:
-#line 295 "objc-parse.y"
+#line 296 "objc-parse.y"
 { RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
     break;}
 case 12:
-#line 300 "objc-parse.y"
+#line 301 "objc-parse.y"
 { if (pedantic)
                    error ("ANSI C forbids data definition with no type or storage class");
                  else if (!flag_traditional)
@@ -2341,162 +2352,162 @@ case 12:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 13:
-#line 309 "objc-parse.y"
+#line 310 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 14:
-#line 313 "objc-parse.y"
+#line 314 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 15:
-#line 317 "objc-parse.y"
+#line 318 "objc-parse.y"
 { pedwarn ("empty declaration"); ;
     break;}
 case 16:
-#line 319 "objc-parse.y"
+#line 320 "objc-parse.y"
 { shadow_tag (yyvsp[-1].ttype); ;
     break;}
 case 19:
-#line 323 "objc-parse.y"
+#line 324 "objc-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C does not allow extra `;' outside of a function"); ;
     break;}
 case 20:
-#line 329 "objc-parse.y"
+#line 330 "objc-parse.y"
 { if (! start_function (current_declspecs, yyvsp[0].ttype,
                                        prefix_attributes, NULL_TREE))
                    YYERROR1;
                  reinit_parse_for_function (); ;
     break;}
 case 21:
-#line 334 "objc-parse.y"
+#line 335 "objc-parse.y"
 { store_parm_decls (); ;
     break;}
 case 22:
-#line 336 "objc-parse.y"
+#line 337 "objc-parse.y"
 { finish_function (0); 
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 23:
-#line 341 "objc-parse.y"
+#line 342 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 24:
-#line 345 "objc-parse.y"
+#line 346 "objc-parse.y"
 { if (! start_function (current_declspecs, yyvsp[0].ttype,
                                        prefix_attributes, NULL_TREE))
                    YYERROR1;
                  reinit_parse_for_function (); ;
     break;}
 case 25:
-#line 350 "objc-parse.y"
+#line 351 "objc-parse.y"
 { store_parm_decls (); ;
     break;}
 case 26:
-#line 352 "objc-parse.y"
+#line 353 "objc-parse.y"
 { finish_function (0); 
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 27:
-#line 357 "objc-parse.y"
+#line 358 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 28:
-#line 361 "objc-parse.y"
+#line 362 "objc-parse.y"
 { if (! start_function (NULL_TREE, yyvsp[0].ttype,
                                        prefix_attributes, NULL_TREE))
                    YYERROR1;
                  reinit_parse_for_function (); ;
     break;}
 case 29:
-#line 366 "objc-parse.y"
+#line 367 "objc-parse.y"
 { store_parm_decls (); ;
     break;}
 case 30:
-#line 368 "objc-parse.y"
+#line 369 "objc-parse.y"
 { finish_function (0); 
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 31:
-#line 373 "objc-parse.y"
+#line 374 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 36:
-#line 386 "objc-parse.y"
+#line 387 "objc-parse.y"
 { yyval.code = ADDR_EXPR; ;
     break;}
 case 37:
-#line 388 "objc-parse.y"
+#line 389 "objc-parse.y"
 { yyval.code = NEGATE_EXPR; ;
     break;}
 case 38:
-#line 390 "objc-parse.y"
+#line 391 "objc-parse.y"
 { yyval.code = CONVERT_EXPR; ;
     break;}
 case 39:
-#line 392 "objc-parse.y"
+#line 393 "objc-parse.y"
 { yyval.code = PREINCREMENT_EXPR; ;
     break;}
 case 40:
-#line 394 "objc-parse.y"
+#line 395 "objc-parse.y"
 { yyval.code = PREDECREMENT_EXPR; ;
     break;}
 case 41:
-#line 396 "objc-parse.y"
+#line 397 "objc-parse.y"
 { yyval.code = BIT_NOT_EXPR; ;
     break;}
 case 42:
-#line 398 "objc-parse.y"
+#line 399 "objc-parse.y"
 { yyval.code = TRUTH_NOT_EXPR; ;
     break;}
 case 43:
-#line 402 "objc-parse.y"
+#line 403 "objc-parse.y"
 { yyval.ttype = build_compound_expr (yyvsp[0].ttype); ;
     break;}
 case 44:
-#line 407 "objc-parse.y"
+#line 408 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 46:
-#line 413 "objc-parse.y"
+#line 414 "objc-parse.y"
 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 47:
-#line 415 "objc-parse.y"
+#line 416 "objc-parse.y"
 { chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
     break;}
 case 49:
-#line 421 "objc-parse.y"
+#line 422 "objc-parse.y"
 { yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ;
     break;}
 case 50:
-#line 424 "objc-parse.y"
+#line 425 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
     break;}
 case 51:
-#line 427 "objc-parse.y"
+#line 428 "objc-parse.y"
 { yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0);
                  overflow_warning (yyval.ttype); ;
     break;}
 case 52:
-#line 431 "objc-parse.y"
+#line 432 "objc-parse.y"
 { tree label = lookup_label (yyvsp[0].ttype);
                  if (pedantic)
                    pedwarn ("ANSI C forbids `&&'");
@@ -2511,7 +2522,7 @@ case 52:
                ;
     break;}
 case 53:
-#line 459 "objc-parse.y"
+#line 460 "objc-parse.y"
 { skip_evaluation--;
                  if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
                      && DECL_C_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
@@ -2519,53 +2530,53 @@ case 53:
                  yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
     break;}
 case 54:
-#line 465 "objc-parse.y"
+#line 466 "objc-parse.y"
 { skip_evaluation--;
                  yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
     break;}
 case 55:
-#line 468 "objc-parse.y"
+#line 469 "objc-parse.y"
 { skip_evaluation--;
                  yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ;
     break;}
 case 56:
-#line 471 "objc-parse.y"
+#line 472 "objc-parse.y"
 { skip_evaluation--;
                  yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
     break;}
 case 57:
-#line 474 "objc-parse.y"
+#line 475 "objc-parse.y"
 { yyval.ttype = build_unary_op (REALPART_EXPR, yyvsp[0].ttype, 0); ;
     break;}
 case 58:
-#line 476 "objc-parse.y"
+#line 477 "objc-parse.y"
 { yyval.ttype = build_unary_op (IMAGPART_EXPR, yyvsp[0].ttype, 0); ;
     break;}
 case 59:
-#line 478 "objc-parse.y"
+#line 479 "objc-parse.y"
 { yyval.ttype = build_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ttype)); ;
     break;}
 case 60:
-#line 482 "objc-parse.y"
+#line 483 "objc-parse.y"
 { skip_evaluation++; ;
     break;}
 case 61:
-#line 486 "objc-parse.y"
+#line 487 "objc-parse.y"
 { skip_evaluation++; ;
     break;}
 case 63:
-#line 492 "objc-parse.y"
+#line 493 "objc-parse.y"
 { tree type = groktypename (yyvsp[-2].ttype);
                  yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
     break;}
 case 64:
-#line 495 "objc-parse.y"
+#line 496 "objc-parse.y"
 { start_init (NULL_TREE, NULL, 0);
                  yyvsp[-2].ttype = groktypename (yyvsp[-2].ttype);
                  really_start_incremental_init (yyvsp[-2].ttype); ;
     break;}
 case 65:
-#line 499 "objc-parse.y"
+#line 500 "objc-parse.y"
 { const char *name;
                  tree result = pop_init_level (0);
                  tree type = yyvsp[-5].ttype;
@@ -2592,90 +2603,90 @@ case 65:
                ;
     break;}
 case 67:
-#line 528 "objc-parse.y"
+#line 529 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 68:
-#line 530 "objc-parse.y"
+#line 531 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 69:
-#line 532 "objc-parse.y"
+#line 533 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 70:
-#line 534 "objc-parse.y"
+#line 535 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 71:
-#line 536 "objc-parse.y"
+#line 537 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 72:
-#line 538 "objc-parse.y"
+#line 539 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 73:
-#line 540 "objc-parse.y"
+#line 541 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 74:
-#line 542 "objc-parse.y"
+#line 543 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 75:
-#line 544 "objc-parse.y"
+#line 545 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 76:
-#line 546 "objc-parse.y"
+#line 547 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 77:
-#line 548 "objc-parse.y"
+#line 549 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 78:
-#line 550 "objc-parse.y"
+#line 551 "objc-parse.y"
 { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 79:
-#line 552 "objc-parse.y"
+#line 553 "objc-parse.y"
 { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
                  skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
     break;}
 case 80:
-#line 555 "objc-parse.y"
+#line 556 "objc-parse.y"
 { skip_evaluation -= yyvsp[-3].ttype == boolean_false_node;
                  yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
     break;}
 case 81:
-#line 558 "objc-parse.y"
+#line 559 "objc-parse.y"
 { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
                  skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
     break;}
 case 82:
-#line 561 "objc-parse.y"
+#line 562 "objc-parse.y"
 { skip_evaluation -= yyvsp[-3].ttype == boolean_true_node;
                  yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-3].ttype, yyvsp[0].ttype); ;
     break;}
 case 83:
-#line 564 "objc-parse.y"
+#line 565 "objc-parse.y"
 { yyvsp[-1].ttype = truthvalue_conversion (default_conversion (yyvsp[-1].ttype));
                  skip_evaluation += yyvsp[-1].ttype == boolean_false_node; ;
     break;}
 case 84:
-#line 567 "objc-parse.y"
+#line 568 "objc-parse.y"
 { skip_evaluation += ((yyvsp[-4].ttype == boolean_true_node)
                                      - (yyvsp[-4].ttype == boolean_false_node)); ;
     break;}
 case 85:
-#line 570 "objc-parse.y"
+#line 571 "objc-parse.y"
 { skip_evaluation -= yyvsp[-6].ttype == boolean_true_node;
                  yyval.ttype = build_conditional_expr (yyvsp[-6].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
     break;}
 case 86:
-#line 573 "objc-parse.y"
+#line 574 "objc-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids omitting the middle term of a ?: expression");
                  /* Make sure first operand is calculated only once.  */
@@ -2684,12 +2695,12 @@ case 86:
                  skip_evaluation += yyvsp[-1].ttype == boolean_true_node; ;
     break;}
 case 87:
-#line 580 "objc-parse.y"
+#line 581 "objc-parse.y"
 { skip_evaluation -= yyvsp[-4].ttype == boolean_true_node;
                  yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[0].ttype); ;
     break;}
 case 88:
-#line 583 "objc-parse.y"
+#line 584 "objc-parse.y"
 { char class;
                  yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype);
                  class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
@@ -2699,7 +2710,7 @@ case 88:
                ;
     break;}
 case 89:
-#line 591 "objc-parse.y"
+#line 592 "objc-parse.y"
 { char class;
                  yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype);
                  /* This inhibits warnings in truthvalue_conversion.  */
@@ -2710,7 +2721,7 @@ case 89:
                ;
     break;}
 case 90:
-#line 603 "objc-parse.y"
+#line 604 "objc-parse.y"
 {
                  yyval.ttype = lastiddecl;
                  if (!yyval.ttype || yyval.ttype == error_mark_node)
@@ -2871,11 +2882,11 @@ case 90:
                ;
     break;}
 case 92:
-#line 763 "objc-parse.y"
+#line 764 "objc-parse.y"
 { yyval.ttype = combine_strings (yyvsp[0].ttype); ;
     break;}
 case 93:
-#line 765 "objc-parse.y"
+#line 766 "objc-parse.y"
 { char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype));
                  if (class == 'e' || class == '1'
                      || class == '2' || class == '<')
@@ -2883,11 +2894,11 @@ case 93:
                  yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 94:
-#line 771 "objc-parse.y"
+#line 772 "objc-parse.y"
 { yyval.ttype = error_mark_node; ;
     break;}
 case 95:
-#line 773 "objc-parse.y"
+#line 774 "objc-parse.y"
 { tree rtl_exp;
                  if (pedantic)
                    pedwarn ("ANSI C forbids braced-groups within expressions");
@@ -2912,7 +2923,7 @@ case 95:
                ;
     break;}
 case 96:
-#line 796 "objc-parse.y"
+#line 797 "objc-parse.y"
 {
                  /* Make sure we call expand_end_stmt_expr.  Otherwise
                     we are likely to lose sequences and crash later.  */
@@ -2923,15 +2934,15 @@ case 96:
                ;
     break;}
 case 97:
-#line 805 "objc-parse.y"
+#line 806 "objc-parse.y"
 { yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 98:
-#line 807 "objc-parse.y"
+#line 808 "objc-parse.y"
 { yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 99:
-#line 809 "objc-parse.y"
+#line 810 "objc-parse.y"
 {
                   if (doing_objc_thang)
                     {
@@ -2945,7 +2956,7 @@ case 99:
                ;
     break;}
 case 100:
-#line 821 "objc-parse.y"
+#line 822 "objc-parse.y"
 {
                   tree expr = build_indirect_ref (yyvsp[-2].ttype, "->");
 
@@ -2961,79 +2972,79 @@ case 100:
                ;
     break;}
 case 101:
-#line 835 "objc-parse.y"
+#line 836 "objc-parse.y"
 { yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ;
     break;}
 case 102:
-#line 837 "objc-parse.y"
+#line 838 "objc-parse.y"
 { yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ;
     break;}
 case 103:
-#line 839 "objc-parse.y"
+#line 840 "objc-parse.y"
 { yyval.ttype = build_message_expr (yyvsp[0].ttype); ;
     break;}
 case 104:
-#line 841 "objc-parse.y"
+#line 842 "objc-parse.y"
 { yyval.ttype = build_selector_expr (yyvsp[0].ttype); ;
     break;}
 case 105:
-#line 843 "objc-parse.y"
+#line 844 "objc-parse.y"
 { yyval.ttype = build_protocol_expr (yyvsp[0].ttype); ;
     break;}
 case 106:
-#line 845 "objc-parse.y"
+#line 846 "objc-parse.y"
 { yyval.ttype = build_encode_expr (yyvsp[0].ttype); ;
     break;}
 case 107:
-#line 847 "objc-parse.y"
+#line 848 "objc-parse.y"
 { yyval.ttype = build_objc_string_object (yyvsp[0].ttype); ;
     break;}
 case 109:
-#line 854 "objc-parse.y"
+#line 855 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 111:
-#line 863 "objc-parse.y"
+#line 864 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 114:
-#line 871 "objc-parse.y"
+#line 872 "objc-parse.y"
 { c_mark_varargs ();
                  if (pedantic)
                    pedwarn ("ANSI C does not permit use of `varargs.h'"); ;
     break;}
 case 115:
-#line 881 "objc-parse.y"
+#line 882 "objc-parse.y"
 { ;
     break;}
 case 120:
-#line 897 "objc-parse.y"
+#line 898 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 121:
-#line 901 "objc-parse.y"
+#line 902 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);     
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 122:
-#line 905 "objc-parse.y"
+#line 906 "objc-parse.y"
 { shadow_tag_warned (yyvsp[-1].ttype, 1);
                  pedwarn ("empty declaration"); ;
     break;}
 case 123:
-#line 908 "objc-parse.y"
+#line 909 "objc-parse.y"
 { pedwarn ("empty declaration"); ;
     break;}
 case 124:
-#line 917 "objc-parse.y"
+#line 918 "objc-parse.y"
 { ;
     break;}
 case 129:
-#line 932 "objc-parse.y"
+#line 933 "objc-parse.y"
 { pending_xref_error ();
                  declspec_stack = tree_cons (prefix_attributes,
                                              current_declspecs,
@@ -3042,127 +3053,127 @@ case 129:
                                     &current_declspecs, &prefix_attributes); ;
     break;}
 case 130:
-#line 942 "objc-parse.y"
+#line 943 "objc-parse.y"
 { prefix_attributes = chainon (prefix_attributes, yyvsp[0].ttype); ;
     break;}
 case 131:
-#line 947 "objc-parse.y"
+#line 948 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 132:
-#line 951 "objc-parse.y"
+#line 952 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 133:
-#line 955 "objc-parse.y"
+#line 956 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 134:
-#line 959 "objc-parse.y"
+#line 960 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 135:
-#line 963 "objc-parse.y"
+#line 964 "objc-parse.y"
 { shadow_tag (yyvsp[-1].ttype); ;
     break;}
 case 136:
-#line 965 "objc-parse.y"
+#line 966 "objc-parse.y"
 { pedwarn ("empty declaration"); ;
     break;}
 case 137:
-#line 967 "objc-parse.y"
+#line 968 "objc-parse.y"
 { RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
     break;}
 case 138:
-#line 977 "objc-parse.y"
+#line 978 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 139:
-#line 979 "objc-parse.y"
+#line 980 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
     break;}
 case 140:
-#line 983 "objc-parse.y"
+#line 984 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 141:
-#line 985 "objc-parse.y"
+#line 986 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 142:
-#line 987 "objc-parse.y"
+#line 988 "objc-parse.y"
 { if (extra_warnings)
                    warning ("`%s' is not at beginning of declaration",
                             IDENTIFIER_POINTER (yyvsp[0].ttype));
                  yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 143:
-#line 992 "objc-parse.y"
+#line 993 "objc-parse.y"
 { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 144:
-#line 997 "objc-parse.y"
+#line 998 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 145:
-#line 999 "objc-parse.y"
+#line 1000 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
     break;}
 case 146:
-#line 1004 "objc-parse.y"
+#line 1005 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 147:
-#line 1006 "objc-parse.y"
+#line 1007 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 148:
-#line 1008 "objc-parse.y"
+#line 1009 "objc-parse.y"
 { if (extra_warnings)
                    warning ("`%s' is not at beginning of declaration",
                             IDENTIFIER_POINTER (yyvsp[0].ttype));
                  yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 149:
-#line 1021 "objc-parse.y"
+#line 1022 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 150:
-#line 1023 "objc-parse.y"
+#line 1024 "objc-parse.y"
 { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
     break;}
 case 151:
-#line 1025 "objc-parse.y"
+#line 1026 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 152:
-#line 1027 "objc-parse.y"
+#line 1028 "objc-parse.y"
 { yyval.ttype = tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 153:
-#line 1032 "objc-parse.y"
+#line 1033 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
                  TREE_STATIC (yyval.ttype) = 1; ;
     break;}
 case 154:
-#line 1035 "objc-parse.y"
+#line 1036 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 155:
-#line 1037 "objc-parse.y"
+#line 1038 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype);
                  TREE_STATIC (yyval.ttype) = 1; ;
     break;}
 case 156:
-#line 1040 "objc-parse.y"
+#line 1041 "objc-parse.y"
 { if (extra_warnings && TREE_STATIC (yyvsp[-1].ttype))
                    warning ("`%s' is not at beginning of declaration",
                             IDENTIFIER_POINTER (yyvsp[0].ttype));
@@ -3170,180 +3181,180 @@ case 156:
                  TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
     break;}
 case 157:
-#line 1054 "objc-parse.y"
+#line 1055 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 158:
-#line 1056 "objc-parse.y"
+#line 1057 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
     break;}
 case 159:
-#line 1060 "objc-parse.y"
+#line 1061 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 160:
-#line 1062 "objc-parse.y"
+#line 1063 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 163:
-#line 1072 "objc-parse.y"
+#line 1073 "objc-parse.y"
 { /* For a typedef name, record the meaning, not the name.
                     In case of `foo foo, bar;'.  */
                  yyval.ttype = lookup_name (yyvsp[0].ttype); ;
     break;}
 case 164:
-#line 1076 "objc-parse.y"
+#line 1077 "objc-parse.y"
 { yyval.ttype = get_static_reference (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 165:
-#line 1078 "objc-parse.y"
+#line 1079 "objc-parse.y"
 { yyval.ttype = get_object_reference (yyvsp[0].ttype); ;
     break;}
 case 166:
-#line 1083 "objc-parse.y"
+#line 1084 "objc-parse.y"
 { yyval.ttype = get_object_reference (yyvsp[0].ttype); ;
     break;}
 case 167:
-#line 1085 "objc-parse.y"
+#line 1086 "objc-parse.y"
 { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype); ;
     break;}
 case 168:
-#line 1087 "objc-parse.y"
+#line 1088 "objc-parse.y"
 { yyval.ttype = groktypename (yyvsp[-1].ttype); ;
     break;}
 case 176:
-#line 1109 "objc-parse.y"
+#line 1110 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 177:
-#line 1111 "objc-parse.y"
+#line 1112 "objc-parse.y"
 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
                  yyval.ttype = yyvsp[-1].ttype;
                ;
     break;}
 case 178:
-#line 1118 "objc-parse.y"
+#line 1119 "objc-parse.y"
 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
                                          yyvsp[-1].ttype, prefix_attributes);
                  start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
     break;}
 case 179:
-#line 1123 "objc-parse.y"
+#line 1124 "objc-parse.y"
 { finish_init ();
                  finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
     break;}
 case 180:
-#line 1126 "objc-parse.y"
+#line 1127 "objc-parse.y"
 { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
                                       yyvsp[0].ttype, prefix_attributes);
                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype); 
                 ;
     break;}
 case 181:
-#line 1134 "objc-parse.y"
+#line 1135 "objc-parse.y"
 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
                                          yyvsp[-1].ttype, prefix_attributes);
                  start_init (yyval.ttype, yyvsp[-2].ttype, global_bindings_p ()); ;
     break;}
 case 182:
-#line 1139 "objc-parse.y"
+#line 1140 "objc-parse.y"
 { finish_init ();
                  decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype, prefix_attributes);
                  finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
     break;}
 case 183:
-#line 1143 "objc-parse.y"
+#line 1144 "objc-parse.y"
 { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
                                       yyvsp[0].ttype, prefix_attributes);
                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 184:
-#line 1151 "objc-parse.y"
+#line 1152 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 185:
-#line 1153 "objc-parse.y"
+#line 1154 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 186:
-#line 1158 "objc-parse.y"
+#line 1159 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 187:
-#line 1160 "objc-parse.y"
+#line 1161 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 188:
-#line 1165 "objc-parse.y"
+#line 1166 "objc-parse.y"
 { yyval.ttype = yyvsp[-2].ttype; ;
     break;}
 case 189:
-#line 1170 "objc-parse.y"
+#line 1171 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 190:
-#line 1172 "objc-parse.y"
+#line 1173 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 191:
-#line 1177 "objc-parse.y"
+#line 1178 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 192:
-#line 1179 "objc-parse.y"
+#line 1180 "objc-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 193:
-#line 1181 "objc-parse.y"
+#line 1182 "objc-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
     break;}
 case 194:
-#line 1183 "objc-parse.y"
+#line 1184 "objc-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
     break;}
 case 195:
-#line 1185 "objc-parse.y"
+#line 1186 "objc-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 201:
-#line 1203 "objc-parse.y"
+#line 1204 "objc-parse.y"
 { really_start_incremental_init (NULL_TREE); ;
     break;}
 case 202:
-#line 1205 "objc-parse.y"
+#line 1206 "objc-parse.y"
 { yyval.ttype = pop_init_level (0); ;
     break;}
 case 203:
-#line 1207 "objc-parse.y"
+#line 1208 "objc-parse.y"
 { yyval.ttype = error_mark_node; ;
     break;}
 case 204:
-#line 1213 "objc-parse.y"
+#line 1214 "objc-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids empty initializer braces"); ;
     break;}
 case 210:
-#line 1229 "objc-parse.y"
+#line 1230 "objc-parse.y"
 { set_init_label (yyvsp[-1].ttype); ;
     break;}
 case 213:
-#line 1236 "objc-parse.y"
+#line 1237 "objc-parse.y"
 { push_init_level (0); ;
     break;}
 case 214:
-#line 1238 "objc-parse.y"
+#line 1239 "objc-parse.y"
 { process_init_element (pop_init_level (0)); ;
     break;}
 case 215:
-#line 1240 "objc-parse.y"
+#line 1241 "objc-parse.y"
 { process_init_element (yyvsp[0].ttype); ;
     break;}
 case 219:
-#line 1251 "objc-parse.y"
+#line 1252 "objc-parse.y"
 { set_init_label (yyvsp[0].ttype); ;
     break;}
 case 220:
-#line 1259 "objc-parse.y"
+#line 1260 "objc-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids nested functions");
 
@@ -3357,16 +3368,16 @@ case 220:
                  reinit_parse_for_function (); ;
     break;}
 case 221:
-#line 1271 "objc-parse.y"
+#line 1272 "objc-parse.y"
 { store_parm_decls (); ;
     break;}
 case 222:
-#line 1279 "objc-parse.y"
+#line 1280 "objc-parse.y"
 { finish_function (1);
                  pop_function_context (); ;
     break;}
 case 223:
-#line 1285 "objc-parse.y"
+#line 1286 "objc-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids nested functions");
 
@@ -3380,195 +3391,195 @@ case 223:
                  reinit_parse_for_function (); ;
     break;}
 case 224:
-#line 1297 "objc-parse.y"
+#line 1298 "objc-parse.y"
 { store_parm_decls (); ;
     break;}
 case 225:
-#line 1305 "objc-parse.y"
+#line 1306 "objc-parse.y"
 { finish_function (1);
                  pop_function_context (); ;
     break;}
 case 228:
-#line 1321 "objc-parse.y"
+#line 1322 "objc-parse.y"
 { yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 229:
-#line 1323 "objc-parse.y"
+#line 1324 "objc-parse.y"
 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 230:
-#line 1328 "objc-parse.y"
+#line 1329 "objc-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 231:
-#line 1330 "objc-parse.y"
+#line 1331 "objc-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
     break;}
 case 232:
-#line 1332 "objc-parse.y"
+#line 1333 "objc-parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 233:
-#line 1339 "objc-parse.y"
+#line 1340 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 236:
-#line 1351 "objc-parse.y"
+#line 1352 "objc-parse.y"
 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 237:
-#line 1356 "objc-parse.y"
+#line 1357 "objc-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 238:
-#line 1358 "objc-parse.y"
+#line 1359 "objc-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
     break;}
 case 239:
-#line 1360 "objc-parse.y"
+#line 1361 "objc-parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 240:
-#line 1367 "objc-parse.y"
+#line 1368 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 242:
-#line 1376 "objc-parse.y"
+#line 1377 "objc-parse.y"
 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 243:
-#line 1381 "objc-parse.y"
+#line 1382 "objc-parse.y"
 { yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 244:
-#line 1383 "objc-parse.y"
+#line 1384 "objc-parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 245:
-#line 1385 "objc-parse.y"
+#line 1386 "objc-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 246:
-#line 1387 "objc-parse.y"
+#line 1388 "objc-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
     break;}
 case 247:
-#line 1394 "objc-parse.y"
+#line 1395 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 249:
-#line 1400 "objc-parse.y"
+#line 1401 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 250:
-#line 1402 "objc-parse.y"
+#line 1403 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 251:
-#line 1407 "objc-parse.y"
+#line 1408 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 252:
-#line 1409 "objc-parse.y"
+#line 1410 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 253:
-#line 1414 "objc-parse.y"
+#line 1415 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 254:
-#line 1416 "objc-parse.y"
+#line 1417 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 255:
-#line 1421 "objc-parse.y"
+#line 1422 "objc-parse.y"
 { yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype);
                  /* Start scope of tag before parsing components.  */
                ;
     break;}
 case 256:
-#line 1425 "objc-parse.y"
+#line 1426 "objc-parse.y"
 { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
     break;}
 case 257:
-#line 1427 "objc-parse.y"
+#line 1428 "objc-parse.y"
 { yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE),
                                      yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
                ;
     break;}
 case 258:
-#line 1431 "objc-parse.y"
+#line 1432 "objc-parse.y"
 { yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ;
     break;}
 case 259:
-#line 1433 "objc-parse.y"
+#line 1434 "objc-parse.y"
 { yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ;
     break;}
 case 260:
-#line 1435 "objc-parse.y"
+#line 1436 "objc-parse.y"
 { yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-2].ttype, chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
     break;}
 case 261:
-#line 1437 "objc-parse.y"
+#line 1438 "objc-parse.y"
 { yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE),
                                      yyvsp[-2].ttype, chainon (yyvsp[-4].ttype, yyvsp[0].ttype));
                ;
     break;}
 case 262:
-#line 1441 "objc-parse.y"
+#line 1442 "objc-parse.y"
 { yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ;
     break;}
 case 263:
-#line 1443 "objc-parse.y"
+#line 1444 "objc-parse.y"
 { yyval.ttype = start_enum (yyvsp[-1].ttype); ;
     break;}
 case 264:
-#line 1445 "objc-parse.y"
+#line 1446 "objc-parse.y"
 { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
                                    chainon (yyvsp[-7].ttype, yyvsp[0].ttype)); ;
     break;}
 case 265:
-#line 1448 "objc-parse.y"
+#line 1449 "objc-parse.y"
 { yyval.ttype = start_enum (NULL_TREE); ;
     break;}
 case 266:
-#line 1450 "objc-parse.y"
+#line 1451 "objc-parse.y"
 { yyval.ttype = finish_enum (yyvsp[-4].ttype, nreverse (yyvsp[-3].ttype),
                                    chainon (yyvsp[-6].ttype, yyvsp[0].ttype)); ;
     break;}
 case 267:
-#line 1453 "objc-parse.y"
+#line 1454 "objc-parse.y"
 { yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); ;
     break;}
 case 271:
-#line 1464 "objc-parse.y"
+#line 1465 "objc-parse.y"
 { if (pedantic && ! flag_isoc99)
                    pedwarn ("comma at end of enumerator list"); ;
     break;}
 case 272:
-#line 1470 "objc-parse.y"
+#line 1471 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 273:
-#line 1472 "objc-parse.y"
+#line 1473 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
                  pedwarn ("no semicolon at end of struct or union"); ;
     break;}
 case 274:
-#line 1477 "objc-parse.y"
+#line 1478 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 275:
-#line 1479 "objc-parse.y"
+#line 1480 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
     break;}
 case 276:
-#line 1481 "objc-parse.y"
+#line 1482 "objc-parse.y"
 { if (pedantic)
                    pedwarn ("extra semicolon in struct or union specified"); ;
     break;}
 case 277:
-#line 1485 "objc-parse.y"
+#line 1486 "objc-parse.y"
 {
                  tree interface = lookup_interface (yyvsp[-1].ttype);
 
@@ -3583,14 +3594,14 @@ case 277:
                ;
     break;}
 case 278:
-#line 1510 "objc-parse.y"
+#line 1511 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 279:
-#line 1515 "objc-parse.y"
+#line 1516 "objc-parse.y"
 {
                  /* Support for unnamed structs or unions as members of 
                     structs or unions (which is [a] useful and [b] supports 
@@ -3605,151 +3616,151 @@ case 279:
                ;
     break;}
 case 280:
-#line 1528 "objc-parse.y"
+#line 1529 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 281:
-#line 1533 "objc-parse.y"
+#line 1534 "objc-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids member declarations with no members");
                  shadow_tag(yyvsp[0].ttype);
                  yyval.ttype = NULL_TREE; ;
     break;}
 case 282:
-#line 1538 "objc-parse.y"
+#line 1539 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 283:
-#line 1540 "objc-parse.y"
+#line 1541 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  RESTORE_WARN_FLAGS (yyvsp[-1].ttype); ;
     break;}
 case 285:
-#line 1547 "objc-parse.y"
+#line 1548 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 286:
-#line 1552 "objc-parse.y"
+#line 1553 "objc-parse.y"
 { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE);
                  decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
     break;}
 case 287:
-#line 1556 "objc-parse.y"
+#line 1557 "objc-parse.y"
 { yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype);
                  decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
     break;}
 case 288:
-#line 1559 "objc-parse.y"
+#line 1560 "objc-parse.y"
 { yyval.ttype = grokfield (yyvsp[-4].filename, yyvsp[-3].lineno, NULL_TREE, current_declspecs, yyvsp[-1].ttype);
                  decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
     break;}
 case 290:
-#line 1571 "objc-parse.y"
+#line 1572 "objc-parse.y"
 { if (yyvsp[-2].ttype == error_mark_node)
                    yyval.ttype = yyvsp[-2].ttype;
                  else
                    yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ;
     break;}
 case 291:
-#line 1576 "objc-parse.y"
+#line 1577 "objc-parse.y"
 { yyval.ttype = error_mark_node; ;
     break;}
 case 292:
-#line 1582 "objc-parse.y"
+#line 1583 "objc-parse.y"
 { yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 293:
-#line 1584 "objc-parse.y"
+#line 1585 "objc-parse.y"
 { yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 294:
-#line 1589 "objc-parse.y"
+#line 1590 "objc-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 295:
-#line 1591 "objc-parse.y"
+#line 1592 "objc-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 296:
-#line 1596 "objc-parse.y"
+#line 1597 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 298:
-#line 1602 "objc-parse.y"
+#line 1603 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 299:
-#line 1604 "objc-parse.y"
+#line 1605 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 300:
-#line 1609 "objc-parse.y"
+#line 1610 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 301:
-#line 1611 "objc-parse.y"
+#line 1612 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
     break;}
 case 302:
-#line 1616 "objc-parse.y"
+#line 1617 "objc-parse.y"
 { yyval.ttype = yyvsp[-1].ttype; ;
     break;}
 case 303:
-#line 1619 "objc-parse.y"
+#line 1620 "objc-parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
     break;}
 case 304:
-#line 1621 "objc-parse.y"
+#line 1622 "objc-parse.y"
 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 305:
-#line 1623 "objc-parse.y"
+#line 1624 "objc-parse.y"
 { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 306:
-#line 1625 "objc-parse.y"
+#line 1626 "objc-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 307:
-#line 1627 "objc-parse.y"
+#line 1628 "objc-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
     break;}
 case 308:
-#line 1629 "objc-parse.y"
+#line 1630 "objc-parse.y"
 { yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
     break;}
 case 309:
-#line 1631 "objc-parse.y"
+#line 1632 "objc-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 310:
-#line 1633 "objc-parse.y"
+#line 1634 "objc-parse.y"
 { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ;
     break;}
 case 311:
-#line 1637 "objc-parse.y"
+#line 1638 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 312:
-#line 1646 "objc-parse.y"
+#line 1647 "objc-parse.y"
 {
                  if (pedantic && yyvsp[0].ends_in_label)
                    pedwarn ("ANSI C forbids label at end of compound statement");
                ;
     break;}
 case 314:
-#line 1655 "objc-parse.y"
+#line 1656 "objc-parse.y"
 { yyval.ends_in_label = yyvsp[0].ends_in_label; ;
     break;}
 case 315:
-#line 1657 "objc-parse.y"
+#line 1658 "objc-parse.y"
 { yyval.ends_in_label = 0; ;
     break;}
 case 319:
-#line 1669 "objc-parse.y"
+#line 1670 "objc-parse.y"
 { emit_line_note (input_filename, lineno);
                  pushlevel (0);
                  clear_last_expr ();
@@ -3759,12 +3770,12 @@ case 319:
                ;
     break;}
 case 321:
-#line 1683 "objc-parse.y"
+#line 1684 "objc-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids label declarations"); ;
     break;}
 case 324:
-#line 1694 "objc-parse.y"
+#line 1695 "objc-parse.y"
 { tree link;
                  for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
                    {
@@ -3775,37 +3786,37 @@ case 324:
                ;
     break;}
 case 325:
-#line 1708 "objc-parse.y"
+#line 1709 "objc-parse.y"
 {;
     break;}
 case 327:
-#line 1712 "objc-parse.y"
+#line 1713 "objc-parse.y"
 { compstmt_count++; ;
     break;}
 case 328:
-#line 1715 "objc-parse.y"
+#line 1716 "objc-parse.y"
 { yyval.ttype = convert (void_type_node, integer_zero_node); ;
     break;}
 case 329:
-#line 1717 "objc-parse.y"
+#line 1718 "objc-parse.y"
 { emit_line_note (input_filename, lineno);
                  expand_end_bindings (getdecls (), 1, 0);
                  yyval.ttype = poplevel (1, 1, 0); ;
     break;}
 case 330:
-#line 1721 "objc-parse.y"
+#line 1722 "objc-parse.y"
 { emit_line_note (input_filename, lineno);
                  expand_end_bindings (getdecls (), kept_level_p (), 0);
                  yyval.ttype = poplevel (kept_level_p (), 0, 0); ;
     break;}
 case 331:
-#line 1725 "objc-parse.y"
+#line 1726 "objc-parse.y"
 { emit_line_note (input_filename, lineno);
                  expand_end_bindings (getdecls (), kept_level_p (), 0);
                  yyval.ttype = poplevel (kept_level_p (), 0, 0); ;
     break;}
 case 332:
-#line 1732 "objc-parse.y"
+#line 1733 "objc-parse.y"
 { if (current_function_decl == 0)
                    {
                      error ("braced-group within expression allowed only inside a function");
@@ -3823,11 +3834,11 @@ case 332:
                ;
     break;}
 case 333:
-#line 1749 "objc-parse.y"
+#line 1750 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 336:
-#line 1763 "objc-parse.y"
+#line 1764 "objc-parse.y"
 { emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
                  c_expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0, 
                                       compstmt_count);
@@ -3837,7 +3848,7 @@ case 336:
                  position_after_white_space (); ;
     break;}
 case 337:
-#line 1777 "objc-parse.y"
+#line 1778 "objc-parse.y"
 { stmt_count++;
                  compstmt_count++;
                  emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
@@ -3847,43 +3858,43 @@ case 337:
                  position_after_white_space (); ;
     break;}
 case 338:
-#line 1785 "objc-parse.y"
+#line 1786 "objc-parse.y"
 { expand_loop_continue_here (); ;
     break;}
 case 339:
-#line 1789 "objc-parse.y"
+#line 1790 "objc-parse.y"
 { yyval.filename = input_filename; ;
     break;}
 case 340:
-#line 1793 "objc-parse.y"
+#line 1794 "objc-parse.y"
 { yyval.lineno = lineno; ;
     break;}
 case 341:
-#line 1798 "objc-parse.y"
+#line 1799 "objc-parse.y"
 { ;
     break;}
 case 342:
-#line 1803 "objc-parse.y"
+#line 1804 "objc-parse.y"
 { ;
     break;}
 case 343:
-#line 1808 "objc-parse.y"
+#line 1809 "objc-parse.y"
 { yyval.ends_in_label = yyvsp[0].ends_in_label; ;
     break;}
 case 344:
-#line 1813 "objc-parse.y"
+#line 1814 "objc-parse.y"
 { yyval.ends_in_label = 0; ;
     break;}
 case 345:
-#line 1815 "objc-parse.y"
+#line 1816 "objc-parse.y"
 { yyval.ends_in_label = 1; ;
     break;}
 case 346:
-#line 1821 "objc-parse.y"
+#line 1822 "objc-parse.y"
 { stmt_count++; ;
     break;}
 case 348:
-#line 1824 "objc-parse.y"
+#line 1825 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
 /* It appears that this should not be done--that a non-lvalue array
@@ -3901,19 +3912,19 @@ case 348:
                  iterator_expand (yyvsp[-1].ttype); ;
     break;}
 case 349:
-#line 1840 "objc-parse.y"
+#line 1841 "objc-parse.y"
 { c_expand_start_else ();
                  yyvsp[-1].itype = stmt_count;
                  position_after_white_space (); ;
     break;}
 case 350:
-#line 1844 "objc-parse.y"
+#line 1845 "objc-parse.y"
 { c_expand_end_cond ();
                  if (extra_warnings && stmt_count == yyvsp[-3].itype)
                    warning ("empty body in an else-statement"); ;
     break;}
 case 351:
-#line 1848 "objc-parse.y"
+#line 1849 "objc-parse.y"
 { c_expand_end_cond ();
                  /* This warning is here instead of in simple_if, because we
                     do not want a warning if an empty if is followed by an
@@ -3924,11 +3935,11 @@ case 351:
                                                "empty body in an if-statement"); ;
     break;}
 case 352:
-#line 1860 "objc-parse.y"
+#line 1861 "objc-parse.y"
 { c_expand_end_cond (); ;
     break;}
 case 353:
-#line 1862 "objc-parse.y"
+#line 1863 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
                  /* The emit_nop used to come before emit_line_note,
@@ -3940,7 +3951,7 @@ case 353:
                  emit_nop (); ;
     break;}
 case 354:
-#line 1872 "objc-parse.y"
+#line 1873 "objc-parse.y"
 { /* Don't start the loop till we have succeeded
                     in parsing the end test.  This is to make sure
                     that we end every loop we start.  */
@@ -3951,22 +3962,22 @@ case 354:
                  position_after_white_space (); ;
     break;}
 case 355:
-#line 1881 "objc-parse.y"
+#line 1882 "objc-parse.y"
 { expand_end_loop (); ;
     break;}
 case 356:
-#line 1884 "objc-parse.y"
+#line 1885 "objc-parse.y"
 { emit_line_note (input_filename, lineno);
                  expand_exit_loop_if_false (NULL_PTR,
                                             truthvalue_conversion (yyvsp[-2].ttype));
                  expand_end_loop (); ;
     break;}
 case 357:
-#line 1890 "objc-parse.y"
+#line 1891 "objc-parse.y"
 { expand_end_loop (); ;
     break;}
 case 358:
-#line 1893 "objc-parse.y"
+#line 1894 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
                  /* See comment in `while' alternative, above.  */
@@ -3979,12 +3990,12 @@ case 358:
                ;
     break;}
 case 359:
-#line 1905 "objc-parse.y"
+#line 1906 "objc-parse.y"
 { yyvsp[0].lineno = lineno;
                  yyval.filename = input_filename; ;
     break;}
 case 360:
-#line 1908 "objc-parse.y"
+#line 1909 "objc-parse.y"
 { 
                  /* Start the loop.  Doing this after parsing
                     all the expressions ensures we will end the loop.  */
@@ -3999,7 +4010,7 @@ case 360:
                  position_after_white_space (); ;
     break;}
 case 361:
-#line 1921 "objc-parse.y"
+#line 1922 "objc-parse.y"
 { /* Emit the increment expression, with a line number.  */
                  emit_line_note (yyvsp[-4].filename, yyvsp[-5].lineno);
                  expand_loop_continue_here ();
@@ -4008,44 +4019,44 @@ case 361:
                  expand_end_loop (); ;
     break;}
 case 362:
-#line 1928 "objc-parse.y"
+#line 1929 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
                  c_expand_start_case (yyvsp[-1].ttype);
                  position_after_white_space (); ;
     break;}
 case 363:
-#line 1933 "objc-parse.y"
+#line 1934 "objc-parse.y"
 { expand_end_case (yyvsp[-3].ttype); ;
     break;}
 case 364:
-#line 1935 "objc-parse.y"
+#line 1936 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
                  if ( ! expand_exit_something ())
                    error ("break statement not within loop or switch"); ;
     break;}
 case 365:
-#line 1940 "objc-parse.y"
+#line 1941 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
                  if (! expand_continue_loop (NULL_PTR))
                    error ("continue statement not within a loop"); ;
     break;}
 case 366:
-#line 1945 "objc-parse.y"
+#line 1946 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
                  c_expand_return (NULL_TREE); ;
     break;}
 case 367:
-#line 1949 "objc-parse.y"
+#line 1950 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
                  c_expand_return (yyvsp[-1].ttype); ;
     break;}
 case 368:
-#line 1953 "objc-parse.y"
+#line 1954 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-7].filename, yyvsp[-6].lineno);
                  STRIP_NOPS (yyvsp[-2].ttype);
@@ -4057,7 +4068,7 @@ case 368:
                    error ("argument of `asm' is not a constant string"); ;
     break;}
 case 369:
-#line 1964 "objc-parse.y"
+#line 1965 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-9].filename, yyvsp[-8].lineno);
                  c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
@@ -4065,7 +4076,7 @@ case 369:
                                         input_filename, lineno); ;
     break;}
 case 370:
-#line 1971 "objc-parse.y"
+#line 1972 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-11].filename, yyvsp[-10].lineno);
                  c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
@@ -4073,7 +4084,7 @@ case 370:
                                         input_filename, lineno); ;
     break;}
 case 371:
-#line 1979 "objc-parse.y"
+#line 1980 "objc-parse.y"
 { stmt_count++;
                  emit_line_note (yyvsp[-13].filename, yyvsp[-12].lineno);
                  c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
@@ -4081,7 +4092,7 @@ case 371:
                                         input_filename, lineno); ;
     break;}
 case 372:
-#line 1985 "objc-parse.y"
+#line 1986 "objc-parse.y"
 { tree decl;
                  stmt_count++;
                  emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
@@ -4094,7 +4105,7 @@ case 372:
                ;
     break;}
 case 373:
-#line 1996 "objc-parse.y"
+#line 1997 "objc-parse.y"
 { if (pedantic)
                    pedwarn ("ANSI C forbids `goto *expr;'");
                  stmt_count++;
@@ -4102,7 +4113,7 @@ case 373:
                  expand_computed_goto (convert (ptr_type_node, yyvsp[-1].ttype)); ;
     break;}
 case 376:
-#line 2011 "objc-parse.y"
+#line 2012 "objc-parse.y"
 {
            /* The value returned by this action is  */
            /*      1 if everything is OK */ 
@@ -4125,14 +4136,14 @@ case 376:
          ;
     break;}
 case 377:
-#line 2032 "objc-parse.y"
+#line 2033 "objc-parse.y"
 {
            if (yyvsp[-1].itype)
              iterator_for_loop_end (yyvsp[-3].ttype);
          ;
     break;}
 case 378:
-#line 2063 "objc-parse.y"
+#line 2064 "objc-parse.y"
 { register tree value = check_case_value (yyvsp[-1].ttype);
                  register tree label
                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
@@ -4165,7 +4176,7 @@ case 378:
                  position_after_white_space (); ;
     break;}
 case 379:
-#line 2094 "objc-parse.y"
+#line 2095 "objc-parse.y"
 { register tree value1 = check_case_value (yyvsp[-3].ttype);
                  register tree value2 = check_case_value (yyvsp[-1].ttype);
                  register tree label
@@ -4198,7 +4209,7 @@ case 379:
                  position_after_white_space (); ;
     break;}
 case 380:
-#line 2125 "objc-parse.y"
+#line 2126 "objc-parse.y"
 {
                  tree duplicate;
                  register tree label
@@ -4215,7 +4226,7 @@ case 380:
                  position_after_white_space (); ;
     break;}
 case 381:
-#line 2140 "objc-parse.y"
+#line 2141 "objc-parse.y"
 { tree label = define_label (input_filename, lineno, yyvsp[-2].ttype);
                  stmt_count++;
                  emit_nop ();
@@ -4227,52 +4238,52 @@ case 381:
                  position_after_white_space (); ;
     break;}
 case 382:
-#line 2155 "objc-parse.y"
+#line 2156 "objc-parse.y"
 { emit_line_note (input_filename, lineno);
                  yyval.ttype = NULL_TREE; ;
     break;}
 case 383:
-#line 2158 "objc-parse.y"
+#line 2159 "objc-parse.y"
 { emit_line_note (input_filename, lineno); ;
     break;}
 case 384:
-#line 2163 "objc-parse.y"
+#line 2164 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 386:
-#line 2170 "objc-parse.y"
+#line 2171 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 389:
-#line 2177 "objc-parse.y"
+#line 2178 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
     break;}
 case 390:
-#line 2182 "objc-parse.y"
+#line 2183 "objc-parse.y"
 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
     break;}
 case 391:
-#line 2187 "objc-parse.y"
+#line 2188 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ;
     break;}
 case 392:
-#line 2189 "objc-parse.y"
+#line 2190 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;
     break;}
 case 393:
-#line 2195 "objc-parse.y"
+#line 2196 "objc-parse.y"
 { pushlevel (0);
                  clear_parm_order ();
                  declare_parm_level (0); ;
     break;}
 case 394:
-#line 2199 "objc-parse.y"
+#line 2200 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  parmlist_tags_warning ();
                  poplevel (0, 0, 0); ;
     break;}
 case 396:
-#line 2207 "objc-parse.y"
+#line 2208 "objc-parse.y"
 { tree parm;
                  if (pedantic)
                    pedwarn ("ANSI C forbids forward parameter declarations");
@@ -4282,19 +4293,19 @@ case 396:
                  clear_parm_order (); ;
     break;}
 case 397:
-#line 2215 "objc-parse.y"
+#line 2216 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype; ;
     break;}
 case 398:
-#line 2217 "objc-parse.y"
+#line 2218 "objc-parse.y"
 { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;
     break;}
 case 399:
-#line 2223 "objc-parse.y"
+#line 2224 "objc-parse.y"
 { yyval.ttype = get_parm_info (0); ;
     break;}
 case 400:
-#line 2225 "objc-parse.y"
+#line 2226 "objc-parse.y"
 { yyval.ttype = get_parm_info (0);
                  /* Gcc used to allow this as an extension.  However, it does
                     not work for all targets, and thus has been disabled.
@@ -4306,23 +4317,23 @@ case 400:
                ;
     break;}
 case 401:
-#line 2235 "objc-parse.y"
+#line 2236 "objc-parse.y"
 { yyval.ttype = get_parm_info (1); ;
     break;}
 case 402:
-#line 2237 "objc-parse.y"
+#line 2238 "objc-parse.y"
 { yyval.ttype = get_parm_info (0); ;
     break;}
 case 403:
-#line 2242 "objc-parse.y"
+#line 2243 "objc-parse.y"
 { push_parm_decl (yyvsp[0].ttype); ;
     break;}
 case 404:
-#line 2244 "objc-parse.y"
+#line 2245 "objc-parse.y"
 { push_parm_decl (yyvsp[0].ttype); ;
     break;}
 case 405:
-#line 2251 "objc-parse.y"
+#line 2252 "objc-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
@@ -4332,7 +4343,7 @@ case 405:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 406:
-#line 2259 "objc-parse.y"
+#line 2260 "objc-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
@@ -4342,7 +4353,7 @@ case 406:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 407:
-#line 2267 "objc-parse.y"
+#line 2268 "objc-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
@@ -4352,7 +4363,7 @@ case 407:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 408:
-#line 2275 "objc-parse.y"
+#line 2276 "objc-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
@@ -4362,7 +4373,7 @@ case 408:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 409:
-#line 2284 "objc-parse.y"
+#line 2285 "objc-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
@@ -4372,19 +4383,19 @@ case 409:
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 410:
-#line 2297 "objc-parse.y"
+#line 2298 "objc-parse.y"
 { pushlevel (0);
                  clear_parm_order ();
                  declare_parm_level (1); ;
     break;}
 case 411:
-#line 2301 "objc-parse.y"
+#line 2302 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  parmlist_tags_warning ();
                  poplevel (0, 0, 0); ;
     break;}
 case 413:
-#line 2309 "objc-parse.y"
+#line 2310 "objc-parse.y"
 { tree t;
                  for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t))
                    if (TREE_VALUE (t) == NULL_TREE)
@@ -4392,29 +4403,29 @@ case 413:
                  yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
     break;}
 case 414:
-#line 2319 "objc-parse.y"
+#line 2320 "objc-parse.y"
 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 415:
-#line 2321 "objc-parse.y"
+#line 2322 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
     break;}
 case 416:
-#line 2327 "objc-parse.y"
+#line 2328 "objc-parse.y"
 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 417:
-#line 2329 "objc-parse.y"
+#line 2330 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
     break;}
 case 418:
-#line 2334 "objc-parse.y"
+#line 2335 "objc-parse.y"
 { yyval.ttype = SAVE_WARN_FLAGS();
                  pedantic = 0;
                  warn_pointer_arith = 0; ;
     break;}
 case 424:
-#line 2348 "objc-parse.y"
+#line 2349 "objc-parse.y"
 {
                  if (objc_implementation_context)
                     {
@@ -4427,27 +4438,27 @@ case 424:
                ;
     break;}
 case 425:
-#line 2363 "objc-parse.y"
+#line 2364 "objc-parse.y"
 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
     break;}
 case 426:
-#line 2365 "objc-parse.y"
+#line 2366 "objc-parse.y"
 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
     break;}
 case 427:
-#line 2370 "objc-parse.y"
+#line 2371 "objc-parse.y"
 {
                  objc_declare_class (yyvsp[-1].ttype);
                ;
     break;}
 case 428:
-#line 2376 "objc-parse.y"
+#line 2377 "objc-parse.y"
 {
                  objc_declare_alias (yyvsp[-2].ttype, yyvsp[-1].ttype);
                ;
     break;}
 case 429:
-#line 2382 "objc-parse.y"
+#line 2383 "objc-parse.y"
 {
                  objc_interface_context = objc_ivar_context
                    = start_class (CLASS_INTERFACE_TYPE, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
@@ -4455,20 +4466,20 @@ case 429:
                ;
     break;}
 case 430:
-#line 2388 "objc-parse.y"
+#line 2389 "objc-parse.y"
 {
                   continue_class (objc_interface_context);
                ;
     break;}
 case 431:
-#line 2393 "objc-parse.y"
+#line 2394 "objc-parse.y"
 {
                  finish_class (objc_interface_context);
                  objc_interface_context = NULL_TREE;
                ;
     break;}
 case 432:
-#line 2399 "objc-parse.y"
+#line 2400 "objc-parse.y"
 {
                  objc_interface_context
                    = start_class (CLASS_INTERFACE_TYPE, yyvsp[-1].ttype, NULL_TREE, yyvsp[0].ttype);
@@ -4476,14 +4487,14 @@ case 432:
                ;
     break;}
 case 433:
-#line 2406 "objc-parse.y"
+#line 2407 "objc-parse.y"
 {
                  finish_class (objc_interface_context);
                  objc_interface_context = NULL_TREE;
                ;
     break;}
 case 434:
-#line 2412 "objc-parse.y"
+#line 2413 "objc-parse.y"
 {
                  objc_interface_context = objc_ivar_context
                    = start_class (CLASS_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[-1].ttype);
@@ -4491,20 +4502,20 @@ case 434:
                ;
     break;}
 case 435:
-#line 2418 "objc-parse.y"
+#line 2419 "objc-parse.y"
 {
                   continue_class (objc_interface_context);
                ;
     break;}
 case 436:
-#line 2423 "objc-parse.y"
+#line 2424 "objc-parse.y"
 {
                  finish_class (objc_interface_context);
                  objc_interface_context = NULL_TREE;
                ;
     break;}
 case 437:
-#line 2429 "objc-parse.y"
+#line 2430 "objc-parse.y"
 {
                  objc_interface_context
                    = start_class (CLASS_INTERFACE_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
@@ -4512,14 +4523,14 @@ case 437:
                ;
     break;}
 case 438:
-#line 2436 "objc-parse.y"
+#line 2437 "objc-parse.y"
 {
                  finish_class (objc_interface_context);
                  objc_interface_context = NULL_TREE;
                ;
     break;}
 case 439:
-#line 2442 "objc-parse.y"
+#line 2443 "objc-parse.y"
 {
                  objc_implementation_context = objc_ivar_context
                    = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
@@ -4527,14 +4538,14 @@ case 439:
                ;
     break;}
 case 440:
-#line 2448 "objc-parse.y"
+#line 2449 "objc-parse.y"
 {
                   objc_ivar_chain
                    = continue_class (objc_implementation_context);
                ;
     break;}
 case 441:
-#line 2454 "objc-parse.y"
+#line 2455 "objc-parse.y"
 {
                  objc_implementation_context
                    = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[0].ttype, NULL_TREE, NULL_TREE);
@@ -4543,7 +4554,7 @@ case 441:
                ;
     break;}
 case 442:
-#line 2462 "objc-parse.y"
+#line 2463 "objc-parse.y"
 {
                  objc_implementation_context = objc_ivar_context
                    = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE);
@@ -4551,14 +4562,14 @@ case 442:
                ;
     break;}
 case 443:
-#line 2468 "objc-parse.y"
+#line 2469 "objc-parse.y"
 {
                   objc_ivar_chain
                    = continue_class (objc_implementation_context);
                ;
     break;}
 case 444:
-#line 2474 "objc-parse.y"
+#line 2475 "objc-parse.y"
 {
                  objc_implementation_context
                    = start_class (CLASS_IMPLEMENTATION_TYPE, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE);
@@ -4567,7 +4578,7 @@ case 444:
                ;
     break;}
 case 445:
-#line 2482 "objc-parse.y"
+#line 2483 "objc-parse.y"
 {
                  objc_interface_context
                    = start_class (CATEGORY_INTERFACE_TYPE, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype);
@@ -4575,14 +4586,14 @@ case 445:
                ;
     break;}
 case 446:
-#line 2489 "objc-parse.y"
+#line 2490 "objc-parse.y"
 {
                  finish_class (objc_interface_context);
                  objc_interface_context = NULL_TREE;
                ;
     break;}
 case 447:
-#line 2495 "objc-parse.y"
+#line 2496 "objc-parse.y"
 {
                  objc_implementation_context
                    = start_class (CATEGORY_IMPLEMENTATION_TYPE, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE);
@@ -4591,7 +4602,7 @@ case 447:
                ;
     break;}
 case 448:
-#line 2505 "objc-parse.y"
+#line 2506 "objc-parse.y"
 {
                  remember_protocol_qualifiers ();
                  objc_interface_context
@@ -4599,7 +4610,7 @@ case 448:
                ;
     break;}
 case 449:
-#line 2511 "objc-parse.y"
+#line 2512 "objc-parse.y"
 {
                  forget_protocol_qualifiers();
                  finish_protocol(objc_interface_context);
@@ -4607,13 +4618,13 @@ case 449:
                ;
     break;}
 case 450:
-#line 2520 "objc-parse.y"
+#line 2521 "objc-parse.y"
 {
                  yyval.ttype = NULL_TREE;
                ;
     break;}
 case 452:
-#line 2528 "objc-parse.y"
+#line 2529 "objc-parse.y"
 {
                  if (yyvsp[-2].code == LT_EXPR && yyvsp[0].code == GT_EXPR)
                    yyval.ttype = yyvsp[-1].ttype;
@@ -4622,54 +4633,54 @@ case 452:
                ;
     break;}
 case 455:
-#line 2542 "objc-parse.y"
+#line 2543 "objc-parse.y"
 { objc_public_flag = 2; ;
     break;}
 case 456:
-#line 2543 "objc-parse.y"
+#line 2544 "objc-parse.y"
 { objc_public_flag = 0; ;
     break;}
 case 457:
-#line 2544 "objc-parse.y"
+#line 2545 "objc-parse.y"
 { objc_public_flag = 1; ;
     break;}
 case 458:
-#line 2549 "objc-parse.y"
+#line 2550 "objc-parse.y"
 {
                   yyval.ttype = NULL_TREE;
                 ;
     break;}
 case 460:
-#line 2554 "objc-parse.y"
+#line 2555 "objc-parse.y"
 {
                   if (pedantic)
                    pedwarn ("extra semicolon in struct or union specified");
                 ;
     break;}
 case 461:
-#line 2572 "objc-parse.y"
+#line 2573 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 462:
-#line 2577 "objc-parse.y"
+#line 2578 "objc-parse.y"
 { yyval.ttype = yyvsp[0].ttype;
                  current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 463:
-#line 2582 "objc-parse.y"
+#line 2583 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 464:
-#line 2587 "objc-parse.y"
+#line 2588 "objc-parse.y"
 { yyval.ttype = NULL_TREE; ;
     break;}
 case 467:
-#line 2594 "objc-parse.y"
+#line 2595 "objc-parse.y"
 {
                  yyval.ttype = add_instance_variable (objc_ivar_context,
                                              objc_public_flag,
@@ -4678,7 +4689,7 @@ case 467:
                 ;
     break;}
 case 468:
-#line 2601 "objc-parse.y"
+#line 2602 "objc-parse.y"
 {
                  yyval.ttype = add_instance_variable (objc_ivar_context,
                                              objc_public_flag,
@@ -4686,7 +4697,7 @@ case 468:
                 ;
     break;}
 case 469:
-#line 2607 "objc-parse.y"
+#line 2608 "objc-parse.y"
 {
                  yyval.ttype = add_instance_variable (objc_ivar_context,
                                              objc_public_flag,
@@ -4695,7 +4706,7 @@ case 469:
                 ;
     break;}
 case 470:
-#line 2617 "objc-parse.y"
+#line 2618 "objc-parse.y"
 {
                  remember_protocol_qualifiers ();
                  if (objc_implementation_context)
@@ -4705,7 +4716,7 @@ case 470:
                ;
     break;}
 case 471:
-#line 2625 "objc-parse.y"
+#line 2626 "objc-parse.y"
 {
                  forget_protocol_qualifiers ();
                  add_class_method (objc_implementation_context, yyvsp[0].ttype);
@@ -4714,20 +4725,20 @@ case 471:
                ;
     break;}
 case 472:
-#line 2632 "objc-parse.y"
+#line 2633 "objc-parse.y"
 {
                  continue_method_def ();
                ;
     break;}
 case 473:
-#line 2636 "objc-parse.y"
+#line 2637 "objc-parse.y"
 {
                  finish_method_def ();
                  objc_method_context = NULL_TREE;
                ;
     break;}
 case 474:
-#line 2642 "objc-parse.y"
+#line 2643 "objc-parse.y"
 {
                  remember_protocol_qualifiers ();
                  if (objc_implementation_context)
@@ -4737,7 +4748,7 @@ case 474:
                ;
     break;}
 case 475:
-#line 2650 "objc-parse.y"
+#line 2651 "objc-parse.y"
 {
                  forget_protocol_qualifiers ();
                  add_instance_method (objc_implementation_context, yyvsp[0].ttype);
@@ -4746,28 +4757,28 @@ case 475:
                ;
     break;}
 case 476:
-#line 2657 "objc-parse.y"
+#line 2658 "objc-parse.y"
 {
                  continue_method_def ();
                ;
     break;}
 case 477:
-#line 2661 "objc-parse.y"
+#line 2662 "objc-parse.y"
 {
                  finish_method_def ();
                  objc_method_context = NULL_TREE;
                ;
     break;}
 case 479:
-#line 2673 "objc-parse.y"
+#line 2674 "objc-parse.y"
 {yyval.ttype = NULL_TREE; ;
     break;}
 case 484:
-#line 2680 "objc-parse.y"
+#line 2681 "objc-parse.y"
 {yyval.ttype = NULL_TREE; ;
     break;}
 case 488:
-#line 2690 "objc-parse.y"
+#line 2691 "objc-parse.y"
 {
                  /* Remember protocol qualifiers in prototypes.  */
                  remember_protocol_qualifiers ();
@@ -4775,7 +4786,7 @@ case 488:
                ;
     break;}
 case 489:
-#line 2696 "objc-parse.y"
+#line 2697 "objc-parse.y"
 {
                  /* Forget protocol qualifiers here.  */
                  forget_protocol_qualifiers ();
@@ -4783,7 +4794,7 @@ case 489:
                ;
     break;}
 case 491:
-#line 2704 "objc-parse.y"
+#line 2705 "objc-parse.y"
 {
                  /* Remember protocol qualifiers in prototypes.  */
                  remember_protocol_qualifiers ();
@@ -4791,7 +4802,7 @@ case 491:
                ;
     break;}
 case 492:
-#line 2710 "objc-parse.y"
+#line 2711 "objc-parse.y"
 {
                  /* Forget protocol qualifiers here.  */
                  forget_protocol_qualifiers ();
@@ -4799,93 +4810,93 @@ case 492:
                ;
     break;}
 case 494:
-#line 2720 "objc-parse.y"
+#line 2721 "objc-parse.y"
 {
                  yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE);
                ;
     break;}
 case 495:
-#line 2725 "objc-parse.y"
+#line 2726 "objc-parse.y"
 {
                  yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[0].ttype, NULL_TREE);
                ;
     break;}
 case 496:
-#line 2730 "objc-parse.y"
+#line 2731 "objc-parse.y"
 {
                  yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 497:
-#line 2735 "objc-parse.y"
+#line 2736 "objc-parse.y"
 {
                  yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 506:
-#line 2765 "objc-parse.y"
+#line 2766 "objc-parse.y"
 { current_declspecs = TREE_VALUE (declspec_stack);
                  prefix_attributes = TREE_PURPOSE (declspec_stack);
                  declspec_stack = TREE_CHAIN (declspec_stack); ;
     break;}
 case 507:
-#line 2769 "objc-parse.y"
+#line 2770 "objc-parse.y"
 { shadow_tag (yyvsp[-1].ttype); ;
     break;}
 case 508:
-#line 2771 "objc-parse.y"
+#line 2772 "objc-parse.y"
 { pedwarn ("empty declaration"); ;
     break;}
 case 509:
-#line 2776 "objc-parse.y"
+#line 2777 "objc-parse.y"
 { push_parm_decl (yyvsp[0].ttype); ;
     break;}
 case 510:
-#line 2778 "objc-parse.y"
+#line 2779 "objc-parse.y"
 { push_parm_decl (yyvsp[0].ttype); ;
     break;}
 case 511:
-#line 2786 "objc-parse.y"
+#line 2787 "objc-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
                                                         yyvsp[0].ttype)); ;
     break;}
 case 512:
-#line 2791 "objc-parse.y"
+#line 2792 "objc-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
                                                         yyvsp[0].ttype)); ;
     break;}
 case 513:
-#line 2796 "objc-parse.y"
+#line 2797 "objc-parse.y"
 { yyval.ttype = build_tree_list (build_tree_list (current_declspecs,
                                                         yyvsp[-1].ttype),
                                        build_tree_list (prefix_attributes,
                                                         yyvsp[0].ttype)); ;
     break;}
 case 514:
-#line 2804 "objc-parse.y"
+#line 2805 "objc-parse.y"
 {
                  yyval.ttype = NULL_TREE;
                ;
     break;}
 case 515:
-#line 2808 "objc-parse.y"
+#line 2809 "objc-parse.y"
 {
                  /* oh what a kludge! */
                  yyval.ttype = (tree)1;
                ;
     break;}
 case 516:
-#line 2813 "objc-parse.y"
+#line 2814 "objc-parse.y"
 {
                  pushlevel (0);
                ;
     break;}
 case 517:
-#line 2817 "objc-parse.y"
+#line 2818 "objc-parse.y"
 {
                  /* returns a tree list node generated by get_parm_info */
                  yyval.ttype = yyvsp[0].ttype;
@@ -4893,119 +4904,119 @@ case 517:
                ;
     break;}
 case 520:
-#line 2832 "objc-parse.y"
+#line 2833 "objc-parse.y"
 {
                  yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 525:
-#line 2845 "objc-parse.y"
+#line 2846 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 526:
-#line 2846 "objc-parse.y"
+#line 2847 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 527:
-#line 2847 "objc-parse.y"
+#line 2848 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 528:
-#line 2848 "objc-parse.y"
+#line 2849 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 529:
-#line 2849 "objc-parse.y"
+#line 2850 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 530:
-#line 2850 "objc-parse.y"
+#line 2851 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 531:
-#line 2851 "objc-parse.y"
+#line 2852 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 532:
-#line 2852 "objc-parse.y"
+#line 2853 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 533:
-#line 2853 "objc-parse.y"
+#line 2854 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 534:
-#line 2854 "objc-parse.y"
+#line 2855 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 535:
-#line 2855 "objc-parse.y"
+#line 2856 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 536:
-#line 2856 "objc-parse.y"
+#line 2857 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 537:
-#line 2857 "objc-parse.y"
+#line 2858 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 538:
-#line 2858 "objc-parse.y"
+#line 2859 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 539:
-#line 2859 "objc-parse.y"
+#line 2860 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 540:
-#line 2860 "objc-parse.y"
+#line 2861 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 541:
-#line 2861 "objc-parse.y"
+#line 2862 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 542:
-#line 2862 "objc-parse.y"
+#line 2863 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 543:
-#line 2863 "objc-parse.y"
+#line 2864 "objc-parse.y"
 { yyval.ttype = get_identifier (token_buffer); ;
     break;}
 case 546:
-#line 2869 "objc-parse.y"
+#line 2870 "objc-parse.y"
 {
                  yyval.ttype = build_keyword_decl (yyvsp[-5].ttype, yyvsp[-2].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 547:
-#line 2874 "objc-parse.y"
+#line 2875 "objc-parse.y"
 {
                  yyval.ttype = build_keyword_decl (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
                ;
     break;}
 case 548:
-#line 2879 "objc-parse.y"
+#line 2880 "objc-parse.y"
 {
                  yyval.ttype = build_keyword_decl (NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 549:
-#line 2884 "objc-parse.y"
+#line 2885 "objc-parse.y"
 {
                  yyval.ttype = build_keyword_decl (NULL_TREE, NULL_TREE, yyvsp[0].ttype);
                ;
     break;}
 case 553:
-#line 2897 "objc-parse.y"
+#line 2898 "objc-parse.y"
 {
                  yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 554:
-#line 2905 "objc-parse.y"
+#line 2906 "objc-parse.y"
 {
                  if (TREE_CHAIN (yyvsp[0].ttype) == NULL_TREE)
                    /* just return the expr., remove a level of indirection */
@@ -5016,76 +5027,76 @@ case 554:
                ;
     break;}
 case 555:
-#line 2917 "objc-parse.y"
+#line 2918 "objc-parse.y"
 {
                  yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 556:
-#line 2921 "objc-parse.y"
+#line 2922 "objc-parse.y"
 {
                  yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype);
                ;
     break;}
 case 558:
-#line 2929 "objc-parse.y"
+#line 2930 "objc-parse.y"
 {
                  yyval.ttype = get_class_reference (yyvsp[0].ttype);
                ;
     break;}
 case 559:
-#line 2936 "objc-parse.y"
+#line 2937 "objc-parse.y"
 { objc_receiver_context = 1; ;
     break;}
 case 560:
-#line 2938 "objc-parse.y"
+#line 2939 "objc-parse.y"
 { objc_receiver_context = 0; ;
     break;}
 case 561:
-#line 2940 "objc-parse.y"
+#line 2941 "objc-parse.y"
 {
                  yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype);
                ;
     break;}
 case 565:
-#line 2953 "objc-parse.y"
+#line 2954 "objc-parse.y"
 {
                  yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
                ;
     break;}
 case 566:
-#line 2960 "objc-parse.y"
+#line 2961 "objc-parse.y"
 {
                  yyval.ttype = build_tree_list (yyvsp[-1].ttype, NULL_TREE);
                ;
     break;}
 case 567:
-#line 2964 "objc-parse.y"
+#line 2965 "objc-parse.y"
 {
                  yyval.ttype = build_tree_list (NULL_TREE, NULL_TREE);
                ;
     break;}
 case 568:
-#line 2971 "objc-parse.y"
+#line 2972 "objc-parse.y"
 {
                  yyval.ttype = yyvsp[-1].ttype;
                ;
     break;}
 case 569:
-#line 2978 "objc-parse.y"
+#line 2979 "objc-parse.y"
 {
                  yyval.ttype = yyvsp[-1].ttype;
                ;
     break;}
 case 570:
-#line 2987 "objc-parse.y"
+#line 2988 "objc-parse.y"
 {
                  yyval.ttype = groktypename (yyvsp[-1].ttype);
                ;
     break;}
 }
    /* the action file gets copied in in place of this dollarsign */
-#line 543 "/usr/lib/bison.simple"
+#line 543 "/usr/share/bison.simple"
 \f
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -5093,7 +5104,7 @@ case 570:
   yylsp -= yylen;
 #endif
 
-#if YYDEBUG != 0
+#if YYDEBUG != 0 && !defined YYFILE
   if (yydebug)
     {
       short *ssp1 = yyss - 1;
@@ -5200,7 +5211,7 @@ yyerrlab1:   /* here on error raised explicitly by an action */
       if (yychar == YYEOF)
        YYABORT;
 
-#if YYDEBUG != 0
+#if YYDEBUG != 0 && !defined YYFILE
       if (yydebug)
        fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
 #endif
@@ -5233,7 +5244,7 @@ yyerrpop:   /* pop the current state because it cannot handle the error token */
   yylsp--;
 #endif
 
-#if YYDEBUG != 0
+#if YYDEBUG != 0 && !defined YYFILE
   if (yydebug)
     {
       short *ssp1 = yyss - 1;
@@ -5268,7 +5279,7 @@ yyerrhandle:
   if (yyn == YYFINAL)
     YYACCEPT;
 
-#if YYDEBUG != 0
+#if YYDEBUG != 0 && !defined YYFILE
   if (yydebug)
     fprintf(stderr, "Shifting error token, ");
 #endif
@@ -5305,5 +5316,5 @@ yyerrhandle:
     }
   return 1;
 }
-#line 2992 "objc-parse.y"
+#line 2993 "objc-parse.y"
 
index da4a596f2d4a7e35f3ee4c3c868b79238c535973..5dd6d264e427b1e4902f7936d2c41fe295dda82e 100644 (file)
@@ -104,6 +104,7 @@ const char * const language_string = "GNU Obj-C";
 %token BREAK CONTINUE RETURN GOTO ASM_KEYWORD TYPEOF ALIGNOF
 %token ATTRIBUTE EXTENSION LABEL
 %token REALPART IMAGPART VA_ARG
+%token PTR_VALUE PTR_BASE PTR_EXTENT
 
 /* Used in c-lex.c for parsing pragmas.  */
 %token END_OF_LINE