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

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

unix.superglobalmegacorp.com

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