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

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

unix.superglobalmegacorp.com

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