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

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

unix.superglobalmegacorp.com

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