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

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
1.1.1.2   root       30: #define        ASM_KEYWORD     282
1.1       root       31: #define        TYPEOF  283
                     32: #define        ALIGNOF 284
                     33: #define        ALIGN   285
                     34: #define        ATTRIBUTE       286
                     35: #define        EXTENSION       287
                     36: #define        LABEL   288
                     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;
1.1.1.2   root       88: #line 182 "objc-parse.y"
1.1       root       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,
1.1.1.2   root      389:    218,   222,   230,   232,   232,   233,   235,   237,   238,   239,
                    390:    246,   252,   254,   256,   258,   260,   261,   262,   267,   273,
                    391:    275,   276,   278,   283,   285,   286,   288,   293,   295,   296,
                    392:    300,   302,   303,   307,   309,   311,   313,   315,   317,   319,
                    393:    323,   327,   330,   333,   336,   340,   342,   345,   348,   351,
                    394:    354,   373,   378,   380,   382,   386,   388,   391,   405,   407,
                    395:    409,   411,   413,   415,   417,   419,   421,   423,   425,   427,
                    396:    429,   431,   433,   435,   437,   439,   443,   540,   541,   543,
                    397:    549,   551,   564,   577,   579,   581,   593,   607,   609,   611,
                    398:    613,   615,   620,   622,   626,   628,   629,   640,   645,   647,
                    399:    648,   649,   656,   664,   669,   673,   677,   681,   683,   691,
                    400:    694,   698,   700,   702,   710,   713,   715,   717,   726,   729,
                    401:    733,   735,   743,   744,   745,   746,   748,   752,   760,   761,
                    402:    762,   765,   767,   770,   772,   775,   778,   786,   791,   793,
                    403:    799,   804,   806,   813,   816,   821,   823,   828,   832,   843,
                    404:    857,   859,   863,   865,   867,   873,   876,   879,   881,   883,
                    405:    885,   889,   906,   910,   927,   934,   936,   941,   944,   949,
                    406:    951,   953,   955,   963,   969,   971,   973,   975,   981,   987,
                    407:    989,   991,   993,   995,   998,  1003,  1007,  1010,  1012,  1014,
                    408:   1016,  1019,  1021,  1024,  1027,  1030,  1033,  1037,  1039,  1042,
                    409:   1044,  1048,  1051,  1056,  1058,  1060,  1064,  1077,  1083,  1088,
                    410:   1093,  1098,  1102,  1104,  1108,  1112,  1116,  1125,  1127,  1132,
                    411:   1135,  1139,  1142,  1146,  1149,  1152,  1155,  1159,  1162,  1166,
                    412:   1170,  1172,  1174,  1176,  1178,  1180,  1182,  1184,  1192,  1194,
                    413:   1195,  1198,  1200,  1203,  1206,  1218,  1220,  1225,  1227,  1230,
                    414:   1247,  1250,  1253,  1255,  1260,  1265,  1273,  1282,  1284,  1288,
                    415:   1292,  1297,  1300,  1305,  1310,  1313,  1318,  1323,  1328,  1329,
                    416:   1335,  1337,  1342,  1349,  1353,  1359,  1365,  1374,  1376,  1401,
                    417:   1401,  1430,  1430,  1446,  1446,  1451,  1456,  1460,  1464,  1470,
                    418:   1478,  1486,  1494,  1505,  1509,  1517,  1517,  1522,  1527,  1533,
                    419:   1536,  1541,  1543,  1546,  1548,  1552,  1557,  1560,  1566,  1570,
                    420:   1577,  1581,  1586,  1588,  1590,  1594,  1596,  1602,  1604,  1606,
                    421:   1610,  1613,  1619,  1622,  1624,  1626,  1628,  1633,  1636,  1643,
                    422:   1645,  1646,  1659,  1666,  1671,  1677,  1684,  1690,  1696,  1701,
                    423:   1707,  1714,  1720,  1726,  1732,  1740,  1746,  1752,  1760,  1767,
                    424:   1773,  1782,  1784,  1784,  1787,  1792,  1793,  1810,  1816,  1821,
                    425:   1825,  1828,  1829,  1832,  1840,  1846,  1855,  1864,  1870,  1874,
                    426:   1879,  1887,  1893,  1897,  1907,  1909,  1910,  1912,  1914,  1915,
                    427:   1916,  1917,  1919,  1921,  1924,  1930,  1935,  1935,  1940,  1944,
                    428:   1946,  1952,  1957,  1962,  1971,  1973,  1979,  1981,  1984,  1986,
                    429:   1987,  1988,  1991,  1994,  1996,  2000,  2003,  2010,  2013,  2015,
                    430:   2019,  2024,  2029,  2034,  2041,  2045,  2048,  2054,  2056,  2057,
                    431:   2060,  2062,  2063,  2064,  2065,  2066,  2067,  2068,  2069,  2070,
                    432:   2071,  2072,  2073,  2074,  2075,  2076,  2077,  2078,  2079,  2080,
                    433:   2080,  2083,  2089,  2094,  2099,  2105,  2107,  2110,  2112,  2119,
                    434:   2131,  2136,  2142,  2144,  2150,  2154,  2155,  2161,  2163,  2166,
                    435:   2168,  2174,  2179,  2185,  2194
1.1       root      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",
1.1.1.2   root      441: "BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF","ALIGN",
                    442: "ATTRIBUTE","EXTENSION","LABEL","ASSIGN","'='","'?'","':'","OROR","ANDAND","'|'",
                    443: "'^'","'&'","EQCOMPARE","ARITHCOMPARE","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
                    444: "'%'","UNARY","PLUSPLUS","MINUSMINUS","HYPERUNARY","POINTSAT","'.'","'('","'['",
                    445: "INTERFACE","IMPLEMENTATION","END","SELECTOR","DEFS","ENCODE","CLASSNAME","PUBLIC",
                    446: "')'","';'","'}'","'~'","'!'","','","'{'","']'","program","extdefs","@1","@2",
                    447: "extdef","datadef","fndef","@3","@4","@5","@6","@7","@8","identifier","unop",
                    448: "expr","exprlist","nonnull_exprlist","unary_expr","@9","cast_expr","expr_no_commas",
                    449: "primary","@10","string","xdecls","lineno_decl","decls","setspecs","decl","typed_declspecs",
1.1       root      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.  */
1.1.1.3 ! root     1301: #line 3 "bison.simple"
1.1       root     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: 
1.1.1.3 ! root     1467: #line 169 "bison.simple"
1.1       root     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: 
1.1.1.3 ! root     1489: #define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
1.1       root     1490: #else
1.1.1.3 ! root     1491: #define YYPOPSTACK   (yyvsp--, yyssp--)
1.1       root     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:
1.1.1.2   root     1741: #line 219 "objc-parse.y"
1.1       root     1742: { if (pedantic)
                   1743:                    pedwarn ("ANSI C forbids an empty source file");
                   1744:                  objc_finish (); ;
                   1745:     break;}
                   1746: case 2:
1.1.1.2   root     1747: #line 223 "objc-parse.y"
1.1       root     1748: { objc_finish (); ;
                   1749:     break;}
                   1750: case 3:
1.1.1.2   root     1751: #line 231 "objc-parse.y"
1.1       root     1752: {yyval.ttype = NULL_TREE; ;
                   1753:     break;}
                   1754: case 5:
1.1.1.2   root     1755: #line 232 "objc-parse.y"
1.1       root     1756: {yyval.ttype = NULL_TREE; ;
                   1757:     break;}
                   1758: case 10:
1.1.1.2   root     1759: #line 240 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     1766: #line 248 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     1773: #line 253 "objc-parse.y"
1.1       root     1774: {;
                   1775:     break;}
                   1776: case 13:
1.1.1.2   root     1777: #line 255 "objc-parse.y"
1.1       root     1778: {;
                   1779:     break;}
                   1780: case 14:
1.1.1.2   root     1781: #line 257 "objc-parse.y"
1.1       root     1782: { error ("empty declaration"); ;
                   1783:     break;}
                   1784: case 15:
1.1.1.2   root     1785: #line 259 "objc-parse.y"
1.1       root     1786: { shadow_tag (yyvsp[-1].ttype); ;
                   1787:     break;}
                   1788: case 18:
1.1.1.2   root     1789: #line 263 "objc-parse.y"
1.1       root     1790: { if (pedantic)
                   1791:                    pedwarn ("ANSI C does not allow extra `;' outside of a function"); ;
                   1792:     break;}
                   1793: case 19:
1.1.1.2   root     1794: #line 269 "objc-parse.y"
1.1       root     1795: { if (! start_function (yyvsp[-2].ttype, yyvsp[0].ttype, 0))
                   1796:                    YYERROR1;
                   1797:                  reinit_parse_for_function (); ;
                   1798:     break;}
                   1799: case 20:
1.1.1.2   root     1800: #line 273 "objc-parse.y"
1.1       root     1801: { store_parm_decls (); ;
                   1802:     break;}
                   1803: case 21:
1.1.1.2   root     1804: #line 275 "objc-parse.y"
1.1       root     1805: { finish_function (0); ;
                   1806:     break;}
                   1807: case 22:
1.1.1.2   root     1808: #line 277 "objc-parse.y"
1.1       root     1809: { ;
                   1810:     break;}
                   1811: case 23:
1.1.1.2   root     1812: #line 279 "objc-parse.y"
1.1       root     1813: { if (! start_function (yyvsp[-2].ttype, yyvsp[0].ttype, 0))
                   1814:                    YYERROR1;
                   1815:                  reinit_parse_for_function (); ;
                   1816:     break;}
                   1817: case 24:
1.1.1.2   root     1818: #line 283 "objc-parse.y"
1.1       root     1819: { store_parm_decls (); ;
                   1820:     break;}
                   1821: case 25:
1.1.1.2   root     1822: #line 285 "objc-parse.y"
1.1       root     1823: { finish_function (0); ;
                   1824:     break;}
                   1825: case 26:
1.1.1.2   root     1826: #line 287 "objc-parse.y"
1.1       root     1827: { ;
                   1828:     break;}
                   1829: case 27:
1.1.1.2   root     1830: #line 289 "objc-parse.y"
1.1       root     1831: { if (! start_function (0, yyvsp[0].ttype, 0))
                   1832:                    YYERROR1;
                   1833:                  reinit_parse_for_function (); ;
                   1834:     break;}
                   1835: case 28:
1.1.1.2   root     1836: #line 293 "objc-parse.y"
1.1       root     1837: { store_parm_decls (); ;
                   1838:     break;}
                   1839: case 29:
1.1.1.2   root     1840: #line 295 "objc-parse.y"
1.1       root     1841: { finish_function (0); ;
                   1842:     break;}
                   1843: case 30:
1.1.1.2   root     1844: #line 297 "objc-parse.y"
1.1       root     1845: { ;
                   1846:     break;}
                   1847: case 33:
1.1.1.2   root     1848: #line 304 "objc-parse.y"
1.1       root     1849: { yyval.ttype = CLASS_NAME (yyvsp[0].ttype); ;
                   1850:     break;}
                   1851: case 34:
1.1.1.2   root     1852: #line 308 "objc-parse.y"
1.1       root     1853: { yyval.code = ADDR_EXPR; ;
                   1854:     break;}
                   1855: case 35:
1.1.1.2   root     1856: #line 310 "objc-parse.y"
1.1       root     1857: { yyval.code = NEGATE_EXPR; ;
                   1858:     break;}
                   1859: case 36:
1.1.1.2   root     1860: #line 312 "objc-parse.y"
1.1       root     1861: { yyval.code = CONVERT_EXPR; ;
                   1862:     break;}
                   1863: case 37:
1.1.1.2   root     1864: #line 314 "objc-parse.y"
1.1       root     1865: { yyval.code = PREINCREMENT_EXPR; ;
                   1866:     break;}
                   1867: case 38:
1.1.1.2   root     1868: #line 316 "objc-parse.y"
1.1       root     1869: { yyval.code = PREDECREMENT_EXPR; ;
                   1870:     break;}
                   1871: case 39:
1.1.1.2   root     1872: #line 318 "objc-parse.y"
1.1       root     1873: { yyval.code = BIT_NOT_EXPR; ;
                   1874:     break;}
                   1875: case 40:
1.1.1.2   root     1876: #line 320 "objc-parse.y"
1.1       root     1877: { yyval.code = TRUTH_NOT_EXPR; ;
                   1878:     break;}
                   1879: case 41:
1.1.1.2   root     1880: #line 324 "objc-parse.y"
1.1       root     1881: { yyval.ttype = build_compound_expr (yyvsp[0].ttype); ;
                   1882:     break;}
                   1883: case 42:
1.1.1.2   root     1884: #line 329 "objc-parse.y"
1.1       root     1885: { yyval.ttype = NULL_TREE; ;
                   1886:     break;}
                   1887: case 44:
1.1.1.2   root     1888: #line 335 "objc-parse.y"
1.1       root     1889: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
                   1890:     break;}
                   1891: case 45:
1.1.1.2   root     1892: #line 337 "objc-parse.y"
1.1       root     1893: { chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   1894:     break;}
                   1895: case 47:
1.1.1.2   root     1896: #line 343 "objc-parse.y"
1.1       root     1897: { yyval.ttype = build_indirect_ref (yyvsp[0].ttype, "unary *"); ;
                   1898:     break;}
                   1899: case 48:
1.1.1.2   root     1900: #line 346 "objc-parse.y"
1.1       root     1901: { yyvsp[0].itype = pedantic;
                   1902:                  pedantic = 0; ;
                   1903:     break;}
                   1904: case 49:
1.1.1.2   root     1905: #line 349 "objc-parse.y"
1.1       root     1906: { yyval.ttype = yyvsp[0].ttype;
                   1907:                  pedantic = yyvsp[-2].itype; ;
                   1908:     break;}
                   1909: case 50:
1.1.1.2   root     1910: #line 352 "objc-parse.y"
1.1       root     1911: { yyval.ttype = build_unary_op (yyvsp[-1].code, yyvsp[0].ttype, 0); ;
                   1912:     break;}
                   1913: case 51:
1.1.1.2   root     1914: #line 355 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     1921: #line 374 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     1928: #line 379 "objc-parse.y"
1.1       root     1929: { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
                   1930:     break;}
                   1931: case 54:
1.1.1.2   root     1932: #line 381 "objc-parse.y"
1.1       root     1933: { yyval.ttype = c_alignof_expr (yyvsp[0].ttype); ;
                   1934:     break;}
                   1935: case 55:
1.1.1.2   root     1936: #line 383 "objc-parse.y"
1.1       root     1937: { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
                   1938:     break;}
                   1939: case 57:
1.1.1.2   root     1940: #line 389 "objc-parse.y"
1.1       root     1941: { tree type = groktypename (yyvsp[-2].ttype);
                   1942:                  yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
                   1943:     break;}
                   1944: case 58:
1.1.1.2   root     1945: #line 392 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     1959: #line 408 "objc-parse.y"
1.1       root     1960: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1961:     break;}
                   1962: case 61:
1.1.1.2   root     1963: #line 410 "objc-parse.y"
1.1       root     1964: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1965:     break;}
                   1966: case 62:
1.1.1.2   root     1967: #line 412 "objc-parse.y"
1.1       root     1968: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1969:     break;}
                   1970: case 63:
1.1.1.2   root     1971: #line 414 "objc-parse.y"
1.1       root     1972: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1973:     break;}
                   1974: case 64:
1.1.1.2   root     1975: #line 416 "objc-parse.y"
1.1       root     1976: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1977:     break;}
                   1978: case 65:
1.1.1.2   root     1979: #line 418 "objc-parse.y"
1.1       root     1980: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1981:     break;}
                   1982: case 66:
1.1.1.2   root     1983: #line 420 "objc-parse.y"
1.1       root     1984: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1985:     break;}
                   1986: case 67:
1.1.1.2   root     1987: #line 422 "objc-parse.y"
1.1       root     1988: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1989:     break;}
                   1990: case 68:
1.1.1.2   root     1991: #line 424 "objc-parse.y"
1.1       root     1992: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1993:     break;}
                   1994: case 69:
1.1.1.2   root     1995: #line 426 "objc-parse.y"
1.1       root     1996: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   1997:     break;}
                   1998: case 70:
1.1.1.2   root     1999: #line 428 "objc-parse.y"
1.1       root     2000: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   2001:     break;}
                   2002: case 71:
1.1.1.2   root     2003: #line 430 "objc-parse.y"
1.1       root     2004: { yyval.ttype = parser_build_binary_op (yyvsp[-1].code, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   2005:     break;}
                   2006: case 72:
1.1.1.2   root     2007: #line 432 "objc-parse.y"
1.1       root     2008: { yyval.ttype = parser_build_binary_op (TRUTH_ANDIF_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   2009:     break;}
                   2010: case 73:
1.1.1.2   root     2011: #line 434 "objc-parse.y"
1.1       root     2012: { yyval.ttype = parser_build_binary_op (TRUTH_ORIF_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   2013:     break;}
                   2014: case 74:
1.1.1.2   root     2015: #line 436 "objc-parse.y"
1.1       root     2016: { yyval.ttype = build_conditional_expr (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   2017:     break;}
                   2018: case 75:
1.1.1.2   root     2019: #line 438 "objc-parse.y"
1.1       root     2020: { yyval.ttype = build_modify_expr (yyvsp[-2].ttype, NOP_EXPR, yyvsp[0].ttype); ;
                   2021:     break;}
                   2022: case 76:
1.1.1.2   root     2023: #line 440 "objc-parse.y"
1.1       root     2024: { yyval.ttype = build_modify_expr (yyvsp[-2].ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
                   2025:     break;}
                   2026: case 77:
1.1.1.2   root     2027: #line 445 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2125: #line 542 "objc-parse.y"
1.1       root     2126: { yyval.ttype = combine_strings (yyvsp[0].ttype); ;
                   2127:     break;}
                   2128: case 80:
1.1.1.2   root     2129: #line 544 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2137: #line 550 "objc-parse.y"
1.1       root     2138: { yyval.ttype = error_mark_node; ;
                   2139:     break;}
                   2140: case 82:
1.1.1.2   root     2141: #line 552 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2156: #line 565 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2171: #line 578 "objc-parse.y"
1.1       root     2172: { yyval.ttype = build_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   2173:     break;}
                   2174: case 85:
1.1.1.2   root     2175: #line 580 "objc-parse.y"
1.1       root     2176: { yyval.ttype = build_array_ref (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   2177:     break;}
                   2178: case 86:
1.1.1.2   root     2179: #line 582 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2193: #line 594 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2209: #line 608 "objc-parse.y"
1.1       root     2210: { yyval.ttype = build_unary_op (POSTINCREMENT_EXPR, yyvsp[-1].ttype, 0); ;
                   2211:     break;}
                   2212: case 89:
1.1.1.2   root     2213: #line 610 "objc-parse.y"
1.1       root     2214: { yyval.ttype = build_unary_op (POSTDECREMENT_EXPR, yyvsp[-1].ttype, 0); ;
                   2215:     break;}
                   2216: case 90:
1.1.1.2   root     2217: #line 612 "objc-parse.y"
1.1       root     2218: { yyval.ttype = build_message_expr (yyvsp[0].ttype); ;
                   2219:     break;}
                   2220: case 91:
1.1.1.2   root     2221: #line 614 "objc-parse.y"
1.1       root     2222: { yyval.ttype = build_selector_expr (yyvsp[0].ttype); ;
                   2223:     break;}
                   2224: case 92:
1.1.1.2   root     2225: #line 616 "objc-parse.y"
1.1       root     2226: { yyval.ttype = build_encode_expr (yyvsp[0].ttype); ;
                   2227:     break;}
                   2228: case 94:
1.1.1.2   root     2229: #line 623 "objc-parse.y"
1.1       root     2230: { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2231:     break;}
                   2232: case 97:
1.1.1.2   root     2233: #line 631 "objc-parse.y"
1.1       root     2234: { c_mark_varargs ();
                   2235:                  if (pedantic)
                   2236:                    pedwarn ("ANSI C does not permit use of `varargs.h'"); ;
                   2237:     break;}
                   2238: case 98:
1.1.1.2   root     2239: #line 642 "objc-parse.y"
1.1       root     2240: { ;
                   2241:     break;}
                   2242: case 103:
1.1.1.2   root     2243: #line 657 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2251: #line 666 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2257: #line 670 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2263: #line 674 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2269: #line 678 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2275: #line 682 "objc-parse.y"
1.1       root     2276: { shadow_tag (yyvsp[-1].ttype); ;
                   2277:     break;}
                   2278: case 109:
1.1.1.2   root     2279: #line 684 "objc-parse.y"
1.1       root     2280: { pedwarn ("empty declaration"); ;
                   2281:     break;}
                   2282: case 110:
1.1.1.2   root     2283: #line 693 "objc-parse.y"
1.1       root     2284: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2285:     break;}
                   2286: case 111:
1.1.1.2   root     2287: #line 695 "objc-parse.y"
1.1       root     2288: { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
                   2289:     break;}
                   2290: case 112:
1.1.1.2   root     2291: #line 699 "objc-parse.y"
1.1       root     2292: { yyval.ttype = NULL_TREE; ;
                   2293:     break;}
                   2294: case 113:
1.1.1.2   root     2295: #line 701 "objc-parse.y"
1.1       root     2296: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
                   2297:     break;}
                   2298: case 114:
1.1.1.2   root     2299: #line 703 "objc-parse.y"
1.1       root     2300: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
                   2301:     break;}
                   2302: case 115:
1.1.1.2   root     2303: #line 712 "objc-parse.y"
1.1       root     2304: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
                   2305:     break;}
                   2306: case 116:
1.1.1.2   root     2307: #line 714 "objc-parse.y"
1.1       root     2308: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
                   2309:     break;}
                   2310: case 117:
1.1.1.2   root     2311: #line 716 "objc-parse.y"
1.1       root     2312: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
                   2313:     break;}
                   2314: case 118:
1.1.1.2   root     2315: #line 718 "objc-parse.y"
1.1       root     2316: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
                   2317:     break;}
                   2318: case 119:
1.1.1.2   root     2319: #line 728 "objc-parse.y"
1.1       root     2320: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2321:     break;}
                   2322: case 120:
1.1.1.2   root     2323: #line 730 "objc-parse.y"
1.1       root     2324: { yyval.ttype = chainon (yyvsp[0].ttype, tree_cons (NULL_TREE, yyvsp[-1].ttype, yyvsp[-2].ttype)); ;
                   2325:     break;}
                   2326: case 121:
1.1.1.2   root     2327: #line 734 "objc-parse.y"
1.1       root     2328: { yyval.ttype = NULL_TREE; ;
                   2329:     break;}
                   2330: case 122:
1.1.1.2   root     2331: #line 736 "objc-parse.y"
1.1       root     2332: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
                   2333:     break;}
                   2334: case 126:
1.1.1.2   root     2335: #line 747 "objc-parse.y"
1.1       root     2336: { yyval.ttype = get_static_reference (yyvsp[0].ttype); ;
                   2337:     break;}
                   2338: case 127:
1.1.1.2   root     2339: #line 749 "objc-parse.y"
1.1       root     2340: { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
                   2341:                  if (pedantic)
                   2342:                    pedwarn ("ANSI C forbids `typeof'"); ;
                   2343:     break;}
                   2344: case 128:
1.1.1.2   root     2345: #line 753 "objc-parse.y"
1.1       root     2346: { yyval.ttype = groktypename (yyvsp[-1].ttype);
                   2347:                  if (pedantic)
                   2348:                    pedwarn ("ANSI C forbids `typeof'"); ;
                   2349:     break;}
                   2350: case 136:
1.1.1.2   root     2351: #line 777 "objc-parse.y"
1.1       root     2352: { yyval.ttype = NULL_TREE; ;
                   2353:     break;}
                   2354: case 137:
1.1.1.2   root     2355: #line 779 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2363: #line 788 "objc-parse.y"
1.1       root     2364: { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1); ;
                   2365:     break;}
                   2366: case 139:
1.1.1.2   root     2367: #line 791 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2372: #line 794 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2378: #line 801 "objc-parse.y"
1.1       root     2379: { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1); ;
                   2380:     break;}
                   2381: case 142:
1.1.1.2   root     2382: #line 804 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2387: #line 807 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2393: #line 815 "objc-parse.y"
1.1       root     2394: { yyval.ttype = NULL_TREE; ;
                   2395:     break;}
                   2396: case 145:
1.1.1.2   root     2397: #line 817 "objc-parse.y"
1.1       root     2398: { yyval.ttype = yyvsp[-2].ttype; ;
                   2399:     break;}
                   2400: case 146:
1.1.1.2   root     2401: #line 822 "objc-parse.y"
1.1       root     2402: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
                   2403:     break;}
                   2404: case 147:
1.1.1.2   root     2405: #line 824 "objc-parse.y"
1.1       root     2406: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ;
                   2407:     break;}
                   2408: case 148:
1.1.1.2   root     2409: #line 829 "objc-parse.y"
1.1       root     2410: { warning ("`%s' attribute directive ignored",
                   2411:                   IDENTIFIER_POINTER (yyvsp[0].ttype));
                   2412:          yyval.ttype = yyvsp[0].ttype; ;
                   2413:     break;}
                   2414: case 149:
1.1.1.2   root     2415: #line 833 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2428: #line 844 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2442: #line 860 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2448: #line 864 "objc-parse.y"
1.1       root     2449: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype)); ;
                   2450:     break;}
                   2451: case 154:
1.1.1.2   root     2452: #line 866 "objc-parse.y"
1.1       root     2453: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype)); ;
                   2454:     break;}
                   2455: case 155:
1.1.1.2   root     2456: #line 868 "objc-parse.y"
1.1       root     2457: { yyval.ttype = NULL_TREE; ;
                   2458:     break;}
                   2459: case 156:
1.1.1.2   root     2460: #line 875 "objc-parse.y"
1.1       root     2461: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
                   2462:     break;}
                   2463: case 157:
1.1.1.2   root     2464: #line 877 "objc-parse.y"
1.1       root     2465: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ;
                   2466:     break;}
                   2467: case 158:
1.1.1.2   root     2468: #line 880 "objc-parse.y"
1.1       root     2469: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   2470:     break;}
                   2471: case 159:
1.1.1.2   root     2472: #line 882 "objc-parse.y"
1.1       root     2473: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyvsp[-5].ttype); ;
                   2474:     break;}
                   2475: case 160:
1.1.1.2   root     2476: #line 884 "objc-parse.y"
1.1       root     2477: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   2478:     break;}
                   2479: case 161:
1.1.1.2   root     2480: #line 886 "objc-parse.y"
1.1       root     2481: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
                   2482:     break;}
                   2483: case 162:
1.1.1.2   root     2484: #line 891 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2495: #line 906 "objc-parse.y"
1.1       root     2496: { finish_function (1);
                   2497:                  pop_c_function_context (); ;
                   2498:     break;}
                   2499: case 164:
1.1.1.2   root     2500: #line 912 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2511: #line 927 "objc-parse.y"
1.1       root     2512: { finish_function (1);
                   2513:                  pop_c_function_context (); ;
                   2514:     break;}
                   2515: case 168:
1.1.1.2   root     2516: #line 943 "objc-parse.y"
1.1       root     2517: { yyval.ttype = yyvsp[-1].ttype; ;
                   2518:     break;}
                   2519: case 169:
1.1.1.2   root     2520: #line 945 "objc-parse.y"
1.1       root     2521: { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
                   2522:     break;}
                   2523: case 170:
1.1.1.2   root     2524: #line 950 "objc-parse.y"
1.1       root     2525: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   2526:     break;}
                   2527: case 171:
1.1.1.2   root     2528: #line 952 "objc-parse.y"
1.1       root     2529: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
                   2530:     break;}
                   2531: case 172:
1.1.1.2   root     2532: #line 954 "objc-parse.y"
1.1       root     2533: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2534:     break;}
                   2535: case 174:
1.1.1.2   root     2536: #line 965 "objc-parse.y"
1.1       root     2537: { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
                   2538:     break;}
                   2539: case 175:
1.1.1.2   root     2540: #line 970 "objc-parse.y"
1.1       root     2541: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   2542:     break;}
                   2543: case 176:
1.1.1.2   root     2544: #line 972 "objc-parse.y"
1.1       root     2545: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
                   2546:     break;}
                   2547: case 177:
1.1.1.2   root     2548: #line 974 "objc-parse.y"
1.1       root     2549: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2550:     break;}
                   2551: case 179:
1.1.1.2   root     2552: #line 983 "objc-parse.y"
1.1       root     2553: { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
                   2554:     break;}
                   2555: case 180:
1.1.1.2   root     2556: #line 988 "objc-parse.y"
1.1       root     2557: { yyval.ttype = yyvsp[-1].ttype; ;
                   2558:     break;}
                   2559: case 181:
1.1.1.2   root     2560: #line 990 "objc-parse.y"
1.1       root     2561: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2562:     break;}
                   2563: case 182:
1.1.1.2   root     2564: #line 992 "objc-parse.y"
1.1       root     2565: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   2566:     break;}
                   2567: case 183:
1.1.1.2   root     2568: #line 994 "objc-parse.y"
1.1       root     2569: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
                   2570:     break;}
                   2571: case 185:
1.1.1.2   root     2572: #line 1000 "objc-parse.y"
1.1       root     2573: { yyval.ttype = start_struct (RECORD_TYPE, yyvsp[-1].ttype);
                   2574:                  /* Start scope of tag before parsing components.  */
                   2575:                ;
                   2576:     break;}
                   2577: case 186:
1.1.1.2   root     2578: #line 1004 "objc-parse.y"
1.1       root     2579: { yyval.ttype = finish_struct (yyvsp[-2].ttype, yyvsp[-1].ttype);
                   2580:                  /* Really define the structure.  */
                   2581:                ;
                   2582:     break;}
                   2583: case 187:
1.1.1.2   root     2584: #line 1008 "objc-parse.y"
1.1       root     2585: { yyval.ttype = finish_struct (start_struct (RECORD_TYPE, NULL_TREE),
                   2586:                                      yyvsp[-1].ttype); ;
                   2587:     break;}
                   2588: case 188:
1.1.1.2   root     2589: #line 1011 "objc-parse.y"
1.1       root     2590: { yyval.ttype = xref_tag (RECORD_TYPE, yyvsp[0].ttype); ;
                   2591:     break;}
                   2592: case 189:
1.1.1.2   root     2593: #line 1013 "objc-parse.y"
1.1       root     2594: { yyval.ttype = start_struct (UNION_TYPE, yyvsp[-1].ttype); ;
                   2595:     break;}
                   2596: case 190:
1.1.1.2   root     2597: #line 1015 "objc-parse.y"
1.1       root     2598: { yyval.ttype = finish_struct (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
                   2599:     break;}
                   2600: case 191:
1.1.1.2   root     2601: #line 1017 "objc-parse.y"
1.1       root     2602: { yyval.ttype = finish_struct (start_struct (UNION_TYPE, NULL_TREE),
                   2603:                                      yyvsp[-1].ttype); ;
                   2604:     break;}
                   2605: case 192:
1.1.1.2   root     2606: #line 1020 "objc-parse.y"
1.1       root     2607: { yyval.ttype = xref_tag (UNION_TYPE, yyvsp[0].ttype); ;
                   2608:     break;}
                   2609: case 193:
1.1.1.2   root     2610: #line 1022 "objc-parse.y"
1.1       root     2611: { yyvsp[0].itype = suspend_momentary ();
                   2612:                  yyval.ttype = start_enum (yyvsp[-1].ttype); ;
                   2613:     break;}
                   2614: case 194:
1.1.1.2   root     2615: #line 1025 "objc-parse.y"
1.1       root     2616: { yyval.ttype = finish_enum (yyvsp[-3].ttype, nreverse (yyvsp[-2].ttype));
                   2617:                  resume_momentary (yyvsp[-4].itype); ;
                   2618:     break;}
                   2619: case 195:
1.1.1.2   root     2620: #line 1028 "objc-parse.y"
1.1       root     2621: { yyvsp[0].itype = suspend_momentary ();
                   2622:                  yyval.ttype = start_enum (NULL_TREE); ;
                   2623:     break;}
                   2624: case 196:
1.1.1.2   root     2625: #line 1031 "objc-parse.y"
1.1       root     2626: { yyval.ttype = finish_enum (yyvsp[-3].ttype, nreverse (yyvsp[-2].ttype));
                   2627:                  resume_momentary (yyvsp[-4].itype); ;
                   2628:     break;}
                   2629: case 197:
1.1.1.2   root     2630: #line 1034 "objc-parse.y"
1.1       root     2631: { yyval.ttype = xref_tag (ENUMERAL_TYPE, yyvsp[0].ttype); ;
                   2632:     break;}
                   2633: case 201:
1.1.1.2   root     2634: #line 1045 "objc-parse.y"
1.1       root     2635: { if (pedantic) pedwarn ("comma at end of enumerator list"); ;
                   2636:     break;}
                   2637: case 202:
1.1.1.2   root     2638: #line 1050 "objc-parse.y"
1.1       root     2639: { yyval.ttype = yyvsp[0].ttype; ;
                   2640:     break;}
                   2641: case 203:
1.1.1.2   root     2642: #line 1052 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2647: #line 1057 "objc-parse.y"
1.1       root     2648: { yyval.ttype = NULL_TREE; ;
                   2649:     break;}
                   2650: case 205:
1.1.1.2   root     2651: #line 1059 "objc-parse.y"
1.1       root     2652: { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
                   2653:     break;}
                   2654: case 206:
1.1.1.2   root     2655: #line 1061 "objc-parse.y"
1.1       root     2656: { if (pedantic)
                   2657:                    warning ("extra semicolon in struct or union specified"); ;
                   2658:     break;}
                   2659: case 207:
1.1.1.2   root     2660: #line 1065 "objc-parse.y"
1.1       root     2661: { yyval.ttype = get_class_ivars (yyvsp[-1].ttype); ;
                   2662:     break;}
                   2663: case 208:
1.1.1.2   root     2664: #line 1079 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2671: #line 1084 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2678: #line 1089 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2685: #line 1094 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2692: #line 1099 "objc-parse.y"
1.1       root     2693: { yyval.ttype = NULL_TREE; ;
                   2694:     break;}
                   2695: case 214:
1.1.1.2   root     2696: #line 1105 "objc-parse.y"
1.1       root     2697: { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   2698:     break;}
                   2699: case 215:
1.1.1.2   root     2700: #line 1110 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2705: #line 1114 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2710: #line 1117 "objc-parse.y"
1.1       root     2711: { yyval.ttype = grokfield (yyvsp[-3].filename, yyvsp[-2].lineno, NULL_TREE, current_declspecs, yyvsp[0].ttype); ;
                   2712:     break;}
                   2713: case 219:
1.1.1.2   root     2714: #line 1128 "objc-parse.y"
1.1       root     2715: { yyval.ttype = chainon (yyvsp[0].ttype, yyvsp[-2].ttype); ;
                   2716:     break;}
                   2717: case 220:
1.1.1.2   root     2718: #line 1134 "objc-parse.y"
1.1       root     2719: { yyval.ttype = build_enumerator (yyvsp[0].ttype, NULL_TREE); ;
                   2720:     break;}
                   2721: case 221:
1.1.1.2   root     2722: #line 1136 "objc-parse.y"
1.1       root     2723: { yyval.ttype = build_enumerator (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   2724:     break;}
                   2725: case 222:
1.1.1.2   root     2726: #line 1141 "objc-parse.y"
1.1       root     2727: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2728:     break;}
                   2729: case 223:
1.1.1.2   root     2730: #line 1143 "objc-parse.y"
1.1       root     2731: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2732:     break;}
                   2733: case 224:
1.1.1.2   root     2734: #line 1148 "objc-parse.y"
1.1       root     2735: { yyval.ttype = NULL_TREE; ;
                   2736:     break;}
                   2737: case 226:
1.1.1.2   root     2738: #line 1154 "objc-parse.y"
1.1       root     2739: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
                   2740:     break;}
                   2741: case 227:
1.1.1.2   root     2742: #line 1156 "objc-parse.y"
1.1       root     2743: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
                   2744:     break;}
                   2745: case 228:
1.1.1.2   root     2746: #line 1161 "objc-parse.y"
1.1       root     2747: { yyval.ttype = NULL_TREE; ;
                   2748:     break;}
                   2749: case 229:
1.1.1.2   root     2750: #line 1163 "objc-parse.y"
1.1       root     2751: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ttype); ;
                   2752:     break;}
                   2753: case 230:
1.1.1.2   root     2754: #line 1168 "objc-parse.y"
1.1       root     2755: { yyval.ttype = yyvsp[-1].ttype; ;
                   2756:     break;}
                   2757: case 231:
1.1.1.2   root     2758: #line 1171 "objc-parse.y"
1.1       root     2759: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   2760:     break;}
                   2761: case 232:
1.1.1.2   root     2762: #line 1173 "objc-parse.y"
1.1       root     2763: { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
                   2764:     break;}
                   2765: case 233:
1.1.1.2   root     2766: #line 1175 "objc-parse.y"
1.1       root     2767: { yyval.ttype = build_nt (CALL_EXPR, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE); ;
                   2768:     break;}
                   2769: case 234:
1.1.1.2   root     2770: #line 1177 "objc-parse.y"
1.1       root     2771: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   2772:     break;}
                   2773: case 235:
1.1.1.2   root     2774: #line 1179 "objc-parse.y"
1.1       root     2775: { yyval.ttype = build_nt (ARRAY_REF, yyvsp[-2].ttype, NULL_TREE); ;
                   2776:     break;}
                   2777: case 236:
1.1.1.2   root     2778: #line 1181 "objc-parse.y"
1.1       root     2779: { yyval.ttype = build_nt (CALL_EXPR, NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
                   2780:     break;}
                   2781: case 237:
1.1.1.2   root     2782: #line 1183 "objc-parse.y"
1.1       root     2783: { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
                   2784:     break;}
                   2785: case 238:
1.1.1.2   root     2786: #line 1185 "objc-parse.y"
1.1       root     2787: { yyval.ttype = build_nt (ARRAY_REF, NULL_TREE, NULL_TREE); ;
                   2788:     break;}
                   2789: case 245:
1.1.1.2   root     2790: #line 1207 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2800: #line 1221 "objc-parse.y"
1.1       root     2801: { if (pedantic)
                   2802:                    pedwarn ("ANSI C forbids label declarations"); ;
                   2803:     break;}
                   2804: case 250:
1.1.1.2   root     2805: #line 1232 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2816: #line 1249 "objc-parse.y"
1.1       root     2817: {;
                   2818:     break;}
                   2819: case 253:
1.1.1.2   root     2820: #line 1254 "objc-parse.y"
1.1       root     2821: { yyval.ttype = convert (void_type_node, integer_zero_node); ;
                   2822:     break;}
                   2823: case 254:
1.1.1.2   root     2824: #line 1256 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2831: #line 1261 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2838: #line 1266 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2845: #line 1275 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2854: #line 1285 "objc-parse.y"
1.1       root     2855: { yyval.filename = input_filename; ;
                   2856:     break;}
                   2857: case 260:
1.1.1.2   root     2858: #line 1289 "objc-parse.y"
1.1       root     2859: { yyval.lineno = lineno; ;
                   2860:     break;}
                   2861: case 261:
1.1.1.2   root     2862: #line 1294 "objc-parse.y"
1.1       root     2863: { ;
                   2864:     break;}
                   2865: case 262:
1.1.1.2   root     2866: #line 1299 "objc-parse.y"
1.1       root     2867: { stmt_count++; ;
                   2868:     break;}
                   2869: case 263:
1.1.1.2   root     2870: #line 1301 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2877: #line 1306 "objc-parse.y"
1.1       root     2878: { expand_start_else ();
                   2879:                  yyvsp[-1].itype = stmt_count;
                   2880:                  position_after_white_space (); ;
                   2881:     break;}
                   2882: case 265:
1.1.1.2   root     2883: #line 1310 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2889: #line 1314 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2896: #line 1319 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2903: #line 1324 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2909: #line 1328 "objc-parse.y"
1.1       root     2910: { expand_end_loop (); ;
                   2911:     break;}
                   2912: case 270:
1.1.1.2   root     2913: #line 1330 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2921: #line 1336 "objc-parse.y"
1.1       root     2922: { expand_loop_continue_here (); ;
                   2923:     break;}
                   2924: case 272:
1.1.1.2   root     2925: #line 1338 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2932: #line 1344 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2940: #line 1350 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2946: #line 1356 "objc-parse.y"
1.1       root     2947: { push_momentary ();
                   2948:                  position_after_white_space (); ;
                   2949:     break;}
                   2950: case 276:
1.1.1.2   root     2951: #line 1359 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2960: #line 1366 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     2970: #line 1374 "objc-parse.y"
1.1       root     2971: { expand_end_case (yyvsp[-3].ttype);
                   2972:                  pop_momentary (); ;
                   2973:     break;}
                   2974: case 279:
1.1.1.2   root     2975: #line 1377 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3001: #line 1402 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3031: #line 1431 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3048: #line 1447 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3055: #line 1452 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3062: #line 1457 "objc-parse.y"
1.1       root     3063: { stmt_count++;
                   3064:                  emit_line_note (yyvsp[-3].filename, yyvsp[-2].lineno);
                   3065:                  c_expand_return (NULL_TREE); ;
                   3066:     break;}
                   3067: case 288:
1.1.1.2   root     3068: #line 1461 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3074: #line 1465 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3081: #line 1471 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3090: #line 1479 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3099: #line 1488 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3108: #line 1495 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3121: #line 1506 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3127: #line 1510 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3136: #line 1524 "objc-parse.y"
1.1       root     3137: { if (pedantic)
                   3138:                    pedwarn ("ANSI C forbids use of `asm' keyword");
                   3139:                  emit_line_note (input_filename, lineno); ;
                   3140:     break;}
                   3141: case 299:
1.1.1.2   root     3142: #line 1528 "objc-parse.y"
1.1       root     3143: { if (pedantic)
                   3144:                    pedwarn ("ANSI C forbids use of `asm' keyword");
                   3145:                  emit_line_note (input_filename, lineno); ;
                   3146:     break;}
                   3147: case 300:
1.1.1.2   root     3148: #line 1535 "objc-parse.y"
1.1       root     3149: { yyval.ttype = NULL_TREE; ;
                   3150:     break;}
                   3151: case 302:
1.1.1.2   root     3152: #line 1542 "objc-parse.y"
1.1       root     3153: { yyval.ttype = NULL_TREE; ;
                   3154:     break;}
                   3155: case 305:
1.1.1.2   root     3156: #line 1549 "objc-parse.y"
1.1       root     3157: { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   3158:     break;}
                   3159: case 306:
1.1.1.2   root     3160: #line 1554 "objc-parse.y"
1.1       root     3161: { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   3162:     break;}
                   3163: case 307:
1.1.1.2   root     3164: #line 1559 "objc-parse.y"
1.1       root     3165: { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), NULL_TREE); ;
                   3166:     break;}
                   3167: case 308:
1.1.1.2   root     3168: #line 1561 "objc-parse.y"
1.1       root     3169: { yyval.ttype = tree_cons (NULL_TREE, combine_strings (yyvsp[0].ttype), yyvsp[-2].ttype); ;
                   3170:     break;}
                   3171: case 309:
1.1.1.2   root     3172: #line 1567 "objc-parse.y"
1.1       root     3173: { pushlevel (0);
                   3174:                  declare_parm_level (0); ;
                   3175:     break;}
                   3176: case 310:
1.1.1.2   root     3177: #line 1570 "objc-parse.y"
1.1       root     3178: { yyval.ttype = yyvsp[0].ttype;
                   3179:                  parmlist_tags_warning ();
                   3180:                  poplevel (0, 0, 0); ;
                   3181:     break;}
                   3182: case 311:
1.1.1.2   root     3183: #line 1578 "objc-parse.y"
1.1       root     3184: { pushlevel (0);
                   3185:                  declare_parm_level (1); ;
                   3186:     break;}
                   3187: case 312:
1.1.1.2   root     3188: #line 1581 "objc-parse.y"
1.1       root     3189: { yyval.ttype = yyvsp[0].ttype;
                   3190:                  parmlist_tags_warning ();
                   3191:                  poplevel (0, 0, 0); ;
                   3192:     break;}
                   3193: case 314:
1.1.1.2   root     3194: #line 1589 "objc-parse.y"
1.1       root     3195: { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
                   3196:     break;}
                   3197: case 315:
1.1.1.2   root     3198: #line 1591 "objc-parse.y"
1.1       root     3199: { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;
                   3200:     break;}
                   3201: case 317:
1.1.1.2   root     3202: #line 1597 "objc-parse.y"
1.1       root     3203: { yyval.ttype = tree_cons (NULL_TREE, NULL_TREE, NULL_TREE); ;
                   3204:     break;}
                   3205: case 318:
1.1.1.2   root     3206: #line 1603 "objc-parse.y"
1.1       root     3207: { yyval.ttype = get_parm_info (0); ;
                   3208:     break;}
                   3209: case 319:
1.1.1.2   root     3210: #line 1605 "objc-parse.y"
1.1       root     3211: { yyval.ttype = get_parm_info (1); ;
                   3212:     break;}
                   3213: case 320:
1.1.1.2   root     3214: #line 1607 "objc-parse.y"
1.1       root     3215: { yyval.ttype = get_parm_info (0); ;
                   3216:     break;}
                   3217: case 321:
1.1.1.2   root     3218: #line 1612 "objc-parse.y"
1.1       root     3219: { push_parm_decl (yyvsp[0].ttype); ;
                   3220:     break;}
                   3221: case 322:
1.1.1.2   root     3222: #line 1614 "objc-parse.y"
1.1       root     3223: { push_parm_decl (yyvsp[0].ttype); ;
                   3224:     break;}
                   3225: case 323:
1.1.1.2   root     3226: #line 1621 "objc-parse.y"
1.1       root     3227: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype)      ; ;
                   3228:     break;}
                   3229: case 324:
1.1.1.2   root     3230: #line 1623 "objc-parse.y"
1.1       root     3231: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype)      ; ;
                   3232:     break;}
                   3233: case 325:
1.1.1.2   root     3234: #line 1625 "objc-parse.y"
1.1       root     3235: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   3236:     break;}
                   3237: case 326:
1.1.1.2   root     3238: #line 1627 "objc-parse.y"
1.1       root     3239: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype)      ; ;
                   3240:     break;}
                   3241: case 327:
1.1.1.2   root     3242: #line 1629 "objc-parse.y"
1.1       root     3243: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   3244:     break;}
                   3245: case 328:
1.1.1.2   root     3246: #line 1635 "objc-parse.y"
1.1       root     3247: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
                   3248:     break;}
                   3249: case 329:
1.1.1.2   root     3250: #line 1637 "objc-parse.y"
1.1       root     3251: { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   3252:     break;}
                   3253: case 332:
1.1.1.2   root     3254: #line 1647 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3267: #line 1661 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3275: #line 1667 "objc-parse.y"
1.1       root     3276: {
                   3277:                   continue_class (objc_interface_context);
                   3278:                ;
                   3279:     break;}
                   3280: case 335:
1.1.1.2   root     3281: #line 1672 "objc-parse.y"
1.1       root     3282: {
                   3283:                  finish_class (objc_interface_context);
                   3284:                  objc_interface_context = NULL_TREE;
                   3285:                ;
                   3286:     break;}
                   3287: case 336:
1.1.1.2   root     3288: #line 1678 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3296: #line 1685 "objc-parse.y"
1.1       root     3297: {
                   3298:                  finish_class (objc_interface_context);
                   3299:                  objc_interface_context = NULL_TREE;
                   3300:                ;
                   3301:     break;}
                   3302: case 338:
1.1.1.2   root     3303: #line 1691 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3311: #line 1697 "objc-parse.y"
1.1       root     3312: {
                   3313:                   continue_class (objc_interface_context);
                   3314:                ;
                   3315:     break;}
                   3316: case 340:
1.1.1.2   root     3317: #line 1702 "objc-parse.y"
1.1       root     3318: {
                   3319:                  finish_class (objc_interface_context);
                   3320:                  objc_interface_context = NULL_TREE;
                   3321:                ;
                   3322:     break;}
                   3323: case 341:
1.1.1.2   root     3324: #line 1708 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3332: #line 1715 "objc-parse.y"
1.1       root     3333: {
                   3334:                  finish_class (objc_interface_context);
                   3335:                  objc_interface_context = NULL_TREE;
                   3336:                ;
                   3337:     break;}
                   3338: case 343:
1.1.1.2   root     3339: #line 1721 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3347: #line 1727 "objc-parse.y"
1.1       root     3348: {
                   3349:                   objc_ivar_chain
                   3350:                    = continue_class (objc_implementation_context);
                   3351:                ;
                   3352:     break;}
                   3353: case 345:
1.1.1.2   root     3354: #line 1733 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3363: #line 1741 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3371: #line 1747 "objc-parse.y"
1.1       root     3372: {
                   3373:                   objc_ivar_chain
                   3374:                    = continue_class (objc_implementation_context);
                   3375:                ;
                   3376:     break;}
                   3377: case 348:
1.1.1.2   root     3378: #line 1753 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3387: #line 1761 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3395: #line 1768 "objc-parse.y"
1.1       root     3396: {
                   3397:                  finish_class (objc_interface_context);
                   3398:                  objc_interface_context = NULL_TREE;
                   3399:                ;
                   3400:     break;}
                   3401: case 351:
1.1.1.2   root     3402: #line 1774 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3411: #line 1783 "objc-parse.y"
1.1       root     3412: { objc_public_flag = 1; ;
                   3413:     break;}
                   3414: case 355:
1.1.1.2   root     3415: #line 1789 "objc-parse.y"
1.1       root     3416: {
                   3417:                   yyval.ttype = NULL_TREE;
                   3418:                 ;
                   3419:     break;}
                   3420: case 357:
1.1.1.2   root     3421: #line 1794 "objc-parse.y"
1.1       root     3422: {
                   3423:                   if (pedantic)
                   3424:                    warning ("extra semicolon in struct or union specified");
                   3425:                 ;
                   3426:     break;}
                   3427: case 358:
1.1.1.2   root     3428: #line 1812 "objc-parse.y"
1.1       root     3429: {
                   3430:                   yyval.ttype = yyvsp[0].ttype;
                   3431:                  resume_momentary (yyvsp[-1].itype);
                   3432:                 ;
                   3433:     break;}
                   3434: case 359:
1.1.1.2   root     3435: #line 1817 "objc-parse.y"
1.1       root     3436: {
                   3437:                   yyval.ttype = yyvsp[0].ttype;
                   3438:                  resume_momentary (yyvsp[-1].itype);
                   3439:                 ;
                   3440:     break;}
                   3441: case 360:
1.1.1.2   root     3442: #line 1822 "objc-parse.y"
1.1       root     3443: { yyval.ttype = NULL_TREE; ;
                   3444:     break;}
                   3445: case 361:
1.1.1.2   root     3446: #line 1827 "objc-parse.y"
1.1       root     3447: { yyval.ttype = NULL_TREE; ;
                   3448:     break;}
                   3449: case 364:
1.1.1.2   root     3450: #line 1834 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3459: #line 1841 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3467: #line 1847 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3476: #line 1857 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3485: #line 1864 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3493: #line 1870 "objc-parse.y"
1.1       root     3494: {
                   3495:                  continue_method_def ();
                   3496:                ;
                   3497:     break;}
                   3498: case 370:
1.1.1.2   root     3499: #line 1874 "objc-parse.y"
1.1       root     3500: {
                   3501:                  finish_method_def ();
                   3502:                  objc_method_context = NULL_TREE;
                   3503:                ;
                   3504:     break;}
                   3505: case 371:
1.1.1.2   root     3506: #line 1880 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3515: #line 1887 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3523: #line 1893 "objc-parse.y"
1.1       root     3524: {
                   3525:                  continue_method_def ();
                   3526:                ;
                   3527:     break;}
                   3528: case 374:
1.1.1.2   root     3529: #line 1897 "objc-parse.y"
1.1       root     3530: {
                   3531:                  finish_method_def ();
                   3532:                  objc_method_context = NULL_TREE;
                   3533:                ;
                   3534:     break;}
                   3535: case 376:
1.1.1.2   root     3536: #line 1909 "objc-parse.y"
1.1       root     3537: {yyval.ttype = NULL_TREE; ;
                   3538:     break;}
                   3539: case 381:
1.1.1.2   root     3540: #line 1916 "objc-parse.y"
1.1       root     3541: {yyval.ttype = NULL_TREE; ;
                   3542:     break;}
                   3543: case 385:
1.1.1.2   root     3544: #line 1926 "objc-parse.y"
1.1       root     3545: {
                   3546:                  objc_inherit_code = CLASS_METHOD_DECL;
                   3547:                ;
                   3548:     break;}
                   3549: case 386:
1.1.1.2   root     3550: #line 1930 "objc-parse.y"
1.1       root     3551: {
                   3552:                  add_class_method (objc_interface_context, yyvsp[0].ttype);
                   3553:                ;
                   3554:     break;}
                   3555: case 388:
1.1.1.2   root     3556: #line 1936 "objc-parse.y"
1.1       root     3557: {
                   3558:                  objc_inherit_code = INSTANCE_METHOD_DECL;
                   3559:                ;
                   3560:     break;}
                   3561: case 389:
1.1.1.2   root     3562: #line 1940 "objc-parse.y"
1.1       root     3563: {
                   3564:                  add_instance_method (objc_interface_context, yyvsp[0].ttype);
                   3565:                ;
                   3566:     break;}
                   3567: case 391:
1.1.1.2   root     3568: #line 1948 "objc-parse.y"
1.1       root     3569: {
                   3570:                  yyval.ttype = build_method_decl (objc_inherit_code, yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE);
                   3571:                ;
                   3572:     break;}
                   3573: case 392:
1.1.1.2   root     3574: #line 1953 "objc-parse.y"
1.1       root     3575: {
                   3576:                  yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[0].ttype, NULL_TREE);
                   3577:                ;
                   3578:     break;}
                   3579: case 393:
1.1.1.2   root     3580: #line 1958 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3586: #line 1963 "objc-parse.y"
1.1       root     3587: {
                   3588:                  yyval.ttype = build_method_decl (objc_inherit_code, NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype);
                   3589:                ;
                   3590:     break;}
                   3591: case 403:
1.1.1.2   root     3592: #line 1993 "objc-parse.y"
1.1       root     3593: { resume_momentary (yyvsp[-2].itype); ;
                   3594:     break;}
                   3595: case 404:
1.1.1.2   root     3596: #line 1995 "objc-parse.y"
1.1       root     3597: { shadow_tag (yyvsp[-1].ttype); ;
                   3598:     break;}
                   3599: case 405:
1.1.1.2   root     3600: #line 1997 "objc-parse.y"
1.1       root     3601: { warning ("empty declaration"); ;
                   3602:     break;}
                   3603: case 406:
1.1.1.2   root     3604: #line 2002 "objc-parse.y"
1.1       root     3605: { push_parm_decl (yyvsp[0].ttype); ;
                   3606:     break;}
                   3607: case 407:
1.1.1.2   root     3608: #line 2004 "objc-parse.y"
1.1       root     3609: { push_parm_decl (yyvsp[0].ttype); ;
                   3610:     break;}
                   3611: case 408:
1.1.1.2   root     3612: #line 2012 "objc-parse.y"
1.1       root     3613: { yyval.ttype = build_tree_list (current_declspecs, yyvsp[0].ttype)    ; ;
                   3614:     break;}
                   3615: case 409:
1.1.1.2   root     3616: #line 2014 "objc-parse.y"
1.1       root     3617: { yyval.ttype = build_tree_list (current_declspecs, yyvsp[0].ttype)    ; ;
                   3618:     break;}
                   3619: case 410:
1.1.1.2   root     3620: #line 2016 "objc-parse.y"
1.1       root     3621: { yyval.ttype = build_tree_list (current_declspecs, yyvsp[0].ttype)    ; ;
                   3622:     break;}
                   3623: case 411:
1.1.1.2   root     3624: #line 2021 "objc-parse.y"
1.1       root     3625: {
                   3626:                  yyval.ttype = NULL_TREE;
                   3627:                ;
                   3628:     break;}
                   3629: case 412:
1.1.1.2   root     3630: #line 2025 "objc-parse.y"
1.1       root     3631: {
                   3632:                  /* oh what a kludge! */
                   3633:                  yyval.ttype = (tree)1;
                   3634:                ;
                   3635:     break;}
                   3636: case 413:
1.1.1.2   root     3637: #line 2030 "objc-parse.y"
1.1       root     3638: {
                   3639:                  pushlevel (0);
                   3640:                ;
                   3641:     break;}
                   3642: case 414:
1.1.1.2   root     3643: #line 2034 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3651: #line 2049 "objc-parse.y"
1.1       root     3652: {
                   3653:                  yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
                   3654:                ;
                   3655:     break;}
                   3656: case 421:
1.1.1.2   root     3657: #line 2061 "objc-parse.y"
1.1       root     3658: { yyval.ttype = get_identifier (token_buffer); ;
                   3659:     break;}
                   3660: case 422:
1.1.1.2   root     3661: #line 2062 "objc-parse.y"
1.1       root     3662: { yyval.ttype = get_identifier (token_buffer); ;
                   3663:     break;}
                   3664: case 423:
1.1.1.2   root     3665: #line 2063 "objc-parse.y"
1.1       root     3666: { yyval.ttype = get_identifier (token_buffer); ;
                   3667:     break;}
                   3668: case 424:
1.1.1.2   root     3669: #line 2064 "objc-parse.y"
1.1       root     3670: { yyval.ttype = get_identifier (token_buffer); ;
                   3671:     break;}
                   3672: case 425:
1.1.1.2   root     3673: #line 2065 "objc-parse.y"
1.1       root     3674: { yyval.ttype = get_identifier (token_buffer); ;
                   3675:     break;}
                   3676: case 426:
1.1.1.2   root     3677: #line 2066 "objc-parse.y"
1.1       root     3678: { yyval.ttype = get_identifier (token_buffer); ;
                   3679:     break;}
                   3680: case 427:
1.1.1.2   root     3681: #line 2067 "objc-parse.y"
1.1       root     3682: { yyval.ttype = get_identifier (token_buffer); ;
                   3683:     break;}
                   3684: case 428:
1.1.1.2   root     3685: #line 2068 "objc-parse.y"
1.1       root     3686: { yyval.ttype = get_identifier (token_buffer); ;
                   3687:     break;}
                   3688: case 429:
1.1.1.2   root     3689: #line 2069 "objc-parse.y"
1.1       root     3690: { yyval.ttype = get_identifier (token_buffer); ;
                   3691:     break;}
                   3692: case 430:
1.1.1.2   root     3693: #line 2070 "objc-parse.y"
1.1       root     3694: { yyval.ttype = get_identifier (token_buffer); ;
                   3695:     break;}
                   3696: case 431:
1.1.1.2   root     3697: #line 2071 "objc-parse.y"
1.1       root     3698: { yyval.ttype = get_identifier (token_buffer); ;
                   3699:     break;}
                   3700: case 432:
1.1.1.2   root     3701: #line 2072 "objc-parse.y"
1.1       root     3702: { yyval.ttype = get_identifier (token_buffer); ;
                   3703:     break;}
                   3704: case 433:
1.1.1.2   root     3705: #line 2073 "objc-parse.y"
1.1       root     3706: { yyval.ttype = get_identifier (token_buffer); ;
                   3707:     break;}
                   3708: case 434:
1.1.1.2   root     3709: #line 2074 "objc-parse.y"
1.1       root     3710: { yyval.ttype = get_identifier (token_buffer); ;
                   3711:     break;}
                   3712: case 435:
1.1.1.2   root     3713: #line 2075 "objc-parse.y"
1.1       root     3714: { yyval.ttype = get_identifier (token_buffer); ;
                   3715:     break;}
                   3716: case 436:
1.1.1.2   root     3717: #line 2076 "objc-parse.y"
1.1       root     3718: { yyval.ttype = get_identifier (token_buffer); ;
                   3719:     break;}
                   3720: case 437:
1.1.1.2   root     3721: #line 2077 "objc-parse.y"
1.1       root     3722: { yyval.ttype = get_identifier (token_buffer); ;
                   3723:     break;}
                   3724: case 438:
1.1.1.2   root     3725: #line 2078 "objc-parse.y"
1.1       root     3726: { yyval.ttype = get_identifier (token_buffer); ;
                   3727:     break;}
                   3728: case 439:
1.1.1.2   root     3729: #line 2079 "objc-parse.y"
1.1       root     3730: { yyval.ttype = get_identifier (token_buffer); ;
                   3731:     break;}
                   3732: case 442:
1.1.1.2   root     3733: #line 2085 "objc-parse.y"
1.1       root     3734: {
                   3735:                  yyval.ttype = build_keyword_decl (yyvsp[-5].ttype, yyvsp[-2].ttype, yyvsp[0].ttype);
                   3736:                ;
                   3737:     break;}
                   3738: case 443:
1.1.1.2   root     3739: #line 2090 "objc-parse.y"
1.1       root     3740: {
                   3741:                  yyval.ttype = build_keyword_decl (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
                   3742:                ;
                   3743:     break;}
                   3744: case 444:
1.1.1.2   root     3745: #line 2095 "objc-parse.y"
1.1       root     3746: {
                   3747:                  yyval.ttype = build_keyword_decl (NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype);
                   3748:                ;
                   3749:     break;}
                   3750: case 445:
1.1.1.2   root     3751: #line 2100 "objc-parse.y"
1.1       root     3752: {
                   3753:                  yyval.ttype = build_keyword_decl (NULL_TREE, NULL_TREE, yyvsp[0].ttype);
                   3754:                ;
                   3755:     break;}
                   3756: case 449:
1.1.1.2   root     3757: #line 2113 "objc-parse.y"
1.1       root     3758: {
                   3759:                  yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
                   3760:                ;
                   3761:     break;}
                   3762: case 450:
1.1.1.2   root     3763: #line 2121 "objc-parse.y"
1.1       root     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:
1.1.1.2   root     3774: #line 2133 "objc-parse.y"
1.1       root     3775: {
                   3776:                  yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype);
                   3777:                ;
                   3778:     break;}
                   3779: case 452:
1.1.1.2   root     3780: #line 2137 "objc-parse.y"
1.1       root     3781: {
                   3782:                  yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype);
                   3783:                ;
                   3784:     break;}
                   3785: case 454:
1.1.1.2   root     3786: #line 2145 "objc-parse.y"
1.1       root     3787: {
                   3788:                  yyval.ttype = get_class_reference (yyvsp[0].ttype);
                   3789:                ;
                   3790:     break;}
                   3791: case 455:
1.1.1.2   root     3792: #line 2152 "objc-parse.y"
1.1       root     3793: { objc_receiver_context = 1; ;
                   3794:     break;}
                   3795: case 456:
1.1.1.2   root     3796: #line 2154 "objc-parse.y"
1.1       root     3797: { objc_receiver_context = 0; ;
                   3798:     break;}
                   3799: case 457:
1.1.1.2   root     3800: #line 2156 "objc-parse.y"
1.1       root     3801: {
                   3802:                  yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype);
                   3803:                ;
                   3804:     break;}
                   3805: case 461:
1.1.1.2   root     3806: #line 2169 "objc-parse.y"
1.1       root     3807: {
                   3808:                  yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype);
                   3809:                ;
                   3810:     break;}
                   3811: case 462:
1.1.1.2   root     3812: #line 2176 "objc-parse.y"
1.1       root     3813: {
                   3814:                  yyval.ttype = build_tree_list (yyvsp[-1].ttype, NULL_TREE);
                   3815:                ;
                   3816:     break;}
                   3817: case 463:
1.1.1.2   root     3818: #line 2180 "objc-parse.y"
1.1       root     3819: {
                   3820:                  yyval.ttype = build_tree_list (NULL_TREE, NULL_TREE);
                   3821:                ;
                   3822:     break;}
                   3823: case 464:
1.1.1.2   root     3824: #line 2187 "objc-parse.y"
1.1       root     3825: {
                   3826:                  yyval.ttype = yyvsp[-1].ttype;
                   3827:                ;
                   3828:     break;}
                   3829: case 465:
1.1.1.2   root     3830: #line 2196 "objc-parse.y"
1.1       root     3831: {
                   3832:                  yyval.ttype = groktypename (yyvsp[-1].ttype);
                   3833:                ;
                   3834:     break;}
                   3835: }
                   3836:    /* the action file gets copied in in place of this dollarsign */
1.1.1.3 ! root     3837: #line 440 "bison.simple"
1.1       root     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: }
1.1.1.2   root     4029: #line 2200 "objc-parse.y"
1.1       root     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.