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

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

unix.superglobalmegacorp.com

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