Annotation of gcc/c-parse.c, revision 1.1.1.1

1.1       root        1: 
                      2: /*  A Bison parser, made from c-parse.y  */
                      3: 
                      4: #define YYBISON 1  /* Identify Bison output.  */
                      5: 
                      6: #define        IDENTIFIER      258
                      7: #define        TYPENAME        259
                      8: #define        SCSPEC  260
                      9: #define        TYPESPEC        261
                     10: #define        TYPE_QUAL       262
                     11: #define        CONSTANT        263
                     12: #define        STRING  264
                     13: #define        ELLIPSIS        265
                     14: #define        SIZEOF  266
                     15: #define        ENUM    267
                     16: #define        STRUCT  268
                     17: #define        UNION   269
                     18: #define        IF      270
                     19: #define        ELSE    271
                     20: #define        WHILE   272
                     21: #define        DO      273
                     22: #define        FOR     274
                     23: #define        SWITCH  275
                     24: #define        CASE    276
                     25: #define        DEFAULT 277
                     26: #define        BREAK   278
                     27: #define        CONTINUE        279
                     28: #define        RETURN  280
                     29: #define        GOTO    281
                     30: #define        ASM     282
                     31: #define        TYPEOF  283
                     32: #define        ALIGNOF 284
                     33: #define        ALIGN   285
                     34: #define        ATTRIBUTE       286
                     35: #define        EXTENSION       287
                     36: #define        LABEL   288
                     37: #define        ASSIGN  289
                     38: #define        OROR    290
                     39: #define        ANDAND  291
                     40: #define        EQCOMPARE       292
                     41: #define        ARITHCOMPARE    293
                     42: #define        LSHIFT  294
                     43: #define        RSHIFT  295
                     44: #define        UNARY   296
                     45: #define        PLUSPLUS        297
                     46: #define        MINUSMINUS      298
                     47: #define        HYPERUNARY      299
                     48: #define        POINTSAT        300
                     49: #define        INTERFACE       301
                     50: #define        IMPLEMENTATION  302
                     51: #define        END     303
                     52: #define        SELECTOR        304
                     53: #define        DEFS    305
                     54: #define        ENCODE  306
                     55: #define        CLASSNAME       307
                     56: #define        PUBLIC  308
                     57: 
                     58: #line 39 "c-parse.y"
                     59: 
                     60: #include <stdio.h>
                     61: #include <errno.h>
                     62: #include <setjmp.h>
                     63: 
                     64: #include "config.h"
                     65: #include "tree.h"
                     66: #include "input.h"
                     67: #include "c-lex.h"
                     68: #include "c-tree.h"
                     69: #include "flags.h"
                     70: 
                     71: #ifdef MULTIBYTE_CHARS
                     72: #include <stdlib.h>
                     73: #include <locale.h>
                     74: #endif
                     75: 
                     76: #ifndef errno
                     77: extern int errno;
                     78: #endif
                     79: 
                     80: void yyerror ();
                     81: 
                     82: /* Like YYERROR but do call yyerror.  */
                     83: #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
                     84: 
                     85: /* Cause the `yydebug' variable to be defined.  */
                     86: #define YYDEBUG 1
                     87: 
                     88: #line 71 "c-parse.y"
                     89: typedef union {long itype; tree ttype; enum tree_code code;
                     90:        char *filename; int lineno; } YYSTYPE;
                     91: #line 174 "c-parse.y"
                     92: 
                     93: /* Number of statements (loosely speaking) seen so far.  */
                     94: static int stmt_count;
                     95: 
                     96: /* Input file and line number of the end of the body of last simple_if;
                     97:    used by the stmt-rule immediately after simple_if returns.  */
                     98: static char *if_stmt_file;
                     99: static int if_stmt_line;
                    100: 
                    101: /* List of types and structure classes of the current declaration.  */
                    102: static tree current_declspecs;
                    103: 
                    104: /* Stack of saved values of current_declspecs.  */
                    105: static tree declspec_stack;
                    106: 
                    107: /* 1 if we explained undeclared var errors.  */
                    108: static int undeclared_variable_notice;
                    109: 
                    110: /* Tell yyparse how to print a token's value, if yydebug is set.  */
                    111: 
                    112: #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
                    113: extern void yyprint ();
                    114: 
                    115: #ifndef YYLTYPE
                    116: typedef
                    117:   struct yyltype
                    118:     {
                    119:       int timestamp;
                    120:       int first_line;
                    121:       int first_column;
                    122:       int last_line;
                    123:       int last_column;
                    124:       char *text;
                    125:    }
                    126:   yyltype;
                    127: 
                    128: #define YYLTYPE yyltype
                    129: #endif
                    130: 
                    131: #include <stdio.h>
                    132: 
                    133: #ifndef __STDC__
                    134: #define const
                    135: #endif
                    136: 
                    137: 
                    138: 
                    139: #define        YYFINAL         599
                    140: #define        YYFLAG          -32768
                    141: #define        YYNTBASE        76
                    142: 
                    143: #define YYTRANSLATE(x) ((unsigned)(x) <= 308 ? yytranslate[x] : 201)
                    144: 
                    145: static const char yytranslate[] = {     0,
                    146:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    147:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    148:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    149:      2,     2,    72,     2,     2,     2,    51,    42,     2,    58,
                    150:     68,    49,    47,    73,    48,    57,    50,     2,     2,     2,
                    151:      2,     2,     2,     2,     2,     2,     2,    37,    69,     2,
                    152:     35,     2,    36,     2,     2,     2,     2,     2,     2,     2,
                    153:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    154:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    155:     59,     2,    75,    41,     2,     2,     2,     2,     2,     2,
                    156:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    157:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    158:      2,     2,    74,    40,    70,    71,     2,     2,     2,     2,
                    159:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    160:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    161:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    162:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    163:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    164:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    165:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    166:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    167:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    168:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    169:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    170:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    171:      2,     2,     2,     2,     2,     1,     2,     3,     4,     5,
                    172:      6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
                    173:     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
                    174:     26,    27,    28,    29,    30,    31,    32,    33,    34,    38,
                    175:     39,    43,    44,    45,    46,    52,    53,    54,    55,    56,
                    176:     60,    61,    62,    63,    64,    65,    66,    67
                    177: };
                    178: 
                    179: static const short yyprhs[] = {     0,
                    180:      0,     1,     3,     4,     7,     8,    12,    14,    16,    22,
                    181:     26,    31,    36,    39,    42,    45,    48,    50,    51,    52,
                    182:     60,    65,    66,    67,    75,    80,    81,    82,    89,    93,
                    183:     95,    97,    99,   101,   103,   105,   107,   109,   111,   113,
                    184:    114,   116,   118,   122,   124,   127,   128,   132,   135,   138,
                    185:    141,   146,   149,   154,   156,   161,   169,   171,   175,   179,
                    186:    183,   187,   191,   195,   199,   203,   207,   211,   215,   219,
                    187:    223,   227,   233,   237,   241,   243,   245,   247,   251,   255,
                    188:    256,   261,   266,   271,   275,   279,   282,   285,   287,   290,
                    189:    291,   293,   296,   300,   302,   304,   307,   310,   315,   320,
                    190:    323,   326,   330,   332,   334,   337,   340,   341,   346,   351,
                    191:    355,   359,   362,   365,   368,   372,   373,   376,   379,   381,
                    192:    383,   386,   389,   392,   396,   397,   400,   402,   404,   406,
                    193:    411,   416,   418,   420,   422,   424,   428,   430,   434,   435,
                    194:    440,   441,   448,   452,   453,   460,   464,   465,   472,   474,
                    195:    478,   480,   485,   494,   496,   499,   503,   508,   510,   512,
                    196:    516,   521,   528,   532,   538,   539,   543,   544,   548,   550,
                    197:    552,   556,   560,   565,   569,   573,   575,   579,   584,   588,
                    198:    592,   594,   598,   602,   606,   611,   615,   617,   618,   625,
                    199:    630,   633,   634,   641,   646,   649,   650,   658,   659,   666,
                    200:    669,   670,   672,   673,   675,   677,   680,   681,   685,   688,
                    201:    692,   694,   698,   700,   702,   704,   708,   713,   720,   725,
                    202:    727,   731,   733,   737,   740,   743,   744,   746,   748,   751,
                    203:    752,   755,   759,   763,   766,   770,   775,   779,   782,   786,
                    204:    789,   791,   794,   797,   798,   800,   803,   804,   805,   807,
                    205:    809,   812,   816,   818,   821,   824,   831,   837,   843,   846,
                    206:    849,   854,   855,   856,   860,   865,   869,   871,   873,   875,
                    207:    878,   879,   884,   886,   890,   891,   892,   900,   901,   902,
                    208:    912,   913,   914,   915,   928,   929,   936,   939,   942,   945,
                    209:    949,   956,   965,   976,   989,   993,   998,  1000,  1004,  1010,
                    210:   1013,  1016,  1017,  1019,  1020,  1022,  1023,  1025,  1027,  1031,
                    211:   1036,  1038,  1042,  1043,  1046,  1049,  1050,  1055,  1058,  1059,
                    212:   1061,  1063,  1067,  1069,  1073,  1076,  1079,  1082,  1085,  1088,
                    213:   1089,  1092,  1095,  1096,  1101,  1104,  1107,  1109,  1113,  1115
                    214: };
                    215: 
                    216: static const short yyrhs[] = {    -1,
                    217:     77,     0,     0,    78,    80,     0,     0,    77,    79,    80,
                    218:      0,    82,     0,    81,     0,    27,    58,    91,    68,    69,
                    219:      0,   107,   117,    69,     0,   111,   107,   117,    69,     0,
                    220:    109,   107,   116,    69,     0,   111,    69,     0,   109,    69,
                    221:      0,     1,    69,     0,     1,    70,     0,    69,     0,     0,
                    222:      0,   109,   107,   132,    83,   101,    84,   162,     0,   109,
                    223:    107,   132,     1,     0,     0,     0,   111,   107,   135,    85,
                    224:    101,    86,   162,     0,   111,   107,   135,     1,     0,     0,
                    225:      0,   107,   135,    87,   101,    88,   162,     0,   107,   135,
                    226:      1,     0,     3,     0,     4,     0,    42,     0,    48,     0,
                    227:     47,     0,    53,     0,    54,     0,    71,     0,    72,     0,
                    228:     93,     0,     0,    93,     0,    97,     0,    93,    73,    97,
                    229:      0,    98,     0,    49,    96,     0,     0,    32,    95,    96,
                    230:      0,    90,    96,     0,    39,    89,     0,    11,    94,     0,
                    231:     11,    58,   150,    68,     0,    29,    94,     0,    29,    58,
                    232:    150,    68,     0,    94,     0,    58,   150,    68,    96,     0,
                    233:     58,   150,    68,    74,   127,   141,    70,     0,    96,     0,
                    234:     97,    47,    97,     0,    97,    48,    97,     0,    97,    49,
                    235:     97,     0,    97,    50,    97,     0,    97,    51,    97,     0,
                    236:     97,    45,    97,     0,    97,    46,    97,     0,    97,    44,
                    237:     97,     0,    97,    43,    97,     0,    97,    42,    97,     0,
                    238:     97,    40,    97,     0,    97,    41,    97,     0,    97,    39,
                    239:     97,     0,    97,    38,    97,     0,    97,    36,   183,    37,
                    240:     97,     0,    97,    35,    97,     0,    97,    34,    97,     0,
                    241:      3,     0,     8,     0,   100,     0,    58,    91,    68,     0,
                    242:     58,     1,    68,     0,     0,    58,    99,   163,    68,     0,
                    243:     98,    58,    92,    68,     0,    98,    59,    91,    75,     0,
                    244:     98,    57,    89,     0,    98,    56,    89,     0,    98,    53,
                    245:      0,    98,    54,     0,     9,     0,   100,     9,     0,     0,
                    246:    103,     0,   103,    10,     0,   166,   167,   104,     0,   102,
                    247:      0,   157,     0,   103,   102,     0,   102,   157,     0,   109,
                    248:    107,   116,    69,     0,   111,   107,   117,    69,     0,   109,
                    249:     69,     0,   111,    69,     0,   166,   167,   108,     0,   105,
                    250:      0,   157,     0,   106,   105,     0,   105,   157,     0,     0,
                    251:    109,   107,   116,    69,     0,   111,   107,   117,    69,     0,
                    252:    109,   107,   128,     0,   111,   107,   130,     0,   109,    69,
                    253:      0,   111,    69,     0,   114,   110,     0,   111,   114,   110,
                    254:      0,     0,   110,   115,     0,   110,     5,     0,     7,     0,
                    255:      5,     0,   111,     7,     0,   111,     5,     0,   114,   113,
                    256:      0,   152,   114,   113,     0,     0,   113,   115,     0,     6,
                    257:      0,   136,     0,     4,     0,    28,    58,    91,    68,     0,
                    258:     28,    58,   150,    68,     0,     6,     0,     7,     0,   136,
                    259:      0,   119,     0,   116,    73,   119,     0,   121,     0,   117,
                    260:     73,   119,     0,     0,    27,    58,   100,    68,     0,     0,
                    261:    132,   118,   123,    35,   120,   126,     0,   132,   118,   123,
                    262:      0,     0,   135,   118,   123,    35,   122,   126,     0,   135,
                    263:    118,   123,     0,     0,    31,    58,    58,   124,    68,    68,
                    264:      0,   125,     0,   124,    73,   125,     0,     3,     0,     3,
                    265:     58,     8,    68,     0,     3,    58,     3,    73,     8,    73,
                    266:      8,    68,     0,    97,     0,    74,    70,     0,    74,   127,
                    267:     70,     0,    74,   127,    73,    70,     0,     1,     0,   126,
                    268:      0,   127,    73,   126,     0,    59,    97,    75,   126,     0,
                    269:    127,    73,    59,    97,    75,   126,     0,    89,    37,   126,
                    270:      0,   127,    73,    89,    37,   126,     0,     0,   132,   129,
                    271:    163,     0,     0,   135,   131,   163,     0,   133,     0,   135,
                    272:      0,    58,   133,    68,     0,   133,    58,   195,     0,   133,
                    273:     59,    91,    75,     0,   133,    59,    75,     0,    49,   153,
                    274:    133,     0,     4,     0,   134,    58,   195,     0,   134,    59,
                    275:     91,    75,     0,   134,    59,    75,     0,    49,   153,   134,
                    276:      0,     4,     0,   135,    58,   195,     0,    58,   135,    68,
                    277:      0,    49,   153,   135,     0,   135,    59,    91,    75,     0,
                    278:    135,    59,    75,     0,     3,     0,     0,    13,    89,    74,
                    279:    137,   143,    70,     0,    13,    74,   143,    70,     0,    13,
                    280:     89,     0,     0,    14,    89,    74,   138,   143,    70,     0,
                    281:     14,    74,   143,    70,     0,    14,    89,     0,     0,    12,
                    282:     89,    74,   139,   148,   142,    70,     0,     0,    12,    74,
                    283:    140,   148,   142,    70,     0,    12,    89,     0,     0,    73,
                    284:      0,     0,    73,     0,   144,     0,   144,   145,     0,     0,
                    285:    144,   145,    69,     0,   144,    69,     0,   112,   107,   146,
                    286:      0,   112,     0,   152,   107,   146,     0,   152,     0,     1,
                    287:      0,   147,     0,   146,    73,   147,     0,   166,   167,   132,
                    288:    123,     0,   166,   167,   132,    37,    97,   123,     0,   166,
                    289:    167,    37,    97,     0,   149,     0,   148,    73,   149,     0,
                    290:     89,     0,    89,    35,    97,     0,   112,   151,     0,   152,
                    291:    151,     0,     0,   154,     0,     7,     0,   152,     7,     0,
                    292:      0,   153,     7,     0,    58,   154,    68,     0,    49,   153,
                    293:    154,     0,    49,   153,     0,   154,    58,   188,     0,   154,
                    294:     59,    91,    75,     0,   154,    59,    75,     0,    58,   188,
                    295:      0,    59,    91,    75,     0,    59,    75,     0,   169,     0,
                    296:    155,   169,     0,   155,   157,     0,     0,   155,     0,     1,
                    297:     69,     0,     0,     0,   160,     0,   161,     0,   160,   161,
                    298:      0,    33,   200,    69,     0,   163,     0,     1,   163,     0,
                    299:     74,    70,     0,    74,   158,   159,   106,   156,    70,     0,
                    300:     74,   158,   159,     1,    70,     0,    74,   158,   159,   155,
                    301:     70,     0,   165,   168,     0,   165,     1,     0,    15,    58,
                    302:     91,    68,     0,     0,     0,   166,   167,   171,     0,   166,
                    303:    167,   181,   168,     0,   166,   167,   170,     0,   171,     0,
                    304:    181,     0,   163,     0,    91,    69,     0,     0,   164,    16,
                    305:    172,   168,     0,   164,     0,   164,    16,     1,     0,     0,
                    306:      0,    17,   173,    58,    91,    68,   174,   168,     0,     0,
                    307:      0,    18,   175,   168,    17,   176,    58,    91,    68,    69,
                    308:      0,     0,     0,     0,    19,    58,   183,    69,   177,   183,
                    309:     69,   178,   183,    68,   179,   168,     0,     0,    20,    58,
                    310:     91,    68,   180,   168,     0,    23,    69,     0,    24,    69,
                    311:      0,    25,    69,     0,    25,    91,    69,     0,    27,   182,
                    312:     58,    91,    68,    69,     0,    27,   182,    58,    91,    37,
                    313:    184,    68,    69,     0,    27,   182,    58,    91,    37,   184,
                    314:     37,   184,    68,    69,     0,    27,   182,    58,    91,    37,
                    315:    184,    37,   184,    37,   187,    68,    69,     0,    26,    89,
                    316:     69,     0,    26,    49,    91,    69,     0,    69,     0,    21,
                    317:     91,    37,     0,    21,    91,    10,    91,    37,     0,    22,
                    318:     37,     0,    89,    37,     0,     0,     7,     0,     0,    91,
                    319:      0,     0,   185,     0,   186,     0,   185,    73,   186,     0,
                    320:      9,    58,    91,    68,     0,   100,     0,   187,    73,   100,
                    321:      0,     0,   189,   190,     0,   192,    68,     0,     0,   193,
                    322:     69,   191,   190,     0,     1,    68,     0,     0,    10,     0,
                    323:    193,     0,   193,    73,    10,     0,   194,     0,   193,    73,
                    324:    194,     0,   109,   134,     0,   109,   135,     0,   109,   151,
                    325:      0,   111,   135,     0,   111,   151,     0,     0,   196,   197,
                    326:      0,   192,    68,     0,     0,   193,    69,   198,   197,     0,
                    327:    199,    68,     0,     1,    68,     0,     3,     0,   199,    73,
                    328:      3,     0,    89,     0,   200,    73,    89,     0
                    329: };
                    330: 
                    331: #if YYDEBUG != 0
                    332: static const short yyrline[] = { 0,
                    333:    199,   202,   209,   211,   211,   212,   214,   216,   217,   227,
                    334:    233,   235,   237,   239,   241,   242,   243,   248,   254,   256,
                    335:    257,   259,   264,   266,   267,   269,   274,   276,   277,   281,
                    336:    283,   286,   288,   290,   292,   294,   296,   298,   302,   306,
                    337:    309,   312,   315,   319,   321,   324,   327,   330,   333,   352,
                    338:    357,   359,   361,   365,   367,   370,   395,   397,   399,   401,
                    339:    403,   405,   407,   409,   411,   413,   415,   417,   419,   421,
                    340:    423,   425,   427,   429,   433,   487,   488,   490,   496,   498,
                    341:    511,   524,   526,   528,   530,   532,   534,   539,   541,   545,
                    342:    547,   548,   558,   563,   565,   566,   567,   570,   575,   579,
                    343:    581,   589,   594,   596,   597,   598,   605,   613,   618,   622,
                    344:    626,   630,   632,   640,   643,   647,   649,   651,   659,   662,
                    345:    664,   666,   675,   678,   682,   684,   692,   693,   694,   698,
                    346:    702,   710,   711,   712,   715,   717,   720,   722,   725,   728,
                    347:    734,   739,   741,   747,   752,   754,   761,   764,   769,   771,
                    348:    776,   781,   792,   806,   808,   812,   814,   816,   822,   825,
                    349:    828,   830,   832,   834,   838,   855,   859,   876,   883,   885,
                    350:    890,   893,   898,   900,   902,   904,   912,   918,   920,   922,
                    351:    924,   930,   936,   938,   940,   942,   944,   947,   952,   956,
                    352:    959,   961,   963,   965,   968,   970,   973,   976,   979,   982,
                    353:    986,   988,   991,   993,   997,  1000,  1005,  1007,  1009,  1023,
                    354:   1029,  1034,  1039,  1044,  1048,  1050,  1054,  1058,  1062,  1071,
                    355:   1073,  1078,  1081,  1085,  1088,  1092,  1095,  1098,  1101,  1105,
                    356:   1108,  1112,  1116,  1118,  1120,  1122,  1124,  1126,  1128,  1130,
                    357:   1138,  1140,  1141,  1144,  1146,  1149,  1152,  1162,  1164,  1169,
                    358:   1171,  1174,  1188,  1191,  1194,  1196,  1201,  1206,  1214,  1219,
                    359:   1222,  1232,  1236,  1240,  1246,  1250,  1255,  1257,  1268,  1271,
                    360:   1276,  1281,  1284,  1292,  1294,  1305,  1310,  1311,  1318,  1320,
                    361:   1325,  1333,  1337,  1343,  1349,  1358,  1360,  1365,  1370,  1374,
                    362:   1378,  1389,  1396,  1403,  1410,  1421,  1425,  1432,  1456,  1484,
                    363:   1499,  1510,  1513,  1517,  1520,  1525,  1527,  1530,  1532,  1536,
                    364:   1541,  1544,  1550,  1555,  1560,  1562,  1569,  1570,  1576,  1578,
                    365:   1583,  1585,  1589,  1592,  1598,  1601,  1603,  1605,  1607,  1614,
                    366:   1619,  1624,  1626,  1633,  1634,  1640,  1645,  1648,  1653,  1656
                    367: };
                    368: 
                    369: static const char * const yytname[] = {   "$","error","$illegal.","IDENTIFIER",
                    370: "TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING","ELLIPSIS","SIZEOF",
                    371: "ENUM","STRUCT","UNION","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT",
                    372: "BREAK","CONTINUE","RETURN","GOTO","ASM","TYPEOF","ALIGNOF","ALIGN","ATTRIBUTE",
                    373: "EXTENSION","LABEL","ASSIGN","'='","'?'","':'","OROR","ANDAND","'|'","'^'","'&'",
                    374: "EQCOMPARE","ARITHCOMPARE","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","UNARY",
                    375: "PLUSPLUS","MINUSMINUS","HYPERUNARY","POINTSAT","'.'","'('","'['","INTERFACE",
                    376: "IMPLEMENTATION","END","SELECTOR","DEFS","ENCODE","CLASSNAME","PUBLIC","')'",
                    377: "';'","'}'","'~'","'!'","','","'{'","']'","program","extdefs","@1","@2","extdef",
                    378: "datadef","fndef","@3","@4","@5","@6","@7","@8","identifier","unop","expr","exprlist",
                    379: "nonnull_exprlist","unary_expr","@9","cast_expr","expr_no_commas","primary",
                    380: "@10","string","xdecls","lineno_datadecl","datadecls","datadecl","lineno_decl",
                    381: "decls","setspecs","decl","typed_declspecs","reserved_declspecs","declmods",
                    382: "typed_typespecs","reserved_typespecquals","typespec","typespecqual_reserved",
                    383: "initdecls","notype_initdecls","maybeasm","initdcl","@11","notype_initdcl","@12",
                    384: "maybe_attribute","attribute_list","attrib","init","initlist","nested_function",
                    385: "@13","notype_nested_function","@14","declarator","after_type_declarator","parm_declarator",
                    386: "notype_declarator","structsp","@15","@16","@17","@18","maybecomma","maybecomma_warn",
                    387: "component_decl_list","component_decl_list2","component_decl","components","component_declarator",
                    388: "enumlist","enumerator","typename","absdcl","nonempty_type_quals","type_quals",
                    389: "absdcl1","stmts","xstmts","errstmt","pushlevel","maybe_label_decls","label_decls",
                    390: "label_decl","compstmt_or_error","compstmt","simple_if","if_prefix","save_filename",
                    391: "save_lineno","lineno_labeled_stmt","lineno_stmt_or_label","stmt_or_label","stmt",
                    392: "@19","@20","@21","@22","@23","@24","@25","@26","@27","label","maybe_type_qual",
                    393: "xexpr","asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
                    394: "@28","parmlist_1","@29","parmlist_2","parms","parm","parmlist_or_identifiers",
                    395: "@30","parmlist_or_identifiers_1","@31","identifiers","identifiers_or_typenames",
                    396: ""
                    397: };
                    398: #endif
                    399: 
                    400: static const short yyr1[] = {     0,
                    401:     76,    76,    78,    77,    79,    77,    80,    80,    80,    81,
                    402:     81,    81,    81,    81,    81,    81,    81,    83,    84,    82,
                    403:     82,    85,    86,    82,    82,    87,    88,    82,    82,    89,
                    404:     89,    90,    90,    90,    90,    90,    90,    90,    91,    92,
                    405:     92,    93,    93,    94,    94,    95,    94,    94,    94,    94,
                    406:     94,    94,    94,    96,    96,    96,    97,    97,    97,    97,
                    407:     97,    97,    97,    97,    97,    97,    97,    97,    97,    97,
                    408:     97,    97,    97,    97,    98,    98,    98,    98,    98,    99,
                    409:     98,    98,    98,    98,    98,    98,    98,   100,   100,   101,
                    410:    101,   101,   102,   103,   103,   103,   103,   104,   104,   104,
                    411:    104,   105,   106,   106,   106,   106,   107,   108,   108,   108,
                    412:    108,   108,   108,   109,   109,   110,   110,   110,   111,   111,
                    413:    111,   111,   112,   112,   113,   113,   114,   114,   114,   114,
                    414:    114,   115,   115,   115,   116,   116,   117,   117,   118,   118,
                    415:    120,   119,   119,   122,   121,   121,   123,   123,   124,   124,
                    416:    125,   125,   125,   126,   126,   126,   126,   126,   127,   127,
                    417:    127,   127,   127,   127,   129,   128,   131,   130,   132,   132,
                    418:    133,   133,   133,   133,   133,   133,   134,   134,   134,   134,
                    419:    134,   135,   135,   135,   135,   135,   135,   137,   136,   136,
                    420:    136,   138,   136,   136,   136,   139,   136,   140,   136,   136,
                    421:    141,   141,   142,   142,   143,   143,   144,   144,   144,   145,
                    422:    145,   145,   145,   145,   146,   146,   147,   147,   147,   148,
                    423:    148,   149,   149,   150,   150,   151,   151,   152,   152,   153,
                    424:    153,   154,   154,   154,   154,   154,   154,   154,   154,   154,
                    425:    155,   155,   155,   156,   156,   157,   158,   159,   159,   160,
                    426:    160,   161,   162,   162,   163,   163,   163,   163,   164,   164,
                    427:    165,   166,   167,   168,   168,   169,   170,   170,   171,   171,
                    428:    172,   171,   171,   171,   173,   174,   171,   175,   176,   171,
                    429:    177,   178,   179,   171,   180,   171,   171,   171,   171,   171,
                    430:    171,   171,   171,   171,   171,   171,   171,   181,   181,   181,
                    431:    181,   182,   182,   183,   183,   184,   184,   185,   185,   186,
                    432:    187,   187,   189,   188,   190,   191,   190,   190,   192,   192,
                    433:    192,   192,   193,   193,   194,   194,   194,   194,   194,   196,
                    434:    195,   197,   198,   197,   197,   197,   199,   199,   200,   200
                    435: };
                    436: 
                    437: static const short yyr2[] = {     0,
                    438:      0,     1,     0,     2,     0,     3,     1,     1,     5,     3,
                    439:      4,     4,     2,     2,     2,     2,     1,     0,     0,     7,
                    440:      4,     0,     0,     7,     4,     0,     0,     6,     3,     1,
                    441:      1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
                    442:      1,     1,     3,     1,     2,     0,     3,     2,     2,     2,
                    443:      4,     2,     4,     1,     4,     7,     1,     3,     3,     3,
                    444:      3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
                    445:      3,     5,     3,     3,     1,     1,     1,     3,     3,     0,
                    446:      4,     4,     4,     3,     3,     2,     2,     1,     2,     0,
                    447:      1,     2,     3,     1,     1,     2,     2,     4,     4,     2,
                    448:      2,     3,     1,     1,     2,     2,     0,     4,     4,     3,
                    449:      3,     2,     2,     2,     3,     0,     2,     2,     1,     1,
                    450:      2,     2,     2,     3,     0,     2,     1,     1,     1,     4,
                    451:      4,     1,     1,     1,     1,     3,     1,     3,     0,     4,
                    452:      0,     6,     3,     0,     6,     3,     0,     6,     1,     3,
                    453:      1,     4,     8,     1,     2,     3,     4,     1,     1,     3,
                    454:      4,     6,     3,     5,     0,     3,     0,     3,     1,     1,
                    455:      3,     3,     4,     3,     3,     1,     3,     4,     3,     3,
                    456:      1,     3,     3,     3,     4,     3,     1,     0,     6,     4,
                    457:      2,     0,     6,     4,     2,     0,     7,     0,     6,     2,
                    458:      0,     1,     0,     1,     1,     2,     0,     3,     2,     3,
                    459:      1,     3,     1,     1,     1,     3,     4,     6,     4,     1,
                    460:      3,     1,     3,     2,     2,     0,     1,     1,     2,     0,
                    461:      2,     3,     3,     2,     3,     4,     3,     2,     3,     2,
                    462:      1,     2,     2,     0,     1,     2,     0,     0,     1,     1,
                    463:      2,     3,     1,     2,     2,     6,     5,     5,     2,     2,
                    464:      4,     0,     0,     3,     4,     3,     1,     1,     1,     2,
                    465:      0,     4,     1,     3,     0,     0,     7,     0,     0,     9,
                    466:      0,     0,     0,    12,     0,     6,     2,     2,     2,     3,
                    467:      6,     8,    10,    12,     3,     4,     1,     3,     5,     2,
                    468:      2,     0,     1,     0,     1,     0,     1,     1,     3,     4,
                    469:      1,     3,     0,     2,     2,     0,     4,     2,     0,     1,
                    470:      1,     3,     1,     3,     2,     2,     2,     2,     2,     0,
                    471:      2,     2,     0,     4,     2,     2,     1,     3,     1,     3
                    472: };
                    473: 
                    474: static const short yydefact[] = {     3,
                    475:      5,     0,     0,     0,   129,   120,   127,   119,     0,     0,
                    476:      0,     0,     0,    17,     4,     8,     7,     0,   107,   107,
                    477:    116,   128,     6,    15,    16,    30,    31,   198,   200,   207,
                    478:    191,   207,   195,     0,     0,   187,   230,     0,     0,   137,
                    479:      0,    14,     0,   122,   121,    13,     0,   116,   114,     0,
                    480:    196,     0,     0,   188,     0,   192,    75,    76,    88,     0,
                    481:      0,    46,     0,    32,    34,    33,     0,    35,    36,     0,
                    482:     37,    38,     0,     0,    39,    54,    57,    42,    44,    77,
                    483:    228,     0,   226,   125,     0,   226,     0,     0,    10,     0,
                    484:     29,     0,   330,     0,     0,   147,   176,   230,     0,     0,
                    485:    135,     0,   169,   170,     0,     0,   115,   118,   132,   133,
                    486:    117,   134,   222,   203,   220,     0,   190,   214,   209,   107,
                    487:    206,   107,   207,   194,   207,     0,    50,     0,    52,     0,
                    488:     49,    45,     0,     0,     0,     0,    48,     0,     0,     0,
                    489:      0,   304,     0,     0,     0,     0,     0,     0,     0,     0,
                    490:      0,     0,     0,     0,     0,     0,    86,    87,     0,     0,
                    491:     40,     0,    89,   130,   230,   313,     0,   224,   227,   123,
                    492:    131,   229,   125,   225,   231,   184,   183,   138,   139,     0,
                    493:    182,     0,   186,     0,     0,    27,     0,   262,    95,   263,
                    494:      0,   146,     0,     0,    12,     0,    21,     0,   147,   330,
                    495:      0,    11,    25,     0,     0,   204,     0,   203,   262,   208,
                    496:    262,     0,     0,     0,     0,    47,    79,    78,   247,     0,
                    497:      0,     9,    43,    74,    73,   305,     0,    71,    70,    68,
                    498:     69,    67,    66,    65,    63,    64,    58,    59,    60,    61,
                    499:     62,    85,    84,     0,    41,     0,   234,     0,   238,     0,
                    500:    240,     0,   313,     0,   126,   124,     0,     0,   337,   320,
                    501:    226,   226,     0,   321,   323,   331,     0,   185,   246,     0,
                    502:     97,    92,    96,     0,     0,   144,   175,   171,   136,    19,
                    503:    143,   172,   174,     0,    23,   223,   221,   199,     0,   210,
                    504:    215,   263,   212,   189,   193,    51,    53,   255,   248,    81,
                    505:      0,    55,     0,    82,    83,   233,   232,     0,   314,     0,
                    506:    321,   239,   235,   237,     0,   140,   336,   181,   230,   313,
                    507:    325,   326,   327,   230,   328,   329,   332,   333,     0,   335,
                    508:      0,     0,    28,   253,    93,   107,   107,     0,     0,     0,
                    509:    141,   173,     0,   197,   262,     0,     0,     0,   249,   250,
                    510:    158,    75,     0,     0,     0,   154,   159,   201,    72,   318,
                    511:    315,   316,   236,   234,   330,     0,   234,     0,   322,   324,
                    512:    338,   254,   100,     0,   101,     0,   151,     0,   149,   145,
                    513:     20,     0,    24,   216,     0,   147,   339,     0,     0,     0,
                    514:    262,     0,   104,   263,   241,   251,     0,   155,     0,     0,
                    515:      0,     0,     0,   180,   177,   179,     0,   334,     0,     0,
                    516:    139,     0,     0,     0,   142,   219,     0,   217,   252,     0,
                    517:    257,   106,   105,     0,     0,   258,   243,   263,   242,     0,
                    518:      0,   156,     0,   163,     0,     0,   160,    56,   317,   178,
                    519:     98,    99,     0,     0,   148,   150,   147,   340,   256,     0,
                    520:    129,     0,   275,   278,     0,     0,     0,     0,     0,     0,
                    521:      0,     0,   302,   297,     0,     0,   102,   107,   107,   269,
                    522:    273,     0,   266,   267,   268,   161,   157,     0,     0,     0,
                    523:    152,   218,     0,     0,   262,   304,     0,     0,   300,   287,
                    524:    288,   289,     0,     0,     0,   303,     0,   301,   270,   112,
                    525:      0,   113,     0,     0,   260,   263,   259,     0,   164,     0,
                    526:      0,     0,     0,     0,     0,     0,   298,   290,     0,   295,
                    527:      0,     0,   110,   139,     0,   111,   139,   274,   262,     0,
                    528:    162,     0,   261,     0,   279,   281,   285,     0,   296,     0,
                    529:    108,     0,   109,     0,   272,   264,   262,     0,   276,     0,
                    530:    304,   262,   299,   306,     0,   166,   168,   265,   153,   262,
                    531:      0,     0,   286,     0,     0,   307,   308,   291,   277,     0,
                    532:    282,     0,   306,     0,     0,     0,   304,     0,     0,   292,
                    533:    309,   280,     0,   310,     0,     0,   283,   311,     0,   293,
                    534:    262,     0,     0,   284,   294,   312,     0,     0,     0
                    535: };
                    536: 
                    537: static const short yydefgoto[] = {   597,
                    538:      1,     2,     3,    15,    16,    17,   198,   340,   204,   343,
                    539:     95,   270,   113,    73,   226,   244,    75,    76,   130,    77,
                    540:     78,    79,   135,    80,   186,   187,   188,   335,   390,   391,
                    541:     18,   467,   261,    49,   262,    83,   170,    21,   111,   100,
                    542:     39,    96,   101,   382,    40,   339,   192,   378,   379,   357,
                    543:    358,   523,   542,   526,   544,   179,   103,   321,   104,    22,
                    544:    123,   125,   116,    50,   402,   207,    52,    53,   121,   290,
                    545:    291,   114,   115,    85,   168,    86,    87,   169,   392,   425,
                    546:    189,   299,   348,   349,   350,   333,   334,   471,   472,   506,
                    547:    274,   507,   395,   473,   474,   529,   484,   560,   485,   550,
                    548:    551,   577,   591,   552,   475,   497,   227,   565,   566,   567,
                    549:    589,   249,   250,   309,   403,   263,   264,   265,   181,   182,
                    550:    266,   368,   267,   388
                    551: };
                    552: 
                    553: static const short yypact[] = {    59,
                    554:     97,  1957,  1957,   133,-32768,-32768,-32768,-32768,    63,    66,
                    555:     76,    17,    41,-32768,-32768,-32768,-32768,   124,    52,   366,
                    556: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,    49,-32768,
                    557:     72,-32768,    82,  1847,  1772,-32768,-32768,   124,     4,-32768,
                    558:    308,-32768,   307,-32768,-32768,-32768,   124,-32768,   433,   289,
                    559: -32768,   102,   290,-32768,   119,-32768,-32768,-32768,-32768,  1874,
                    560:   1901,-32768,   289,-32768,-32768,-32768,  1847,-32768,-32768,   960,
                    561: -32768,-32768,  1847,   149,   123,-32768,-32768,  2074,   515,   232,
                    562: -32768,   184,   126,-32768,   196,  1166,   292,   213,-32768,   307,
                    563: -32768,   208,-32768,  1373,   256,   244,-32768,-32768,   307,    95,
                    564: -32768,  1366,   152,   269,   180,  1295,   433,-32768,-32768,-32768,
                    565: -32768,-32768,   298,   210,-32768,   289,-32768,-32768,-32768,   319,
                    566:    231,   912,-32768,-32768,-32768,   960,-32768,   960,-32768,  1847,
                    567: -32768,-32768,   251,   274,   311,   327,-32768,   328,  1847,  1847,
                    568:   1847,  1847,  1847,  1847,  1847,  1847,  1847,  1847,  1847,  1847,
                    569:   1847,  1847,  1847,  1847,  1847,  1847,-32768,-32768,   289,   289,
                    570:   1847,  1847,-32768,-32768,-32768,   126,  1421,-32768,   393,   362,
                    571: -32768,-32768,-32768,-32768,-32768,   269,-32768,-32768,   392,   419,
                    572: -32768,   498,-32768,   357,   365,-32768,    43,    51,-32768,-32768,
                    573:    384,   413,   209,   248,-32768,   307,-32768,   256,   244,-32768,
                    574:   1456,-32768,-32768,   256,  1847,   289,   374,   210,-32768,-32768,
                    575: -32768,   387,   389,   396,   407,-32768,-32768,-32768,   406,   417,
                    576:   1719,-32768,  2074,  2074,  2074,-32768,   449,  1950,  1545,   361,
                    577:    761,   617,   688,   474,   442,   442,   313,   313,-32768,-32768,
                    578: -32768,-32768,-32768,   426,   123,   379,   156,   287,-32768,  1097,
                    579: -32768,   422,-32768,  1491,-32768,   362,    42,   430,-32768,-32768,
                    580:    150,  1974,   438,   186,-32768,-32768,   103,-32768,-32768,    45,
                    581: -32768,-32768,-32768,   386,   451,-32768,   152,-32768,-32768,-32768,
                    582:    472,-32768,-32768,   440,-32768,  2074,-32768,-32768,   443,   444,
                    583: -32768,-32768,   444,-32768,-32768,-32768,-32768,-32768,   495,-32768,
                    584:   1232,-32768,  1847,-32768,-32768,   393,-32768,   476,-32768,   490,
                    585:    207,-32768,-32768,-32768,   484,-32768,-32768,-32768,-32768,   128,
                    586:    408,   269,-32768,-32768,   269,-32768,-32768,-32768,   467,-32768,
                    587:    558,   311,-32768,-32768,-32768,   494,   631,   561,  1286,    45,
                    588: -32768,-32768,    45,-32768,-32768,   240,   289,   600,   495,-32768,
                    589: -32768,   541,  1847,  1016,   542,  2074,-32768,   492,  1206,-32768,
                    590: -32768,-32768,-32768,   148,-32768,  1526,    99,   498,-32768,-32768,
                    591: -32768,-32768,-32768,   307,-32768,   124,   522,   120,-32768,-32768,
                    592: -32768,  1286,-32768,-32768,  1847,    37,-32768,   217,   355,   528,
                    593:    513,   672,-32768,-32768,-32768,-32768,  2000,-32768,   278,  1286,
                    594:   1088,   514,  1097,   408,-32768,-32768,   510,-32768,   265,   271,
                    595:    142,   270,   519,   561,-32768,  2074,  1847,-32768,-32768,   289,
                    596: -32768,-32768,-32768,   744,   518,-32768,-32768,-32768,-32768,  1599,
                    597:   1286,-32768,  1160,-32768,  1847,   552,-32768,-32768,-32768,-32768,
                    598: -32768,-32768,   517,   524,-32768,-32768,  2056,-32768,-32768,  1671,
                    599:    556,   536,-32768,-32768,   537,   538,  1847,   573,   547,   562,
                    600:   1799,    92,   623,-32768,   596,   565,-32768,   571,   703,-32768,
                    601:    625,   816,-32768,-32768,-32768,-32768,-32768,  2018,  1286,   638,
                    602: -32768,-32768,  1847,   592,-32768,  1847,  1847,   155,-32768,-32768,
                    603: -32768,-32768,   582,  1847,   583,-32768,   597,-32768,-32768,-32768,
                    604:    307,-32768,   124,   888,-32768,-32768,-32768,  1286,-32768,   584,
                    605:    588,  1847,   653,   608,   610,  1847,-32768,-32768,   613,-32768,
                    606:   1847,   284,-32768,    38,   314,-32768,    31,-32768,-32768,  1671,
                    607: -32768,   671,-32768,   616,-32768,-32768,-32768,   648,-32768,    74,
                    608: -32768,   311,-32768,   311,-32768,-32768,-32768,   618,-32768,   630,
                    609:   1847,-32768,-32768,   693,   634,-32768,-32768,-32768,-32768,-32768,
                    610:   1847,   636,-32768,   654,    98,   633,-32768,-32768,-32768,   645,
                    611: -32768,  1847,   693,   649,   693,   655,  1847,   659,   112,-32768,
                    612: -32768,-32768,   660,-32768,   419,   680,-32768,   232,   183,-32768,
                    613: -32768,   681,   419,-32768,-32768,   232,   722,   723,-32768
                    614: };
                    615: 
                    616: static const short yypgoto[] = {-32768,
                    617: -32768,-32768,-32768,   726,-32768,-32768,-32768,-32768,-32768,-32768,
                    618: -32768,-32768,     0,-32768,   -34,-32768,   579,   409,-32768,   -42,
                    619:     83,-32768,-32768,  -172,  -111,   563,-32768,-32768,   363,-32768,
                    620:    -13,-32768,    11,   708,    13,   704,   585,    -8,  -127,  -339,
                    621:    -45,   -98,   -52,-32768,-32768,-32768,  -182,-32768,   346,  -318,
                    622:    420,-32768,-32768,-32768,-32768,   -38,   -59,   411,   -15,   -31,
                    623: -32768,-32768,-32768,-32768,-32768,   569,     1,-32768,-32768,   567,
                    624:    434,   664,   575,   -28,   -67,   729,   -74,  -146,   394,-32768,
                    625:   -150,-32768,-32768,-32768,   435,    75,  -113,-32768,-32768,   -66,
                    626:   -258,  -444,  -338,-32768,   257,-32768,-32768,-32768,-32768,-32768,
                    627: -32768,-32768,-32768,-32768,   258,-32768,  -447,   216,-32768,   215,
                    628: -32768,   543,-32768,   391,-32768,  -222,  -220,   466,  -174,-32768,
                    629:    431,-32768,-32768,-32768
                    630: };
                    631: 
                    632: 
                    633: #define        YYLAST          2125
                    634: 
                    635: 
                    636: static const short yytable[] = {    74,
                    637:     82,   105,    41,   199,   102,    43,    47,   257,    29,    31,
                    638:     33,    48,    19,    19,    20,    20,   281,   112,   174,   248,
                    639:    380,   220,    88,   193,   132,   282,    84,   310,   190,   311,
                    640:    137,   106,    55,   346,   409,   134,   271,   178,   514,   194,
                    641:    513,   136,   255,   185,    84,   332,   -94,   -94,   -94,   -94,
                    642:    163,   -91,   -94,   429,   -94,   -94,   -94,    92,    -1,   184,
                    643:    272,    84,   131,   415,    92,    26,    27,   191,    26,    27,
                    644:    -94,   176,    89,   417,    34,   112,    90,   173,    26,    27,
                    645:    199,   434,   437,    88,   545,   429,   280,   216,    93,    94,
                    646:    247,   134,   285,   134,    26,    27,    -2,   214,    35,   215,
                    647:    306,    36,   558,   562,  -167,   175,   209,   563,   211,   316,
                    648:    554,  -165,   476,   173,   437,   569,   -94,    84,   219,    84,
                    649:     42,   190,    51,   212,   -91,   213,    36,   246,   255,   583,
                    650:     36,   190,   252,   277,   573,   430,    28,   190,   112,    30,
                    651:    494,   555,   292,   279,   292,    54,   594,   324,   585,    32,
                    652:     36,   318,    36,   318,   175,    56,   320,   167,   242,   243,
                    653:    509,   522,   175,   195,   516,   574,   284,   196,    92,   450,
                    654:    330,   117,    37,   248,   165,   331,   324,   176,   302,   586,
                    655:    310,    38,   311,   166,   167,   320,   167,   413,   124,   531,
                    656:    405,   517,   414,   323,   326,   139,   319,   393,   319,    93,
                    657:     94,    24,    25,   418,   165,   320,   167,   320,   167,   200,
                    658:    201,    36,    97,   166,   167,   175,   138,   306,   372,   315,
                    659:    306,   223,   224,   225,   112,   228,   229,   230,   231,   232,
                    660:    233,   234,   235,   236,   237,   238,   239,   240,   241,   422,
                    661:    163,   427,    36,    97,   364,   322,   325,   530,   202,   367,
                    662:    592,   164,    90,    48,   328,   593,   185,    98,   329,  -262,
                    663:   -262,  -262,  -262,   171,   482,   180,    99,  -262,  -262,  -262,
                    664:     93,    94,   443,   427,   191,   362,   385,   444,   292,   329,
                    665:    177,   394,   206,  -262,   336,   419,   337,   286,    98,   420,
                    666:    118,    26,    27,     5,    36,     7,    81,    99,   175,   210,
                    667:    355,     9,    10,    11,    88,   200,   201,   386,    91,    36,
                    668:     97,   -26,   -26,   -26,   -26,   278,   470,    13,   217,   -26,
                    669:    -26,   -26,   374,   376,   394,   428,    93,    94,    48,   -90,
                    670:    410,   407,   205,   441,    92,   -26,   470,   196,  -139,   442,
                    671:     37,   218,  -139,    90,   253,   254,   387,   432,   176,    38,
                    672:    433,   176,   541,   355,   307,    98,   196,   428,   119,  -205,
                    673:    411,   154,   155,   156,    99,    93,    94,   109,   110,     5,
                    674:     44,     7,    45,     9,    10,    11,  -139,     9,    10,    11,
                    675:   -139,   -26,   543,   356,   219,   359,    90,  -211,  -211,     5,
                    676:      6,     7,     8,    13,   221,   466,   222,     9,    10,    11,
                    677:    436,   146,   147,   148,   149,   150,   151,   152,   153,   154,
                    678:    155,   156,   588,    13,   381,   466,   470,   383,    92,   448,
                    679:    596,   356,   488,   269,   421,   199,   493,    59,   556,   465,
                    680:    557,   268,   436,   269,    46,   397,   356,   108,   109,   110,
                    681:    468,   275,   469,   288,     9,    10,    11,   276,   511,   465,
                    682:    253,   254,   515,   305,   501,   503,   294,   525,   295,   519,
                    683:     48,   495,   524,   296,   356,   365,   366,   416,   127,   129,
                    684:      5,     6,     7,     8,   297,   298,   369,   534,     9,    10,
                    685:     11,   538,   356,   356,   300,   303,   540,   527,   152,   153,
                    686:    154,   155,   156,   304,    13,   466,   312,   317,   258,   447,
                    687:    259,     5,     6,     7,     8,   327,   341,   260,   338,     9,
                    688:     10,    11,   344,   356,   342,   356,   345,   478,   150,   151,
                    689:    152,   153,   154,   155,   156,    13,   570,   347,   185,   465,
                    690:   -103,  -103,  -103,  -103,  -103,  -103,  -103,   578,  -103,  -103,
                    691:   -103,  -103,  -103,   360,  -103,  -103,  -103,  -103,  -103,  -103,
                    692:   -103,  -103,  -103,  -103,  -103,  -103,  -103,   361,   363,  -103,
                    693:    371,   356,   373,   377,   401,  -319,  -103,   157,   158,  -103,
                    694:    159,   160,   161,   162,  -103,  -103,  -103,   -30,   400,   412,
                    695:   -103,  -103,  -244,   438,   440,  -103,   445,   449,   479,   480,
                    696:    356,   481,   -31,   483,   486,   487,  -103,  -103,  -103,  -103,
                    697:    389,  -103,  -262,  -262,  -262,  -262,  -262,  -262,  -262,   489,
                    698:   -262,  -262,  -262,  -262,  -262,   490,  -262,  -262,  -262,  -262,
                    699:   -262,  -262,  -262,  -262,  -262,  -262,  -262,  -262,  -262,   496,
                    700:    491,  -262,   498,   499,     5,    44,     7,    45,  -262,   500,
                    701:    504,  -262,     9,    10,    11,   510,  -262,  -262,  -262,   512,
                    702:    518,   520,  -262,  -262,   521,   533,   532,  -262,    13,   148,
                    703:    149,   150,   151,   152,   153,   154,   155,   156,  -262,   535,
                    704:   -262,  -262,   185,  -262,  -262,  -262,   536,   537,   548,  -262,
                    705:   -262,   539,  -262,   549,   553,   559,  -262,   561,  -262,  -262,
                    706:   -262,  -262,  -262,  -262,  -262,  -262,  -262,  -262,  -262,   375,
                    707:   -262,   564,   568,  -262,   571,   575,     5,    44,     7,    45,
                    708:   -262,   572,   576,  -262,     9,    10,    11,   580,  -262,  -262,
                    709:   -262,   598,   599,   582,  -262,  -262,   584,   587,    23,  -262,
                    710:     13,   149,   150,   151,   152,   153,   154,   155,   156,   245,
                    711:   -262,   426,  -262,  -262,   185,  -262,  -262,  -262,   590,   595,
                    712:    273,  -262,  -262,   423,  -262,   107,   120,   256,  -262,   446,
                    713:   -262,  -262,  -262,  -262,  -262,  -262,  -262,  -262,  -262,  -262,
                    714:   -262,   502,  -262,   399,   404,  -262,   289,   293,   384,   208,
                    715:    287,   122,  -262,   396,   424,  -262,   546,   547,   579,   581,
                    716:   -262,  -262,  -262,   439,   370,   313,  -262,  -262,   408,     0,
                    717:      0,  -262,   147,   148,   149,   150,   151,   152,   153,   154,
                    718:    155,   156,  -262,  -245,  -262,  -262,   505,  -262,  -262,  -262,
                    719:      0,     0,     0,  -262,  -262,     0,  -262,     0,     0,     0,
                    720:   -262,     0,  -262,  -262,  -262,  -262,  -262,  -262,  -262,  -262,
                    721:   -262,  -262,  -262,     0,  -262,     0,     0,  -262,     0,     0,
                    722:      0,     0,     0,     0,  -262,     0,     0,  -262,     0,     0,
                    723:      0,     0,  -262,  -262,  -262,     0,     0,     0,  -262,  -262,
                    724:      0,     0,     0,  -262,     0,     0,     0,     0,     0,     0,
                    725:      0,     0,     0,     0,  -262,     0,  -262,  -262,   528,  -262,
                    726:   -271,  -271,     0,     0,     0,  -271,  -271,     0,  -271,     0,
                    727:      0,     0,  -271,     0,  -271,  -271,  -271,  -271,  -271,  -271,
                    728:   -271,  -271,  -271,  -271,  -271,     5,  -271,     7,   172,  -271,
                    729:      0,     0,     0,     9,    10,    11,  -271,     0,     0,  -271,
                    730:      0,     0,     0,     0,  -271,  -271,  -271,     0,     0,    13,
                    731:   -271,  -271,     0,     0,     0,  -271,     0,     0,     0,     0,
                    732:      0,     0,     0,     0,     0,     0,  -271,     0,  -271,  -271,
                    733:    133,  -271,    57,     5,     0,     7,    81,    58,    59,     0,
                    734:     60,     9,    10,    11,     0,     0,     0,     0,     0,     0,
                    735:   -213,  -213,     0,     0,     0,     0,     0,    13,    61,     0,
                    736:      0,    62,     0,     0,     0,     0,     0,     0,    63,     0,
                    737:      0,    64,     0,     0,     0,     0,    65,    66,    67,     0,
                    738:      0,     0,    68,    69,     0,     0,   351,    70,   352,    27,
                    739:      0,     0,     0,    58,    59,     0,    60,     0,     0,     0,
                    740:     71,    72,     0,   -80,     0,     0,     0,     0,     0,     0,
                    741:      0,     0,     0,     0,    61,     0,     0,    62,     0,     0,
                    742:      0,     0,     0,     0,    63,     0,     0,    64,     0,     0,
                    743:      0,     0,    65,    66,    67,     0,     0,     0,    68,    69,
                    744:      0,     0,     0,    70,   353,     0,     0,     0,     0,     0,
                    745:      0,     0,     0,     0,     0,   398,    71,    72,   351,   354,
                    746:    352,    27,     0,     0,     0,    58,    59,   308,    60,     0,
                    747:      5,     6,     7,     8,     0,     0,   260,     0,     9,    10,
                    748:     11,     0,     0,     0,     0,     0,    61,     0,     0,    62,
                    749:      0,     0,     0,     0,    13,     0,    63,     0,     0,    64,
                    750:      0,     0,     0,     0,    65,    66,    67,     0,     0,     0,
                    751:     68,    69,     0,     0,     0,    70,   435,     0,     0,     0,
                    752:      0,     0,     0,     0,     0,     0,     0,  -202,    71,    72,
                    753:    351,   354,   352,    27,  -319,     0,     0,    58,    59,     5,
                    754:     60,     7,   172,     0,     0,     0,     0,     9,    10,    11,
                    755:      0,     0,     0,     0,     0,     0,     0,     0,    61,     0,
                    756:      0,    62,     0,    13,     0,     0,     0,     0,    63,     0,
                    757:      0,    64,     0,     0,     0,     0,    65,    66,    67,     0,
                    758:      0,     0,    68,    69,   165,     0,     0,    70,   435,     0,
                    759:      0,     0,     0,   166,   167,     0,     0,     0,     0,   477,
                    760:     71,    72,   351,   354,   352,    27,     0,     0,     0,    58,
                    761:     59,   142,    60,   143,   144,   145,   146,   147,   148,   149,
                    762:    150,   151,   152,   153,   154,   155,   156,     0,     0,     0,
                    763:     61,     0,     0,    62,     0,     0,     0,     0,     0,     0,
                    764:     63,     0,     0,    64,     0,     0,     0,     0,    65,    66,
                    765:     67,     0,     0,     0,    68,    69,   351,     0,    57,    70,
                    766:    353,     0,     0,    58,    59,   203,    60,     0,   -22,   -22,
                    767:    -22,   -22,    71,    72,     0,   354,   -22,   -22,   -22,     0,
                    768:      0,     0,     0,     0,    61,     0,     0,    62,     0,     0,
                    769:      0,    92,   -22,     0,    63,  -139,     0,    64,     0,  -139,
                    770:      0,     0,    65,    66,    67,     0,     0,     0,    68,    69,
                    771:      0,     0,     0,    70,     0,     0,     0,     0,     0,     0,
                    772:      0,     0,    93,    94,     0,     0,    71,    72,     0,   354,
                    773:      0,     0,     0,  -139,     0,     0,   197,  -139,   -22,   -18,
                    774:    -18,   -18,   -18,     0,     0,    57,     0,   -18,   -18,   -18,
                    775:     58,    59,     0,    60,     0,     0,     0,     0,     0,     0,
                    776:      0,     0,    92,   -18,     0,     0,  -139,     0,     0,     0,
                    777:   -139,    61,     0,     0,    62,     0,     0,     0,     0,     0,
                    778:      0,    63,     0,     0,    64,     0,     0,     0,     0,    65,
                    779:     66,    67,     0,    57,     0,    68,    69,     0,    58,    59,
                    780:     70,    60,     0,     0,  -139,     0,     0,     0,  -139,   -18,
                    781:      0,     0,     0,    71,    72,     0,     0,   183,     0,    61,
                    782:      0,     0,    62,     0,     0,     0,     0,     0,    57,    63,
                    783:      0,     0,    64,    58,    59,     0,    60,    65,    66,    67,
                    784:      0,     0,     0,    68,    69,     0,     0,     0,    70,     0,
                    785:      0,     0,     0,     0,    61,     0,     0,    62,     0,     0,
                    786:      0,    71,    72,    57,    63,   251,     0,    64,    58,    59,
                    787:      0,    60,    65,    66,    67,     0,     0,     0,    68,    69,
                    788:      0,     0,     0,    70,     0,     0,     0,     0,     0,    61,
                    789:      0,     0,    62,     0,     0,     0,    71,    72,    57,    63,
                    790:    283,     0,    64,    58,    59,     0,    60,    65,    66,    67,
                    791:      0,     0,     0,    68,    69,     0,     0,     0,    70,     0,
                    792:      0,     0,     0,     0,    61,     0,     0,    62,     0,     0,
                    793:      0,    71,    72,     0,    63,   314,     0,    64,     0,     0,
                    794:      0,     0,    65,    66,    67,     0,     0,     0,    68,    69,
                    795:      0,     0,     0,    70,   145,   146,   147,   148,   149,   150,
                    796:    151,   152,   153,   154,   155,   156,    71,    72,     0,     0,
                    797:    406,   352,   451,     6,     7,     8,    58,    59,     0,    60,
                    798:      9,    10,    11,   452,     0,   453,   454,   455,   456,   457,
                    799:    458,   459,   460,   461,   462,   463,    13,    61,     0,     0,
                    800:     62,     0,     0,     0,     0,     0,     0,    63,     0,     0,
                    801:     64,     0,     0,     0,     0,    65,    66,    67,     0,     0,
                    802:      0,    68,    69,     0,     0,     0,    70,     0,     0,     0,
                    803:      0,     0,     0,     0,     0,     0,     0,   464,     0,    71,
                    804:     72,     0,   219,   352,    27,     0,     0,     0,    58,    59,
                    805:      0,    60,     0,     0,     0,   452,     0,   453,   454,   455,
                    806:    456,   457,   458,   459,   460,   461,   462,   463,     0,    61,
                    807:      0,     0,    62,     0,     0,     0,     0,     0,     0,    63,
                    808:      0,     0,    64,     0,     0,     0,     0,    65,    66,    67,
                    809:      0,    57,     0,    68,    69,     0,    58,    59,    70,    60,
                    810:      0,     0,     0,     0,     0,     0,     0,     0,     0,   464,
                    811:      0,    71,    72,     0,   219,     0,     0,    61,     0,     0,
                    812:     62,     0,     0,     0,     0,     0,     0,    63,     0,     0,
                    813:     64,     0,     0,     0,     0,    65,    66,    67,     0,     0,
                    814:      0,    68,    69,     0,    57,     5,    70,     7,    81,    58,
                    815:     59,     0,    60,     9,    10,    11,     0,     0,     0,    71,
                    816:     72,     0,   301,     0,     0,     0,     0,     0,     0,    13,
                    817:     61,    57,     0,    62,     0,     0,    58,    59,     0,    60,
                    818:     63,     0,     0,    64,     0,     0,     0,     0,    65,    66,
                    819:     67,     0,     0,     0,    68,    69,     0,    61,     0,    70,
                    820:     62,     0,     0,     0,     0,     0,     0,    63,     0,     0,
                    821:     64,     0,    71,    72,     0,    65,    66,    67,     0,    57,
                    822:      0,    68,    69,     0,    58,    59,    70,    60,     0,     0,
                    823:      0,     0,     0,     0,     0,     0,     0,   492,     0,    71,
                    824:     72,     0,     0,     0,     0,    61,    57,     0,    62,     0,
                    825:      0,    58,    59,     0,    60,    63,     0,     0,    64,     0,
                    826:      0,     0,     0,    65,    66,    67,     0,     0,     0,    68,
                    827:     69,     0,    61,    57,    70,    62,     0,     0,    58,    59,
                    828:      0,    60,    63,     0,     0,    64,     0,    71,    72,     0,
                    829:     65,    66,    67,     0,     0,     0,    68,    69,     0,    61,
                    830:      0,   126,    62,     0,     0,     0,     0,     0,     0,    63,
                    831:      0,     0,    64,     0,    71,    72,     0,    65,    66,    67,
                    832:      0,     0,     0,    68,    69,     0,     0,     4,   128,  -107,
                    833:      5,     6,     7,     8,     0,     0,     0,     0,     9,    10,
                    834:     11,    71,    72,     0,     0,     0,    36,     5,    44,     7,
                    835:     45,     0,     0,    12,    13,     9,    10,    11,   144,   145,
                    836:    146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
                    837:    156,    13,     0,     0,     0,  -107,     0,     0,     0,     0,
                    838:      0,     0,     0,     0,  -107,     0,     0,     0,     0,     0,
                    839:      0,     0,   324,     0,     0,    14,     0,     0,     0,     0,
                    840:      0,   320,   167,   140,   141,   142,     0,   143,   144,   145,
                    841:    146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
                    842:    156,   140,   141,   142,     0,   143,   144,   145,   146,   147,
                    843:    148,   149,   150,   151,   152,   153,   154,   155,   156,     0,
                    844:      0,     0,     0,     0,   431,     0,     0,     0,     0,     0,
                    845:      0,     0,     0,     0,     0,     0,   191,     0,     0,   140,
                    846:    141,   142,   508,   143,   144,   145,   146,   147,   148,   149,
                    847:    150,   151,   152,   153,   154,   155,   156,   140,   141,   142,
                    848:      0,   143,   144,   145,   146,   147,   148,   149,   150,   151,
                    849:    152,   153,   154,   155,   156
                    850: };
                    851: 
                    852: static const short yycheck[] = {    34,
                    853:     35,    47,    18,   102,    43,    19,    20,   180,     9,    10,
                    854:     11,    20,     2,     3,     2,     3,   199,    49,    86,   166,
                    855:    339,   135,    38,    98,    67,   200,    35,   250,    95,   250,
                    856:     73,    47,    32,   292,   374,    70,   187,    90,   486,    99,
                    857:    485,    70,   170,     1,    53,     1,     4,     5,     6,     7,
                    858:      9,     1,    10,   392,    12,    13,    14,    27,     0,    94,
                    859:     10,    70,    63,   382,    27,     3,     4,    31,     3,     4,
                    860:     28,    87,    69,    37,    58,   107,    73,    86,     3,     4,
                    861:    179,   400,   401,    99,   529,   424,   198,   130,    58,    59,
                    862:    165,   126,   204,   128,     3,     4,     0,   126,    58,   128,
                    863:    247,     3,   547,   551,    74,     7,   120,   552,   122,    68,
                    864:     37,    74,   431,   122,   433,   560,    74,   126,    74,   128,
                    865:     69,   188,    74,   123,    74,   125,     3,   162,   256,   577,
                    866:      3,   198,   167,   193,    37,   394,    74,   204,   170,    74,
                    867:     49,    68,   209,   196,   211,    74,   591,    49,    37,    74,
                    868:      3,     4,     3,     4,     7,    74,    58,    59,   159,   160,
                    869:    479,   501,     7,    69,    10,    68,   201,    73,    27,   428,
                    870:     68,    70,    49,   320,    49,    73,    49,   193,   221,    68,
                    871:    403,    58,   403,    58,    59,    58,    59,    68,    70,   508,
                    872:    365,    37,    73,   261,   262,    73,    49,   348,    49,    58,
                    873:     59,    69,    70,   386,    49,    58,    59,    58,    59,    58,
                    874:     59,     3,     4,    58,    59,     7,    68,   364,   332,   254,
                    875:    367,   139,   140,   141,   256,   143,   144,   145,   146,   147,
                    876:    148,   149,   150,   151,   152,   153,   154,   155,   156,   390,
                    877:      9,   392,     3,     4,   319,   261,   262,   506,    69,   324,
                    878:     68,    68,    73,   262,    69,    73,     1,    49,    73,     4,
                    879:      5,     6,     7,    68,   447,    58,    58,    12,    13,    14,
                    880:     58,    59,     3,   424,    31,    69,    37,     8,   345,    73,
                    881:     68,   348,    73,    28,   274,    69,   274,   205,    49,    73,
                    882:      1,     3,     4,     4,     3,     6,     7,    58,     7,    69,
                    883:    301,    12,    13,    14,   320,    58,    59,   346,     1,     3,
                    884:      4,     4,     5,     6,     7,    68,   430,    28,    68,    12,
                    885:     13,    14,   336,   337,   391,   392,    58,    59,   337,    74,
                    886:    376,   366,    35,    69,    27,    28,   450,    73,    31,    69,
                    887:     49,    68,    35,    73,    58,    59,   347,    70,   364,    58,
                    888:     73,   367,    69,   354,    68,    49,    73,   424,    69,    70,
                    889:    376,    49,    50,    51,    58,    58,    59,     6,     7,     4,
                    890:      5,     6,     7,    12,    13,    14,    69,    12,    13,    14,
                    891:     73,    74,    69,   301,    74,   303,    73,    69,    70,     4,
                    892:      5,     6,     7,    28,    68,   430,    69,    12,    13,    14,
                    893:    401,    41,    42,    43,    44,    45,    46,    47,    48,    49,
                    894:     50,    51,   585,    28,   340,   450,   530,   343,    27,   420,
                    895:    593,   339,   457,    69,    70,   524,   461,     9,   542,   430,
                    896:    544,    75,   433,    69,    69,   353,   354,     5,     6,     7,
                    897:    430,    58,   430,    70,    12,    13,    14,    35,   483,   450,
                    898:     58,    59,   487,    75,   468,   469,    70,   503,    70,   494,
                    899:    469,   462,   501,    68,   382,    58,    59,   385,    60,    61,
                    900:      4,     5,     6,     7,    68,    70,    10,   512,    12,    13,
                    901:     14,   516,   400,   401,    68,    37,   521,   503,    47,    48,
                    902:     49,    50,    51,    68,    28,   530,    75,    68,     1,   417,
                    903:      3,     4,     5,     6,     7,    68,    35,    10,    58,    12,
                    904:     13,    14,    70,   431,    75,   433,    73,   435,    45,    46,
                    905:     47,    48,    49,    50,    51,    28,   561,    33,     1,   530,
                    906:      3,     4,     5,     6,     7,     8,     9,   572,    11,    12,
                    907:     13,    14,    15,    68,    17,    18,    19,    20,    21,    22,
                    908:     23,    24,    25,    26,    27,    28,    29,    68,    75,    32,
                    909:      3,   479,    69,     3,    73,    68,    39,    53,    54,    42,
                    910:     56,    57,    58,    59,    47,    48,    49,    37,    37,    58,
                    911:     53,    54,    70,    70,    75,    58,    68,    70,    37,    73,
                    912:    508,    68,    37,    58,    58,    58,    69,    70,    71,    72,
                    913:      1,    74,     3,     4,     5,     6,     7,     8,     9,    37,
                    914:     11,    12,    13,    14,    15,    69,    17,    18,    19,    20,
                    915:     21,    22,    23,    24,    25,    26,    27,    28,    29,     7,
                    916:     69,    32,    37,    69,     4,     5,     6,     7,    39,    69,
                    917:     16,    42,    12,    13,    14,     8,    47,    48,    49,    58,
                    918:     69,    69,    53,    54,    58,    68,    73,    58,    28,    43,
                    919:     44,    45,    46,    47,    48,    49,    50,    51,    69,    17,
                    920:     71,    72,     1,    74,     3,     4,    69,    68,     8,     8,
                    921:      9,    69,    11,    68,    37,    68,    15,    58,    17,    18,
                    922:     19,    20,    21,    22,    23,    24,    25,    26,    27,    69,
                    923:     29,     9,    69,    32,    69,    73,     4,     5,     6,     7,
                    924:     39,    58,    68,    42,    12,    13,    14,    69,    47,    48,
                    925:     49,     0,     0,    69,    53,    54,    68,    68,     3,    58,
                    926:     28,    44,    45,    46,    47,    48,    49,    50,    51,   161,
                    927:     69,    70,    71,    72,     1,    74,     3,     4,    69,    69,
                    928:    188,     8,     9,   391,    11,    48,    53,   173,    15,   414,
                    929:     17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
                    930:     27,    69,    29,   354,   364,    32,   208,   211,   345,   116,
                    931:    206,    53,    39,   349,   391,    42,   530,   530,   573,   575,
                    932:     47,    48,    49,   403,   329,   253,    53,    54,   368,    -1,
                    933:     -1,    58,    42,    43,    44,    45,    46,    47,    48,    49,
                    934:     50,    51,    69,    70,    71,    72,     1,    74,     3,     4,
                    935:     -1,    -1,    -1,     8,     9,    -1,    11,    -1,    -1,    -1,
                    936:     15,    -1,    17,    18,    19,    20,    21,    22,    23,    24,
                    937:     25,    26,    27,    -1,    29,    -1,    -1,    32,    -1,    -1,
                    938:     -1,    -1,    -1,    -1,    39,    -1,    -1,    42,    -1,    -1,
                    939:     -1,    -1,    47,    48,    49,    -1,    -1,    -1,    53,    54,
                    940:     -1,    -1,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,
                    941:     -1,    -1,    -1,    -1,    69,    -1,    71,    72,     1,    74,
                    942:      3,     4,    -1,    -1,    -1,     8,     9,    -1,    11,    -1,
                    943:     -1,    -1,    15,    -1,    17,    18,    19,    20,    21,    22,
                    944:     23,    24,    25,    26,    27,     4,    29,     6,     7,    32,
                    945:     -1,    -1,    -1,    12,    13,    14,    39,    -1,    -1,    42,
                    946:     -1,    -1,    -1,    -1,    47,    48,    49,    -1,    -1,    28,
                    947:     53,    54,    -1,    -1,    -1,    58,    -1,    -1,    -1,    -1,
                    948:     -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    71,    72,
                    949:      1,    74,     3,     4,    -1,     6,     7,     8,     9,    -1,
                    950:     11,    12,    13,    14,    -1,    -1,    -1,    -1,    -1,    -1,
                    951:     69,    70,    -1,    -1,    -1,    -1,    -1,    28,    29,    -1,
                    952:     -1,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,
                    953:     -1,    42,    -1,    -1,    -1,    -1,    47,    48,    49,    -1,
                    954:     -1,    -1,    53,    54,    -1,    -1,     1,    58,     3,     4,
                    955:     -1,    -1,    -1,     8,     9,    -1,    11,    -1,    -1,    -1,
                    956:     71,    72,    -1,    74,    -1,    -1,    -1,    -1,    -1,    -1,
                    957:     -1,    -1,    -1,    -1,    29,    -1,    -1,    32,    -1,    -1,
                    958:     -1,    -1,    -1,    -1,    39,    -1,    -1,    42,    -1,    -1,
                    959:     -1,    -1,    47,    48,    49,    -1,    -1,    -1,    53,    54,
                    960:     -1,    -1,    -1,    58,    59,    -1,    -1,    -1,    -1,    -1,
                    961:     -1,    -1,    -1,    -1,    -1,    70,    71,    72,     1,    74,
                    962:      3,     4,    -1,    -1,    -1,     8,     9,     1,    11,    -1,
                    963:      4,     5,     6,     7,    -1,    -1,    10,    -1,    12,    13,
                    964:     14,    -1,    -1,    -1,    -1,    -1,    29,    -1,    -1,    32,
                    965:     -1,    -1,    -1,    -1,    28,    -1,    39,    -1,    -1,    42,
                    966:     -1,    -1,    -1,    -1,    47,    48,    49,    -1,    -1,    -1,
                    967:     53,    54,    -1,    -1,    -1,    58,    59,    -1,    -1,    -1,
                    968:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    71,    72,
                    969:      1,    74,     3,     4,    68,    -1,    -1,     8,     9,     4,
                    970:     11,     6,     7,    -1,    -1,    -1,    -1,    12,    13,    14,
                    971:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    29,    -1,
                    972:     -1,    32,    -1,    28,    -1,    -1,    -1,    -1,    39,    -1,
                    973:     -1,    42,    -1,    -1,    -1,    -1,    47,    48,    49,    -1,
                    974:     -1,    -1,    53,    54,    49,    -1,    -1,    58,    59,    -1,
                    975:     -1,    -1,    -1,    58,    59,    -1,    -1,    -1,    -1,    70,
                    976:     71,    72,     1,    74,     3,     4,    -1,    -1,    -1,     8,
                    977:      9,    36,    11,    38,    39,    40,    41,    42,    43,    44,
                    978:     45,    46,    47,    48,    49,    50,    51,    -1,    -1,    -1,
                    979:     29,    -1,    -1,    32,    -1,    -1,    -1,    -1,    -1,    -1,
                    980:     39,    -1,    -1,    42,    -1,    -1,    -1,    -1,    47,    48,
                    981:     49,    -1,    -1,    -1,    53,    54,     1,    -1,     3,    58,
                    982:     59,    -1,    -1,     8,     9,     1,    11,    -1,     4,     5,
                    983:      6,     7,    71,    72,    -1,    74,    12,    13,    14,    -1,
                    984:     -1,    -1,    -1,    -1,    29,    -1,    -1,    32,    -1,    -1,
                    985:     -1,    27,    28,    -1,    39,    31,    -1,    42,    -1,    35,
                    986:     -1,    -1,    47,    48,    49,    -1,    -1,    -1,    53,    54,
                    987:     -1,    -1,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,
                    988:     -1,    -1,    58,    59,    -1,    -1,    71,    72,    -1,    74,
                    989:     -1,    -1,    -1,    69,    -1,    -1,     1,    73,    74,     4,
                    990:      5,     6,     7,    -1,    -1,     3,    -1,    12,    13,    14,
                    991:      8,     9,    -1,    11,    -1,    -1,    -1,    -1,    -1,    -1,
                    992:     -1,    -1,    27,    28,    -1,    -1,    31,    -1,    -1,    -1,
                    993:     35,    29,    -1,    -1,    32,    -1,    -1,    -1,    -1,    -1,
                    994:     -1,    39,    -1,    -1,    42,    -1,    -1,    -1,    -1,    47,
                    995:     48,    49,    -1,     3,    -1,    53,    54,    -1,     8,     9,
                    996:     58,    11,    -1,    -1,    69,    -1,    -1,    -1,    73,    74,
                    997:     -1,    -1,    -1,    71,    72,    -1,    -1,    75,    -1,    29,
                    998:     -1,    -1,    32,    -1,    -1,    -1,    -1,    -1,     3,    39,
                    999:     -1,    -1,    42,     8,     9,    -1,    11,    47,    48,    49,
                   1000:     -1,    -1,    -1,    53,    54,    -1,    -1,    -1,    58,    -1,
                   1001:     -1,    -1,    -1,    -1,    29,    -1,    -1,    32,    -1,    -1,
                   1002:     -1,    71,    72,     3,    39,    75,    -1,    42,     8,     9,
                   1003:     -1,    11,    47,    48,    49,    -1,    -1,    -1,    53,    54,
                   1004:     -1,    -1,    -1,    58,    -1,    -1,    -1,    -1,    -1,    29,
                   1005:     -1,    -1,    32,    -1,    -1,    -1,    71,    72,     3,    39,
                   1006:     75,    -1,    42,     8,     9,    -1,    11,    47,    48,    49,
                   1007:     -1,    -1,    -1,    53,    54,    -1,    -1,    -1,    58,    -1,
                   1008:     -1,    -1,    -1,    -1,    29,    -1,    -1,    32,    -1,    -1,
                   1009:     -1,    71,    72,    -1,    39,    75,    -1,    42,    -1,    -1,
                   1010:     -1,    -1,    47,    48,    49,    -1,    -1,    -1,    53,    54,
                   1011:     -1,    -1,    -1,    58,    40,    41,    42,    43,    44,    45,
                   1012:     46,    47,    48,    49,    50,    51,    71,    72,    -1,    -1,
                   1013:     75,     3,     4,     5,     6,     7,     8,     9,    -1,    11,
                   1014:     12,    13,    14,    15,    -1,    17,    18,    19,    20,    21,
                   1015:     22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
                   1016:     32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
                   1017:     42,    -1,    -1,    -1,    -1,    47,    48,    49,    -1,    -1,
                   1018:     -1,    53,    54,    -1,    -1,    -1,    58,    -1,    -1,    -1,
                   1019:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    71,
                   1020:     72,    -1,    74,     3,     4,    -1,    -1,    -1,     8,     9,
                   1021:     -1,    11,    -1,    -1,    -1,    15,    -1,    17,    18,    19,
                   1022:     20,    21,    22,    23,    24,    25,    26,    27,    -1,    29,
                   1023:     -1,    -1,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
                   1024:     -1,    -1,    42,    -1,    -1,    -1,    -1,    47,    48,    49,
                   1025:     -1,     3,    -1,    53,    54,    -1,     8,     9,    58,    11,
                   1026:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,
                   1027:     -1,    71,    72,    -1,    74,    -1,    -1,    29,    -1,    -1,
                   1028:     32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
                   1029:     42,    -1,    -1,    -1,    -1,    47,    48,    49,    -1,    -1,
                   1030:     -1,    53,    54,    -1,     3,     4,    58,     6,     7,     8,
                   1031:      9,    -1,    11,    12,    13,    14,    -1,    -1,    -1,    71,
                   1032:     72,    -1,    74,    -1,    -1,    -1,    -1,    -1,    -1,    28,
                   1033:     29,     3,    -1,    32,    -1,    -1,     8,     9,    -1,    11,
                   1034:     39,    -1,    -1,    42,    -1,    -1,    -1,    -1,    47,    48,
                   1035:     49,    -1,    -1,    -1,    53,    54,    -1,    29,    -1,    58,
                   1036:     32,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
                   1037:     42,    -1,    71,    72,    -1,    47,    48,    49,    -1,     3,
                   1038:     -1,    53,    54,    -1,     8,     9,    58,    11,    -1,    -1,
                   1039:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    71,
                   1040:     72,    -1,    -1,    -1,    -1,    29,     3,    -1,    32,    -1,
                   1041:     -1,     8,     9,    -1,    11,    39,    -1,    -1,    42,    -1,
                   1042:     -1,    -1,    -1,    47,    48,    49,    -1,    -1,    -1,    53,
                   1043:     54,    -1,    29,     3,    58,    32,    -1,    -1,     8,     9,
                   1044:     -1,    11,    39,    -1,    -1,    42,    -1,    71,    72,    -1,
                   1045:     47,    48,    49,    -1,    -1,    -1,    53,    54,    -1,    29,
                   1046:     -1,    58,    32,    -1,    -1,    -1,    -1,    -1,    -1,    39,
                   1047:     -1,    -1,    42,    -1,    71,    72,    -1,    47,    48,    49,
                   1048:     -1,    -1,    -1,    53,    54,    -1,    -1,     1,    58,     3,
                   1049:      4,     5,     6,     7,    -1,    -1,    -1,    -1,    12,    13,
                   1050:     14,    71,    72,    -1,    -1,    -1,     3,     4,     5,     6,
                   1051:      7,    -1,    -1,    27,    28,    12,    13,    14,    39,    40,
                   1052:     41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
                   1053:     51,    28,    -1,    -1,    -1,    49,    -1,    -1,    -1,    -1,
                   1054:     -1,    -1,    -1,    -1,    58,    -1,    -1,    -1,    -1,    -1,
                   1055:     -1,    -1,    49,    -1,    -1,    69,    -1,    -1,    -1,    -1,
                   1056:     -1,    58,    59,    34,    35,    36,    -1,    38,    39,    40,
                   1057:     41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
                   1058:     51,    34,    35,    36,    -1,    38,    39,    40,    41,    42,
                   1059:     43,    44,    45,    46,    47,    48,    49,    50,    51,    -1,
                   1060:     -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,    -1,    -1,
                   1061:     -1,    -1,    -1,    -1,    -1,    -1,    31,    -1,    -1,    34,
                   1062:     35,    36,    75,    38,    39,    40,    41,    42,    43,    44,
                   1063:     45,    46,    47,    48,    49,    50,    51,    34,    35,    36,
                   1064:     -1,    38,    39,    40,    41,    42,    43,    44,    45,    46,
                   1065:     47,    48,    49,    50,    51
                   1066: };
                   1067: /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
                   1068: #line 3 "bison.simple"
                   1069: 
                   1070: /* Skeleton output parser for bison,
                   1071:    Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
                   1072: 
                   1073:    This program is free software; you can redistribute it and/or modify
                   1074:    it under the terms of the GNU General Public License as published by
                   1075:    the Free Software Foundation; either version 1, or (at your option)
                   1076:    any later version.
                   1077: 
                   1078:    This program is distributed in the hope that it will be useful,
                   1079:    but WITHOUT ANY WARRANTY; without even the implied warranty of
                   1080:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                   1081:    GNU General Public License for more details.
                   1082: 
                   1083:    You should have received a copy of the GNU General Public License
                   1084:    along with this program; if not, write to the Free Software
                   1085:    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
                   1086: 
                   1087: 
                   1088: #ifndef alloca
                   1089: #ifdef __GNUC__
                   1090: #define alloca __builtin_alloca
                   1091: #else /* not GNU C.  */
                   1092: #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__)
                   1093: #include <alloca.h>
                   1094: #else /* not sparc */
                   1095: #if defined (MSDOS) && !defined (__TURBOC__)
                   1096: #include <malloc.h>
                   1097: #else /* not MSDOS, or __TURBOC__ */
                   1098: #if defined(_AIX)
                   1099: #include <malloc.h>
                   1100:  #pragma alloca
                   1101: #endif /* not _AIX */
                   1102: #endif /* not MSDOS, or __TURBOC__ */
                   1103: #endif /* not sparc.  */
                   1104: #endif /* not GNU C.  */
                   1105: #endif /* alloca not defined.  */
                   1106: 
                   1107: /* This is the parser code that is written into each bison parser
                   1108:   when the %semantic_parser declaration is not specified in the grammar.
                   1109:   It was written by Richard Stallman by simplifying the hairy parser
                   1110:   used when %semantic_parser is specified.  */
                   1111: 
                   1112: /* Note: there must be only one dollar sign in this file.
                   1113:    It is replaced by the list of actions, each action
                   1114:    as one case of the switch.  */
                   1115: 
                   1116: #define yyerrok                (yyerrstatus = 0)
                   1117: #define yyclearin      (yychar = YYEMPTY)
                   1118: #define YYEMPTY                -2
                   1119: #define YYEOF          0
                   1120: #define YYACCEPT       return(0)
                   1121: #define YYABORT        return(1)
                   1122: #define YYERROR                goto yyerrlab1
                   1123: /* Like YYERROR except do call yyerror.
                   1124:    This remains here temporarily to ease the
                   1125:    transition to the new meaning of YYERROR, for GCC.
                   1126:    Once GCC version 2 has supplanted version 1, this can go.  */
                   1127: #define YYFAIL         goto yyerrlab
                   1128: #define YYRECOVERING()  (!!yyerrstatus)
                   1129: #define YYBACKUP(token, value) \
                   1130: do                                                             \
                   1131:   if (yychar == YYEMPTY && yylen == 1)                         \
                   1132:     { yychar = (token), yylval = (value);                      \
                   1133:       yychar1 = YYTRANSLATE (yychar);                          \
                   1134:       YYPOPSTACK;                                              \
                   1135:       goto yybackup;                                           \
                   1136:     }                                                          \
                   1137:   else                                                         \
                   1138:     { yyerror ("syntax error: cannot back up"); YYERROR; }     \
                   1139: while (0)
                   1140: 
                   1141: #define YYTERROR       1
                   1142: #define YYERRCODE      256
                   1143: 
                   1144: #ifndef YYPURE
                   1145: #define YYLEX          yylex()
                   1146: #endif
                   1147: 
                   1148: #ifdef YYPURE
                   1149: #ifdef YYLSP_NEEDED
                   1150: #define YYLEX          yylex(&yylval, &yylloc)
                   1151: #else
                   1152: #define YYLEX          yylex(&yylval)
                   1153: #endif
                   1154: #endif
                   1155: 
                   1156: /* If nonreentrant, generate the variables here */
                   1157: 
                   1158: #ifndef YYPURE
                   1159: 
                   1160: int    yychar;                 /*  the lookahead symbol                */
                   1161: YYSTYPE        yylval;                 /*  the semantic value of the           */
                   1162:                                /*  lookahead symbol                    */
                   1163: 
                   1164: #ifdef YYLSP_NEEDED
                   1165: YYLTYPE yylloc;                        /*  location data for the lookahead     */
                   1166:                                /*  symbol                              */
                   1167: #endif
                   1168: 
                   1169: int yynerrs;                   /*  number of parse errors so far       */
                   1170: #endif  /* not YYPURE */
                   1171: 
                   1172: #if YYDEBUG != 0
                   1173: int yydebug;                   /*  nonzero means print parse trace     */
                   1174: /* Since this is uninitialized, it does not stop multiple parsers
                   1175:    from coexisting.  */
                   1176: #endif
                   1177: 
                   1178: /*  YYINITDEPTH indicates the initial size of the parser's stacks      */
                   1179: 
                   1180: #ifndef        YYINITDEPTH
                   1181: #define YYINITDEPTH 200
                   1182: #endif
                   1183: 
                   1184: /*  YYMAXDEPTH is the maximum size the stacks can grow to
                   1185:     (effective only if the built-in stack extension method is used).  */
                   1186: 
                   1187: #if YYMAXDEPTH == 0
                   1188: #undef YYMAXDEPTH
                   1189: #endif
                   1190: 
                   1191: #ifndef YYMAXDEPTH
                   1192: #define YYMAXDEPTH 10000
                   1193: #endif
                   1194: 
                   1195: #if __GNUC__ > 1               /* GNU C and GNU C++ define this.  */
                   1196: #define __yy_bcopy(FROM,TO,COUNT)      __builtin_memcpy(TO,FROM,COUNT)
                   1197: #else                          /* not GNU C or C++ */
                   1198: #ifndef __cplusplus
                   1199: 
                   1200: /* This is the most reliable way to avoid incompatibilities
                   1201:    in available built-in functions on various systems.  */
                   1202: static void
                   1203: __yy_bcopy (from, to, count)
                   1204:      char *from;
                   1205:      char *to;
                   1206:      int count;
                   1207: {
                   1208:   register char *f = from;
                   1209:   register char *t = to;
                   1210:   register int i = count;
                   1211: 
                   1212:   while (i-- > 0)
                   1213:     *t++ = *f++;
                   1214: }
                   1215: 
                   1216: #else /* __cplusplus */
                   1217: 
                   1218: /* This is the most reliable way to avoid incompatibilities
                   1219:    in available built-in functions on various systems.  */
                   1220: static void
                   1221: __yy_bcopy (char *from, char *to, int count)
                   1222: {
                   1223:   register char *f = from;
                   1224:   register char *t = to;
                   1225:   register int i = count;
                   1226: 
                   1227:   while (i-- > 0)
                   1228:     *t++ = *f++;
                   1229: }
                   1230: 
                   1231: #endif
                   1232: #endif
                   1233: 
                   1234: #line 169 "bison.simple"
                   1235: int
                   1236: yyparse()
                   1237: {
                   1238:   register int yystate;
                   1239:   register int yyn;
                   1240:   register short *yyssp;
                   1241:   register YYSTYPE *yyvsp;
                   1242:   int yyerrstatus;     /*  number of tokens to shift before error messages enabled */
                   1243:   int yychar1;         /*  lookahead token as an internal (translated) token number */
                   1244: 
                   1245:   short        yyssa[YYINITDEPTH];     /*  the state stack                     */
                   1246:   YYSTYPE yyvsa[YYINITDEPTH];  /*  the semantic value stack            */
                   1247: 
                   1248:   short *yyss = yyssa;         /*  refer to the stacks thru separate pointers */
                   1249:   YYSTYPE *yyvs = yyvsa;       /*  to allow yyoverflow to reallocate them elsewhere */
                   1250: 
                   1251: #ifdef YYLSP_NEEDED
                   1252:   YYLTYPE yylsa[YYINITDEPTH];  /*  the location stack                  */
                   1253:   YYLTYPE *yyls = yylsa;
                   1254:   YYLTYPE *yylsp;
                   1255: 
                   1256: #define YYPOPSTACK   (yyvsp--, yysp--, yylsp--)
                   1257: #else
                   1258: #define YYPOPSTACK   (yyvsp--, yysp--)
                   1259: #endif
                   1260: 
                   1261:   int yystacksize = YYINITDEPTH;
                   1262: 
                   1263: #ifdef YYPURE
                   1264:   int yychar;
                   1265:   YYSTYPE yylval;
                   1266:   int yynerrs;
                   1267: #ifdef YYLSP_NEEDED
                   1268:   YYLTYPE yylloc;
                   1269: #endif
                   1270: #endif
                   1271: 
                   1272:   YYSTYPE yyval;               /*  the variable used to return         */
                   1273:                                /*  semantic values from the action     */
                   1274:                                /*  routines                            */
                   1275: 
                   1276:   int yylen;
                   1277: 
                   1278: #if YYDEBUG != 0
                   1279:   if (yydebug)
                   1280:     fprintf(stderr, "Starting parse\n");
                   1281: #endif
                   1282: 
                   1283:   yystate = 0;
                   1284:   yyerrstatus = 0;
                   1285:   yynerrs = 0;
                   1286:   yychar = YYEMPTY;            /* Cause a token to be read.  */
                   1287: 
                   1288:   /* Initialize stack pointers.
                   1289:      Waste one element of value and location stack
                   1290:      so that they stay on the same level as the state stack.  */
                   1291: 
                   1292:   yyssp = yyss - 1;
                   1293:   yyvsp = yyvs;
                   1294: #ifdef YYLSP_NEEDED
                   1295:   yylsp = yyls;
                   1296: #endif
                   1297: 
                   1298: /* Push a new state, which is found in  yystate  .  */
                   1299: /* In all cases, when you get here, the value and location stacks
                   1300:    have just been pushed. so pushing a state here evens the stacks.  */
                   1301: yynewstate:
                   1302: 
                   1303:   *++yyssp = yystate;
                   1304: 
                   1305:   if (yyssp >= yyss + yystacksize - 1)
                   1306:     {
                   1307:       /* Give user a chance to reallocate the stack */
                   1308:       /* Use copies of these so that the &'s don't force the real ones into memory. */
                   1309:       YYSTYPE *yyvs1 = yyvs;
                   1310:       short *yyss1 = yyss;
                   1311: #ifdef YYLSP_NEEDED
                   1312:       YYLTYPE *yyls1 = yyls;
                   1313: #endif
                   1314: 
                   1315:       /* Get the current used size of the three stacks, in elements.  */
                   1316:       int size = yyssp - yyss + 1;
                   1317: 
                   1318: #ifdef yyoverflow
                   1319:       /* Each stack pointer address is followed by the size of
                   1320:         the data in use in that stack, in bytes.  */
                   1321:       yyoverflow("parser stack overflow",
                   1322:                 &yyss1, size * sizeof (*yyssp),
                   1323:                 &yyvs1, size * sizeof (*yyvsp),
                   1324: #ifdef YYLSP_NEEDED
                   1325:                 &yyls1, size * sizeof (*yylsp),
                   1326: #endif
                   1327:                 &yystacksize);
                   1328: 
                   1329:       yyss = yyss1; yyvs = yyvs1;
                   1330: #ifdef YYLSP_NEEDED
                   1331:       yyls = yyls1;
                   1332: #endif
                   1333: #else /* no yyoverflow */
                   1334:       /* Extend the stack our own way.  */
                   1335:       if (yystacksize >= YYMAXDEPTH)
                   1336:        {
                   1337:          yyerror("parser stack overflow");
                   1338:          return 2;
                   1339:        }
                   1340:       yystacksize *= 2;
                   1341:       if (yystacksize > YYMAXDEPTH)
                   1342:        yystacksize = YYMAXDEPTH;
                   1343:       yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
                   1344:       __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
                   1345:       yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
                   1346:       __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
                   1347: #ifdef YYLSP_NEEDED
                   1348:       yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
                   1349:       __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
                   1350: #endif
                   1351: #endif /* no yyoverflow */
                   1352: 
                   1353:       yyssp = yyss + size - 1;
                   1354:       yyvsp = yyvs + size - 1;
                   1355: #ifdef YYLSP_NEEDED
                   1356:       yylsp = yyls + size - 1;
                   1357: #endif
                   1358: 
                   1359: #if YYDEBUG != 0
                   1360:       if (yydebug)
                   1361:        fprintf(stderr, "Stack size increased to %d\n", yystacksize);
                   1362: #endif
                   1363: 
                   1364:       if (yyssp >= yyss + yystacksize - 1)
                   1365:        YYABORT;
                   1366:     }
                   1367: 
                   1368: #if YYDEBUG != 0
                   1369:   if (yydebug)
                   1370:     fprintf(stderr, "Entering state %d\n", yystate);
                   1371: #endif
                   1372: 
                   1373:  yybackup:
                   1374: 
                   1375: /* Do appropriate processing given the current state.  */
                   1376: /* Read a lookahead token if we need one and don't already have one.  */
                   1377: /* yyresume: */
                   1378: 
                   1379:   /* First try to decide what to do without reference to lookahead token.  */
                   1380: 
                   1381:   yyn = yypact[yystate];
                   1382:   if (yyn == YYFLAG)
                   1383:     goto yydefault;
                   1384: 
                   1385:   /* Not known => get a lookahead token if don't already have one.  */
                   1386: 
                   1387:   /* yychar is either YYEMPTY or YYEOF
                   1388:      or a valid token in external form.  */
                   1389: 
                   1390:   if (yychar == YYEMPTY)
                   1391:     {
                   1392: #if YYDEBUG != 0
                   1393:       if (yydebug)
                   1394:        fprintf(stderr, "Reading a token: ");
                   1395: #endif
                   1396:       yychar = YYLEX;
                   1397:     }
                   1398: 
                   1399:   /* Convert token to internal form (in yychar1) for indexing tables with */
                   1400: 
                   1401:   if (yychar <= 0)             /* This means end of input. */
                   1402:     {
                   1403:       yychar1 = 0;
                   1404:       yychar = YYEOF;          /* Don't call YYLEX any more */
                   1405: 
                   1406: #if YYDEBUG != 0
                   1407:       if (yydebug)
                   1408:        fprintf(stderr, "Now at end of input.\n");
                   1409: #endif
                   1410:     }
                   1411:   else
                   1412:     {
                   1413:       yychar1 = YYTRANSLATE(yychar);
                   1414: 
                   1415: #if YYDEBUG != 0
                   1416:       if (yydebug)
                   1417:        {
                   1418:          fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
                   1419:          /* Give the individual parser a way to print the precise meaning
                   1420:             of a token, for further debugging info.  */
                   1421: #ifdef YYPRINT
                   1422:          YYPRINT (stderr, yychar, yylval);
                   1423: #endif
                   1424:          fprintf (stderr, ")\n");
                   1425:        }
                   1426: #endif
                   1427:     }
                   1428: 
                   1429:   yyn += yychar1;
                   1430:   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
                   1431:     goto yydefault;
                   1432: 
                   1433:   yyn = yytable[yyn];
                   1434: 
                   1435:   /* yyn is what to do for this token type in this state.
                   1436:      Negative => reduce, -yyn is rule number.
                   1437:      Positive => shift, yyn is new state.
                   1438:        New state is final state => don't bother to shift,
                   1439:        just return success.
                   1440:      0, or most negative number => error.  */
                   1441: 
                   1442:   if (yyn < 0)
                   1443:     {
                   1444:       if (yyn == YYFLAG)
                   1445:        goto yyerrlab;
                   1446:       yyn = -yyn;
                   1447:       goto yyreduce;
                   1448:     }
                   1449:   else if (yyn == 0)
                   1450:     goto yyerrlab;
                   1451: 
                   1452:   if (yyn == YYFINAL)
                   1453:     YYACCEPT;
                   1454: 
                   1455:   /* Shift the lookahead token.  */
                   1456: 
                   1457: #if YYDEBUG != 0
                   1458:   if (yydebug)
                   1459:     fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
                   1460: #endif
                   1461: 
                   1462:   /* Discard the token being shifted unless it is eof.  */
                   1463:   if (yychar != YYEOF)
                   1464:     yychar = YYEMPTY;
                   1465: 
                   1466:   *++yyvsp = yylval;
                   1467: #ifdef YYLSP_NEEDED
                   1468:   *++yylsp = yylloc;
                   1469: #endif
                   1470: 
                   1471:   /* count tokens shifted since error; after three, turn off error status.  */
                   1472:   if (yyerrstatus) yyerrstatus--;
                   1473: 
                   1474:   yystate = yyn;
                   1475:   goto yynewstate;
                   1476: 
                   1477: /* Do the default action for the current state.  */
                   1478: yydefault:
                   1479: 
                   1480:   yyn = yydefact[yystate];
                   1481:   if (yyn == 0)
                   1482:     goto yyerrlab;
                   1483: 
                   1484: /* Do a reduction.  yyn is the number of a rule to reduce with.  */
                   1485: yyreduce:
                   1486:   yylen = yyr2[yyn];
                   1487:   yyval = yyvsp[1-yylen]; /* implement default value of the action */
                   1488: 
                   1489: #if YYDEBUG != 0
                   1490:   if (yydebug)
                   1491:     {
                   1492:       int i;
                   1493: 
                   1494:       fprintf (stderr, "Reducing via rule %d (line %d), ",
                   1495:               yyn, yyrline[yyn]);
                   1496: 
                   1497:       /* Print the symboles being reduced, and their result.  */
                   1498:       for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
                   1499:        fprintf (stderr, "%s ", yytname[yyrhs[i]]);
                   1500:       fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
                   1501:     }
                   1502: #endif
                   1503: 
                   1504: 
                   1505:   switch (yyn) {
                   1506: 
                   1507: case 1:
                   1508: #line 200 "c-parse.y"
                   1509: { if (pedantic)
                   1510:                    pedwarn ("ANSI C forbids an empty source file"); ;
                   1511:     break;}
                   1512: case 3:
                   1513: #line 210 "c-parse.y"
                   1514: {yyval.ttype = NULL_TREE; ;
                   1515:     break;}
                   1516: case 5:
                   1517: #line 211 "c-parse.y"
                   1518: {yyval.ttype = NULL_TREE; ;
                   1519:     break;}
                   1520: case 9:
                   1521: #line 218 "c-parse.y"
                   1522: { STRIP_NOPS (yyvsp[-2].ttype);
                   1523:                  if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR
                   1524:                       && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST)
                   1525:                      || TREE_CODE (yyvsp[-2].ttype) == STRING_CST)
                   1526:                    assemble_asm (yyvsp[-2].ttype);
                   1527:                  else
                   1528:                    error ("argument of `asm' is not a constant string"); ;
                   1529:     break;}
                   1530: case 10:
                   1531: #line 229 "c-parse.y"
                   1532: { if (pedantic)
                   1533:                    error ("ANSI C forbids data definition with no type or storage class");
                   1534:                  else if (!flag_traditional)
                   1535:                    warning ("data definition has no type or storage class"); ;
                   1536:     break;}
                   1537: case 11:
                   1538: #line 234 "c-parse.y"
                   1539: {;
                   1540:     break;}
                   1541: case 12:
                   1542: #line 236 "c-parse.y"
                   1543: {;
                   1544:     break;}
                   1545: case 13:
                   1546: #line 238 "c-parse.y"
                   1547: { error ("empty declaration"); ;
                   1548:     break;}
                   1549: case 14:
                   1550: #line 240 "c-parse.y"
                   1551: { shadow_tag (yyvsp[-1].ttype); ;
                   1552:     break;}
                   1553: case 17:
                   1554: #line 244 "c-parse.y"
                   1555: { if (pedantic)
                   1556:                    pedwarn ("ANSI C does not allow extra `;' outside of a function"); ;
                   1557:     break;}
                   1558: case 18:
                   1559: #line 250 "c-parse.y"
                   1560: { if (! start_function (yyvsp[-2].ttype, yyvsp[0].ttype, 0))
                   1561:                    YYERROR1;
                   1562:                  reinit_parse_for_function (); ;
                   1563:     break;}
                   1564: case 19:
                   1565: #line 254 "c-parse.y"
                   1566: { store_parm_decls (); ;
                   1567:     break;}
                   1568: case 20:
                   1569: #line 256 "c-parse.y"
                   1570: { finish_function (0); ;
                   1571:     break;}
                   1572: case 21:
                   1573: #line 258 "c-parse.y"
                   1574: { ;
                   1575:     break;}
                   1576: case 22:
                   1577: #line 260 "c-parse.y"
                   1578: { if (! start_function (yyvsp[-2].ttype, yyvsp[0].ttype, 0))
                   1579:                    YYERROR1;
                   1580:                  reinit_parse_for_function (); ;
                   1581:     break;}
                   1582: case 23:
                   1583: #line 264 "c-parse.y"
                   1584: { store_parm_decls (); ;
                   1585:     break;}
                   1586: case 24:
                   1587: #line 266 "c-parse.y"
                   1588: { finish_function (0); ;
                   1589:     break;}
                   1590: case 25:
                   1591: #line 268 "c-parse.y"
                   1592: { ;
                   1593:     break;}
                   1594: case 26:
                   1595: #line 270 "c-parse.y"
                   1596: { if (! start_function (0, yyvsp[0].ttype, 0))
                   1597:                    YYERROR1;
                   1598:                  reinit_parse_for_function (); ;
                   1599:     break;}
                   1600: case 27:
                   1601: #line 274 "c-parse.y"
                   1602: { store_parm_decls (); ;
                   1603:     break;}
                   1604: case 28:
                   1605: #line 276 "c-parse.y"
                   1606: { finish_function (0); ;
                   1607:     break;}
                   1608: case 29:
                   1609: #line 278 "c-parse.y"
                   1610: { ;
                   1611:     break;}
                   1612: case 32:
                   1613: #line 287 "c-parse.y"
                   1614: { yyval.code = ADDR_EXPR; ;
                   1615:     break;}
                   1616: case 33:
                   1617: #line 289 "c-parse.y"
                   1618: { yyval.code = NEGATE_EXPR; ;
                   1619:     break;}
                   1620: case 34:
                   1621: #line 291 "c-parse.y"
                   1622: { yyval.code = CONVERT_EXPR; ;
                   1623:     break;}
                   1624: case 35:
                   1625: #line 293 "c-parse.y"
                   1626: { yyval.code = PREINCREMENT_EXPR; ;
                   1627:     break;}
                   1628: case 36:
                   1629: #line 295 "c-parse.y"
                   1630: { yyval.code = PREDECREMENT_EXPR; ;
                   1631:     break;}
                   1632: case 37:
                   1633: #line 297 "c-parse.y"
                   1634: { yyval.code = BIT_NOT_EXPR; ;
                   1635:     break;}
                   1636: case 38:
                   1637: #line 299 "c-parse.y"
                   1638: { yyval.code = TRUTH_NOT_EXPR; ;
                   1639:     break;}
                   1640: case 39:
                   1641: #line 303 "c-parse.y"
                   1642: { yyval.ttype = build_compound_expr (yyvsp[0].ttype); ;
                   1643:     break;}
                   1644: case 40:
                   1645: #line 308 "c-parse.y"
                   1646: { yyval.ttype = NULL_TREE; ;
                   1647:     break;}
                   1648: case 42:
                   1649: #line 314 "c-parse.y"
                   1650: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
                   1651:     break;}
                   1652: case 43:
                   1653: #line 316 "c-parse.y"
                   1654: { chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   1655:     break;}
                   1656: case 45:
                   1657: #line 322 "c-parse.y"
                   1658: { yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ;
                   1659:     break;}
                   1660: case 46:
                   1661: #line 325 "c-parse.y"
                   1662: { yyvsp[0].itype = pedantic;
                   1663:                  pedantic = 0; ;
                   1664:     break;}
                   1665: case 47:
                   1666: #line 328 "c-parse.y"
                   1667: { yyval.ttype = yyvsp[0].ttype;
                   1668:                  pedantic = yyvsp[-2].itype; ;
                   1669:     break;}
                   1670: case 48:
                   1671: #line 331 "c-parse.y"
                   1672: { yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0); ;
                   1673:     break;}
                   1674: case 49:
                   1675: #line 334 "c-parse.y"
                   1676: { tree label = lookup_label (yyvsp[0].ttype);
                   1677:                  TREE_USED (label) = 1;
                   1678:                  yyval.ttype = build1 (ADDR_EXPR, ptr_type_node, label);
                   1679:                  TREE_CONSTANT (yyval.ttype) = 1; ;
                   1680:     break;}
                   1681: case 50:
                   1682: #line 353 "c-parse.y"
                   1683: { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
                   1684:                      && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
                   1685:                    error ("`sizeof' applied to a bit-field");
                   1686:                  yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
                   1687:     break;}
                   1688: case 51:
                   1689: #line 358 "c-parse.y"
                   1690: { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
                   1691:     break;}
                   1692: case 52:
                   1693: #line 360 "c-parse.y"
                   1694: { yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ;
                   1695:     break;}
                   1696: case 53:
                   1697: #line 362 "c-parse.y"
                   1698: { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
                   1699:     break;}
                   1700: case 55:
                   1701: #line 368 "c-parse.y"
                   1702: { tree type = groktypename (yyvsp[-2].ttype);
                   1703:                  yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
                   1704:     break;}
                   1705: case 56:
                   1706: #line 371 "c-parse.y"
                   1707: { tree type = groktypename (yyvsp[-5].ttype);
                   1708:                  char *name;
                   1709:                  if (pedantic)
                   1710:                    pedwarn ("ANSI C forbids constructor expressions");
                   1711:                  if (TYPE_NAME (type) != 0)
                   1712:                    {
                   1713:                      if (TREE_CODE (TYPE_NAME (type)) == IDENTIFIER_NODE)
                   1714:                        name = IDENTIFIER_POINTER (TYPE_NAME (type));
                   1715:                      else
                   1716:                        name = IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type)));
                   1717:                    }
                   1718:                  else
                   1719:                    name = "";
                   1720:                  yyval.ttype = digest_init (type, build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype)),
                   1721:                                    0, 0, 0, name);
                   1722:                  if (TREE_CODE (type) == ARRAY_TYPE && TYPE_SIZE (type) == 0)
                   1723:                    {
                   1724:                      int failure = complete_array_type (type, yyval.ttype, 1);
                   1725:                      if (failure)
                   1726:                        abort ();
                   1727:                    }
                   1728:                ;
                   1729:     break;}
                   1730: case 58:
                   1731: #line 398 "c-parse.y"
                   1732: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1733:     break;}
                   1734: case 59:
                   1735: #line 400 "c-parse.y"
                   1736: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1737:     break;}
                   1738: case 60:
                   1739: #line 402 "c-parse.y"
                   1740: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1741:     break;}
                   1742: case 61:
                   1743: #line 404 "c-parse.y"
                   1744: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1745:     break;}
                   1746: case 62:
                   1747: #line 406 "c-parse.y"
                   1748: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1749:     break;}
                   1750: case 63:
                   1751: #line 408 "c-parse.y"
                   1752: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1753:     break;}
                   1754: case 64:
                   1755: #line 410 "c-parse.y"
                   1756: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1757:     break;}
                   1758: case 65:
                   1759: #line 412 "c-parse.y"
                   1760: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1761:     break;}
                   1762: case 66:
                   1763: #line 414 "c-parse.y"
                   1764: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1765:     break;}
                   1766: case 67:
                   1767: #line 416 "c-parse.y"
                   1768: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1769:     break;}
                   1770: case 68:
                   1771: #line 418 "c-parse.y"
                   1772: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1773:     break;}
                   1774: case 69:
                   1775: #line 420 "c-parse.y"
                   1776: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1777:     break;}
                   1778: case 70:
                   1779: #line 422 "c-parse.y"
                   1780: { yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1781:     break;}
                   1782: case 71:
                   1783: #line 424 "c-parse.y"
                   1784: { yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1785:     break;}
                   1786: case 72:
                   1787: #line 426 "c-parse.y"
                   1788: { yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1789:     break;}
                   1790: case 73:
                   1791: #line 428 "c-parse.y"
                   1792: { yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype); ;
                   1793:     break;}
                   1794: case 74:
                   1795: #line 430 "c-parse.y"
                   1796: { yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
                   1797:     break;}
                   1798: case 75:
                   1799: #line 435 "c-parse.y"
                   1800: {
                   1801:                  tree context;
                   1802: 
                   1803:                  yyval.ttype = lastiddecl;
                   1804:                  if (!yyval.ttype || yyval.ttype == error_mark_node)
                   1805:                    {
                   1806:                      if (yychar == YYEMPTY)
                   1807:                        yychar = YYLEX;
                   1808:                      if (yychar == '(')
                   1809:                        {
                   1810:                          yyval.ttype = implicitly_declare (yyvsp[0].ttype);
                   1811:                          assemble_external (yyval.ttype);
                   1812:                          TREE_USED (yyval.ttype) = 1;
                   1813:                        }
                   1814:                      else if (current_function_decl == 0)
                   1815:                        {
                   1816:                          error ("`%s' undeclared, outside of functions",
                   1817:                                 IDENTIFIER_POINTER (yyvsp[0].ttype));
                   1818:                          yyval.ttype = error_mark_node;
                   1819:                        }
                   1820:                      else
                   1821:                        {
                   1822:                          if (IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) != error_mark_node
                   1823:                              || IDENTIFIER_ERROR_LOCUS (yyvsp[0].ttype) != current_function_decl)
                   1824:                            {
                   1825:                              error ("`%s' undeclared (first use this function)",
                   1826:                                     IDENTIFIER_POINTER (yyvsp[0].ttype));
                   1827: 
                   1828:                              if (! undeclared_variable_notice)
                   1829:                                {
                   1830:                                  error ("(Each undeclared identifier is reported only once");
                   1831:                                  error ("for each function it appears in.)");
                   1832:                                  undeclared_variable_notice = 1;
                   1833:                                }
                   1834:                            }
                   1835:                          yyval.ttype = error_mark_node;
                   1836:                          /* Prevent repeated error messages.  */
                   1837:                          IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) = error_mark_node;
                   1838:                          IDENTIFIER_ERROR_LOCUS (yyvsp[0].ttype) = current_function_decl;
                   1839:                        }
                   1840:                    }
                   1841:                  else if (TREE_TYPE (yyval.ttype) == error_mark_node)
                   1842:                    yyval.ttype = error_mark_node;
                   1843:                  else if (! TREE_USED (yyval.ttype))
                   1844:                    {
                   1845:                      if (TREE_EXTERNAL (yyval.ttype))
                   1846:                        assemble_external (yyval.ttype);
                   1847:                      TREE_USED (yyval.ttype) = 1;
                   1848:                    }
                   1849:                  if (TREE_CODE (yyval.ttype) == CONST_DECL)
                   1850:                    yyval.ttype = DECL_INITIAL (yyval.ttype);
                   1851:                ;
                   1852:     break;}
                   1853: case 77:
                   1854: #line 489 "c-parse.y"
                   1855: { yyval.ttype = combine_strings (yyvsp[0].ttype); ;
                   1856:     break;}
                   1857: case 78:
                   1858: #line 491 "c-parse.y"
                   1859: { char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype));
                   1860:                  if (class == 'e' || class == '1'
                   1861:                      || class == '2' || class == '<')
                   1862:                    C_SET_EXP_ORIGINAL_CODE (yyvsp[-1].ttype, ERROR_MARK);
                   1863:                  yyval.ttype = yyvsp[-1].ttype; ;
                   1864:     break;}
                   1865: case 79:
                   1866: #line 497 "c-parse.y"
                   1867: { yyval.ttype = error_mark_node; ;
                   1868:     break;}
                   1869: case 80:
                   1870: #line 499 "c-parse.y"
                   1871: { if (current_function_decl == 0)
                   1872:                    {
                   1873:                      error ("braced-group within expression allowed only inside a function");
                   1874:                      YYERROR;
                   1875:                    }
                   1876:                  /* We must force a BLOCK for this level
                   1877:                     so that, if it is not expanded later,
                   1878:                     there is a way to turn off the entire subtree of blocks
                   1879:                     that are contained in it.  */
                   1880:                  keep_next_level ();
                   1881:                  push_label_level ();
                   1882:                  yyval.ttype = expand_start_stmt_expr (); ;
                   1883:     break;}
                   1884: case 81:
                   1885: #line 512 "c-parse.y"
                   1886: { tree rtl_exp;
                   1887:                  if (pedantic)
                   1888:                    pedwarn ("ANSI C forbids braced-groups within expressions");
                   1889:                  pop_label_level ();
                   1890:                  rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
                   1891:                  /* The statements have side effects, so the group does.  */
                   1892:                  TREE_SIDE_EFFECTS (rtl_exp) = 1;
                   1893: 
                   1894:                  /* Make a BIND_EXPR for the BLOCK already made.  */
                   1895:                  yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
                   1896:                              NULL_TREE, rtl_exp, yyvsp[-1].ttype);
                   1897:                ;
                   1898:     break;}
                   1899: case 82:
                   1900: #line 525 "c-parse.y"
                   1901: { yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   1902:     break;}
                   1903: case 83:
                   1904: #line 527 "c-parse.y"
                   1905: { yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   1906:     break;}
                   1907: case 84:
                   1908: #line 529 "c-parse.y"
                   1909: { yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1910:     break;}
                   1911: case 85:
                   1912: #line 531 "c-parse.y"
                   1913: { yyval.ttype = build_component_ref (build_indirect_ref (yyvsp[-2].ttype, "->"), yyvsp[0].ttype); ;
                   1914:     break;}
                   1915: case 86:
                   1916: #line 533 "c-parse.y"
                   1917: { yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ;
                   1918:     break;}
                   1919: case 87:
                   1920: #line 535 "c-parse.y"
                   1921: { yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ;
                   1922:     break;}
                   1923: case 89:
                   1924: #line 542 "c-parse.y"
                   1925: { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   1926:     break;}
                   1927: case 92:
                   1928: #line 550 "c-parse.y"
                   1929: { c_mark_varargs ();
                   1930:                  if (pedantic)
                   1931:                    pedwarn ("ANSI C does not permit use of `varargs.h'"); ;
                   1932:     break;}
                   1933: case 93:
                   1934: #line 560 "c-parse.y"
                   1935: { ;
                   1936:     break;}
                   1937: case 98:
                   1938: #line 572 "c-parse.y"
                   1939: { current_declspecs = TREE_VALUE (declspec_stack);
                   1940:                  declspec_stack = TREE_CHAIN (declspec_stack);
                   1941:                  resume_momentary (yyvsp[-2].itype); ;
                   1942:     break;}
                   1943: case 99:
                   1944: #line 576 "c-parse.y"
                   1945: { current_declspecs = TREE_VALUE (declspec_stack);
                   1946:                  declspec_stack = TREE_CHAIN (declspec_stack);
                   1947:                  resume_momentary (yyvsp[-2].itype); ;
                   1948:     break;}
                   1949: case 100:
                   1950: #line 580 "c-parse.y"
                   1951: { shadow_tag (yyvsp[-1].ttype); ;
                   1952:     break;}
                   1953: case 101:
                   1954: #line 582 "c-parse.y"
                   1955: { pedwarn ("empty declaration"); ;
                   1956:     break;}
                   1957: case 102:
                   1958: #line 591 "c-parse.y"
                   1959: { ;
                   1960:     break;}
                   1961: case 107:
                   1962: #line 606 "c-parse.y"
                   1963: { yyval.itype = suspend_momentary ();
                   1964:                  pending_xref_error ();
                   1965:                  declspec_stack = tree_cons (0, current_declspecs,
                   1966:                                              declspec_stack);
                   1967:                  current_declspecs = yyvsp[0].ttype; ;
                   1968:     break;}
                   1969: case 108:
                   1970: #line 615 "c-parse.y"
                   1971: { current_declspecs = TREE_VALUE (declspec_stack);
                   1972:                  declspec_stack = TREE_CHAIN (declspec_stack);
                   1973:                  resume_momentary (yyvsp[-2].itype); ;
                   1974:     break;}
                   1975: case 109:
                   1976: #line 619 "c-parse.y"
                   1977: { current_declspecs = TREE_VALUE (declspec_stack);
                   1978:                  declspec_stack = TREE_CHAIN (declspec_stack);
                   1979:                  resume_momentary (yyvsp[-2].itype); ;
                   1980:     break;}
                   1981: case 110:
                   1982: #line 623 "c-parse.y"
                   1983: { current_declspecs = TREE_VALUE (declspec_stack);
                   1984:                  declspec_stack = TREE_CHAIN (declspec_stack);
                   1985:                  resume_momentary (yyvsp[-1].itype); ;
                   1986:     break;}
                   1987: case 111:
                   1988: #line 627 "c-parse.y"
                   1989: { current_declspecs = TREE_VALUE (declspec_stack);
                   1990:                  declspec_stack = TREE_CHAIN (declspec_stack);
                   1991:                  resume_momentary (yyvsp[-1].itype); ;
                   1992:     break;}
                   1993: case 112:
                   1994: #line 631 "c-parse.y"
                   1995: { shadow_tag (yyvsp[-1].ttype); ;
                   1996:     break;}
                   1997: case 113:
                   1998: #line 633 "c-parse.y"
                   1999: { pedwarn ("empty declaration"); ;
                   2000:     break;}
                   2001: case 114:
                   2002: #line 642 "c-parse.y"
                   2003: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2004:     break;}
                   2005: case 115:
                   2006: #line 644 "c-parse.y"
                   2007: { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
                   2008:     break;}
                   2009: case 116:
                   2010: #line 648 "c-parse.y"
                   2011: { yyval.ttype = NULL_TREE; ;
                   2012:     break;}
                   2013: case 117:
                   2014: #line 650 "c-parse.y"
                   2015: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
                   2016:     break;}
                   2017: case 118:
                   2018: #line 652 "c-parse.y"
                   2019: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
                   2020:     break;}
                   2021: case 119:
                   2022: #line 661 "c-parse.y"
                   2023: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
                   2024:     break;}
                   2025: case 120:
                   2026: #line 663 "c-parse.y"
                   2027: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
                   2028:     break;}
                   2029: case 121:
                   2030: #line 665 "c-parse.y"
                   2031: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
                   2032:     break;}
                   2033: case 122:
                   2034: #line 667 "c-parse.y"
                   2035: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
                   2036:     break;}
                   2037: case 123:
                   2038: #line 677 "c-parse.y"
                   2039: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2040:     break;}
                   2041: case 124:
                   2042: #line 679 "c-parse.y"
                   2043: { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
                   2044:     break;}
                   2045: case 125:
                   2046: #line 683 "c-parse.y"
                   2047: { yyval.ttype = NULL_TREE; ;
                   2048:     break;}
                   2049: case 126:
                   2050: #line 685 "c-parse.y"
                   2051: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
                   2052:     break;}
                   2053: case 129:
                   2054: #line 695 "c-parse.y"
                   2055: { /* For a typedef name, record the meaning, not the name.
                   2056:                     In case of `foo foo, bar;'.  */
                   2057:                  yyval.ttype = lookup_name (yyvsp[0].ttype); ;
                   2058:     break;}
                   2059: case 130:
                   2060: #line 699 "c-parse.y"
                   2061: { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
                   2062:                  if (pedantic)
                   2063:                    pedwarn ("ANSI C forbids `typeof'"); ;
                   2064:     break;}
                   2065: case 131:
                   2066: #line 703 "c-parse.y"
                   2067: { yyval.ttype = groktypename (yyvsp[-1].ttype);
                   2068:                  if (pedantic)
                   2069:                    pedwarn ("ANSI C forbids `typeof'"); ;
                   2070:     break;}
                   2071: case 139:
                   2072: #line 727 "c-parse.y"
                   2073: { yyval.ttype = NULL_TREE; ;
                   2074:     break;}
                   2075: case 140:
                   2076: #line 729 "c-parse.y"
                   2077: { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
                   2078:                  yyval.ttype = yyvsp[-1].ttype;
                   2079:                ;
                   2080:     break;}
                   2081: case 141:
                   2082: #line 736 "c-parse.y"
                   2083: { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1); ;
                   2084:     break;}
                   2085: case 142:
                   2086: #line 739 "c-parse.y"
                   2087: { decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype);
                   2088:                  finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
                   2089:     break;}
                   2090: case 143:
                   2091: #line 742 "c-parse.y"
                   2092: { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
                   2093:                  decl_attributes (d, yyvsp[0].ttype);
                   2094:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
                   2095:     break;}
                   2096: case 144:
                   2097: #line 749 "c-parse.y"
                   2098: { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1); ;
                   2099:     break;}
                   2100: case 145:
                   2101: #line 752 "c-parse.y"
                   2102: { decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype);
                   2103:                  finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
                   2104:     break;}
                   2105: case 146:
                   2106: #line 755 "c-parse.y"
                   2107: { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
                   2108:                  decl_attributes (d, yyvsp[0].ttype);
                   2109:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
                   2110:     break;}
                   2111: case 147:
                   2112: #line 763 "c-parse.y"
                   2113: { yyval.ttype = NULL_TREE; ;
                   2114:     break;}
                   2115: case 148:
                   2116: #line 765 "c-parse.y"
                   2117: { yyval.ttype = yyvsp[-2].ttype; ;
                   2118:     break;}
                   2119: case 149:
                   2120: #line 770 "c-parse.y"
                   2121: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
                   2122:     break;}
                   2123: case 150:
                   2124: #line 772 "c-parse.y"
                   2125: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ;
                   2126:     break;}
                   2127: case 151:
                   2128: #line 777 "c-parse.y"
                   2129: { if (strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "packed"))
                   2130:            warning ("`%s' attribute directive ignored",
                   2131:                     IDENTIFIER_POINTER (yyvsp[0].ttype));
                   2132:          yyval.ttype = yyvsp[0].ttype; ;
                   2133:     break;}
                   2134: case 152:
                   2135: #line 782 "c-parse.y"
                   2136: { /* if not "aligned(n)", then issue warning */
                   2137:          if (strcmp (IDENTIFIER_POINTER (yyvsp[-3].ttype), "aligned") != 0
                   2138:              || TREE_CODE (yyvsp[-1].ttype) != INTEGER_CST)
                   2139:            {
                   2140:              warning ("`%s' attribute directive ignored",
                   2141:                       IDENTIFIER_POINTER (yyvsp[-3].ttype));
                   2142:              yyval.ttype = yyvsp[-3].ttype;
                   2143:            }
                   2144:          else
                   2145:            yyval.ttype = tree_cons (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   2146:     break;}
                   2147: case 153:
                   2148: #line 793 "c-parse.y"
                   2149: { /* if not "format(...)", then issue warning */
                   2150:          if (strcmp (IDENTIFIER_POINTER (yyvsp[-7].ttype), "format") != 0
                   2151:              || TREE_CODE (yyvsp[-3].ttype) != INTEGER_CST
                   2152:              || TREE_CODE (yyvsp[-1].ttype) != INTEGER_CST)
                   2153:            {
                   2154:              warning ("`%s' attribute directive ignored",
                   2155:                       IDENTIFIER_POINTER (yyvsp[-7].ttype));
                   2156:              yyval.ttype = yyvsp[-7].ttype;
                   2157:            }
                   2158:          else
                   2159:            yyval.ttype = tree_cons (yyvsp[-7].ttype, tree_cons (yyvsp[-5].ttype, tree_cons (yyvsp[-3].ttype, yyvsp[-1].ttype))); ;
                   2160:     break;}
                   2161: case 155:
                   2162: #line 809 "c-parse.y"
                   2163: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
                   2164:                  if (pedantic)
                   2165:                    pedwarn ("ANSI C forbids empty initializer braces"); ;
                   2166:     break;}
                   2167: case 156:
                   2168: #line 813 "c-parse.y"
                   2169: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype)); ;
                   2170:     break;}
                   2171: case 157:
                   2172: #line 815 "c-parse.y"
                   2173: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype)); ;
                   2174:     break;}
                   2175: case 158:
                   2176: #line 817 "c-parse.y"
                   2177: { yyval.ttype = NULL_TREE; ;
                   2178:     break;}
                   2179: case 159:
                   2180: #line 824 "c-parse.y"
                   2181: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
                   2182:     break;}
                   2183: case 160:
                   2184: #line 826 "c-parse.y"
                   2185: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ;
                   2186:     break;}
                   2187: case 161:
                   2188: #line 829 "c-parse.y"
                   2189: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   2190:     break;}
                   2191: case 162:
                   2192: #line 831 "c-parse.y"
                   2193: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyvsp[-5].ttype); ;
                   2194:     break;}
                   2195: case 163:
                   2196: #line 833 "c-parse.y"
                   2197: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   2198:     break;}
                   2199: case 164:
                   2200: #line 835 "c-parse.y"
                   2201: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
                   2202:     break;}
                   2203: case 165:
                   2204: #line 840 "c-parse.y"
                   2205: { push_c_function_context ();
                   2206:                  if (! start_function (current_declspecs, yyvsp[0].ttype, 1))
                   2207:                    {
                   2208:                      pop_c_function_context ();
                   2209:                      YYERROR1;
                   2210:                    }
                   2211:                  reinit_parse_for_function ();
                   2212:                  store_parm_decls (); ;
                   2213:     break;}
                   2214: case 166:
                   2215: #line 855 "c-parse.y"
                   2216: { finish_function (1);
                   2217:                  pop_c_function_context (); ;
                   2218:     break;}
                   2219: case 167:
                   2220: #line 861 "c-parse.y"
                   2221: { push_c_function_context ();
                   2222:                  if (! start_function (current_declspecs, yyvsp[0].ttype, 1))
                   2223:                    {
                   2224:                      pop_c_function_context ();
                   2225:                      YYERROR1;
                   2226:                    }
                   2227:                  reinit_parse_for_function ();
                   2228:                  store_parm_decls (); ;
                   2229:     break;}
                   2230: case 168:
                   2231: #line 876 "c-parse.y"
                   2232: { finish_function (1);
                   2233:                  pop_c_function_context (); ;
                   2234:     break;}
                   2235: case 171:
                   2236: #line 892 "c-parse.y"
                   2237: { yyval.ttype = yyvsp[-1].ttype; ;
                   2238:     break;}
                   2239: case 172:
                   2240: #line 894 "c-parse.y"
                   2241: { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
                   2242:     break;}
                   2243: case 173:
                   2244: #line 899 "c-parse.y"
                   2245: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   2246:     break;}
                   2247: case 174:
                   2248: #line 901 "c-parse.y"
                   2249: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
                   2250:     break;}
                   2251: case 175:
                   2252: #line 903 "c-parse.y"
                   2253: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2254:     break;}
                   2255: case 177:
                   2256: #line 914 "c-parse.y"
                   2257: { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
                   2258:     break;}
                   2259: case 178:
                   2260: #line 919 "c-parse.y"
                   2261: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   2262:     break;}
                   2263: case 179:
                   2264: #line 921 "c-parse.y"
                   2265: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
                   2266:     break;}
                   2267: case 180:
                   2268: #line 923 "c-parse.y"
                   2269: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2270:     break;}
                   2271: case 182:
                   2272: #line 932 "c-parse.y"
                   2273: { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
                   2274:     break;}
                   2275: case 183:
                   2276: #line 937 "c-parse.y"
                   2277: { yyval.ttype = yyvsp[-1].ttype; ;
                   2278:     break;}
                   2279: case 184:
                   2280: #line 939 "c-parse.y"
                   2281: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2282:     break;}
                   2283: case 185:
                   2284: #line 941 "c-parse.y"
                   2285: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   2286:     break;}
                   2287: case 186:
                   2288: #line 943 "c-parse.y"
                   2289: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
                   2290:     break;}
                   2291: case 188:
                   2292: #line 949 "c-parse.y"
                   2293: { yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype);
                   2294:                  /* Start scope of tag before parsing components.  */
                   2295:                ;
                   2296:     break;}
                   2297: case 189:
                   2298: #line 953 "c-parse.y"
                   2299: { yyval.ttype = finish_struct (yyvsp[-2].ttype, yyvsp[-1].ttype);
                   2300:                  /* Really define the structure.  */
                   2301:                ;
                   2302:     break;}
                   2303: case 190:
                   2304: #line 957 "c-parse.y"
                   2305: { yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE),
                   2306:                                      yyvsp[-1].ttype); ;
                   2307:     break;}
                   2308: case 191:
                   2309: #line 960 "c-parse.y"
                   2310: { yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ;
                   2311:     break;}
                   2312: case 192:
                   2313: #line 962 "c-parse.y"
                   2314: { yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ;
                   2315:     break;}
                   2316: case 193:
                   2317: #line 964 "c-parse.y"
                   2318: { yyval.ttype = finish_struct (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
                   2319:     break;}
                   2320: case 194:
                   2321: #line 966 "c-parse.y"
                   2322: { yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE),
                   2323:                                      yyvsp[-1].ttype); ;
                   2324:     break;}
                   2325: case 195:
                   2326: #line 969 "c-parse.y"
                   2327: { yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ;
                   2328:     break;}
                   2329: case 196:
                   2330: #line 971 "c-parse.y"
                   2331: { yyvsp[0].itype = suspend_momentary ();
                   2332:                  yyval.ttype = start_enum (yyvsp[-1].ttype); ;
                   2333:     break;}
                   2334: case 197:
                   2335: #line 974 "c-parse.y"
                   2336: { yyval.ttype = finish_enum (yyvsp[-3].ttype, nreverse (yyvsp[-2].ttype));
                   2337:                  resume_momentary (yyvsp[-4].itype); ;
                   2338:     break;}
                   2339: case 198:
                   2340: #line 977 "c-parse.y"
                   2341: { yyvsp[0].itype = suspend_momentary ();
                   2342:                  yyval.ttype = start_enum (NULL_TREE); ;
                   2343:     break;}
                   2344: case 199:
                   2345: #line 980 "c-parse.y"
                   2346: { yyval.ttype = finish_enum (yyvsp[-3].ttype, nreverse (yyvsp[-2].ttype));
                   2347:                  resume_momentary (yyvsp[-4].itype); ;
                   2348:     break;}
                   2349: case 200:
                   2350: #line 983 "c-parse.y"
                   2351: { yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); ;
                   2352:     break;}
                   2353: case 204:
                   2354: #line 994 "c-parse.y"
                   2355: { if (pedantic) pedwarn ("comma at end of enumerator list"); ;
                   2356:     break;}
                   2357: case 205:
                   2358: #line 999 "c-parse.y"
                   2359: { yyval.ttype = yyvsp[0].ttype; ;
                   2360:     break;}
                   2361: case 206:
                   2362: #line 1001 "c-parse.y"
                   2363: { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
                   2364:                  warning ("no semicolon at end of struct or union"); ;
                   2365:     break;}
                   2366: case 207:
                   2367: #line 1006 "c-parse.y"
                   2368: { yyval.ttype = NULL_TREE; ;
                   2369:     break;}
                   2370: case 208:
                   2371: #line 1008 "c-parse.y"
                   2372: { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
                   2373:     break;}
                   2374: case 209:
                   2375: #line 1010 "c-parse.y"
                   2376: { if (pedantic)
                   2377:                    pedwarn ("extra semicolon in struct or union specified"); ;
                   2378:     break;}
                   2379: case 210:
                   2380: #line 1025 "c-parse.y"
                   2381: { yyval.ttype = yyvsp[0].ttype;
                   2382:                  current_declspecs = TREE_VALUE (declspec_stack);
                   2383:                  declspec_stack = TREE_CHAIN (declspec_stack);
                   2384:                  resume_momentary (yyvsp[-1].itype); ;
                   2385:     break;}
                   2386: case 211:
                   2387: #line 1030 "c-parse.y"
                   2388: { if (pedantic)
                   2389:                    pedwarn ("ANSI C forbids member declarations with no members");
                   2390:                  shadow_tag(yyvsp[0].ttype);
                   2391:                  yyval.ttype = NULL_TREE; ;
                   2392:     break;}
                   2393: case 212:
                   2394: #line 1035 "c-parse.y"
                   2395: { yyval.ttype = yyvsp[0].ttype;
                   2396:                  current_declspecs = TREE_VALUE (declspec_stack);
                   2397:                  declspec_stack = TREE_CHAIN (declspec_stack);
                   2398:                  resume_momentary (yyvsp[-1].itype); ;
                   2399:     break;}
                   2400: case 213:
                   2401: #line 1040 "c-parse.y"
                   2402: { if (pedantic)
                   2403:                    pedwarn ("ANSI C forbids member declarations with no members");
                   2404:                  shadow_tag(yyvsp[0].ttype);
                   2405:                  yyval.ttype = NULL_TREE; ;
                   2406:     break;}
                   2407: case 214:
                   2408: #line 1045 "c-parse.y"
                   2409: { yyval.ttype = NULL_TREE; ;
                   2410:     break;}
                   2411: case 216:
                   2412: #line 1051 "c-parse.y"
                   2413: { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   2414:     break;}
                   2415: case 217:
                   2416: #line 1056 "c-parse.y"
                   2417: { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE);
                   2418:                  decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
                   2419:     break;}
                   2420: case 218:
                   2421: #line 1060 "c-parse.y"
                   2422: { yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype);
                   2423:                  decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
                   2424:     break;}
                   2425: case 219:
                   2426: #line 1063 "c-parse.y"
                   2427: { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, NULL_TREE, current_declspecs, yyvsp[0].ttype); ;
                   2428:     break;}
                   2429: case 221:
                   2430: #line 1074 "c-parse.y"
                   2431: { yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ;
                   2432:     break;}
                   2433: case 222:
                   2434: #line 1080 "c-parse.y"
                   2435: { yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ;
                   2436:     break;}
                   2437: case 223:
                   2438: #line 1082 "c-parse.y"
                   2439: { yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   2440:     break;}
                   2441: case 224:
                   2442: #line 1087 "c-parse.y"
                   2443: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2444:     break;}
                   2445: case 225:
                   2446: #line 1089 "c-parse.y"
                   2447: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2448:     break;}
                   2449: case 226:
                   2450: #line 1094 "c-parse.y"
                   2451: { yyval.ttype = NULL_TREE; ;
                   2452:     break;}
                   2453: case 228:
                   2454: #line 1100 "c-parse.y"
                   2455: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
                   2456:     break;}
                   2457: case 229:
                   2458: #line 1102 "c-parse.y"
                   2459: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
                   2460:     break;}
                   2461: case 230:
                   2462: #line 1107 "c-parse.y"
                   2463: { yyval.ttype = NULL_TREE; ;
                   2464:     break;}
                   2465: case 231:
                   2466: #line 1109 "c-parse.y"
                   2467: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
                   2468:     break;}
                   2469: case 232:
                   2470: #line 1114 "c-parse.y"
                   2471: { yyval.ttype = yyvsp[-1].ttype; ;
                   2472:     break;}
                   2473: case 233:
                   2474: #line 1117 "c-parse.y"
                   2475: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2476:     break;}
                   2477: case 234:
                   2478: #line 1119 "c-parse.y"
                   2479: { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
                   2480:     break;}
                   2481: case 235:
                   2482: #line 1121 "c-parse.y"
                   2483: { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
                   2484:     break;}
                   2485: case 236:
                   2486: #line 1123 "c-parse.y"
                   2487: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   2488:     break;}
                   2489: case 237:
                   2490: #line 1125 "c-parse.y"
                   2491: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
                   2492:     break;}
                   2493: case 238:
                   2494: #line 1127 "c-parse.y"
                   2495: { yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
                   2496:     break;}
                   2497: case 239:
                   2498: #line 1129 "c-parse.y"
                   2499: { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
                   2500:     break;}
                   2501: case 240:
                   2502: #line 1131 "c-parse.y"
                   2503: { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ;
                   2504:     break;}
                   2505: case 247:
                   2506: #line 1153 "c-parse.y"
                   2507: { emit_line_note (input_filename, lineno);
                   2508:                  pushlevel (0);
                   2509:                  clear_last_expr ();
                   2510:                  push_momentary ();
                   2511:                  expand_start_bindings (0); ;
                   2512:     break;}
                   2513: case 249:
                   2514: #line 1165 "c-parse.y"
                   2515: { if (pedantic)
                   2516:                    pedwarn ("ANSI C forbids label declarations"); ;
                   2517:     break;}
                   2518: case 252:
                   2519: #line 1176 "c-parse.y"
                   2520: { tree link;
                   2521:                  for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
                   2522:                    {
                   2523:                      tree label = shadow_label (TREE_VALUE (link));
                   2524:                      C_DECLARED_LABEL_FLAG (label) = 1;
                   2525:                      declare_nonlocal_label (label);
                   2526:                    }
                   2527:                ;
                   2528:     break;}
                   2529: case 253:
                   2530: #line 1190 "c-parse.y"
                   2531: {;
                   2532:     break;}
                   2533: case 255:
                   2534: #line 1195 "c-parse.y"
                   2535: { yyval.ttype = convert (void_type_node, integer_zero_node); ;
                   2536:     break;}
                   2537: case 256:
                   2538: #line 1197 "c-parse.y"
                   2539: { emit_line_note (input_filename, lineno);
                   2540:                  expand_end_bindings (getdecls (), 1, 0);
                   2541:                  yyval.ttype = poplevel (1, 1, 0);
                   2542:                  pop_momentary (); ;
                   2543:     break;}
                   2544: case 257:
                   2545: #line 1202 "c-parse.y"
                   2546: { emit_line_note (input_filename, lineno);
                   2547:                  expand_end_bindings (getdecls (), kept_level_p (), 0);
                   2548:                  yyval.ttype = poplevel (kept_level_p (), 0, 0);
                   2549:                  pop_momentary (); ;
                   2550:     break;}
                   2551: case 258:
                   2552: #line 1207 "c-parse.y"
                   2553: { emit_line_note (input_filename, lineno);
                   2554:                  expand_end_bindings (getdecls (), kept_level_p (), 0);
                   2555:                  yyval.ttype = poplevel (kept_level_p (), 0, 0);
                   2556:                  pop_momentary (); ;
                   2557:     break;}
                   2558: case 261:
                   2559: #line 1224 "c-parse.y"
                   2560: { emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
                   2561:                  expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0);
                   2562:                  yyvsp[-3].itype = stmt_count;
                   2563:                  if_stmt_file = yyvsp[-5].filename;
                   2564:                  if_stmt_line = yyvsp[-4].lineno;
                   2565:                  position_after_white_space (); ;
                   2566:     break;}
                   2567: case 262:
                   2568: #line 1233 "c-parse.y"
                   2569: { yyval.filename = input_filename; ;
                   2570:     break;}
                   2571: case 263:
                   2572: #line 1237 "c-parse.y"
                   2573: { yyval.lineno = lineno; ;
                   2574:     break;}
                   2575: case 264:
                   2576: #line 1242 "c-parse.y"
                   2577: { ;
                   2578:     break;}
                   2579: case 265:
                   2580: #line 1247 "c-parse.y"
                   2581: { ;
                   2582:     break;}
                   2583: case 266:
                   2584: #line 1252 "c-parse.y"
                   2585: { ;
                   2586:     break;}
                   2587: case 268:
                   2588: #line 1258 "c-parse.y"
                   2589: { int next;
                   2590:                  position_after_white_space ();
                   2591:                  next = getc (finput);
                   2592:                  ungetc (next, finput);
                   2593:                  if (pedantic && next == '}')
                   2594:                    pedwarn ("ANSI C forbids label at end of compound statement");
                   2595:                ;
                   2596:     break;}
                   2597: case 269:
                   2598: #line 1270 "c-parse.y"
                   2599: { stmt_count++; ;
                   2600:     break;}
                   2601: case 270:
                   2602: #line 1272 "c-parse.y"
                   2603: { stmt_count++;
                   2604:                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
                   2605:                  c_expand_expr_stmt (yyvsp[-1].ttype);
                   2606:                  clear_momentary (); ;
                   2607:     break;}
                   2608: case 271:
                   2609: #line 1277 "c-parse.y"
                   2610: { expand_start_else ();
                   2611:                  yyvsp[-1].itype = stmt_count;
                   2612:                  position_after_white_space (); ;
                   2613:     break;}
                   2614: case 272:
                   2615: #line 1281 "c-parse.y"
                   2616: { expand_end_cond ();
                   2617:                  if (extra_warnings && stmt_count == yyvsp[-3].itype)
                   2618:                    warning ("empty body in an else-statement"); ;
                   2619:     break;}
                   2620: case 273:
                   2621: #line 1285 "c-parse.y"
                   2622: { expand_end_cond ();
                   2623:                  if (extra_warnings && stmt_count == yyvsp[0].itype)
                   2624:                    warning_with_file_and_line (if_stmt_file, if_stmt_line,
                   2625:                                                "empty body in an if-statement"); ;
                   2626:     break;}
                   2627: case 274:
                   2628: #line 1293 "c-parse.y"
                   2629: { expand_end_cond (); ;
                   2630:     break;}
                   2631: case 275:
                   2632: #line 1295 "c-parse.y"
                   2633: { stmt_count++;
                   2634:                  emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
                   2635:                  /* The emit_nop used to come before emit_line_note,
                   2636:                     but that made the nop seem like part of the preceding line.
                   2637:                     And that was confusing when the preceding line was
                   2638:                     inside of an if statement and was not really executed.
                   2639:                     I think it ought to work to put the nop after the line number.
                   2640:                     We will see.  --rms, July 15, 1991.  */
                   2641:                  emit_nop ();
                   2642:                  expand_start_loop (1); ;
                   2643:     break;}
                   2644: case 276:
                   2645: #line 1306 "c-parse.y"
                   2646: { emit_line_note (input_filename, lineno);
                   2647:                  expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype));
                   2648:                  position_after_white_space (); ;
                   2649:     break;}
                   2650: case 277:
                   2651: #line 1310 "c-parse.y"
                   2652: { expand_end_loop (); ;
                   2653:     break;}
                   2654: case 278:
                   2655: #line 1312 "c-parse.y"
                   2656: { stmt_count++;
                   2657:                  emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
                   2658:                  /* See comment in `while' alternative, above.  */
                   2659:                  emit_nop ();
                   2660:                  expand_start_loop_continue_elsewhere (1);
                   2661:                  position_after_white_space (); ;
                   2662:     break;}
                   2663: case 279:
                   2664: #line 1319 "c-parse.y"
                   2665: { expand_loop_continue_here (); ;
                   2666:     break;}
                   2667: case 280:
                   2668: #line 1321 "c-parse.y"
                   2669: { emit_line_note (input_filename, lineno);
                   2670:                  expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-2].ttype));
                   2671:                  expand_end_loop ();
                   2672:                  clear_momentary (); ;
                   2673:     break;}
                   2674: case 281:
                   2675: #line 1327 "c-parse.y"
                   2676: { stmt_count++;
                   2677:                  emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
                   2678:                  /* See comment in `while' alternative, above.  */
                   2679:                  emit_nop ();
                   2680:                  if (yyvsp[-1].ttype) c_expand_expr_stmt (yyvsp[-1].ttype);
                   2681:                  expand_start_loop_continue_elsewhere (1); ;
                   2682:     break;}
                   2683: case 282:
                   2684: #line 1334 "c-parse.y"
                   2685: { emit_line_note (input_filename, lineno);
                   2686:                  if (yyvsp[-1].ttype)
                   2687:                    expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype)); ;
                   2688:     break;}
                   2689: case 283:
                   2690: #line 1340 "c-parse.y"
                   2691: { push_momentary ();
                   2692:                  position_after_white_space (); ;
                   2693:     break;}
                   2694: case 284:
                   2695: #line 1343 "c-parse.y"
                   2696: { emit_line_note (yyvsp[-13].filename, yyvsp[-12].lineno);
                   2697:                  expand_loop_continue_here ();
                   2698:                  if (yyvsp[-3].ttype)
                   2699:                    c_expand_expr_stmt (yyvsp[-3].ttype);
                   2700:                  pop_momentary ();
                   2701:                  expand_end_loop (); ;
                   2702:     break;}
                   2703: case 285:
                   2704: #line 1350 "c-parse.y"
                   2705: { stmt_count++;
                   2706:                  emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
                   2707:                  c_expand_start_case (yyvsp[-1].ttype);
                   2708:                  /* Don't let the tree nodes for $3 be discarded by
                   2709:                     clear_momentary during the parsing of the next stmt.  */
                   2710:                  push_momentary ();
                   2711:                  position_after_white_space (); ;
                   2712:     break;}
                   2713: case 286:
                   2714: #line 1358 "c-parse.y"
                   2715: { expand_end_case (yyvsp[-3].ttype);
                   2716:                  pop_momentary (); ;
                   2717:     break;}
                   2718: case 287:
                   2719: #line 1361 "c-parse.y"
                   2720: { stmt_count++;
                   2721:                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
                   2722:                  if ( ! expand_exit_something ())
                   2723:                    error ("break statement not within loop or switch"); ;
                   2724:     break;}
                   2725: case 288:
                   2726: #line 1366 "c-parse.y"
                   2727: { stmt_count++;
                   2728:                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
                   2729:                  if (! expand_continue_loop (0))
                   2730:                    error ("continue statement not within a loop"); ;
                   2731:     break;}
                   2732: case 289:
                   2733: #line 1371 "c-parse.y"
                   2734: { stmt_count++;
                   2735:                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
                   2736:                  c_expand_return (NULL_TREE); ;
                   2737:     break;}
                   2738: case 290:
                   2739: #line 1375 "c-parse.y"
                   2740: { stmt_count++;
                   2741:                  emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
                   2742:                  c_expand_return (yyvsp[-1].ttype); ;
                   2743:     break;}
                   2744: case 291:
                   2745: #line 1379 "c-parse.y"
                   2746: { stmt_count++;
                   2747:                  emit_line_note (yyvsp[-7].filename, yyvsp[-6].lineno);
                   2748:                  STRIP_NOPS (yyvsp[-2].ttype);
                   2749:                  if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR
                   2750:                       && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST)
                   2751:                      || TREE_CODE (yyvsp[-2].ttype) == STRING_CST)
                   2752:                    expand_asm (yyvsp[-2].ttype);
                   2753:                  else
                   2754:                    error ("argument of `asm' is not a constant string"); ;
                   2755:     break;}
                   2756: case 292:
                   2757: #line 1390 "c-parse.y"
                   2758: { stmt_count++;
                   2759:                  emit_line_note (yyvsp[-9].filename, yyvsp[-8].lineno);
                   2760:                  c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
                   2761:                                         yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
                   2762:                                         input_filename, lineno); ;
                   2763:     break;}
                   2764: case 293:
                   2765: #line 1397 "c-parse.y"
                   2766: { stmt_count++;
                   2767:                  emit_line_note (yyvsp[-11].filename, yyvsp[-10].lineno);
                   2768:                  c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
                   2769:                                         yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
                   2770:                                         input_filename, lineno); ;
                   2771:     break;}
                   2772: case 294:
                   2773: #line 1405 "c-parse.y"
                   2774: { stmt_count++;
                   2775:                  emit_line_note (yyvsp[-13].filename, yyvsp[-12].lineno);
                   2776:                  c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
                   2777:                                         yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
                   2778:                                         input_filename, lineno); ;
                   2779:     break;}
                   2780: case 295:
                   2781: #line 1411 "c-parse.y"
                   2782: { tree decl;
                   2783:                  stmt_count++;
                   2784:                  emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
                   2785:                  decl = lookup_label (yyvsp[-1].ttype);
                   2786:                  if (decl != 0)
                   2787:                    {
                   2788:                      TREE_USED (decl) = 1;
                   2789:                      expand_goto (decl);
                   2790:                    }
                   2791:                ;
                   2792:     break;}
                   2793: case 296:
                   2794: #line 1422 "c-parse.y"
                   2795: { stmt_count++;
                   2796:                  emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
                   2797:                  expand_computed_goto (yyvsp[-1].ttype); ;
                   2798:     break;}
                   2799: case 298:
                   2800: #line 1433 "c-parse.y"
                   2801: { register tree value = check_case_value (yyvsp[-1].ttype);
                   2802:                  register tree label
                   2803:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
                   2804: 
                   2805:                  stmt_count++;
                   2806: 
                   2807:                  if (value != error_mark_node)
                   2808:                    {
                   2809:                      tree duplicate;
                   2810:                      int success = pushcase (value, label, &duplicate);
                   2811:                      if (success == 1)
                   2812:                        error ("case label not within a switch statement");
                   2813:                      else if (success == 2)
                   2814:                        {
                   2815:                          error ("duplicate case value");
                   2816:                          error_with_decl (duplicate, "this is the first entry for that value");
                   2817:                        }
                   2818:                      else if (success == 3)
                   2819:                        warning ("case value out of range");
                   2820:                      else if (success == 5)
                   2821:                        error ("case label within scope of cleanup or variable array");
                   2822:                    }
                   2823:                  position_after_white_space (); ;
                   2824:     break;}
                   2825: case 299:
                   2826: #line 1457 "c-parse.y"
                   2827: { register tree value1 = check_case_value (yyvsp[-3].ttype);
                   2828:                  register tree value2 = check_case_value (yyvsp[-1].ttype);
                   2829:                  register tree label
                   2830:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
                   2831: 
                   2832:                  stmt_count++;
                   2833: 
                   2834:                  if (value1 != error_mark_node && value2 != error_mark_node)
                   2835:                    {
                   2836:                      tree duplicate;
                   2837:                      int success = pushcase_range (value1, value2, label,
                   2838:                                                    &duplicate);
                   2839:                      if (success == 1)
                   2840:                        error ("case label not within a switch statement");
                   2841:                      else if (success == 2)
                   2842:                        {
                   2843:                          error ("duplicate case value");
                   2844:                          error_with_decl (duplicate, "this is the first entry for that value");
                   2845:                        }
                   2846:                      else if (success == 3)
                   2847:                        warning ("case value out of range");
                   2848:                      else if (success == 4)
                   2849:                        warning ("empty case range");
                   2850:                      else if (success == 5)
                   2851:                        error ("case label within scope of cleanup or variable array");
                   2852:                    }
                   2853:                  position_after_white_space (); ;
                   2854:     break;}
                   2855: case 300:
                   2856: #line 1485 "c-parse.y"
                   2857: {
                   2858:                  tree duplicate;
                   2859:                  register tree label
                   2860:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
                   2861:                  int success = pushcase (NULL_TREE, label, &duplicate);
                   2862:                  stmt_count++;
                   2863:                  if (success == 1)
                   2864:                    error ("default label not within a switch statement");
                   2865:                  else if (success == 2)
                   2866:                    {
                   2867:                      error ("multiple default labels in one switch");
                   2868:                      error_with_decl (duplicate, "this is the first default label");
                   2869:                    }
                   2870:                  position_after_white_space (); ;
                   2871:     break;}
                   2872: case 301:
                   2873: #line 1500 "c-parse.y"
                   2874: { tree label = define_label (input_filename, lineno, yyvsp[-1].ttype);
                   2875:                  stmt_count++;
                   2876:                  emit_nop ();
                   2877:                  if (label)
                   2878:                    expand_label (label);
                   2879:                  position_after_white_space (); ;
                   2880:     break;}
                   2881: case 302:
                   2882: #line 1512 "c-parse.y"
                   2883: { emit_line_note (input_filename, lineno); ;
                   2884:     break;}
                   2885: case 303:
                   2886: #line 1514 "c-parse.y"
                   2887: { emit_line_note (input_filename, lineno); ;
                   2888:     break;}
                   2889: case 304:
                   2890: #line 1519 "c-parse.y"
                   2891: { yyval.ttype = NULL_TREE; ;
                   2892:     break;}
                   2893: case 306:
                   2894: #line 1526 "c-parse.y"
                   2895: { yyval.ttype = NULL_TREE; ;
                   2896:     break;}
                   2897: case 309:
                   2898: #line 1533 "c-parse.y"
                   2899: { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   2900:     break;}
                   2901: case 310:
                   2902: #line 1538 "c-parse.y"
                   2903: { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   2904:     break;}
                   2905: case 311:
                   2906: #line 1543 "c-parse.y"
                   2907: { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ;
                   2908:     break;}
                   2909: case 312:
                   2910: #line 1545 "c-parse.y"
                   2911: { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;
                   2912:     break;}
                   2913: case 313:
                   2914: #line 1551 "c-parse.y"
                   2915: { pushlevel (0);
                   2916:                  clear_parm_order ();
                   2917:                  declare_parm_level (0); ;
                   2918:     break;}
                   2919: case 314:
                   2920: #line 1555 "c-parse.y"
                   2921: { yyval.ttype = yyvsp[0].ttype;
                   2922:                  parmlist_tags_warning ();
                   2923:                  poplevel (0, 0, 0); ;
                   2924:     break;}
                   2925: case 316:
                   2926: #line 1563 "c-parse.y"
                   2927: { tree parm;
                   2928:                  /* Mark the forward decls as such.  */
                   2929:                  for (parm = getdecls (); parm; parm = TREE_CHAIN (parm))
                   2930:                    TREE_ASM_WRITTEN (parm) = 1;
                   2931:                  clear_parm_order (); ;
                   2932:     break;}
                   2933: case 317:
                   2934: #line 1569 "c-parse.y"
                   2935: { yyval.ttype = yyvsp[0].ttype; ;
                   2936:     break;}
                   2937: case 318:
                   2938: #line 1571 "c-parse.y"
                   2939: { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;
                   2940:     break;}
                   2941: case 319:
                   2942: #line 1577 "c-parse.y"
                   2943: { yyval.ttype = get_parm_info (0); ;
                   2944:     break;}
                   2945: case 320:
                   2946: #line 1579 "c-parse.y"
                   2947: { yyval.ttype = get_parm_info (0);
                   2948:                  if (pedantic)
                   2949:                    pedwarn ("ANSI C requires a named argument before `...'");
                   2950:                ;
                   2951:     break;}
                   2952: case 321:
                   2953: #line 1584 "c-parse.y"
                   2954: { yyval.ttype = get_parm_info (1); ;
                   2955:     break;}
                   2956: case 322:
                   2957: #line 1586 "c-parse.y"
                   2958: { yyval.ttype = get_parm_info (0); ;
                   2959:     break;}
                   2960: case 323:
                   2961: #line 1591 "c-parse.y"
                   2962: { push_parm_decl (yyvsp[0].ttype); ;
                   2963:     break;}
                   2964: case 324:
                   2965: #line 1593 "c-parse.y"
                   2966: { push_parm_decl (yyvsp[0].ttype); ;
                   2967:     break;}
                   2968: case 325:
                   2969: #line 1600 "c-parse.y"
                   2970: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype)      ; ;
                   2971:     break;}
                   2972: case 326:
                   2973: #line 1602 "c-parse.y"
                   2974: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype)      ; ;
                   2975:     break;}
                   2976: case 327:
                   2977: #line 1604 "c-parse.y"
                   2978: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2979:     break;}
                   2980: case 328:
                   2981: #line 1606 "c-parse.y"
                   2982: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype)      ; ;
                   2983:     break;}
                   2984: case 329:
                   2985: #line 1608 "c-parse.y"
                   2986: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2987:     break;}
                   2988: case 330:
                   2989: #line 1615 "c-parse.y"
                   2990: { pushlevel (0);
                   2991:                  clear_parm_order ();
                   2992:                  declare_parm_level (1); ;
                   2993:     break;}
                   2994: case 331:
                   2995: #line 1619 "c-parse.y"
                   2996: { yyval.ttype = yyvsp[0].ttype;
                   2997:                  parmlist_tags_warning ();
                   2998:                  poplevel (0, 0, 0); ;
                   2999:     break;}
                   3000: case 333:
                   3001: #line 1627 "c-parse.y"
                   3002: { tree parm;
                   3003:                  /* Mark the forward decls as such.  */
                   3004:                  for (parm = getdecls (); parm; parm = TREE_CHAIN (parm))
                   3005:                    TREE_ASM_WRITTEN (parm) = 1;
                   3006:                  clear_parm_order (); ;
                   3007:     break;}
                   3008: case 334:
                   3009: #line 1633 "c-parse.y"
                   3010: { yyval.ttype = yyvsp[0].ttype; ;
                   3011:     break;}
                   3012: case 335:
                   3013: #line 1635 "c-parse.y"
                   3014: { tree t;
                   3015:                  for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t))
                   3016:                    if (TREE_VALUE (t) == NULL_TREE)
                   3017:                      error ("`...' in old-style identifier list");
                   3018:                  yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
                   3019:     break;}
                   3020: case 336:
                   3021: #line 1641 "c-parse.y"
                   3022: { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;
                   3023:     break;}
                   3024: case 337:
                   3025: #line 1647 "c-parse.y"
                   3026: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
                   3027:     break;}
                   3028: case 338:
                   3029: #line 1649 "c-parse.y"
                   3030: { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   3031:     break;}
                   3032: case 339:
                   3033: #line 1655 "c-parse.y"
                   3034: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
                   3035:     break;}
                   3036: case 340:
                   3037: #line 1657 "c-parse.y"
                   3038: { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   3039:     break;}
                   3040: }
                   3041:    /* the action file gets copied in in place of this dollarsign */
                   3042: #line 440 "bison.simple"
                   3043: 
                   3044:   yyvsp -= yylen;
                   3045:   yyssp -= yylen;
                   3046: #ifdef YYLSP_NEEDED
                   3047:   yylsp -= yylen;
                   3048: #endif
                   3049: 
                   3050: #if YYDEBUG != 0
                   3051:   if (yydebug)
                   3052:     {
                   3053:       short *ssp1 = yyss - 1;
                   3054:       fprintf (stderr, "state stack now");
                   3055:       while (ssp1 != yyssp)
                   3056:        fprintf (stderr, " %d", *++ssp1);
                   3057:       fprintf (stderr, "\n");
                   3058:     }
                   3059: #endif
                   3060: 
                   3061:   *++yyvsp = yyval;
                   3062: 
                   3063: #ifdef YYLSP_NEEDED
                   3064:   yylsp++;
                   3065:   if (yylen == 0)
                   3066:     {
                   3067:       yylsp->first_line = yylloc.first_line;
                   3068:       yylsp->first_column = yylloc.first_column;
                   3069:       yylsp->last_line = (yylsp-1)->last_line;
                   3070:       yylsp->last_column = (yylsp-1)->last_column;
                   3071:       yylsp->text = 0;
                   3072:     }
                   3073:   else
                   3074:     {
                   3075:       yylsp->last_line = (yylsp+yylen-1)->last_line;
                   3076:       yylsp->last_column = (yylsp+yylen-1)->last_column;
                   3077:     }
                   3078: #endif
                   3079: 
                   3080:   /* Now "shift" the result of the reduction.
                   3081:      Determine what state that goes to,
                   3082:      based on the state we popped back to
                   3083:      and the rule number reduced by.  */
                   3084: 
                   3085:   yyn = yyr1[yyn];
                   3086: 
                   3087:   yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
                   3088:   if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
                   3089:     yystate = yytable[yystate];
                   3090:   else
                   3091:     yystate = yydefgoto[yyn - YYNTBASE];
                   3092: 
                   3093:   goto yynewstate;
                   3094: 
                   3095: yyerrlab:   /* here on detecting error */
                   3096: 
                   3097:   if (! yyerrstatus)
                   3098:     /* If not already recovering from an error, report this error.  */
                   3099:     {
                   3100:       ++yynerrs;
                   3101: 
                   3102: #ifdef YYERROR_VERBOSE
                   3103:       yyn = yypact[yystate];
                   3104: 
                   3105:       if (yyn > YYFLAG && yyn < YYLAST)
                   3106:        {
                   3107:          int size = 0;
                   3108:          char *msg;
                   3109:          int x, count;
                   3110: 
                   3111:          count = 0;
                   3112:          for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
                   3113:            if (yycheck[x + yyn] == x)
                   3114:              size += strlen(yytname[x]) + 15, count++;
                   3115:          msg = (char *) malloc(size + 15);
                   3116:          if (msg != 0)
                   3117:            {
                   3118:              strcpy(msg, "parse error");
                   3119: 
                   3120:              if (count < 5)
                   3121:                {
                   3122:                  count = 0;
                   3123:                  for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
                   3124:                    if (yycheck[x + yyn] == x)
                   3125:                      {
                   3126:                        strcat(msg, count == 0 ? ", expecting `" : " or `");
                   3127:                        strcat(msg, yytname[x]);
                   3128:                        strcat(msg, "'");
                   3129:                        count++;
                   3130:                      }
                   3131:                }
                   3132:              yyerror(msg);
                   3133:              free(msg);
                   3134:            }
                   3135:          else
                   3136:            yyerror ("parse error; also virtual memory exceeded");
                   3137:        }
                   3138:       else
                   3139: #endif /* YYERROR_VERBOSE */
                   3140:        yyerror("parse error");
                   3141:     }
                   3142: 
                   3143: yyerrlab1:   /* here on error raised explicitly by an action */
                   3144: 
                   3145:   if (yyerrstatus == 3)
                   3146:     {
                   3147:       /* if just tried and failed to reuse lookahead token after an error, discard it.  */
                   3148: 
                   3149:       /* return failure if at end of input */
                   3150:       if (yychar == YYEOF)
                   3151:        YYABORT;
                   3152: 
                   3153: #if YYDEBUG != 0
                   3154:       if (yydebug)
                   3155:        fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
                   3156: #endif
                   3157: 
                   3158:       yychar = YYEMPTY;
                   3159:     }
                   3160: 
                   3161:   /* Else will try to reuse lookahead token
                   3162:      after shifting the error token.  */
                   3163: 
                   3164:   yyerrstatus = 3;             /* Each real token shifted decrements this */
                   3165: 
                   3166:   goto yyerrhandle;
                   3167: 
                   3168: yyerrdefault:  /* current state does not do anything special for the error token. */
                   3169: 
                   3170: #if 0
                   3171:   /* This is wrong; only states that explicitly want error tokens
                   3172:      should shift them.  */
                   3173:   yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
                   3174:   if (yyn) goto yydefault;
                   3175: #endif
                   3176: 
                   3177: yyerrpop:   /* pop the current state because it cannot handle the error token */
                   3178: 
                   3179:   if (yyssp == yyss) YYABORT;
                   3180:   yyvsp--;
                   3181:   yystate = *--yyssp;
                   3182: #ifdef YYLSP_NEEDED
                   3183:   yylsp--;
                   3184: #endif
                   3185: 
                   3186: #if YYDEBUG != 0
                   3187:   if (yydebug)
                   3188:     {
                   3189:       short *ssp1 = yyss - 1;
                   3190:       fprintf (stderr, "Error: state stack now");
                   3191:       while (ssp1 != yyssp)
                   3192:        fprintf (stderr, " %d", *++ssp1);
                   3193:       fprintf (stderr, "\n");
                   3194:     }
                   3195: #endif
                   3196: 
                   3197: yyerrhandle:
                   3198: 
                   3199:   yyn = yypact[yystate];
                   3200:   if (yyn == YYFLAG)
                   3201:     goto yyerrdefault;
                   3202: 
                   3203:   yyn += YYTERROR;
                   3204:   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
                   3205:     goto yyerrdefault;
                   3206: 
                   3207:   yyn = yytable[yyn];
                   3208:   if (yyn < 0)
                   3209:     {
                   3210:       if (yyn == YYFLAG)
                   3211:        goto yyerrpop;
                   3212:       yyn = -yyn;
                   3213:       goto yyreduce;
                   3214:     }
                   3215:   else if (yyn == 0)
                   3216:     goto yyerrpop;
                   3217: 
                   3218:   if (yyn == YYFINAL)
                   3219:     YYACCEPT;
                   3220: 
                   3221: #if YYDEBUG != 0
                   3222:   if (yydebug)
                   3223:     fprintf(stderr, "Shifting error token, ");
                   3224: #endif
                   3225: 
                   3226:   *++yyvsp = yylval;
                   3227: #ifdef YYLSP_NEEDED
                   3228:   *++yylsp = yylloc;
                   3229: #endif
                   3230: 
                   3231:   yystate = yyn;
                   3232:   goto yynewstate;
                   3233: }
                   3234: #line 1659 "c-parse.y"
                   3235: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.