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

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

unix.superglobalmegacorp.com

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