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

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

unix.superglobalmegacorp.com

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