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

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

unix.superglobalmegacorp.com

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