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

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
1.1.1.2 ! root       30: #define        ASM_KEYWORD     282
1.1       root       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;
1.1.1.2 ! root       91: #line 175 "c-parse.y"
1.1       root       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,
1.1.1.2 ! root      333:    200,   203,   210,   212,   212,   213,   215,   217,   218,   228,
        !           334:    234,   236,   238,   240,   242,   243,   244,   249,   255,   257,
        !           335:    258,   260,   265,   267,   268,   270,   275,   277,   278,   282,
        !           336:    284,   287,   289,   291,   293,   295,   297,   299,   303,   307,
        !           337:    310,   313,   316,   320,   322,   325,   328,   331,   334,   353,
        !           338:    358,   360,   362,   366,   368,   371,   396,   398,   400,   402,
        !           339:    404,   406,   408,   410,   412,   414,   416,   418,   420,   422,
        !           340:    424,   426,   428,   430,   434,   487,   488,   490,   496,   498,
1.1       root      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",
1.1.1.2 ! root      372: "BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF","ALIGN",
        !           373: "ATTRIBUTE","EXTENSION","LABEL","ASSIGN","'='","'?'","':'","OROR","ANDAND","'|'",
        !           374: "'^'","'&'","EQCOMPARE","ARITHCOMPARE","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
        !           375: "'%'","UNARY","PLUSPLUS","MINUSMINUS","HYPERUNARY","POINTSAT","'.'","'('","'['",
        !           376: "INTERFACE","IMPLEMENTATION","END","SELECTOR","DEFS","ENCODE","CLASSNAME","PUBLIC",
        !           377: "')'","';'","'}'","'~'","'!'","','","'{'","']'","program","extdefs","@1","@2",
        !           378: "extdef","datadef","fndef","@3","@4","@5","@6","@7","@8","identifier","unop",
        !           379: "expr","exprlist","nonnull_exprlist","unary_expr","@9","cast_expr","expr_no_commas",
        !           380: "primary","@10","string","xdecls","lineno_datadecl","datadecls","datadecl","lineno_decl",
1.1       root      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>
1.1.1.2 ! root     1100: #pragma alloca
1.1       root     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:
1.1.1.2 ! root     1508: #line 201 "c-parse.y"
1.1       root     1509: { if (pedantic)
                   1510:                    pedwarn ("ANSI C forbids an empty source file"); ;
                   1511:     break;}
                   1512: case 3:
1.1.1.2 ! root     1513: #line 211 "c-parse.y"
1.1       root     1514: {yyval.ttype = NULL_TREE; ;
                   1515:     break;}
                   1516: case 5:
1.1.1.2 ! root     1517: #line 212 "c-parse.y"
1.1       root     1518: {yyval.ttype = NULL_TREE; ;
                   1519:     break;}
                   1520: case 9:
1.1.1.2 ! root     1521: #line 219 "c-parse.y"
1.1       root     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:
1.1.1.2 ! root     1531: #line 230 "c-parse.y"
1.1       root     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:
1.1.1.2 ! root     1538: #line 235 "c-parse.y"
1.1       root     1539: {;
                   1540:     break;}
                   1541: case 12:
1.1.1.2 ! root     1542: #line 237 "c-parse.y"
1.1       root     1543: {;
                   1544:     break;}
                   1545: case 13:
1.1.1.2 ! root     1546: #line 239 "c-parse.y"
1.1       root     1547: { error ("empty declaration"); ;
                   1548:     break;}
                   1549: case 14:
1.1.1.2 ! root     1550: #line 241 "c-parse.y"
1.1       root     1551: { shadow_tag (yyvsp[-1].ttype); ;
                   1552:     break;}
                   1553: case 17:
1.1.1.2 ! root     1554: #line 245 "c-parse.y"
1.1       root     1555: { if (pedantic)
                   1556:                    pedwarn ("ANSI C does not allow extra `;' outside of a function"); ;
                   1557:     break;}
                   1558: case 18:
1.1.1.2 ! root     1559: #line 251 "c-parse.y"
1.1       root     1560: { if (! start_function (yyvsp[-2].ttype, yyvsp[0].ttype, 0))
                   1561:                    YYERROR1;
                   1562:                  reinit_parse_for_function (); ;
                   1563:     break;}
                   1564: case 19:
1.1.1.2 ! root     1565: #line 255 "c-parse.y"
1.1       root     1566: { store_parm_decls (); ;
                   1567:     break;}
                   1568: case 20:
1.1.1.2 ! root     1569: #line 257 "c-parse.y"
1.1       root     1570: { finish_function (0); ;
                   1571:     break;}
                   1572: case 21:
1.1.1.2 ! root     1573: #line 259 "c-parse.y"
1.1       root     1574: { ;
                   1575:     break;}
                   1576: case 22:
1.1.1.2 ! root     1577: #line 261 "c-parse.y"
1.1       root     1578: { if (! start_function (yyvsp[-2].ttype, yyvsp[0].ttype, 0))
                   1579:                    YYERROR1;
                   1580:                  reinit_parse_for_function (); ;
                   1581:     break;}
                   1582: case 23:
1.1.1.2 ! root     1583: #line 265 "c-parse.y"
1.1       root     1584: { store_parm_decls (); ;
                   1585:     break;}
                   1586: case 24:
1.1.1.2 ! root     1587: #line 267 "c-parse.y"
1.1       root     1588: { finish_function (0); ;
                   1589:     break;}
                   1590: case 25:
1.1.1.2 ! root     1591: #line 269 "c-parse.y"
1.1       root     1592: { ;
                   1593:     break;}
                   1594: case 26:
1.1.1.2 ! root     1595: #line 271 "c-parse.y"
1.1       root     1596: { if (! start_function (0, yyvsp[0].ttype, 0))
                   1597:                    YYERROR1;
                   1598:                  reinit_parse_for_function (); ;
                   1599:     break;}
                   1600: case 27:
1.1.1.2 ! root     1601: #line 275 "c-parse.y"
1.1       root     1602: { store_parm_decls (); ;
                   1603:     break;}
                   1604: case 28:
1.1.1.2 ! root     1605: #line 277 "c-parse.y"
1.1       root     1606: { finish_function (0); ;
                   1607:     break;}
                   1608: case 29:
1.1.1.2 ! root     1609: #line 279 "c-parse.y"
1.1       root     1610: { ;
                   1611:     break;}
                   1612: case 32:
1.1.1.2 ! root     1613: #line 288 "c-parse.y"
1.1       root     1614: { yyval.code = ADDR_EXPR; ;
                   1615:     break;}
                   1616: case 33:
1.1.1.2 ! root     1617: #line 290 "c-parse.y"
1.1       root     1618: { yyval.code = NEGATE_EXPR; ;
                   1619:     break;}
                   1620: case 34:
1.1.1.2 ! root     1621: #line 292 "c-parse.y"
1.1       root     1622: { yyval.code = CONVERT_EXPR; ;
                   1623:     break;}
                   1624: case 35:
1.1.1.2 ! root     1625: #line 294 "c-parse.y"
1.1       root     1626: { yyval.code = PREINCREMENT_EXPR; ;
                   1627:     break;}
                   1628: case 36:
1.1.1.2 ! root     1629: #line 296 "c-parse.y"
1.1       root     1630: { yyval.code = PREDECREMENT_EXPR; ;
                   1631:     break;}
                   1632: case 37:
1.1.1.2 ! root     1633: #line 298 "c-parse.y"
1.1       root     1634: { yyval.code = BIT_NOT_EXPR; ;
                   1635:     break;}
                   1636: case 38:
1.1.1.2 ! root     1637: #line 300 "c-parse.y"
1.1       root     1638: { yyval.code = TRUTH_NOT_EXPR; ;
                   1639:     break;}
                   1640: case 39:
1.1.1.2 ! root     1641: #line 304 "c-parse.y"
1.1       root     1642: { yyval.ttype = build_compound_expr (yyvsp[0].ttype); ;
                   1643:     break;}
                   1644: case 40:
1.1.1.2 ! root     1645: #line 309 "c-parse.y"
1.1       root     1646: { yyval.ttype = NULL_TREE; ;
                   1647:     break;}
                   1648: case 42:
1.1.1.2 ! root     1649: #line 315 "c-parse.y"
1.1       root     1650: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
                   1651:     break;}
                   1652: case 43:
1.1.1.2 ! root     1653: #line 317 "c-parse.y"
1.1       root     1654: { chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   1655:     break;}
                   1656: case 45:
1.1.1.2 ! root     1657: #line 323 "c-parse.y"
1.1       root     1658: { yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ;
                   1659:     break;}
                   1660: case 46:
1.1.1.2 ! root     1661: #line 326 "c-parse.y"
1.1       root     1662: { yyvsp[0].itype = pedantic;
                   1663:                  pedantic = 0; ;
                   1664:     break;}
                   1665: case 47:
1.1.1.2 ! root     1666: #line 329 "c-parse.y"
1.1       root     1667: { yyval.ttype = yyvsp[0].ttype;
                   1668:                  pedantic = yyvsp[-2].itype; ;
                   1669:     break;}
                   1670: case 48:
1.1.1.2 ! root     1671: #line 332 "c-parse.y"
1.1       root     1672: { yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0); ;
                   1673:     break;}
                   1674: case 49:
1.1.1.2 ! root     1675: #line 335 "c-parse.y"
1.1       root     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:
1.1.1.2 ! root     1682: #line 354 "c-parse.y"
1.1       root     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:
1.1.1.2 ! root     1689: #line 359 "c-parse.y"
1.1       root     1690: { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
                   1691:     break;}
                   1692: case 52:
1.1.1.2 ! root     1693: #line 361 "c-parse.y"
1.1       root     1694: { yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ;
                   1695:     break;}
                   1696: case 53:
1.1.1.2 ! root     1697: #line 363 "c-parse.y"
1.1       root     1698: { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
                   1699:     break;}
                   1700: case 55:
1.1.1.2 ! root     1701: #line 369 "c-parse.y"
1.1       root     1702: { tree type = groktypename (yyvsp[-2].ttype);
                   1703:                  yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
                   1704:     break;}
                   1705: case 56:
1.1.1.2 ! root     1706: #line 372 "c-parse.y"
1.1       root     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:
1.1.1.2 ! root     1731: #line 399 "c-parse.y"
1.1       root     1732: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1733:     break;}
                   1734: case 59:
1.1.1.2 ! root     1735: #line 401 "c-parse.y"
1.1       root     1736: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1737:     break;}
                   1738: case 60:
1.1.1.2 ! root     1739: #line 403 "c-parse.y"
1.1       root     1740: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1741:     break;}
                   1742: case 61:
1.1.1.2 ! root     1743: #line 405 "c-parse.y"
1.1       root     1744: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1745:     break;}
                   1746: case 62:
1.1.1.2 ! root     1747: #line 407 "c-parse.y"
1.1       root     1748: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1749:     break;}
                   1750: case 63:
1.1.1.2 ! root     1751: #line 409 "c-parse.y"
1.1       root     1752: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1753:     break;}
                   1754: case 64:
1.1.1.2 ! root     1755: #line 411 "c-parse.y"
1.1       root     1756: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1757:     break;}
                   1758: case 65:
1.1.1.2 ! root     1759: #line 413 "c-parse.y"
1.1       root     1760: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1761:     break;}
                   1762: case 66:
1.1.1.2 ! root     1763: #line 415 "c-parse.y"
1.1       root     1764: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1765:     break;}
                   1766: case 67:
1.1.1.2 ! root     1767: #line 417 "c-parse.y"
1.1       root     1768: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1769:     break;}
                   1770: case 68:
1.1.1.2 ! root     1771: #line 419 "c-parse.y"
1.1       root     1772: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1773:     break;}
                   1774: case 69:
1.1.1.2 ! root     1775: #line 421 "c-parse.y"
1.1       root     1776: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1777:     break;}
                   1778: case 70:
1.1.1.2 ! root     1779: #line 423 "c-parse.y"
1.1       root     1780: { yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1781:     break;}
                   1782: case 71:
1.1.1.2 ! root     1783: #line 425 "c-parse.y"
1.1       root     1784: { yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1785:     break;}
                   1786: case 72:
1.1.1.2 ! root     1787: #line 427 "c-parse.y"
1.1       root     1788: { yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1789:     break;}
                   1790: case 73:
1.1.1.2 ! root     1791: #line 429 "c-parse.y"
1.1       root     1792: { yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype); ;
                   1793:     break;}
                   1794: case 74:
1.1.1.2 ! root     1795: #line 431 "c-parse.y"
1.1       root     1796: { yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
                   1797:     break;}
                   1798: case 75:
1.1.1.2 ! root     1799: #line 436 "c-parse.y"
1.1       root     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;
1.1.1.2 ! root     1843:                  else
1.1       root     1844:                    {
1.1.1.2 ! root     1845:                      assemble_external (yyval.ttype);
1.1       root     1846:                      TREE_USED (yyval.ttype) = 1;
                   1847:                    }
                   1848:                  if (TREE_CODE (yyval.ttype) == CONST_DECL)
                   1849:                    yyval.ttype = DECL_INITIAL (yyval.ttype);
                   1850:                ;
                   1851:     break;}
                   1852: case 77:
                   1853: #line 489 "c-parse.y"
                   1854: { yyval.ttype = combine_strings (yyvsp[0].ttype); ;
                   1855:     break;}
                   1856: case 78:
                   1857: #line 491 "c-parse.y"
                   1858: { char class = TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype));
                   1859:                  if (class == 'e' || class == '1'
                   1860:                      || class == '2' || class == '<')
                   1861:                    C_SET_EXP_ORIGINAL_CODE (yyvsp[-1].ttype, ERROR_MARK);
                   1862:                  yyval.ttype = yyvsp[-1].ttype; ;
                   1863:     break;}
                   1864: case 79:
                   1865: #line 497 "c-parse.y"
                   1866: { yyval.ttype = error_mark_node; ;
                   1867:     break;}
                   1868: case 80:
                   1869: #line 499 "c-parse.y"
                   1870: { if (current_function_decl == 0)
                   1871:                    {
                   1872:                      error ("braced-group within expression allowed only inside a function");
                   1873:                      YYERROR;
                   1874:                    }
                   1875:                  /* We must force a BLOCK for this level
                   1876:                     so that, if it is not expanded later,
                   1877:                     there is a way to turn off the entire subtree of blocks
                   1878:                     that are contained in it.  */
                   1879:                  keep_next_level ();
                   1880:                  push_label_level ();
                   1881:                  yyval.ttype = expand_start_stmt_expr (); ;
                   1882:     break;}
                   1883: case 81:
                   1884: #line 512 "c-parse.y"
                   1885: { tree rtl_exp;
                   1886:                  if (pedantic)
                   1887:                    pedwarn ("ANSI C forbids braced-groups within expressions");
                   1888:                  pop_label_level ();
                   1889:                  rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
                   1890:                  /* The statements have side effects, so the group does.  */
                   1891:                  TREE_SIDE_EFFECTS (rtl_exp) = 1;
                   1892: 
                   1893:                  /* Make a BIND_EXPR for the BLOCK already made.  */
                   1894:                  yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
                   1895:                              NULL_TREE, rtl_exp, yyvsp[-1].ttype);
                   1896:                ;
                   1897:     break;}
                   1898: case 82:
                   1899: #line 525 "c-parse.y"
                   1900: { yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   1901:     break;}
                   1902: case 83:
                   1903: #line 527 "c-parse.y"
                   1904: { yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   1905:     break;}
                   1906: case 84:
                   1907: #line 529 "c-parse.y"
                   1908: { yyval.ttype = build_component_ref (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1909:     break;}
                   1910: case 85:
                   1911: #line 531 "c-parse.y"
                   1912: { yyval.ttype = build_component_ref (build_indirect_ref (yyvsp[-2].ttype, "->"), yyvsp[0].ttype); ;
                   1913:     break;}
                   1914: case 86:
                   1915: #line 533 "c-parse.y"
                   1916: { yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ;
                   1917:     break;}
                   1918: case 87:
                   1919: #line 535 "c-parse.y"
                   1920: { yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ;
                   1921:     break;}
                   1922: case 89:
                   1923: #line 542 "c-parse.y"
                   1924: { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   1925:     break;}
                   1926: case 92:
                   1927: #line 550 "c-parse.y"
                   1928: { c_mark_varargs ();
                   1929:                  if (pedantic)
                   1930:                    pedwarn ("ANSI C does not permit use of `varargs.h'"); ;
                   1931:     break;}
                   1932: case 93:
                   1933: #line 560 "c-parse.y"
                   1934: { ;
                   1935:     break;}
                   1936: case 98:
                   1937: #line 572 "c-parse.y"
                   1938: { current_declspecs = TREE_VALUE (declspec_stack);
                   1939:                  declspec_stack = TREE_CHAIN (declspec_stack);
                   1940:                  resume_momentary (yyvsp[-2].itype); ;
                   1941:     break;}
                   1942: case 99:
                   1943: #line 576 "c-parse.y"
                   1944: { current_declspecs = TREE_VALUE (declspec_stack);
                   1945:                  declspec_stack = TREE_CHAIN (declspec_stack);
                   1946:                  resume_momentary (yyvsp[-2].itype); ;
                   1947:     break;}
                   1948: case 100:
                   1949: #line 580 "c-parse.y"
                   1950: { shadow_tag (yyvsp[-1].ttype); ;
                   1951:     break;}
                   1952: case 101:
                   1953: #line 582 "c-parse.y"
                   1954: { pedwarn ("empty declaration"); ;
                   1955:     break;}
                   1956: case 102:
                   1957: #line 591 "c-parse.y"
                   1958: { ;
                   1959:     break;}
                   1960: case 107:
                   1961: #line 606 "c-parse.y"
                   1962: { yyval.itype = suspend_momentary ();
                   1963:                  pending_xref_error ();
                   1964:                  declspec_stack = tree_cons (0, current_declspecs,
                   1965:                                              declspec_stack);
                   1966:                  current_declspecs = yyvsp[0].ttype; ;
                   1967:     break;}
                   1968: case 108:
                   1969: #line 615 "c-parse.y"
                   1970: { current_declspecs = TREE_VALUE (declspec_stack);
                   1971:                  declspec_stack = TREE_CHAIN (declspec_stack);
                   1972:                  resume_momentary (yyvsp[-2].itype); ;
                   1973:     break;}
                   1974: case 109:
                   1975: #line 619 "c-parse.y"
                   1976: { current_declspecs = TREE_VALUE (declspec_stack);
                   1977:                  declspec_stack = TREE_CHAIN (declspec_stack);
                   1978:                  resume_momentary (yyvsp[-2].itype); ;
                   1979:     break;}
                   1980: case 110:
                   1981: #line 623 "c-parse.y"
                   1982: { current_declspecs = TREE_VALUE (declspec_stack);
                   1983:                  declspec_stack = TREE_CHAIN (declspec_stack);
                   1984:                  resume_momentary (yyvsp[-1].itype); ;
                   1985:     break;}
                   1986: case 111:
                   1987: #line 627 "c-parse.y"
                   1988: { current_declspecs = TREE_VALUE (declspec_stack);
                   1989:                  declspec_stack = TREE_CHAIN (declspec_stack);
                   1990:                  resume_momentary (yyvsp[-1].itype); ;
                   1991:     break;}
                   1992: case 112:
                   1993: #line 631 "c-parse.y"
                   1994: { shadow_tag (yyvsp[-1].ttype); ;
                   1995:     break;}
                   1996: case 113:
                   1997: #line 633 "c-parse.y"
                   1998: { pedwarn ("empty declaration"); ;
                   1999:     break;}
                   2000: case 114:
                   2001: #line 642 "c-parse.y"
                   2002: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2003:     break;}
                   2004: case 115:
                   2005: #line 644 "c-parse.y"
                   2006: { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
                   2007:     break;}
                   2008: case 116:
                   2009: #line 648 "c-parse.y"
                   2010: { yyval.ttype = NULL_TREE; ;
                   2011:     break;}
                   2012: case 117:
                   2013: #line 650 "c-parse.y"
                   2014: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
                   2015:     break;}
                   2016: case 118:
                   2017: #line 652 "c-parse.y"
                   2018: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
                   2019:     break;}
                   2020: case 119:
                   2021: #line 661 "c-parse.y"
                   2022: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
                   2023:     break;}
                   2024: case 120:
                   2025: #line 663 "c-parse.y"
                   2026: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
                   2027:     break;}
                   2028: case 121:
                   2029: #line 665 "c-parse.y"
                   2030: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
                   2031:     break;}
                   2032: case 122:
                   2033: #line 667 "c-parse.y"
                   2034: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
                   2035:     break;}
                   2036: case 123:
                   2037: #line 677 "c-parse.y"
                   2038: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2039:     break;}
                   2040: case 124:
                   2041: #line 679 "c-parse.y"
                   2042: { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
                   2043:     break;}
                   2044: case 125:
                   2045: #line 683 "c-parse.y"
                   2046: { yyval.ttype = NULL_TREE; ;
                   2047:     break;}
                   2048: case 126:
                   2049: #line 685 "c-parse.y"
                   2050: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
                   2051:     break;}
                   2052: case 129:
                   2053: #line 695 "c-parse.y"
                   2054: { /* For a typedef name, record the meaning, not the name.
                   2055:                     In case of `foo foo, bar;'.  */
                   2056:                  yyval.ttype = lookup_name (yyvsp[0].ttype); ;
                   2057:     break;}
                   2058: case 130:
                   2059: #line 699 "c-parse.y"
                   2060: { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
                   2061:                  if (pedantic)
                   2062:                    pedwarn ("ANSI C forbids `typeof'"); ;
                   2063:     break;}
                   2064: case 131:
                   2065: #line 703 "c-parse.y"
                   2066: { yyval.ttype = groktypename (yyvsp[-1].ttype);
                   2067:                  if (pedantic)
                   2068:                    pedwarn ("ANSI C forbids `typeof'"); ;
                   2069:     break;}
                   2070: case 139:
                   2071: #line 727 "c-parse.y"
                   2072: { yyval.ttype = NULL_TREE; ;
                   2073:     break;}
                   2074: case 140:
                   2075: #line 729 "c-parse.y"
                   2076: { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
                   2077:                  yyval.ttype = yyvsp[-1].ttype;
                   2078:                ;
                   2079:     break;}
                   2080: case 141:
                   2081: #line 736 "c-parse.y"
                   2082: { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1); ;
                   2083:     break;}
                   2084: case 142:
                   2085: #line 739 "c-parse.y"
                   2086: { decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype);
                   2087:                  finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
                   2088:     break;}
                   2089: case 143:
                   2090: #line 742 "c-parse.y"
                   2091: { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
                   2092:                  decl_attributes (d, yyvsp[0].ttype);
                   2093:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
                   2094:     break;}
                   2095: case 144:
                   2096: #line 749 "c-parse.y"
                   2097: { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1); ;
                   2098:     break;}
                   2099: case 145:
                   2100: #line 752 "c-parse.y"
                   2101: { decl_attributes (yyvsp[-1].ttype, yyvsp[-3].ttype);
                   2102:                  finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
                   2103:     break;}
                   2104: case 146:
                   2105: #line 755 "c-parse.y"
                   2106: { tree d = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
                   2107:                  decl_attributes (d, yyvsp[0].ttype);
                   2108:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
                   2109:     break;}
                   2110: case 147:
                   2111: #line 763 "c-parse.y"
                   2112: { yyval.ttype = NULL_TREE; ;
                   2113:     break;}
                   2114: case 148:
                   2115: #line 765 "c-parse.y"
                   2116: { yyval.ttype = yyvsp[-2].ttype; ;
                   2117:     break;}
                   2118: case 149:
                   2119: #line 770 "c-parse.y"
                   2120: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
                   2121:     break;}
                   2122: case 150:
                   2123: #line 772 "c-parse.y"
                   2124: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ;
                   2125:     break;}
                   2126: case 151:
                   2127: #line 777 "c-parse.y"
                   2128: { if (strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "packed"))
                   2129:            warning ("`%s' attribute directive ignored",
                   2130:                     IDENTIFIER_POINTER (yyvsp[0].ttype));
                   2131:          yyval.ttype = yyvsp[0].ttype; ;
                   2132:     break;}
                   2133: case 152:
                   2134: #line 782 "c-parse.y"
                   2135: { /* if not "aligned(n)", then issue warning */
                   2136:          if (strcmp (IDENTIFIER_POINTER (yyvsp[-3].ttype), "aligned") != 0
                   2137:              || TREE_CODE (yyvsp[-1].ttype) != INTEGER_CST)
                   2138:            {
                   2139:              warning ("`%s' attribute directive ignored",
                   2140:                       IDENTIFIER_POINTER (yyvsp[-3].ttype));
                   2141:              yyval.ttype = yyvsp[-3].ttype;
                   2142:            }
                   2143:          else
                   2144:            yyval.ttype = tree_cons (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   2145:     break;}
                   2146: case 153:
                   2147: #line 793 "c-parse.y"
                   2148: { /* if not "format(...)", then issue warning */
                   2149:          if (strcmp (IDENTIFIER_POINTER (yyvsp[-7].ttype), "format") != 0
                   2150:              || TREE_CODE (yyvsp[-3].ttype) != INTEGER_CST
                   2151:              || TREE_CODE (yyvsp[-1].ttype) != INTEGER_CST)
                   2152:            {
                   2153:              warning ("`%s' attribute directive ignored",
                   2154:                       IDENTIFIER_POINTER (yyvsp[-7].ttype));
                   2155:              yyval.ttype = yyvsp[-7].ttype;
                   2156:            }
                   2157:          else
                   2158:            yyval.ttype = tree_cons (yyvsp[-7].ttype, tree_cons (yyvsp[-5].ttype, tree_cons (yyvsp[-3].ttype, yyvsp[-1].ttype))); ;
                   2159:     break;}
                   2160: case 155:
                   2161: #line 809 "c-parse.y"
                   2162: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
                   2163:                  if (pedantic)
                   2164:                    pedwarn ("ANSI C forbids empty initializer braces"); ;
                   2165:     break;}
                   2166: case 156:
                   2167: #line 813 "c-parse.y"
                   2168: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype)); ;
                   2169:     break;}
                   2170: case 157:
                   2171: #line 815 "c-parse.y"
                   2172: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype)); ;
                   2173:     break;}
                   2174: case 158:
                   2175: #line 817 "c-parse.y"
                   2176: { yyval.ttype = NULL_TREE; ;
                   2177:     break;}
                   2178: case 159:
                   2179: #line 824 "c-parse.y"
                   2180: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
                   2181:     break;}
                   2182: case 160:
                   2183: #line 826 "c-parse.y"
                   2184: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ;
                   2185:     break;}
                   2186: case 161:
                   2187: #line 829 "c-parse.y"
                   2188: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   2189:     break;}
                   2190: case 162:
                   2191: #line 831 "c-parse.y"
                   2192: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyvsp[-5].ttype); ;
                   2193:     break;}
                   2194: case 163:
                   2195: #line 833 "c-parse.y"
                   2196: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   2197:     break;}
                   2198: case 164:
                   2199: #line 835 "c-parse.y"
                   2200: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
                   2201:     break;}
                   2202: case 165:
                   2203: #line 840 "c-parse.y"
                   2204: { push_c_function_context ();
                   2205:                  if (! start_function (current_declspecs, yyvsp[0].ttype, 1))
                   2206:                    {
                   2207:                      pop_c_function_context ();
                   2208:                      YYERROR1;
                   2209:                    }
                   2210:                  reinit_parse_for_function ();
                   2211:                  store_parm_decls (); ;
                   2212:     break;}
                   2213: case 166:
                   2214: #line 855 "c-parse.y"
                   2215: { finish_function (1);
                   2216:                  pop_c_function_context (); ;
                   2217:     break;}
                   2218: case 167:
                   2219: #line 861 "c-parse.y"
                   2220: { push_c_function_context ();
                   2221:                  if (! start_function (current_declspecs, yyvsp[0].ttype, 1))
                   2222:                    {
                   2223:                      pop_c_function_context ();
                   2224:                      YYERROR1;
                   2225:                    }
                   2226:                  reinit_parse_for_function ();
                   2227:                  store_parm_decls (); ;
                   2228:     break;}
                   2229: case 168:
                   2230: #line 876 "c-parse.y"
                   2231: { finish_function (1);
                   2232:                  pop_c_function_context (); ;
                   2233:     break;}
                   2234: case 171:
                   2235: #line 892 "c-parse.y"
                   2236: { yyval.ttype = yyvsp[-1].ttype; ;
                   2237:     break;}
                   2238: case 172:
                   2239: #line 894 "c-parse.y"
                   2240: { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
                   2241:     break;}
                   2242: case 173:
                   2243: #line 899 "c-parse.y"
                   2244: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   2245:     break;}
                   2246: case 174:
                   2247: #line 901 "c-parse.y"
                   2248: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
                   2249:     break;}
                   2250: case 175:
                   2251: #line 903 "c-parse.y"
                   2252: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2253:     break;}
                   2254: case 177:
                   2255: #line 914 "c-parse.y"
                   2256: { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
                   2257:     break;}
                   2258: case 178:
                   2259: #line 919 "c-parse.y"
                   2260: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   2261:     break;}
                   2262: case 179:
                   2263: #line 921 "c-parse.y"
                   2264: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
                   2265:     break;}
                   2266: case 180:
                   2267: #line 923 "c-parse.y"
                   2268: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2269:     break;}
                   2270: case 182:
                   2271: #line 932 "c-parse.y"
                   2272: { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
                   2273:     break;}
                   2274: case 183:
                   2275: #line 937 "c-parse.y"
                   2276: { yyval.ttype = yyvsp[-1].ttype; ;
                   2277:     break;}
                   2278: case 184:
                   2279: #line 939 "c-parse.y"
                   2280: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2281:     break;}
                   2282: case 185:
                   2283: #line 941 "c-parse.y"
                   2284: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   2285:     break;}
                   2286: case 186:
                   2287: #line 943 "c-parse.y"
                   2288: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
                   2289:     break;}
                   2290: case 188:
                   2291: #line 949 "c-parse.y"
                   2292: { yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype);
                   2293:                  /* Start scope of tag before parsing components.  */
                   2294:                ;
                   2295:     break;}
                   2296: case 189:
                   2297: #line 953 "c-parse.y"
                   2298: { yyval.ttype = finish_struct (yyvsp[-2].ttype, yyvsp[-1].ttype);
                   2299:                  /* Really define the structure.  */
                   2300:                ;
                   2301:     break;}
                   2302: case 190:
                   2303: #line 957 "c-parse.y"
                   2304: { yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE),
                   2305:                                      yyvsp[-1].ttype); ;
                   2306:     break;}
                   2307: case 191:
                   2308: #line 960 "c-parse.y"
                   2309: { yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ;
                   2310:     break;}
                   2311: case 192:
                   2312: #line 962 "c-parse.y"
                   2313: { yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ;
                   2314:     break;}
                   2315: case 193:
                   2316: #line 964 "c-parse.y"
                   2317: { yyval.ttype = finish_struct (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
                   2318:     break;}
                   2319: case 194:
                   2320: #line 966 "c-parse.y"
                   2321: { yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE),
                   2322:                                      yyvsp[-1].ttype); ;
                   2323:     break;}
                   2324: case 195:
                   2325: #line 969 "c-parse.y"
                   2326: { yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ;
                   2327:     break;}
                   2328: case 196:
                   2329: #line 971 "c-parse.y"
                   2330: { yyvsp[0].itype = suspend_momentary ();
                   2331:                  yyval.ttype = start_enum (yyvsp[-1].ttype); ;
                   2332:     break;}
                   2333: case 197:
                   2334: #line 974 "c-parse.y"
                   2335: { yyval.ttype = finish_enum (yyvsp[-3].ttype, nreverse (yyvsp[-2].ttype));
                   2336:                  resume_momentary (yyvsp[-4].itype); ;
                   2337:     break;}
                   2338: case 198:
                   2339: #line 977 "c-parse.y"
                   2340: { yyvsp[0].itype = suspend_momentary ();
                   2341:                  yyval.ttype = start_enum (NULL_TREE); ;
                   2342:     break;}
                   2343: case 199:
                   2344: #line 980 "c-parse.y"
                   2345: { yyval.ttype = finish_enum (yyvsp[-3].ttype, nreverse (yyvsp[-2].ttype));
                   2346:                  resume_momentary (yyvsp[-4].itype); ;
                   2347:     break;}
                   2348: case 200:
                   2349: #line 983 "c-parse.y"
                   2350: { yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); ;
                   2351:     break;}
                   2352: case 204:
                   2353: #line 994 "c-parse.y"
                   2354: { if (pedantic) pedwarn ("comma at end of enumerator list"); ;
                   2355:     break;}
                   2356: case 205:
                   2357: #line 999 "c-parse.y"
                   2358: { yyval.ttype = yyvsp[0].ttype; ;
                   2359:     break;}
                   2360: case 206:
                   2361: #line 1001 "c-parse.y"
                   2362: { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
                   2363:                  warning ("no semicolon at end of struct or union"); ;
                   2364:     break;}
                   2365: case 207:
                   2366: #line 1006 "c-parse.y"
                   2367: { yyval.ttype = NULL_TREE; ;
                   2368:     break;}
                   2369: case 208:
                   2370: #line 1008 "c-parse.y"
                   2371: { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
                   2372:     break;}
                   2373: case 209:
                   2374: #line 1010 "c-parse.y"
                   2375: { if (pedantic)
                   2376:                    pedwarn ("extra semicolon in struct or union specified"); ;
                   2377:     break;}
                   2378: case 210:
                   2379: #line 1025 "c-parse.y"
                   2380: { yyval.ttype = yyvsp[0].ttype;
                   2381:                  current_declspecs = TREE_VALUE (declspec_stack);
                   2382:                  declspec_stack = TREE_CHAIN (declspec_stack);
                   2383:                  resume_momentary (yyvsp[-1].itype); ;
                   2384:     break;}
                   2385: case 211:
                   2386: #line 1030 "c-parse.y"
                   2387: { if (pedantic)
                   2388:                    pedwarn ("ANSI C forbids member declarations with no members");
                   2389:                  shadow_tag(yyvsp[0].ttype);
                   2390:                  yyval.ttype = NULL_TREE; ;
                   2391:     break;}
                   2392: case 212:
                   2393: #line 1035 "c-parse.y"
                   2394: { yyval.ttype = yyvsp[0].ttype;
                   2395:                  current_declspecs = TREE_VALUE (declspec_stack);
                   2396:                  declspec_stack = TREE_CHAIN (declspec_stack);
                   2397:                  resume_momentary (yyvsp[-1].itype); ;
                   2398:     break;}
                   2399: case 213:
                   2400: #line 1040 "c-parse.y"
                   2401: { if (pedantic)
                   2402:                    pedwarn ("ANSI C forbids member declarations with no members");
                   2403:                  shadow_tag(yyvsp[0].ttype);
                   2404:                  yyval.ttype = NULL_TREE; ;
                   2405:     break;}
                   2406: case 214:
                   2407: #line 1045 "c-parse.y"
                   2408: { yyval.ttype = NULL_TREE; ;
                   2409:     break;}
                   2410: case 216:
                   2411: #line 1051 "c-parse.y"
                   2412: { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   2413:     break;}
                   2414: case 217:
                   2415: #line 1056 "c-parse.y"
                   2416: { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, yyvsp[-1].ttype, current_declspecs, NULL_TREE);
                   2417:                  decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
                   2418:     break;}
                   2419: case 218:
                   2420: #line 1060 "c-parse.y"
                   2421: { yyval.ttype = grokfield (yyvsp[-5].filename, yyvsp[-4].lineno, yyvsp[-3].ttype, current_declspecs, yyvsp[-1].ttype);
                   2422:                  decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
                   2423:     break;}
                   2424: case 219:
                   2425: #line 1063 "c-parse.y"
                   2426: { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, NULL_TREE, current_declspecs, yyvsp[0].ttype); ;
                   2427:     break;}
                   2428: case 221:
                   2429: #line 1074 "c-parse.y"
                   2430: { yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ;
                   2431:     break;}
                   2432: case 222:
                   2433: #line 1080 "c-parse.y"
                   2434: { yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ;
                   2435:     break;}
                   2436: case 223:
                   2437: #line 1082 "c-parse.y"
                   2438: { yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   2439:     break;}
                   2440: case 224:
                   2441: #line 1087 "c-parse.y"
                   2442: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2443:     break;}
                   2444: case 225:
                   2445: #line 1089 "c-parse.y"
                   2446: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2447:     break;}
                   2448: case 226:
                   2449: #line 1094 "c-parse.y"
                   2450: { yyval.ttype = NULL_TREE; ;
                   2451:     break;}
                   2452: case 228:
                   2453: #line 1100 "c-parse.y"
                   2454: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
                   2455:     break;}
                   2456: case 229:
                   2457: #line 1102 "c-parse.y"
                   2458: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
                   2459:     break;}
                   2460: case 230:
                   2461: #line 1107 "c-parse.y"
                   2462: { yyval.ttype = NULL_TREE; ;
                   2463:     break;}
                   2464: case 231:
                   2465: #line 1109 "c-parse.y"
                   2466: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
                   2467:     break;}
                   2468: case 232:
                   2469: #line 1114 "c-parse.y"
                   2470: { yyval.ttype = yyvsp[-1].ttype; ;
                   2471:     break;}
                   2472: case 233:
                   2473: #line 1117 "c-parse.y"
                   2474: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2475:     break;}
                   2476: case 234:
                   2477: #line 1119 "c-parse.y"
                   2478: { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
                   2479:     break;}
                   2480: case 235:
                   2481: #line 1121 "c-parse.y"
                   2482: { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
                   2483:     break;}
                   2484: case 236:
                   2485: #line 1123 "c-parse.y"
                   2486: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   2487:     break;}
                   2488: case 237:
                   2489: #line 1125 "c-parse.y"
                   2490: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
                   2491:     break;}
                   2492: case 238:
                   2493: #line 1127 "c-parse.y"
                   2494: { yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
                   2495:     break;}
                   2496: case 239:
                   2497: #line 1129 "c-parse.y"
                   2498: { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
                   2499:     break;}
                   2500: case 240:
                   2501: #line 1131 "c-parse.y"
                   2502: { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ;
                   2503:     break;}
                   2504: case 247:
                   2505: #line 1153 "c-parse.y"
                   2506: { emit_line_note (input_filename, lineno);
                   2507:                  pushlevel (0);
                   2508:                  clear_last_expr ();
                   2509:                  push_momentary ();
                   2510:                  expand_start_bindings (0); ;
                   2511:     break;}
                   2512: case 249:
                   2513: #line 1165 "c-parse.y"
                   2514: { if (pedantic)
                   2515:                    pedwarn ("ANSI C forbids label declarations"); ;
                   2516:     break;}
                   2517: case 252:
                   2518: #line 1176 "c-parse.y"
                   2519: { tree link;
                   2520:                  for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
                   2521:                    {
                   2522:                      tree label = shadow_label (TREE_VALUE (link));
                   2523:                      C_DECLARED_LABEL_FLAG (label) = 1;
                   2524:                      declare_nonlocal_label (label);
                   2525:                    }
                   2526:                ;
                   2527:     break;}
                   2528: case 253:
                   2529: #line 1190 "c-parse.y"
                   2530: {;
                   2531:     break;}
                   2532: case 255:
                   2533: #line 1195 "c-parse.y"
                   2534: { yyval.ttype = convert (void_type_node, integer_zero_node); ;
                   2535:     break;}
                   2536: case 256:
                   2537: #line 1197 "c-parse.y"
                   2538: { emit_line_note (input_filename, lineno);
                   2539:                  expand_end_bindings (getdecls (), 1, 0);
                   2540:                  yyval.ttype = poplevel (1, 1, 0);
                   2541:                  pop_momentary (); ;
                   2542:     break;}
                   2543: case 257:
                   2544: #line 1202 "c-parse.y"
                   2545: { emit_line_note (input_filename, lineno);
                   2546:                  expand_end_bindings (getdecls (), kept_level_p (), 0);
                   2547:                  yyval.ttype = poplevel (kept_level_p (), 0, 0);
                   2548:                  pop_momentary (); ;
                   2549:     break;}
                   2550: case 258:
                   2551: #line 1207 "c-parse.y"
                   2552: { emit_line_note (input_filename, lineno);
                   2553:                  expand_end_bindings (getdecls (), kept_level_p (), 0);
                   2554:                  yyval.ttype = poplevel (kept_level_p (), 0, 0);
                   2555:                  pop_momentary (); ;
                   2556:     break;}
                   2557: case 261:
                   2558: #line 1224 "c-parse.y"
                   2559: { emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
                   2560:                  expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0);
                   2561:                  yyvsp[-3].itype = stmt_count;
                   2562:                  if_stmt_file = yyvsp[-5].filename;
                   2563:                  if_stmt_line = yyvsp[-4].lineno;
                   2564:                  position_after_white_space (); ;
                   2565:     break;}
                   2566: case 262:
                   2567: #line 1233 "c-parse.y"
                   2568: { yyval.filename = input_filename; ;
                   2569:     break;}
                   2570: case 263:
                   2571: #line 1237 "c-parse.y"
                   2572: { yyval.lineno = lineno; ;
                   2573:     break;}
                   2574: case 264:
                   2575: #line 1242 "c-parse.y"
                   2576: { ;
                   2577:     break;}
                   2578: case 265:
                   2579: #line 1247 "c-parse.y"
                   2580: { ;
                   2581:     break;}
                   2582: case 266:
                   2583: #line 1252 "c-parse.y"
                   2584: { ;
                   2585:     break;}
                   2586: case 268:
                   2587: #line 1258 "c-parse.y"
                   2588: { int next;
                   2589:                  position_after_white_space ();
                   2590:                  next = getc (finput);
                   2591:                  ungetc (next, finput);
                   2592:                  if (pedantic && next == '}')
                   2593:                    pedwarn ("ANSI C forbids label at end of compound statement");
                   2594:                ;
                   2595:     break;}
                   2596: case 269:
                   2597: #line 1270 "c-parse.y"
                   2598: { stmt_count++; ;
                   2599:     break;}
                   2600: case 270:
                   2601: #line 1272 "c-parse.y"
                   2602: { stmt_count++;
                   2603:                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
                   2604:                  c_expand_expr_stmt (yyvsp[-1].ttype);
                   2605:                  clear_momentary (); ;
                   2606:     break;}
                   2607: case 271:
                   2608: #line 1277 "c-parse.y"
                   2609: { expand_start_else ();
                   2610:                  yyvsp[-1].itype = stmt_count;
                   2611:                  position_after_white_space (); ;
                   2612:     break;}
                   2613: case 272:
                   2614: #line 1281 "c-parse.y"
                   2615: { expand_end_cond ();
                   2616:                  if (extra_warnings && stmt_count == yyvsp[-3].itype)
                   2617:                    warning ("empty body in an else-statement"); ;
                   2618:     break;}
                   2619: case 273:
                   2620: #line 1285 "c-parse.y"
                   2621: { expand_end_cond ();
                   2622:                  if (extra_warnings && stmt_count == yyvsp[0].itype)
                   2623:                    warning_with_file_and_line (if_stmt_file, if_stmt_line,
                   2624:                                                "empty body in an if-statement"); ;
                   2625:     break;}
                   2626: case 274:
                   2627: #line 1293 "c-parse.y"
                   2628: { expand_end_cond (); ;
                   2629:     break;}
                   2630: case 275:
                   2631: #line 1295 "c-parse.y"
                   2632: { stmt_count++;
                   2633:                  emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
                   2634:                  /* The emit_nop used to come before emit_line_note,
                   2635:                     but that made the nop seem like part of the preceding line.
                   2636:                     And that was confusing when the preceding line was
                   2637:                     inside of an if statement and was not really executed.
                   2638:                     I think it ought to work to put the nop after the line number.
                   2639:                     We will see.  --rms, July 15, 1991.  */
                   2640:                  emit_nop ();
                   2641:                  expand_start_loop (1); ;
                   2642:     break;}
                   2643: case 276:
                   2644: #line 1306 "c-parse.y"
                   2645: { emit_line_note (input_filename, lineno);
                   2646:                  expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype));
                   2647:                  position_after_white_space (); ;
                   2648:     break;}
                   2649: case 277:
                   2650: #line 1310 "c-parse.y"
                   2651: { expand_end_loop (); ;
                   2652:     break;}
                   2653: case 278:
                   2654: #line 1312 "c-parse.y"
                   2655: { stmt_count++;
                   2656:                  emit_line_note (yyvsp[-2].filename, yyvsp[-1].lineno);
                   2657:                  /* See comment in `while' alternative, above.  */
                   2658:                  emit_nop ();
                   2659:                  expand_start_loop_continue_elsewhere (1);
                   2660:                  position_after_white_space (); ;
                   2661:     break;}
                   2662: case 279:
                   2663: #line 1319 "c-parse.y"
                   2664: { expand_loop_continue_here (); ;
                   2665:     break;}
                   2666: case 280:
                   2667: #line 1321 "c-parse.y"
                   2668: { emit_line_note (input_filename, lineno);
                   2669:                  expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-2].ttype));
                   2670:                  expand_end_loop ();
                   2671:                  clear_momentary (); ;
                   2672:     break;}
                   2673: case 281:
                   2674: #line 1327 "c-parse.y"
                   2675: { stmt_count++;
                   2676:                  emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
                   2677:                  /* See comment in `while' alternative, above.  */
                   2678:                  emit_nop ();
                   2679:                  if (yyvsp[-1].ttype) c_expand_expr_stmt (yyvsp[-1].ttype);
                   2680:                  expand_start_loop_continue_elsewhere (1); ;
                   2681:     break;}
                   2682: case 282:
                   2683: #line 1334 "c-parse.y"
                   2684: { emit_line_note (input_filename, lineno);
                   2685:                  if (yyvsp[-1].ttype)
                   2686:                    expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype)); ;
                   2687:     break;}
                   2688: case 283:
                   2689: #line 1340 "c-parse.y"
                   2690: { push_momentary ();
                   2691:                  position_after_white_space (); ;
                   2692:     break;}
                   2693: case 284:
                   2694: #line 1343 "c-parse.y"
                   2695: { emit_line_note (yyvsp[-13].filename, yyvsp[-12].lineno);
                   2696:                  expand_loop_continue_here ();
                   2697:                  if (yyvsp[-3].ttype)
                   2698:                    c_expand_expr_stmt (yyvsp[-3].ttype);
                   2699:                  pop_momentary ();
                   2700:                  expand_end_loop (); ;
                   2701:     break;}
                   2702: case 285:
                   2703: #line 1350 "c-parse.y"
                   2704: { stmt_count++;
                   2705:                  emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
                   2706:                  c_expand_start_case (yyvsp[-1].ttype);
                   2707:                  /* Don't let the tree nodes for $3 be discarded by
                   2708:                     clear_momentary during the parsing of the next stmt.  */
                   2709:                  push_momentary ();
                   2710:                  position_after_white_space (); ;
                   2711:     break;}
                   2712: case 286:
                   2713: #line 1358 "c-parse.y"
                   2714: { expand_end_case (yyvsp[-3].ttype);
                   2715:                  pop_momentary (); ;
                   2716:     break;}
                   2717: case 287:
                   2718: #line 1361 "c-parse.y"
                   2719: { stmt_count++;
                   2720:                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
                   2721:                  if ( ! expand_exit_something ())
                   2722:                    error ("break statement not within loop or switch"); ;
                   2723:     break;}
                   2724: case 288:
                   2725: #line 1366 "c-parse.y"
                   2726: { stmt_count++;
                   2727:                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
                   2728:                  if (! expand_continue_loop (0))
                   2729:                    error ("continue statement not within a loop"); ;
                   2730:     break;}
                   2731: case 289:
                   2732: #line 1371 "c-parse.y"
                   2733: { stmt_count++;
                   2734:                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
                   2735:                  c_expand_return (NULL_TREE); ;
                   2736:     break;}
                   2737: case 290:
                   2738: #line 1375 "c-parse.y"
                   2739: { stmt_count++;
                   2740:                  emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
                   2741:                  c_expand_return (yyvsp[-1].ttype); ;
                   2742:     break;}
                   2743: case 291:
                   2744: #line 1379 "c-parse.y"
                   2745: { stmt_count++;
                   2746:                  emit_line_note (yyvsp[-7].filename, yyvsp[-6].lineno);
                   2747:                  STRIP_NOPS (yyvsp[-2].ttype);
                   2748:                  if ((TREE_CODE (yyvsp[-2].ttype) == ADDR_EXPR
                   2749:                       && TREE_CODE (TREE_OPERAND (yyvsp[-2].ttype, 0)) == STRING_CST)
                   2750:                      || TREE_CODE (yyvsp[-2].ttype) == STRING_CST)
                   2751:                    expand_asm (yyvsp[-2].ttype);
                   2752:                  else
                   2753:                    error ("argument of `asm' is not a constant string"); ;
                   2754:     break;}
                   2755: case 292:
                   2756: #line 1390 "c-parse.y"
                   2757: { stmt_count++;
                   2758:                  emit_line_note (yyvsp[-9].filename, yyvsp[-8].lineno);
                   2759:                  c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
                   2760:                                         yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
                   2761:                                         input_filename, lineno); ;
                   2762:     break;}
                   2763: case 293:
                   2764: #line 1397 "c-parse.y"
                   2765: { stmt_count++;
                   2766:                  emit_line_note (yyvsp[-11].filename, yyvsp[-10].lineno);
                   2767:                  c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
                   2768:                                         yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
                   2769:                                         input_filename, lineno); ;
                   2770:     break;}
                   2771: case 294:
                   2772: #line 1405 "c-parse.y"
                   2773: { stmt_count++;
                   2774:                  emit_line_note (yyvsp[-13].filename, yyvsp[-12].lineno);
                   2775:                  c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
                   2776:                                         yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
                   2777:                                         input_filename, lineno); ;
                   2778:     break;}
                   2779: case 295:
                   2780: #line 1411 "c-parse.y"
                   2781: { tree decl;
                   2782:                  stmt_count++;
                   2783:                  emit_line_note (yyvsp[-4].filename, yyvsp[-3].lineno);
                   2784:                  decl = lookup_label (yyvsp[-1].ttype);
                   2785:                  if (decl != 0)
                   2786:                    {
                   2787:                      TREE_USED (decl) = 1;
                   2788:                      expand_goto (decl);
                   2789:                    }
                   2790:                ;
                   2791:     break;}
                   2792: case 296:
                   2793: #line 1422 "c-parse.y"
                   2794: { stmt_count++;
                   2795:                  emit_line_note (yyvsp[-5].filename, yyvsp[-4].lineno);
                   2796:                  expand_computed_goto (yyvsp[-1].ttype); ;
                   2797:     break;}
                   2798: case 298:
                   2799: #line 1433 "c-parse.y"
                   2800: { register tree value = check_case_value (yyvsp[-1].ttype);
                   2801:                  register tree label
                   2802:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
                   2803: 
                   2804:                  stmt_count++;
                   2805: 
                   2806:                  if (value != error_mark_node)
                   2807:                    {
                   2808:                      tree duplicate;
                   2809:                      int success = pushcase (value, label, &duplicate);
                   2810:                      if (success == 1)
                   2811:                        error ("case label not within a switch statement");
                   2812:                      else if (success == 2)
                   2813:                        {
                   2814:                          error ("duplicate case value");
                   2815:                          error_with_decl (duplicate, "this is the first entry for that value");
                   2816:                        }
                   2817:                      else if (success == 3)
                   2818:                        warning ("case value out of range");
                   2819:                      else if (success == 5)
                   2820:                        error ("case label within scope of cleanup or variable array");
                   2821:                    }
                   2822:                  position_after_white_space (); ;
                   2823:     break;}
                   2824: case 299:
                   2825: #line 1457 "c-parse.y"
                   2826: { register tree value1 = check_case_value (yyvsp[-3].ttype);
                   2827:                  register tree value2 = check_case_value (yyvsp[-1].ttype);
                   2828:                  register tree label
                   2829:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
                   2830: 
                   2831:                  stmt_count++;
                   2832: 
                   2833:                  if (value1 != error_mark_node && value2 != error_mark_node)
                   2834:                    {
                   2835:                      tree duplicate;
                   2836:                      int success = pushcase_range (value1, value2, label,
                   2837:                                                    &duplicate);
                   2838:                      if (success == 1)
                   2839:                        error ("case label not within a switch statement");
                   2840:                      else if (success == 2)
                   2841:                        {
                   2842:                          error ("duplicate case value");
                   2843:                          error_with_decl (duplicate, "this is the first entry for that value");
                   2844:                        }
                   2845:                      else if (success == 3)
                   2846:                        warning ("case value out of range");
                   2847:                      else if (success == 4)
                   2848:                        warning ("empty case range");
                   2849:                      else if (success == 5)
                   2850:                        error ("case label within scope of cleanup or variable array");
                   2851:                    }
                   2852:                  position_after_white_space (); ;
                   2853:     break;}
                   2854: case 300:
                   2855: #line 1485 "c-parse.y"
                   2856: {
                   2857:                  tree duplicate;
                   2858:                  register tree label
                   2859:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
                   2860:                  int success = pushcase (NULL_TREE, label, &duplicate);
                   2861:                  stmt_count++;
                   2862:                  if (success == 1)
                   2863:                    error ("default label not within a switch statement");
                   2864:                  else if (success == 2)
                   2865:                    {
                   2866:                      error ("multiple default labels in one switch");
                   2867:                      error_with_decl (duplicate, "this is the first default label");
                   2868:                    }
                   2869:                  position_after_white_space (); ;
                   2870:     break;}
                   2871: case 301:
                   2872: #line 1500 "c-parse.y"
                   2873: { tree label = define_label (input_filename, lineno, yyvsp[-1].ttype);
                   2874:                  stmt_count++;
                   2875:                  emit_nop ();
                   2876:                  if (label)
                   2877:                    expand_label (label);
                   2878:                  position_after_white_space (); ;
                   2879:     break;}
                   2880: case 302:
                   2881: #line 1512 "c-parse.y"
                   2882: { emit_line_note (input_filename, lineno); ;
                   2883:     break;}
                   2884: case 303:
                   2885: #line 1514 "c-parse.y"
                   2886: { emit_line_note (input_filename, lineno); ;
                   2887:     break;}
                   2888: case 304:
                   2889: #line 1519 "c-parse.y"
                   2890: { yyval.ttype = NULL_TREE; ;
                   2891:     break;}
                   2892: case 306:
                   2893: #line 1526 "c-parse.y"
                   2894: { yyval.ttype = NULL_TREE; ;
                   2895:     break;}
                   2896: case 309:
                   2897: #line 1533 "c-parse.y"
                   2898: { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   2899:     break;}
                   2900: case 310:
                   2901: #line 1538 "c-parse.y"
                   2902: { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   2903:     break;}
                   2904: case 311:
                   2905: #line 1543 "c-parse.y"
                   2906: { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ;
                   2907:     break;}
                   2908: case 312:
                   2909: #line 1545 "c-parse.y"
                   2910: { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;
                   2911:     break;}
                   2912: case 313:
                   2913: #line 1551 "c-parse.y"
                   2914: { pushlevel (0);
                   2915:                  clear_parm_order ();
                   2916:                  declare_parm_level (0); ;
                   2917:     break;}
                   2918: case 314:
                   2919: #line 1555 "c-parse.y"
                   2920: { yyval.ttype = yyvsp[0].ttype;
                   2921:                  parmlist_tags_warning ();
                   2922:                  poplevel (0, 0, 0); ;
                   2923:     break;}
                   2924: case 316:
                   2925: #line 1563 "c-parse.y"
                   2926: { tree parm;
                   2927:                  /* Mark the forward decls as such.  */
                   2928:                  for (parm = getdecls (); parm; parm = TREE_CHAIN (parm))
                   2929:                    TREE_ASM_WRITTEN (parm) = 1;
                   2930:                  clear_parm_order (); ;
                   2931:     break;}
                   2932: case 317:
                   2933: #line 1569 "c-parse.y"
                   2934: { yyval.ttype = yyvsp[0].ttype; ;
                   2935:     break;}
                   2936: case 318:
                   2937: #line 1571 "c-parse.y"
                   2938: { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;
                   2939:     break;}
                   2940: case 319:
                   2941: #line 1577 "c-parse.y"
                   2942: { yyval.ttype = get_parm_info (0); ;
                   2943:     break;}
                   2944: case 320:
                   2945: #line 1579 "c-parse.y"
                   2946: { yyval.ttype = get_parm_info (0);
                   2947:                  if (pedantic)
                   2948:                    pedwarn ("ANSI C requires a named argument before `...'");
                   2949:                ;
                   2950:     break;}
                   2951: case 321:
                   2952: #line 1584 "c-parse.y"
                   2953: { yyval.ttype = get_parm_info (1); ;
                   2954:     break;}
                   2955: case 322:
                   2956: #line 1586 "c-parse.y"
                   2957: { yyval.ttype = get_parm_info (0); ;
                   2958:     break;}
                   2959: case 323:
                   2960: #line 1591 "c-parse.y"
                   2961: { push_parm_decl (yyvsp[0].ttype); ;
                   2962:     break;}
                   2963: case 324:
                   2964: #line 1593 "c-parse.y"
                   2965: { push_parm_decl (yyvsp[0].ttype); ;
                   2966:     break;}
                   2967: case 325:
                   2968: #line 1600 "c-parse.y"
                   2969: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype)      ; ;
                   2970:     break;}
                   2971: case 326:
                   2972: #line 1602 "c-parse.y"
                   2973: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype)      ; ;
                   2974:     break;}
                   2975: case 327:
                   2976: #line 1604 "c-parse.y"
                   2977: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2978:     break;}
                   2979: case 328:
                   2980: #line 1606 "c-parse.y"
                   2981: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype)      ; ;
                   2982:     break;}
                   2983: case 329:
                   2984: #line 1608 "c-parse.y"
                   2985: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2986:     break;}
                   2987: case 330:
                   2988: #line 1615 "c-parse.y"
                   2989: { pushlevel (0);
                   2990:                  clear_parm_order ();
                   2991:                  declare_parm_level (1); ;
                   2992:     break;}
                   2993: case 331:
                   2994: #line 1619 "c-parse.y"
                   2995: { yyval.ttype = yyvsp[0].ttype;
                   2996:                  parmlist_tags_warning ();
                   2997:                  poplevel (0, 0, 0); ;
                   2998:     break;}
                   2999: case 333:
                   3000: #line 1627 "c-parse.y"
                   3001: { tree parm;
                   3002:                  /* Mark the forward decls as such.  */
                   3003:                  for (parm = getdecls (); parm; parm = TREE_CHAIN (parm))
                   3004:                    TREE_ASM_WRITTEN (parm) = 1;
                   3005:                  clear_parm_order (); ;
                   3006:     break;}
                   3007: case 334:
                   3008: #line 1633 "c-parse.y"
                   3009: { yyval.ttype = yyvsp[0].ttype; ;
                   3010:     break;}
                   3011: case 335:
                   3012: #line 1635 "c-parse.y"
                   3013: { tree t;
                   3014:                  for (t = yyvsp[-1].ttype; t; t = TREE_CHAIN (t))
                   3015:                    if (TREE_VALUE (t) == NULL_TREE)
                   3016:                      error ("`...' in old-style identifier list");
                   3017:                  yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
                   3018:     break;}
                   3019: case 336:
                   3020: #line 1641 "c-parse.y"
                   3021: { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;
                   3022:     break;}
                   3023: case 337:
                   3024: #line 1647 "c-parse.y"
                   3025: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
                   3026:     break;}
                   3027: case 338:
                   3028: #line 1649 "c-parse.y"
                   3029: { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   3030:     break;}
                   3031: case 339:
                   3032: #line 1655 "c-parse.y"
                   3033: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
                   3034:     break;}
                   3035: case 340:
                   3036: #line 1657 "c-parse.y"
                   3037: { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   3038:     break;}
                   3039: }
                   3040:    /* the action file gets copied in in place of this dollarsign */
                   3041: #line 440 "bison.simple"
                   3042: 
                   3043:   yyvsp -= yylen;
                   3044:   yyssp -= yylen;
                   3045: #ifdef YYLSP_NEEDED
                   3046:   yylsp -= yylen;
                   3047: #endif
                   3048: 
                   3049: #if YYDEBUG != 0
                   3050:   if (yydebug)
                   3051:     {
                   3052:       short *ssp1 = yyss - 1;
                   3053:       fprintf (stderr, "state stack now");
                   3054:       while (ssp1 != yyssp)
                   3055:        fprintf (stderr, " %d", *++ssp1);
                   3056:       fprintf (stderr, "\n");
                   3057:     }
                   3058: #endif
                   3059: 
                   3060:   *++yyvsp = yyval;
                   3061: 
                   3062: #ifdef YYLSP_NEEDED
                   3063:   yylsp++;
                   3064:   if (yylen == 0)
                   3065:     {
                   3066:       yylsp->first_line = yylloc.first_line;
                   3067:       yylsp->first_column = yylloc.first_column;
                   3068:       yylsp->last_line = (yylsp-1)->last_line;
                   3069:       yylsp->last_column = (yylsp-1)->last_column;
                   3070:       yylsp->text = 0;
                   3071:     }
                   3072:   else
                   3073:     {
                   3074:       yylsp->last_line = (yylsp+yylen-1)->last_line;
                   3075:       yylsp->last_column = (yylsp+yylen-1)->last_column;
                   3076:     }
                   3077: #endif
                   3078: 
                   3079:   /* Now "shift" the result of the reduction.
                   3080:      Determine what state that goes to,
                   3081:      based on the state we popped back to
                   3082:      and the rule number reduced by.  */
                   3083: 
                   3084:   yyn = yyr1[yyn];
                   3085: 
                   3086:   yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
                   3087:   if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
                   3088:     yystate = yytable[yystate];
                   3089:   else
                   3090:     yystate = yydefgoto[yyn - YYNTBASE];
                   3091: 
                   3092:   goto yynewstate;
                   3093: 
                   3094: yyerrlab:   /* here on detecting error */
                   3095: 
                   3096:   if (! yyerrstatus)
                   3097:     /* If not already recovering from an error, report this error.  */
                   3098:     {
                   3099:       ++yynerrs;
                   3100: 
                   3101: #ifdef YYERROR_VERBOSE
                   3102:       yyn = yypact[yystate];
                   3103: 
                   3104:       if (yyn > YYFLAG && yyn < YYLAST)
                   3105:        {
                   3106:          int size = 0;
                   3107:          char *msg;
                   3108:          int x, count;
                   3109: 
                   3110:          count = 0;
                   3111:          for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
                   3112:            if (yycheck[x + yyn] == x)
                   3113:              size += strlen(yytname[x]) + 15, count++;
1.1.1.2 ! root     3114:          msg = (char *) xmalloc(size + 15);
        !          3115:          strcpy(msg, "parse error");
1.1       root     3116: 
1.1.1.2 ! root     3117:          if (count < 5)
        !          3118:            {
        !          3119:              count = 0;
        !          3120:              for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
        !          3121:                if (yycheck[x + yyn] == x)
        !          3122:                  {
        !          3123:                    strcat(msg, count == 0 ? ", expecting `" : " or `");
        !          3124:                    strcat(msg, yytname[x]);
        !          3125:                    strcat(msg, "'");
        !          3126:                    count++;
        !          3127:                  }
1.1       root     3128:            }
1.1.1.2 ! root     3129:          yyerror(msg);
        !          3130:          free(msg);
1.1       root     3131:        }
                   3132:       else
                   3133: #endif /* YYERROR_VERBOSE */
                   3134:        yyerror("parse error");
                   3135:     }
                   3136: 
                   3137: yyerrlab1:   /* here on error raised explicitly by an action */
                   3138: 
                   3139:   if (yyerrstatus == 3)
                   3140:     {
                   3141:       /* if just tried and failed to reuse lookahead token after an error, discard it.  */
                   3142: 
                   3143:       /* return failure if at end of input */
                   3144:       if (yychar == YYEOF)
                   3145:        YYABORT;
                   3146: 
                   3147: #if YYDEBUG != 0
                   3148:       if (yydebug)
                   3149:        fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
                   3150: #endif
                   3151: 
                   3152:       yychar = YYEMPTY;
                   3153:     }
                   3154: 
                   3155:   /* Else will try to reuse lookahead token
                   3156:      after shifting the error token.  */
                   3157: 
                   3158:   yyerrstatus = 3;             /* Each real token shifted decrements this */
                   3159: 
                   3160:   goto yyerrhandle;
                   3161: 
                   3162: yyerrdefault:  /* current state does not do anything special for the error token. */
                   3163: 
                   3164: #if 0
                   3165:   /* This is wrong; only states that explicitly want error tokens
                   3166:      should shift them.  */
                   3167:   yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
                   3168:   if (yyn) goto yydefault;
                   3169: #endif
                   3170: 
                   3171: yyerrpop:   /* pop the current state because it cannot handle the error token */
                   3172: 
                   3173:   if (yyssp == yyss) YYABORT;
                   3174:   yyvsp--;
                   3175:   yystate = *--yyssp;
                   3176: #ifdef YYLSP_NEEDED
                   3177:   yylsp--;
                   3178: #endif
                   3179: 
                   3180: #if YYDEBUG != 0
                   3181:   if (yydebug)
                   3182:     {
                   3183:       short *ssp1 = yyss - 1;
                   3184:       fprintf (stderr, "Error: state stack now");
                   3185:       while (ssp1 != yyssp)
                   3186:        fprintf (stderr, " %d", *++ssp1);
                   3187:       fprintf (stderr, "\n");
                   3188:     }
                   3189: #endif
                   3190: 
                   3191: yyerrhandle:
                   3192: 
                   3193:   yyn = yypact[yystate];
                   3194:   if (yyn == YYFLAG)
                   3195:     goto yyerrdefault;
                   3196: 
                   3197:   yyn += YYTERROR;
                   3198:   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
                   3199:     goto yyerrdefault;
                   3200: 
                   3201:   yyn = yytable[yyn];
                   3202:   if (yyn < 0)
                   3203:     {
                   3204:       if (yyn == YYFLAG)
                   3205:        goto yyerrpop;
                   3206:       yyn = -yyn;
                   3207:       goto yyreduce;
                   3208:     }
                   3209:   else if (yyn == 0)
                   3210:     goto yyerrpop;
                   3211: 
                   3212:   if (yyn == YYFINAL)
                   3213:     YYACCEPT;
                   3214: 
                   3215: #if YYDEBUG != 0
                   3216:   if (yydebug)
                   3217:     fprintf(stderr, "Shifting error token, ");
                   3218: #endif
                   3219: 
                   3220:   *++yyvsp = yylval;
                   3221: #ifdef YYLSP_NEEDED
                   3222:   *++yylsp = yylloc;
                   3223: #endif
                   3224: 
                   3225:   yystate = yyn;
                   3226:   goto yynewstate;
                   3227: }
                   3228: #line 1659 "c-parse.y"
                   3229: 

unix.superglobalmegacorp.com

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