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

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

unix.superglobalmegacorp.com

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