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

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

unix.superglobalmegacorp.com

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