[BACK]Return to simple.tab.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / k097

Annotation of OpenXM/src/k097/simple.tab.c, Revision 1.1.1.1

1.1       maekawa     1:
                      2: /*  A Bison parser, made from simple.y
                      3:  by  GNU Bison version 1.25
                      4:   */
                      5:
                      6: #define YYBISON 1  /* Identify Bison output.  */
                      7:
                      8: #define yyparse KCparse
                      9: #define yylex KClex
                     10: #define yyerror KCerror
                     11: #define yylval KClval
                     12: #define yychar KCchar
                     13: #define yydebug KCdebug
                     14: #define yynerrs KCnerrs
                     15: #define        ID      258
                     16: #define        QUOTE   259
                     17: #define        SINGLEQUOTE     260
                     18: #define        NUMBER  261
                     19: #define        CLASS   262
                     20: #define        SUPER   263
                     21: #define        OPERATOR        264
                     22: #define        FINAL   265
                     23: #define        EXTENDS 266
                     24: #define        INCETANCEVARIABLE       267
                     25: #define        THIS    268
                     26: #define        NEW     269
                     27: #define        SIZEOFTHISCLASS 270
                     28: #define        STARTOFTHISCLASS        271
                     29: #define        MODULE  272
                     30: #define        PRINT   273
                     31: #define        LOCAL   274
                     32: #define        DEF     275
                     33: #define        SM1     276
                     34: #define        LOAD    277
                     35: #define        TEST    278
                     36: #define        SPECIAL 279
                     37: #define        AUTO    280
                     38: #define        BREAK   281
                     39: #define        CASE    282
                     40: #define        CHAR    283
                     41: #define        CONST   284
                     42: #define        CONTINUE        285
                     43: #define        DEFAULT 286
                     44: #define        DO      287
                     45: #define        DOUBLE  288
                     46: #define        ELSE    289
                     47: #define        ENUM    290
                     48: #define        EXTERN  291
                     49: #define        FLOAT   292
                     50: #define        FOR     293
                     51: #define        GOTO    294
                     52: #define        IF      295
                     53: #define        INT     296
                     54: #define        LONG    297
                     55: #define        REGISTER        298
                     56: #define        RETURN  299
                     57: #define        SHORT   300
                     58: #define        SIGNED  301
                     59: #define        SIZEOF  302
                     60: #define        STATIC  303
                     61: #define        STRUCT  304
                     62: #define        SWITCH  305
                     63: #define        TYPEDEF 306
                     64: #define        UNION   307
                     65: #define        UNSIGNED        308
                     66: #define        VOLATILE        309
                     67: #define        VOID    310
                     68: #define        WHILE   311
                     69: #define        PSFOR   312
                     70: #define        PROMPT  313
                     71: #define        PUT     314
                     72: #define        MULTPUT 315
                     73: #define        NEGATEPUT       316
                     74: #define        RESIDUEPUT      317
                     75: #define        OR      318
                     76: #define        AND     319
                     77: #define        EQUAL   320
                     78: #define        NOTEQUAL        321
                     79: #define        LESSEQUAL       322
                     80: #define        GREATEREQUAL    323
                     81: #define        LEFTSHIFT       324
                     82: #define        RIGHTSHIFT      325
                     83: #define        UNARYMINUS      326
                     84: #define        INCREMENT       327
                     85: #define        DECREMENT       328
                     86: #define        MEMBER  329
                     87:
                     88: #line 4 "simple.y"
                     89:
                     90: #include <stdio.h>
                     91: #include "d.h"
                     92: #ifndef YYSTYPE
                     93: #define YYSTYPE int
                     94: #endif
                     95: #include <stdio.h>
                     96:
                     97: #ifndef __cplusplus
                     98: #ifndef __STDC__
                     99: #define const
                    100: #endif
                    101: #endif
                    102:
                    103:
                    104:
                    105: #define        YYFINAL         305
                    106: #define        YYFLAG          -32768
                    107: #define        YYNTBASE        98
                    108:
                    109: #define YYTRANSLATE(x) ((unsigned)(x) <= 329 ? yytranslate[x] : 159)
                    110:
                    111: static const char yytranslate[] = {     0,
                    112:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    113:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    114:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    115:      2,     2,    82,     2,     2,     2,    80,    67,     2,    96,
                    116:     97,    78,    76,    91,    77,    87,    79,     2,     2,     2,
                    117:      2,     2,     2,     2,     2,     2,     2,    90,    89,    70,
                    118:     59,    71,     2,     2,     2,     2,     2,     2,     2,     2,
                    119:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    120:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    121:     92,     2,    93,    86,     2,     2,     2,     2,     2,     2,
                    122:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    123:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    124:      2,     2,    94,    66,    95,    85,     2,     2,     2,     2,
                    125:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    126:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    127:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    128:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    129:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    130:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    131:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    132:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    133:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    134:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    135:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    136:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    137:      2,     2,     2,     2,     2,     1,     2,     3,     4,     5,
                    138:      6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
                    139:     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
                    140:     26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
                    141:     36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
                    142:     46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
                    143:     56,    57,    58,    60,    61,    62,    63,    64,    65,    68,
                    144:     69,    72,    73,    74,    75,    81,    83,    84,    88
                    145: };
                    146:
                    147: #if YYDEBUG != 0
                    148: static const short yyprhs[] = {     0,
                    149:      0,     2,     5,     7,     9,    11,    13,    15,    17,    20,
                    150:     23,    25,    27,    30,    33,    36,    38,    40,    42,    44,
                    151:     46,    49,    52,    55,    57,    61,    63,    66,    68,    70,
                    152:     72,    75,    79,    82,    86,    91,    93,    95,    98,   103,
                    153:    108,   113,   117,   120,   122,   124,   129,   133,   136,   137,
                    154:    152,   155,   158,   162,   165,   168,   173,   178,   183,   188,
                    155:    191,   194,   199,   200,   204,   206,   210,   212,   214,   216,
                    156:    218,   220,   222,   226,   228,   230,   232,   234,   236,   238,
                    157:    240,   242,   244,   247,   251,   254,   258,   260,   263,   267,
                    158:    272,   276,   281,   285,   289,   293,   297,   299,   303,   307,
                    159:    309,   311,   315,   316,   318,   322,   326,   328,   331,   333,
                    160:    337,   341,   345,   347,   349,   352,   355,   358,   362,   366,
                    161:    370,   374,   378,   382,   386,   390,   394,   398,   402,   406,
                    162:    410,   414,   418,   422,   426,   430,   434,   437,   440,   444,
                    163:    448,   452,   456,   460,   464,   468,   472,   474,   476,   481,
                    164:    486,   490,   493,   496,   501,   505,   511,   515,   519,   521,
                    165:    525,   527,   532
                    166: };
                    167:
                    168: static const short yyrhs[] = {    99,
                    169:      0,   100,    99,     0,   100,     0,   116,     0,   119,     0,
                    170:    122,     0,   111,     0,   135,     0,   147,    89,     0,   147,
                    171:     90,     0,    89,     0,   152,     0,     1,    89,     0,    58,
                    172:     89,     0,   102,   101,     0,   102,     0,   116,     0,   119,
                    173:      0,   122,     0,   111,     0,   147,    89,     0,   104,    89,
                    174:      0,   105,    89,     0,    89,     0,   147,    91,   103,     0,
                    175:    147,     0,    44,   147,     0,    44,     0,    26,     0,    92,
                    176:      0,   106,    93,     0,   106,   103,    93,     0,    94,    95,
                    177:      0,    94,   101,    95,     0,    40,    96,   147,    97,     0,
                    178:    102,     0,   108,     0,   109,   110,     0,   109,   110,    34,
                    179:    102,     0,   109,   110,    34,   108,     0,    38,    96,   147,
                    180:     89,     0,    38,    96,    89,     0,   147,    89,     0,    89,
                    181:      0,   147,     0,   112,   113,   114,    97,     0,   112,   113,
                    182:     97,     0,   115,   108,     0,     0,    57,    96,     3,    59,
                    183:    147,    89,   118,     3,    70,   147,    89,     3,    83,    97,
                    184:      0,   117,   108,     0,    56,    96,     0,   120,   147,    97,
                    185:      0,   120,    97,     0,   121,   108,     0,    18,    96,   147,
                    186:     97,     0,    21,    96,   126,    97,     0,    22,    96,     4,
                    187:     97,     0,    22,    96,     3,    97,     0,    22,     3,     0,
                    188:     22,     4,     0,    22,    92,     4,    93,     0,     0,   126,
                    189:     91,     4,     0,     4,     0,   126,    91,     3,     0,     3,
                    190:      0,     3,     0,     4,     0,     5,     0,     6,     0,    13,
                    191:      0,    96,   147,    97,     0,   129,     0,   107,     0,   123,
                    192:      0,   124,     0,   125,     0,   148,     0,   149,     0,   146,
                    193:      0,   141,     0,     3,    96,     0,   128,   103,    97,     0,
                    194:    128,    97,     0,   130,    91,     3,     0,     3,     0,    20,
                    195:      3,     0,    20,    55,     3,     0,    96,   130,    97,    94,
                    196:      0,    96,    97,    94,     0,   137,   140,   101,    95,     0,
                    197:    140,   101,    95,     0,   131,   133,   134,     0,   156,   133,
                    198:    134,     0,   132,   133,   134,     0,    19,     0,   136,   130,
                    199:     89,     0,   138,    91,     3,     0,     3,     0,    36,     0,
                    200:    139,   138,    89,     0,     0,   142,     0,   144,   143,    93,
                    201:      0,   147,    91,   143,     0,   147,     0,     3,    92,     0,
                    202:      3,     0,   145,    59,   147,     0,   142,    59,   147,     0,
                    203:     13,    59,   147,     0,   127,     0,   158,     0,    82,   147,
                    204:      0,    85,   147,     0,    77,   147,     0,   147,    76,   147,
                    205:      0,   147,    77,   147,     0,   147,    78,   147,     0,   147,
                    206:     79,   147,     0,   147,    80,   147,     0,   147,    86,   147,
                    207:      0,   147,    67,   147,     0,   147,    66,   147,     0,   147,
                    208:     68,   147,     0,   147,    70,   147,     0,   147,    71,   147,
                    209:      0,   147,    72,   147,     0,   147,    74,   147,     0,   147,
                    210:     73,   147,     0,   147,    75,   147,     0,   147,    65,   147,
                    211:      0,   147,    64,   147,     0,   147,    69,   147,     0,   147,
                    212:     60,   147,     0,   145,    83,     0,   145,    84,     0,   147,
                    213:     88,   147,     0,   147,    87,   150,     0,   147,    87,     3,
                    214:      0,   157,    87,   150,     0,     6,    87,     6,     0,   147,
                    215:     63,   147,     0,   147,    62,   147,     0,   147,    61,   147,
                    216:      0,    15,     0,    16,     0,    23,    96,   147,    97,     0,
                    217:     24,    96,   107,    97,     0,   151,   103,    97,     0,   151,
                    218:     97,     0,     3,    96,     0,   153,   154,    99,    95,     0,
                    219:    153,    99,    95,     0,     7,     3,    11,     3,    94,     0,
                    220:     19,   155,    89,     0,   155,    91,     3,     0,     3,     0,
                    221:     20,     9,     3,     0,     8,     0,    14,    96,   147,    97,
                    222:      0,    14,    96,    97,     0
                    223: };
                    224:
                    225: #endif
                    226:
                    227: #if YYDEBUG != 0
                    228: static const short yyrline[] = { 0,
                    229:     42,    46,    48,    52,    54,    55,    56,    57,    58,    59,
                    230:     60,    61,    62,    63,    67,    69,    73,    75,    76,    77,
                    231:     78,    79,    80,    81,    85,    86,    90,    92,    95,    98,
                    232:    102,   103,   107,   108,   112,   115,   116,   119,   121,   122,
                    233:    127,   128,   131,   132,   135,   139,   141,   145,   150,   154,
                    234:    163,   168,   172,   173,   177,   182,   185,   189,   191,   192,
                    235:    193,   194,   196,   197,   198,   199,   200,   204,   212,   213,
                    236:    214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
                    237:    224,   225,   229,   238,   241,   246,   247,   251,   260,   269,
                    238:    272,   278,   281,   286,   290,   294,   301,   305,   310,   312,
                    239:    316,   320,   322,   325,   328,   331,   333,   335,   348,   351,
                    240:    360,   361,   365,   366,   367,   368,   369,   370,   371,   372,
                    241:    373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
                    242:    383,   384,   385,   386,   387,   388,   389,   393,   397,   398,
                    243:    399,   400,   401,   406,   407,   408,   409,   416,   424,   435,
                    244:    443,   446,   451,   457,   463,   473,   491,   497,   501,   507,
                    245:    517,   521,   530
                    246: };
                    247: #endif
                    248:
                    249:
                    250: #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
                    251:
                    252: static const char * const yytname[] = {   "$","error","$undefined.","ID","QUOTE",
                    253: "SINGLEQUOTE","NUMBER","CLASS","SUPER","OPERATOR","FINAL","EXTENDS","INCETANCEVARIABLE",
                    254: "THIS","NEW","SIZEOFTHISCLASS","STARTOFTHISCLASS","MODULE","PRINT","LOCAL","DEF",
                    255: "SM1","LOAD","TEST","SPECIAL","AUTO","BREAK","CASE","CHAR","CONST","CONTINUE",
                    256: "DEFAULT","DO","DOUBLE","ELSE","ENUM","EXTERN","FLOAT","FOR","GOTO","IF","INT",
                    257: "LONG","REGISTER","RETURN","SHORT","SIGNED","SIZEOF","STATIC","STRUCT","SWITCH",
                    258: "TYPEDEF","UNION","UNSIGNED","VOLATILE","VOID","WHILE","PSFOR","PROMPT","'='",
                    259: "PUT","MULTPUT","NEGATEPUT","RESIDUEPUT","OR","AND","'|'","'&'","EQUAL","NOTEQUAL",
                    260: "'<'","'>'","LESSEQUAL","GREATEREQUAL","LEFTSHIFT","RIGHTSHIFT","'+'","'-'",
                    261: "'*'","'/'","'%'","UNARYMINUS","'!'","INCREMENT","DECREMENT","'~'","'^'","'.'",
                    262: "MEMBER","';'","':'","','","'['","']'","'{'","'}'","'('","')'","program","globalstatements",
                    263: "sentence","statements","localsentence","argList","return","break","list_prefix",
                    264: "list","curryBrace","if_prefix","if_body","if","for_prefix0","for_exit","for_inc",
                    265: "for_prefix","for","PSfor_prefix","@1","PSfor","while_prefix0","while_prefix",
                    266: "while","print","sm1","load","sm1ArgList","primitive","functionCall_prefix",
                    267: "functionCall","idList","functionHead","voidfunctionHead","functionArg","functionBody",
                    268: "functionDefinition","declaration_prefix","declaration","extern_idList","extern_declaration_prefix",
                    269: "extern_declaration","arrayValue","array","arrayIndex","array_prefix","id_set",
                    270: "set","exp","test","special","member_functionCall","member_functionCall_prefix",
                    271: "class_definition","class_definition_prefix","incetance_variables","incetance_variables_list",
                    272: "operatorfunctionHead","super","new", NULL
                    273: };
                    274: #endif
                    275:
                    276: static const short yyr1[] = {     0,
                    277:     98,    99,    99,   100,   100,   100,   100,   100,   100,   100,
                    278:    100,   100,   100,   100,   101,   101,   102,   102,   102,   102,
                    279:    102,   102,   102,   102,   103,   103,   104,   104,   105,   106,
                    280:    107,   107,   108,   108,   109,   110,   110,   111,   111,   111,
                    281:    112,   112,   113,   113,   114,   115,   115,   116,   118,   117,
                    282:    119,   120,   121,   121,   122,   123,   124,   125,   125,   125,
                    283:    125,   125,   126,   126,   126,   126,   126,   127,   127,   127,
                    284:    127,   127,   127,   127,   127,   127,   127,   127,   127,   127,
                    285:    127,   127,   128,   129,   129,   130,   130,   131,   132,   133,
                    286:    133,   134,   134,   135,   135,   135,   136,   137,   138,   138,
                    287:    139,   140,   140,   141,   142,   143,   143,   144,   145,   146,
                    288:    146,   146,   147,   147,   147,   147,   147,   147,   147,   147,
                    289:    147,   147,   147,   147,   147,   147,   147,   147,   147,   147,
                    290:    147,   147,   147,   147,   147,   147,   147,   147,   147,   147,
                    291:    147,   147,   147,   147,   147,   147,   147,   147,   148,   149,
                    292:    150,   150,   151,   152,   152,   153,   154,   155,   155,   156,
                    293:    157,   158,   158
                    294: };
                    295:
                    296: static const short yyr2[] = {     0,
                    297:      1,     2,     1,     1,     1,     1,     1,     1,     2,     2,
                    298:      1,     1,     2,     2,     2,     1,     1,     1,     1,     1,
                    299:      2,     2,     2,     1,     3,     1,     2,     1,     1,     1,
                    300:      2,     3,     2,     3,     4,     1,     1,     2,     4,     4,
                    301:      4,     3,     2,     1,     1,     4,     3,     2,     0,    14,
                    302:      2,     2,     3,     2,     2,     4,     4,     4,     4,     2,
                    303:      2,     4,     0,     3,     1,     3,     1,     1,     1,     1,
                    304:      1,     1,     3,     1,     1,     1,     1,     1,     1,     1,
                    305:      1,     1,     2,     3,     2,     3,     1,     2,     3,     4,
                    306:      3,     4,     3,     3,     3,     3,     1,     3,     3,     1,
                    307:      1,     3,     0,     1,     3,     3,     1,     2,     1,     3,
                    308:      3,     3,     1,     1,     2,     2,     2,     3,     3,     3,
                    309:      3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
                    310:      3,     3,     3,     3,     3,     3,     2,     2,     3,     3,
                    311:      3,     3,     3,     3,     3,     3,     1,     1,     4,     4,
                    312:      3,     2,     2,     4,     3,     5,     3,     3,     1,     3,
                    313:      1,     4,     3
                    314: };
                    315:
                    316: static const short yydefact[] = {     0,
                    317:      0,    68,    69,    70,    71,     0,   161,    72,     0,   147,
                    318:    148,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                    319:      0,     0,     0,     0,     0,    11,    30,     0,     1,     0,
                    320:      0,    75,     0,     7,     0,     0,     4,     0,     5,     0,
                    321:      0,     6,    76,    77,    78,   113,     0,    74,     0,     0,
                    322:      8,    82,   104,     0,     0,    81,     0,    79,    80,    12,
                    323:      0,     0,     0,   114,    13,   108,    83,     0,     0,     0,
                    324:      0,     0,    88,     0,     0,    63,    60,    61,     0,     0,
                    325:      0,     0,     0,     0,    52,     0,    14,   117,   115,   116,
                    326:      0,     2,    31,     0,    26,    29,    28,    24,     0,    36,
                    327:      0,     0,    37,    38,    20,    17,    18,    19,     0,    44,
                    328:      0,     0,    48,    51,    54,     0,    55,    85,     0,     0,
                    329:    103,   103,     0,     0,   107,     0,   137,   138,     0,     0,
                    330:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                    331:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                    332:      0,     0,     9,    10,     0,     0,     0,   103,     0,   143,
                    333:      0,   112,   163,     0,     0,   160,    89,    67,    65,     0,
                    334:      0,     0,     0,     0,     0,    42,     0,     0,     0,    73,
                    335:     32,     0,    27,    33,     0,    16,    22,    23,     0,    21,
                    336:     47,     0,    45,    43,    53,    84,    87,     0,     0,    97,
                    337:    101,    94,     0,   103,     0,     0,    96,   111,   105,     0,
                    338:    110,   136,   146,   145,   144,   134,   133,   125,   124,   126,
                    339:    135,   127,   128,   129,   131,   130,   132,   118,   119,   120,
                    340:    121,   122,   123,   141,   140,     0,   139,   159,     0,   155,
                    341:      0,    95,     0,   142,     0,   162,    56,     0,    57,    62,
                    342:     59,    58,   149,   150,    41,    35,     0,    25,    34,    15,
                    343:     39,    40,    46,    91,     0,     0,     0,     0,   100,     0,
                    344:      0,   106,   153,   152,     0,   157,     0,   154,   156,    66,
                    345:     64,     0,    86,    90,    98,     0,   102,     0,    93,   151,
                    346:    158,    49,    92,    99,     0,     0,     0,     0,     0,     0,
                    347:      0,    50,     0,     0,     0
                    348: };
                    349:
                    350: static const short yydefgoto[] = {   303,
                    351:     29,    30,   185,   186,    94,   101,   102,    31,    32,   103,
                    352:     33,   104,   105,    35,   111,   192,    36,   106,    38,   295,
                    353:    107,    40,    41,   108,    43,    44,    45,   170,    46,    47,
                    354:     48,   199,    49,    50,   121,   202,    51,   203,   204,   270,
                    355:    205,   206,    52,    53,   124,    54,    55,    56,   109,    58,
                    356:     59,   235,   236,    60,    61,   157,   239,    62,    63,    64
                    357: };
                    358:
                    359: static const short yypact[] = {   313,
                    360:    -70,   -41,-32768,-32768,   -58,    36,-32768,    -6,   -46,-32768,
                    361: -32768,    -8,    35,     7,     9,     8,    19,    23,    28,    29,
                    362:     31,   -20,   848,   848,   848,-32768,-32768,   848,-32768,   171,
                    363:    217,-32768,   569,-32768,   754,    60,-32768,    60,-32768,   370,
                    364:     60,-32768,-32768,-32768,-32768,-32768,   407,-32768,    32,    32,
                    365: -32768,-32768,    37,   848,   -38,-32768,  1139,-32768,-32768,-32768,
                    366:    267,    32,    13,-32768,-32768,-32768,-32768,    88,    91,   848,
                    367:    435,   848,-32768,   152,   153,    45,-32768,-32768,   154,    56,
                    368:    848,    73,   803,   848,-32768,   163,-32768,    34,     5,     5,
                    369:    840,-32768,-32768,    74,  1075,-32768,   848,-32768,   615,-32768,
                    370:     79,    80,-32768,   136,-32768,-32768,-32768,-32768,  1170,-32768,
                    371:    472,  1200,-32768,-32768,-32768,   885,-32768,-32768,    76,    -2,
                    372:      1,     1,   848,    87,  1107,   848,-32768,-32768,   848,   848,
                    373:    848,   848,   848,   848,   848,   848,   848,   848,   848,   848,
                    374:    848,   848,   848,   848,   848,   848,   848,   848,   848,   848,
                    375:    178,   848,-32768,-32768,   180,    93,   313,     1,   187,-32768,
                    376:    193,  1320,-32768,   923,   961,-32768,-32768,-32768,-32768,   -39,
                    377:    104,   101,   102,   999,   103,-32768,  1230,  1037,   142,-32768,
                    378: -32768,   848,  1320,-32768,   107,   709,-32768,-32768,   569,-32768,
                    379: -32768,   106,  1320,-32768,-32768,-32768,-32768,   110,   -35,-32768,
                    380: -32768,-32768,   203,   172,   204,   709,-32768,  1320,-32768,   848,
                    381:   1320,  1320,  1320,  1320,  1320,   608,  1343,  1365,  1386,  1405,
                    382:   1405,    -1,    -1,    -1,    -1,    30,    30,    34,    34,     5,
                    383:      5,     5,     5,   116,-32768,   520,-32768,-32768,   -74,-32768,
                    384:    118,-32768,   116,-32768,   120,-32768,-32768,    95,-32768,-32768,
                    385: -32768,-32768,-32768,-32768,-32768,-32768,   848,-32768,-32768,-32768,
                    386: -32768,-32768,-32768,-32768,   212,   122,   -23,   709,-32768,    -9,
                    387:    123,-32768,-32768,-32768,   127,-32768,   214,-32768,-32768,-32768,
                    388: -32768,  1260,-32768,-32768,-32768,   124,-32768,   223,-32768,-32768,
                    389: -32768,-32768,-32768,-32768,   231,   167,   848,  1290,   239,   160,
                    390:    147,-32768,   245,   246,-32768
                    391: };
                    392:
                    393: static const short yypgoto[] = {-32768,
                    394:     -4,-32768,  -179,   -25,   -31,-32768,-32768,-32768,   165,   -27,
                    395: -32768,-32768,     2,-32768,-32768,-32768,-32768,     3,-32768,-32768,
                    396:      4,-32768,-32768,     6,-32768,-32768,-32768,-32768,-32768,-32768,
                    397: -32768,    46,-32768,-32768,   -40,  -117,-32768,-32768,-32768,-32768,
                    398: -32768,    47,-32768,-32768,    40,-32768,-32768,-32768,     0,-32768,
                    399: -32768,    96,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768
                    400: };
                    401:
                    402:
                    403: #define        YYLAST          1493
                    404:
                    405:
                    406: static const short yytable[] = {    57,
                    407:    197,    34,    37,    39,   207,    42,   260,   100,   113,   122,
                    408:    114,    77,    78,   117,   276,   119,   277,  -109,    65,   200,
                    409:    126,   158,    88,    89,    90,    92,   271,    91,    68,    57,
                    410:     95,    34,    37,    39,   112,    42,   201,    73,    69,   116,
                    411:    242,  -109,  -109,    74,   127,   128,    95,   168,   169,    71,
                    412:     66,   248,    70,   125,    67,   265,   156,   249,   172,   173,
                    413:     57,   266,    34,    37,    39,   285,    42,   265,    87,   162,
                    414:    164,   165,   143,   144,   145,   146,   147,   148,   149,   287,
                    415:    174,   288,   177,   178,   150,   151,   152,    72,   286,    75,
                    416:    150,   151,   152,   160,   198,   123,   183,   280,   281,   159,
                    417:     79,   161,    76,    81,    80,   145,   146,   147,   148,   149,
                    418:    193,   147,   148,   149,    82,   150,   151,   152,    83,   150,
                    419:    151,   152,   208,    84,    85,   211,    86,   120,   212,   213,
                    420:    214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
                    421:    224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
                    422:    258,   237,   241,    99,   166,   167,    57,   171,    34,    37,
                    423:     39,   262,    42,   261,    27,   179,   181,   187,   188,   189,
                    424:     -3,     1,   196,     2,     3,     4,     5,     6,     7,   209,
                    425:    234,    95,   238,     8,     9,    10,    11,   240,    12,   243,
                    426:     13,    14,    15,    16,    17,   245,   250,   251,   252,   254,
                    427:    257,   259,   263,   264,   275,   197,   269,   201,    18,   125,
                    428:     19,   273,   278,   279,   283,   284,   291,   289,   293,     2,
                    429:      3,     4,     5,   290,     7,   294,    20,    21,    22,     8,
                    430:      9,    10,    11,   296,    12,    95,   297,    14,    15,    16,
                    431:     17,   300,   301,   302,   304,   305,   175,    23,   267,   272,
                    432:    268,     0,    24,     0,   244,    25,   282,     0,     0,    26,
                    433:      0,     0,    27,     0,     0,    -3,    28,     1,     0,     2,
                    434:      3,     4,     5,     6,     7,     0,     0,     0,     0,     8,
                    435:      9,    10,    11,     0,    12,   155,    13,    14,    15,    16,
                    436:     17,     0,     0,    23,     0,     0,   298,     0,    24,     0,
                    437:      0,    25,     0,     0,    18,     0,    19,     0,    27,    93,
                    438:      0,     0,    28,     1,     0,     2,     3,     4,     5,     6,
                    439:      7,     0,    20,    21,    22,     8,     9,    10,    11,     0,
                    440:     12,     0,    13,    14,    15,    16,    17,     0,     0,     0,
                    441:      0,     0,     0,    23,     0,     0,     0,     0,    24,     0,
                    442:     18,    25,    19,     0,     0,    26,     0,     0,    27,     0,
                    443:      0,     0,    28,     0,     0,     0,     0,     0,    20,    21,
                    444:     22,     0,     2,     3,     4,     5,     0,     7,     0,     0,
                    445:      0,     0,     8,     9,    10,    11,     0,    12,     0,    23,
                    446:     14,    15,    16,    17,    24,     0,     0,    25,     0,     0,
                    447:      0,    26,     0,     0,    27,     0,     0,     0,    28,     2,
                    448:      3,     4,     5,     0,     7,     0,     0,     0,     0,     8,
                    449:      9,    10,    11,     0,    12,     0,     0,    14,    15,    16,
                    450:     17,     0,     0,     0,     0,     0,     0,     2,     3,     4,
                    451:      5,     0,     7,     0,     0,     0,    23,     8,     9,    10,
                    452:     11,    24,    12,     0,    25,    14,    15,    16,    17,     0,
                    453:      0,    27,     0,     0,     0,    28,   115,     0,     0,     0,
                    454:      0,     0,     0,     0,     2,     3,     4,     5,     0,     7,
                    455:      0,     0,     0,    23,     8,     9,    10,    11,    24,    12,
                    456:      0,    25,    14,    15,    16,    17,     0,     0,    27,     0,
                    457:      0,     0,    28,   118,     0,     0,     0,     0,     0,     0,
                    458:      0,    23,     0,     0,     0,     0,    24,     0,     0,    25,
                    459:      0,     0,     2,     3,     4,     5,    27,     7,     0,     0,
                    460:     28,   163,     8,     9,    10,    11,     0,    12,     0,     0,
                    461:     14,    15,    16,    17,     0,     0,     0,     0,    23,     0,
                    462:      0,     0,     0,    24,     0,     0,    25,     0,     0,     0,
                    463:      0,     0,     0,    27,     0,     0,     0,    28,   191,     0,
                    464:      0,     2,     3,     4,     5,     0,     7,     0,     0,     0,
                    465:      0,     8,     9,    10,    11,     0,    12,     0,     0,    14,
                    466:     15,    16,    17,     0,    96,     0,    23,     0,     0,     0,
                    467:      0,    24,     0,     0,    25,     0,    18,     0,    19,     0,
                    468:      0,    27,    97,     0,     0,    28,   274,     2,     3,     4,
                    469:      5,     0,     7,     0,    20,    21,     0,     8,     9,    10,
                    470:     11,     0,    12,     0,     0,    14,    15,    16,    17,     0,
                    471:     96,     0,     0,     0,     0,    23,     0,     0,     0,     0,
                    472:     24,     0,    18,    25,    19,     0,     0,    98,    97,     0,
                    473:     27,     0,    99,     0,    28,     0,     0,     0,     0,     0,
                    474:     20,    21,   134,   135,   136,   137,   138,   139,   140,   141,
                    475:    142,   143,   144,   145,   146,   147,   148,   149,     0,     0,
                    476:      0,    23,     0,   150,   151,   152,    24,     0,     0,    25,
                    477:      0,     0,     0,    98,     0,     0,    27,     0,     0,   184,
                    478:     28,     2,     3,     4,     5,     0,     7,     0,     0,     0,
                    479:      0,     8,     9,    10,    11,     0,    12,     0,     0,    14,
                    480:     15,    16,    17,     0,    96,     0,     0,     0,     0,     0,
                    481:      0,     0,     0,     0,     0,     0,    18,     0,    19,     0,
                    482:      0,     0,    97,     0,     0,     0,     2,     3,     4,     5,
                    483:      0,     7,     0,     0,    20,    21,     8,     9,    10,    11,
                    484:      0,    12,     0,     0,    14,    15,    16,    17,     0,     0,
                    485:      0,     0,     0,     0,     0,    23,     0,     0,     0,     0,
                    486:     24,     0,     0,    25,     0,     0,     0,    98,     0,     0,
                    487:     27,     0,     0,     0,    28,     2,     3,     4,     5,     0,
                    488:      7,     0,     0,     0,     0,     8,     9,    10,    11,     0,
                    489:     12,     0,     0,    14,    15,    16,    17,     0,     0,     0,
                    490:     23,     0,     0,     0,     0,    24,     0,     0,    25,     0,
                    491:      0,     0,   110,     0,     0,    27,     0,     0,     0,    28,
                    492:      2,     3,     4,     5,     0,     7,     0,     0,     0,     0,
                    493:      8,     9,    10,    11,     0,    12,     0,     0,    14,    15,
                    494:     16,    17,     0,     0,     0,     0,     0,     0,     0,    23,
                    495:      0,     0,     0,     0,    24,     0,     0,    25,     0,     0,
                    496:      0,   176,     0,     0,    27,     0,     0,     0,    28,   129,
                    497:    130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
                    498:    140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
                    499:      0,     0,     0,     0,    23,   150,   151,   152,     0,    24,
                    500:      0,     0,    25,     0,     0,     0,   180,     0,     0,    27,
                    501:      0,     0,     0,    28,   129,   130,   131,   132,   133,   134,
                    502:    135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
                    503:    145,   146,   147,   148,   149,     0,     0,     0,     0,     0,
                    504:    150,   151,   152,     0,     0,     0,     0,     0,     0,     0,
                    505:      0,   195,   129,   130,   131,   132,   133,   134,   135,   136,
                    506:    137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
                    507:    147,   148,   149,     0,     0,     0,     0,     0,   150,   151,
                    508:    152,     0,     0,     0,     0,     0,     0,     0,     0,   246,
                    509:    129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
                    510:    139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
                    511:    149,     0,     0,     0,     0,     0,   150,   151,   152,     0,
                    512:      0,     0,     0,     0,     0,     0,     0,   247,   129,   130,
                    513:    131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
                    514:    141,   142,   143,   144,   145,   146,   147,   148,   149,     0,
                    515:      0,     0,     0,     0,   150,   151,   152,     0,     0,     0,
                    516:      0,     0,     0,     0,     0,   253,   129,   130,   131,   132,
                    517:    133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
                    518:    143,   144,   145,   146,   147,   148,   149,     0,     0,     0,
                    519:      0,     0,   150,   151,   152,     0,     0,     0,     0,     0,
                    520:      0,     0,     0,   256,   129,   130,   131,   132,   133,   134,
                    521:    135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
                    522:    145,   146,   147,   148,   149,     0,     0,     0,     0,     0,
                    523:    150,   151,   152,     0,     0,   182,   129,   130,   131,   132,
                    524:    133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
                    525:    143,   144,   145,   146,   147,   148,   149,     0,     0,     0,
                    526:      0,     0,   150,   151,   152,     0,     0,   210,   129,   130,
                    527:    131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
                    528:    141,   142,   143,   144,   145,   146,   147,   148,   149,     0,
                    529:      0,     0,     0,     0,   150,   151,   152,   153,   154,   129,
                    530:    130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
                    531:    140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
                    532:      0,     0,     0,     0,     0,   150,   151,   152,   190,   129,
                    533:    130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
                    534:    140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
                    535:      0,     0,     0,     0,     0,   150,   151,   152,   194,   129,
                    536:    130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
                    537:    140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
                    538:      0,     0,     0,     0,     0,   150,   151,   152,   255,   129,
                    539:    130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
                    540:    140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
                    541:      0,     0,     0,     0,     0,   150,   151,   152,   292,   129,
                    542:    130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
                    543:    140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
                    544:      0,     0,     0,     0,     0,   150,   151,   152,   299,   129,
                    545:    130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
                    546:    140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
                    547:      0,     0,     0,     0,     0,   150,   151,   152,   135,   136,
                    548:    137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
                    549:    147,   148,   149,     0,     0,     0,     0,     0,   150,   151,
                    550:    152,   136,   137,   138,   139,   140,   141,   142,   143,   144,
                    551:    145,   146,   147,   148,   149,     0,     0,     0,     0,     0,
                    552:    150,   151,   152,   137,   138,   139,   140,   141,   142,   143,
                    553:    144,   145,   146,   147,   148,   149,     0,     0,     0,     0,
                    554:      0,   150,   151,   152,   139,   140,   141,   142,   143,   144,
                    555:    145,   146,   147,   148,   149,     0,     0,     0,     0,     0,
                    556:    150,   151,   152
                    557: };
                    558:
                    559: static const short yycheck[] = {     0,
                    560:      3,     0,     0,     0,   122,     0,   186,    33,    36,    50,
                    561:     38,     3,     4,    41,    89,    47,    91,    59,    89,    19,
                    562:     59,    62,    23,    24,    25,    30,   206,    28,    87,    30,
                    563:     31,    30,    30,    30,    35,    30,    36,     3,     3,    40,
                    564:    158,    83,    84,     9,    83,    84,    47,     3,     4,    96,
                    565:     92,    91,    59,    54,    96,    91,    61,    97,     3,     4,
                    566:     61,    97,    61,    61,    61,    89,    61,    91,    89,    70,
                    567:     71,    72,    74,    75,    76,    77,    78,    79,    80,    89,
                    568:     81,    91,    83,    84,    86,    87,    88,    96,   268,    55,
                    569:     86,    87,    88,     6,    97,    59,    97,     3,     4,    87,
                    570:     92,    11,    96,    96,    96,    76,    77,    78,    79,    80,
                    571:    111,    78,    79,    80,    96,    86,    87,    88,    96,    86,
                    572:     87,    88,   123,    96,    96,   126,    96,    96,   129,   130,
                    573:    131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
                    574:    141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
                    575:    182,   152,   157,    94,     3,     3,   157,     4,   157,   157,
                    576:    157,   189,   157,   189,    92,     3,    93,    89,    89,    34,
                    577:      0,     1,    97,     3,     4,     5,     6,     7,     8,    93,
                    578:      3,   182,     3,    13,    14,    15,    16,    95,    18,     3,
                    579:     20,    21,    22,    23,    24,     3,    93,    97,    97,    97,
                    580:     59,    95,    97,    94,   236,     3,     3,    36,    38,   210,
                    581:     40,    96,    95,    94,     3,    94,     3,    95,    95,     3,
                    582:      4,     5,     6,    97,     8,     3,    56,    57,    58,    13,
                    583:     14,    15,    16,     3,    18,   236,    70,    21,    22,    23,
                    584:     24,     3,    83,    97,     0,     0,    82,    77,   203,   210,
                    585:    204,    -1,    82,    -1,   159,    85,   257,    -1,    -1,    89,
                    586:     -1,    -1,    92,    -1,    -1,    95,    96,     1,    -1,     3,
                    587:      4,     5,     6,     7,     8,    -1,    -1,    -1,    -1,    13,
                    588:     14,    15,    16,    -1,    18,    19,    20,    21,    22,    23,
                    589:     24,    -1,    -1,    77,    -1,    -1,   297,    -1,    82,    -1,
                    590:     -1,    85,    -1,    -1,    38,    -1,    40,    -1,    92,    93,
                    591:     -1,    -1,    96,     1,    -1,     3,     4,     5,     6,     7,
                    592:      8,    -1,    56,    57,    58,    13,    14,    15,    16,    -1,
                    593:     18,    -1,    20,    21,    22,    23,    24,    -1,    -1,    -1,
                    594:     -1,    -1,    -1,    77,    -1,    -1,    -1,    -1,    82,    -1,
                    595:     38,    85,    40,    -1,    -1,    89,    -1,    -1,    92,    -1,
                    596:     -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,    56,    57,
                    597:     58,    -1,     3,     4,     5,     6,    -1,     8,    -1,    -1,
                    598:     -1,    -1,    13,    14,    15,    16,    -1,    18,    -1,    77,
                    599:     21,    22,    23,    24,    82,    -1,    -1,    85,    -1,    -1,
                    600:     -1,    89,    -1,    -1,    92,    -1,    -1,    -1,    96,     3,
                    601:      4,     5,     6,    -1,     8,    -1,    -1,    -1,    -1,    13,
                    602:     14,    15,    16,    -1,    18,    -1,    -1,    21,    22,    23,
                    603:     24,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,     5,
                    604:      6,    -1,     8,    -1,    -1,    -1,    77,    13,    14,    15,
                    605:     16,    82,    18,    -1,    85,    21,    22,    23,    24,    -1,
                    606:     -1,    92,    -1,    -1,    -1,    96,    97,    -1,    -1,    -1,
                    607:     -1,    -1,    -1,    -1,     3,     4,     5,     6,    -1,     8,
                    608:     -1,    -1,    -1,    77,    13,    14,    15,    16,    82,    18,
                    609:     -1,    85,    21,    22,    23,    24,    -1,    -1,    92,    -1,
                    610:     -1,    -1,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
                    611:     -1,    77,    -1,    -1,    -1,    -1,    82,    -1,    -1,    85,
                    612:     -1,    -1,     3,     4,     5,     6,    92,     8,    -1,    -1,
                    613:     96,    97,    13,    14,    15,    16,    -1,    18,    -1,    -1,
                    614:     21,    22,    23,    24,    -1,    -1,    -1,    -1,    77,    -1,
                    615:     -1,    -1,    -1,    82,    -1,    -1,    85,    -1,    -1,    -1,
                    616:     -1,    -1,    -1,    92,    -1,    -1,    -1,    96,    97,    -1,
                    617:     -1,     3,     4,     5,     6,    -1,     8,    -1,    -1,    -1,
                    618:     -1,    13,    14,    15,    16,    -1,    18,    -1,    -1,    21,
                    619:     22,    23,    24,    -1,    26,    -1,    77,    -1,    -1,    -1,
                    620:     -1,    82,    -1,    -1,    85,    -1,    38,    -1,    40,    -1,
                    621:     -1,    92,    44,    -1,    -1,    96,    97,     3,     4,     5,
                    622:      6,    -1,     8,    -1,    56,    57,    -1,    13,    14,    15,
                    623:     16,    -1,    18,    -1,    -1,    21,    22,    23,    24,    -1,
                    624:     26,    -1,    -1,    -1,    -1,    77,    -1,    -1,    -1,    -1,
                    625:     82,    -1,    38,    85,    40,    -1,    -1,    89,    44,    -1,
                    626:     92,    -1,    94,    -1,    96,    -1,    -1,    -1,    -1,    -1,
                    627:     56,    57,    65,    66,    67,    68,    69,    70,    71,    72,
                    628:     73,    74,    75,    76,    77,    78,    79,    80,    -1,    -1,
                    629:     -1,    77,    -1,    86,    87,    88,    82,    -1,    -1,    85,
                    630:     -1,    -1,    -1,    89,    -1,    -1,    92,    -1,    -1,    95,
                    631:     96,     3,     4,     5,     6,    -1,     8,    -1,    -1,    -1,
                    632:     -1,    13,    14,    15,    16,    -1,    18,    -1,    -1,    21,
                    633:     22,    23,    24,    -1,    26,    -1,    -1,    -1,    -1,    -1,
                    634:     -1,    -1,    -1,    -1,    -1,    -1,    38,    -1,    40,    -1,
                    635:     -1,    -1,    44,    -1,    -1,    -1,     3,     4,     5,     6,
                    636:     -1,     8,    -1,    -1,    56,    57,    13,    14,    15,    16,
                    637:     -1,    18,    -1,    -1,    21,    22,    23,    24,    -1,    -1,
                    638:     -1,    -1,    -1,    -1,    -1,    77,    -1,    -1,    -1,    -1,
                    639:     82,    -1,    -1,    85,    -1,    -1,    -1,    89,    -1,    -1,
                    640:     92,    -1,    -1,    -1,    96,     3,     4,     5,     6,    -1,
                    641:      8,    -1,    -1,    -1,    -1,    13,    14,    15,    16,    -1,
                    642:     18,    -1,    -1,    21,    22,    23,    24,    -1,    -1,    -1,
                    643:     77,    -1,    -1,    -1,    -1,    82,    -1,    -1,    85,    -1,
                    644:     -1,    -1,    89,    -1,    -1,    92,    -1,    -1,    -1,    96,
                    645:      3,     4,     5,     6,    -1,     8,    -1,    -1,    -1,    -1,
                    646:     13,    14,    15,    16,    -1,    18,    -1,    -1,    21,    22,
                    647:     23,    24,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    77,
                    648:     -1,    -1,    -1,    -1,    82,    -1,    -1,    85,    -1,    -1,
                    649:     -1,    89,    -1,    -1,    92,    -1,    -1,    -1,    96,    60,
                    650:     61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
                    651:     71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
                    652:     -1,    -1,    -1,    -1,    77,    86,    87,    88,    -1,    82,
                    653:     -1,    -1,    85,    -1,    -1,    -1,    97,    -1,    -1,    92,
                    654:     -1,    -1,    -1,    96,    60,    61,    62,    63,    64,    65,
                    655:     66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
                    656:     76,    77,    78,    79,    80,    -1,    -1,    -1,    -1,    -1,
                    657:     86,    87,    88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                    658:     -1,    97,    60,    61,    62,    63,    64,    65,    66,    67,
                    659:     68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
                    660:     78,    79,    80,    -1,    -1,    -1,    -1,    -1,    86,    87,
                    661:     88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    97,
                    662:     60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
                    663:     70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
                    664:     80,    -1,    -1,    -1,    -1,    -1,    86,    87,    88,    -1,
                    665:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    97,    60,    61,
                    666:     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
                    667:     72,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
                    668:     -1,    -1,    -1,    -1,    86,    87,    88,    -1,    -1,    -1,
                    669:     -1,    -1,    -1,    -1,    -1,    97,    60,    61,    62,    63,
                    670:     64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
                    671:     74,    75,    76,    77,    78,    79,    80,    -1,    -1,    -1,
                    672:     -1,    -1,    86,    87,    88,    -1,    -1,    -1,    -1,    -1,
                    673:     -1,    -1,    -1,    97,    60,    61,    62,    63,    64,    65,
                    674:     66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
                    675:     76,    77,    78,    79,    80,    -1,    -1,    -1,    -1,    -1,
                    676:     86,    87,    88,    -1,    -1,    91,    60,    61,    62,    63,
                    677:     64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
                    678:     74,    75,    76,    77,    78,    79,    80,    -1,    -1,    -1,
                    679:     -1,    -1,    86,    87,    88,    -1,    -1,    91,    60,    61,
                    680:     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
                    681:     72,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
                    682:     -1,    -1,    -1,    -1,    86,    87,    88,    89,    90,    60,
                    683:     61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
                    684:     71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
                    685:     -1,    -1,    -1,    -1,    -1,    86,    87,    88,    89,    60,
                    686:     61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
                    687:     71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
                    688:     -1,    -1,    -1,    -1,    -1,    86,    87,    88,    89,    60,
                    689:     61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
                    690:     71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
                    691:     -1,    -1,    -1,    -1,    -1,    86,    87,    88,    89,    60,
                    692:     61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
                    693:     71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
                    694:     -1,    -1,    -1,    -1,    -1,    86,    87,    88,    89,    60,
                    695:     61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
                    696:     71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
                    697:     -1,    -1,    -1,    -1,    -1,    86,    87,    88,    89,    60,
                    698:     61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
                    699:     71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
                    700:     -1,    -1,    -1,    -1,    -1,    86,    87,    88,    66,    67,
                    701:     68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
                    702:     78,    79,    80,    -1,    -1,    -1,    -1,    -1,    86,    87,
                    703:     88,    67,    68,    69,    70,    71,    72,    73,    74,    75,
                    704:     76,    77,    78,    79,    80,    -1,    -1,    -1,    -1,    -1,
                    705:     86,    87,    88,    68,    69,    70,    71,    72,    73,    74,
                    706:     75,    76,    77,    78,    79,    80,    -1,    -1,    -1,    -1,
                    707:     -1,    86,    87,    88,    70,    71,    72,    73,    74,    75,
                    708:     76,    77,    78,    79,    80,    -1,    -1,    -1,    -1,    -1,
                    709:     86,    87,    88
                    710: };
                    711: /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
                    712: #line 3 "/usr/lib/bison.simple"
                    713:
                    714: /* Skeleton output parser for bison,
                    715:    Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
                    716:
                    717:    This program is free software; you can redistribute it and/or modify
                    718:    it under the terms of the GNU General Public License as published by
                    719:    the Free Software Foundation; either version 2, or (at your option)
                    720:    any later version.
                    721:
                    722:    This program is distributed in the hope that it will be useful,
                    723:    but WITHOUT ANY WARRANTY; without even the implied warranty of
                    724:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                    725:    GNU General Public License for more details.
                    726:
                    727:    You should have received a copy of the GNU General Public License
                    728:    along with this program; if not, write to the Free Software
                    729:    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
                    730:
                    731: /* As a special exception, when this file is copied by Bison into a
                    732:    Bison output file, you may use that output file without restriction.
                    733:    This special exception was added by the Free Software Foundation
                    734:    in version 1.24 of Bison.  */
                    735:
                    736: #ifndef alloca
                    737: #ifdef __GNUC__
                    738: #define alloca __builtin_alloca
                    739: #else /* not GNU C.  */
                    740: #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
                    741: #include <alloca.h>
                    742: #else /* not sparc */
                    743: #if defined (MSDOS) && !defined (__TURBOC__)
                    744: #include <malloc.h>
                    745: #else /* not MSDOS, or __TURBOC__ */
                    746: #if defined(_AIX)
                    747: #include <malloc.h>
                    748:  #pragma alloca
                    749: #else /* not MSDOS, __TURBOC__, or _AIX */
                    750: #ifdef __hpux
                    751: #ifdef __cplusplus
                    752: extern "C" {
                    753: void *alloca (unsigned int);
                    754: };
                    755: #else /* not __cplusplus */
                    756: void *alloca ();
                    757: #endif /* not __cplusplus */
                    758: #endif /* __hpux */
                    759: #endif /* not _AIX */
                    760: #endif /* not MSDOS, or __TURBOC__ */
                    761: #endif /* not sparc.  */
                    762: #endif /* not GNU C.  */
                    763: #endif /* alloca not defined.  */
                    764:
                    765: /* This is the parser code that is written into each bison parser
                    766:   when the %semantic_parser declaration is not specified in the grammar.
                    767:   It was written by Richard Stallman by simplifying the hairy parser
                    768:   used when %semantic_parser is specified.  */
                    769:
                    770: /* Note: there must be only one dollar sign in this file.
                    771:    It is replaced by the list of actions, each action
                    772:    as one case of the switch.  */
                    773:
                    774: #define yyerrok                (yyerrstatus = 0)
                    775: #define yyclearin      (yychar = YYEMPTY)
                    776: #define YYEMPTY                -2
                    777: #define YYEOF          0
                    778: #define YYACCEPT       return(0)
                    779: #define YYABORT        return(1)
                    780: #define YYERROR                goto yyerrlab1
                    781: /* Like YYERROR except do call yyerror.
                    782:    This remains here temporarily to ease the
                    783:    transition to the new meaning of YYERROR, for GCC.
                    784:    Once GCC version 2 has supplanted version 1, this can go.  */
                    785: #define YYFAIL         goto yyerrlab
                    786: #define YYRECOVERING()  (!!yyerrstatus)
                    787: #define YYBACKUP(token, value) \
                    788: do                                                             \
                    789:   if (yychar == YYEMPTY && yylen == 1)                         \
                    790:     { yychar = (token), yylval = (value);                      \
                    791:       yychar1 = YYTRANSLATE (yychar);                          \
                    792:       YYPOPSTACK;                                              \
                    793:       goto yybackup;                                           \
                    794:     }                                                          \
                    795:   else                                                         \
                    796:     { yyerror ("syntax error: cannot back up"); YYERROR; }     \
                    797: while (0)
                    798:
                    799: #define YYTERROR       1
                    800: #define YYERRCODE      256
                    801:
                    802: #ifndef YYPURE
                    803: #define YYLEX          yylex()
                    804: #endif
                    805:
                    806: #ifdef YYPURE
                    807: #ifdef YYLSP_NEEDED
                    808: #ifdef YYLEX_PARAM
                    809: #define YYLEX          yylex(&yylval, &yylloc, YYLEX_PARAM)
                    810: #else
                    811: #define YYLEX          yylex(&yylval, &yylloc)
                    812: #endif
                    813: #else /* not YYLSP_NEEDED */
                    814: #ifdef YYLEX_PARAM
                    815: #define YYLEX          yylex(&yylval, YYLEX_PARAM)
                    816: #else
                    817: #define YYLEX          yylex(&yylval)
                    818: #endif
                    819: #endif /* not YYLSP_NEEDED */
                    820: #endif
                    821:
                    822: /* If nonreentrant, generate the variables here */
                    823:
                    824: #ifndef YYPURE
                    825:
                    826: int    yychar;                 /*  the lookahead symbol                */
                    827: YYSTYPE        yylval;                 /*  the semantic value of the           */
                    828:                                /*  lookahead symbol                    */
                    829:
                    830: #ifdef YYLSP_NEEDED
                    831: YYLTYPE yylloc;                        /*  location data for the lookahead     */
                    832:                                /*  symbol                              */
                    833: #endif
                    834:
                    835: int yynerrs;                   /*  number of parse errors so far       */
                    836: #endif  /* not YYPURE */
                    837:
                    838: #if YYDEBUG != 0
                    839: int yydebug;                   /*  nonzero means print parse trace     */
                    840: /* Since this is uninitialized, it does not stop multiple parsers
                    841:    from coexisting.  */
                    842: #endif
                    843:
                    844: /*  YYINITDEPTH indicates the initial size of the parser's stacks      */
                    845:
                    846: #ifndef        YYINITDEPTH
                    847: #define YYINITDEPTH 200
                    848: #endif
                    849:
                    850: /*  YYMAXDEPTH is the maximum size the stacks can grow to
                    851:     (effective only if the built-in stack extension method is used).  */
                    852:
                    853: #if YYMAXDEPTH == 0
                    854: #undef YYMAXDEPTH
                    855: #endif
                    856:
                    857: #ifndef YYMAXDEPTH
                    858: #define YYMAXDEPTH 10000
                    859: #endif
                    860:
                    861: /* Prevent warning if -Wstrict-prototypes.  */
                    862: #ifdef __GNUC__
                    863: int yyparse (void);
                    864: #endif
                    865: 
                    866: #if __GNUC__ > 1               /* GNU C and GNU C++ define this.  */
                    867: #define __yy_memcpy(TO,FROM,COUNT)     __builtin_memcpy(TO,FROM,COUNT)
                    868: #else                          /* not GNU C or C++ */
                    869: #ifndef __cplusplus
                    870:
                    871: /* This is the most reliable way to avoid incompatibilities
                    872:    in available built-in functions on various systems.  */
                    873: static void
                    874: __yy_memcpy (to, from, count)
                    875:      char *to;
                    876:      char *from;
                    877:      int count;
                    878: {
                    879:   register char *f = from;
                    880:   register char *t = to;
                    881:   register int i = count;
                    882:
                    883:   while (i-- > 0)
                    884:     *t++ = *f++;
                    885: }
                    886:
                    887: #else /* __cplusplus */
                    888:
                    889: /* This is the most reliable way to avoid incompatibilities
                    890:    in available built-in functions on various systems.  */
                    891: static void
                    892: __yy_memcpy (char *to, char *from, int count)
                    893: {
                    894:   register char *f = from;
                    895:   register char *t = to;
                    896:   register int i = count;
                    897:
                    898:   while (i-- > 0)
                    899:     *t++ = *f++;
                    900: }
                    901:
                    902: #endif
                    903: #endif
                    904: 
                    905: #line 196 "/usr/lib/bison.simple"
                    906:
                    907: /* The user can define YYPARSE_PARAM as the name of an argument to be passed
                    908:    into yyparse.  The argument should have type void *.
                    909:    It should actually point to an object.
                    910:    Grammar actions can access the variable by casting it
                    911:    to the proper pointer type.  */
                    912:
                    913: #ifdef YYPARSE_PARAM
                    914: #ifdef __cplusplus
                    915: #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
                    916: #define YYPARSE_PARAM_DECL
                    917: #else /* not __cplusplus */
                    918: #define YYPARSE_PARAM_ARG YYPARSE_PARAM
                    919: #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
                    920: #endif /* not __cplusplus */
                    921: #else /* not YYPARSE_PARAM */
                    922: #define YYPARSE_PARAM_ARG
                    923: #define YYPARSE_PARAM_DECL
                    924: #endif /* not YYPARSE_PARAM */
                    925:
                    926: int
                    927: yyparse(YYPARSE_PARAM_ARG)
                    928:      YYPARSE_PARAM_DECL
                    929: {
                    930:   register int yystate;
                    931:   register int yyn;
                    932:   register short *yyssp;
                    933:   register YYSTYPE *yyvsp;
                    934:   int yyerrstatus;     /*  number of tokens to shift before error messages enabled */
                    935:   int yychar1 = 0;             /*  lookahead token as an internal (translated) token number */
                    936:
                    937:   short        yyssa[YYINITDEPTH];     /*  the state stack                     */
                    938:   YYSTYPE yyvsa[YYINITDEPTH];  /*  the semantic value stack            */
                    939:
                    940:   short *yyss = yyssa;         /*  refer to the stacks thru separate pointers */
                    941:   YYSTYPE *yyvs = yyvsa;       /*  to allow yyoverflow to reallocate them elsewhere */
                    942:
                    943: #ifdef YYLSP_NEEDED
                    944:   YYLTYPE yylsa[YYINITDEPTH];  /*  the location stack                  */
                    945:   YYLTYPE *yyls = yylsa;
                    946:   YYLTYPE *yylsp;
                    947:
                    948: #define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
                    949: #else
                    950: #define YYPOPSTACK   (yyvsp--, yyssp--)
                    951: #endif
                    952:
                    953:   int yystacksize = YYINITDEPTH;
                    954:
                    955: #ifdef YYPURE
                    956:   int yychar;
                    957:   YYSTYPE yylval;
                    958:   int yynerrs;
                    959: #ifdef YYLSP_NEEDED
                    960:   YYLTYPE yylloc;
                    961: #endif
                    962: #endif
                    963:
                    964:   YYSTYPE yyval;               /*  the variable used to return         */
                    965:                                /*  semantic values from the action     */
                    966:                                /*  routines                            */
                    967:
                    968:   int yylen;
                    969:
                    970: #if YYDEBUG != 0
                    971:   if (yydebug)
                    972:     fprintf(stderr, "Starting parse\n");
                    973: #endif
                    974:
                    975:   yystate = 0;
                    976:   yyerrstatus = 0;
                    977:   yynerrs = 0;
                    978:   yychar = YYEMPTY;            /* Cause a token to be read.  */
                    979:
                    980:   /* Initialize stack pointers.
                    981:      Waste one element of value and location stack
                    982:      so that they stay on the same level as the state stack.
                    983:      The wasted elements are never initialized.  */
                    984:
                    985:   yyssp = yyss - 1;
                    986:   yyvsp = yyvs;
                    987: #ifdef YYLSP_NEEDED
                    988:   yylsp = yyls;
                    989: #endif
                    990:
                    991: /* Push a new state, which is found in  yystate  .  */
                    992: /* In all cases, when you get here, the value and location stacks
                    993:    have just been pushed. so pushing a state here evens the stacks.  */
                    994: yynewstate:
                    995:
                    996:   *++yyssp = yystate;
                    997:
                    998:   if (yyssp >= yyss + yystacksize - 1)
                    999:     {
                   1000:       /* Give user a chance to reallocate the stack */
                   1001:       /* Use copies of these so that the &'s don't force the real ones into memory. */
                   1002:       YYSTYPE *yyvs1 = yyvs;
                   1003:       short *yyss1 = yyss;
                   1004: #ifdef YYLSP_NEEDED
                   1005:       YYLTYPE *yyls1 = yyls;
                   1006: #endif
                   1007:
                   1008:       /* Get the current used size of the three stacks, in elements.  */
                   1009:       int size = yyssp - yyss + 1;
                   1010:
                   1011: #ifdef yyoverflow
                   1012:       /* Each stack pointer address is followed by the size of
                   1013:         the data in use in that stack, in bytes.  */
                   1014: #ifdef YYLSP_NEEDED
                   1015:       /* This used to be a conditional around just the two extra args,
                   1016:         but that might be undefined if yyoverflow is a macro.  */
                   1017:       yyoverflow("parser stack overflow",
                   1018:                 &yyss1, size * sizeof (*yyssp),
                   1019:                 &yyvs1, size * sizeof (*yyvsp),
                   1020:                 &yyls1, size * sizeof (*yylsp),
                   1021:                 &yystacksize);
                   1022: #else
                   1023:       yyoverflow("parser stack overflow",
                   1024:                 &yyss1, size * sizeof (*yyssp),
                   1025:                 &yyvs1, size * sizeof (*yyvsp),
                   1026:                 &yystacksize);
                   1027: #endif
                   1028:
                   1029:       yyss = yyss1; yyvs = yyvs1;
                   1030: #ifdef YYLSP_NEEDED
                   1031:       yyls = yyls1;
                   1032: #endif
                   1033: #else /* no yyoverflow */
                   1034:       /* Extend the stack our own way.  */
                   1035:       if (yystacksize >= YYMAXDEPTH)
                   1036:        {
                   1037:          yyerror("parser stack overflow");
                   1038:          return 2;
                   1039:        }
                   1040:       yystacksize *= 2;
                   1041:       if (yystacksize > YYMAXDEPTH)
                   1042:        yystacksize = YYMAXDEPTH;
                   1043:       yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
                   1044:       __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
                   1045:       yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
                   1046:       __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
                   1047: #ifdef YYLSP_NEEDED
                   1048:       yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
                   1049:       __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
                   1050: #endif
                   1051: #endif /* no yyoverflow */
                   1052:
                   1053:       yyssp = yyss + size - 1;
                   1054:       yyvsp = yyvs + size - 1;
                   1055: #ifdef YYLSP_NEEDED
                   1056:       yylsp = yyls + size - 1;
                   1057: #endif
                   1058:
                   1059: #if YYDEBUG != 0
                   1060:       if (yydebug)
                   1061:        fprintf(stderr, "Stack size increased to %d\n", yystacksize);
                   1062: #endif
                   1063:
                   1064:       if (yyssp >= yyss + yystacksize - 1)
                   1065:        YYABORT;
                   1066:     }
                   1067:
                   1068: #if YYDEBUG != 0
                   1069:   if (yydebug)
                   1070:     fprintf(stderr, "Entering state %d\n", yystate);
                   1071: #endif
                   1072:
                   1073:   goto yybackup;
                   1074:  yybackup:
                   1075:
                   1076: /* Do appropriate processing given the current state.  */
                   1077: /* Read a lookahead token if we need one and don't already have one.  */
                   1078: /* yyresume: */
                   1079:
                   1080:   /* First try to decide what to do without reference to lookahead token.  */
                   1081:
                   1082:   yyn = yypact[yystate];
                   1083:   if (yyn == YYFLAG)
                   1084:     goto yydefault;
                   1085:
                   1086:   /* Not known => get a lookahead token if don't already have one.  */
                   1087:
                   1088:   /* yychar is either YYEMPTY or YYEOF
                   1089:      or a valid token in external form.  */
                   1090:
                   1091:   if (yychar == YYEMPTY)
                   1092:     {
                   1093: #if YYDEBUG != 0
                   1094:       if (yydebug)
                   1095:        fprintf(stderr, "Reading a token: ");
                   1096: #endif
                   1097:       yychar = YYLEX;
                   1098:     }
                   1099:
                   1100:   /* Convert token to internal form (in yychar1) for indexing tables with */
                   1101:
                   1102:   if (yychar <= 0)             /* This means end of input. */
                   1103:     {
                   1104:       yychar1 = 0;
                   1105:       yychar = YYEOF;          /* Don't call YYLEX any more */
                   1106:
                   1107: #if YYDEBUG != 0
                   1108:       if (yydebug)
                   1109:        fprintf(stderr, "Now at end of input.\n");
                   1110: #endif
                   1111:     }
                   1112:   else
                   1113:     {
                   1114:       yychar1 = YYTRANSLATE(yychar);
                   1115:
                   1116: #if YYDEBUG != 0
                   1117:       if (yydebug)
                   1118:        {
                   1119:          fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
                   1120:          /* Give the individual parser a way to print the precise meaning
                   1121:             of a token, for further debugging info.  */
                   1122: #ifdef YYPRINT
                   1123:          YYPRINT (stderr, yychar, yylval);
                   1124: #endif
                   1125:          fprintf (stderr, ")\n");
                   1126:        }
                   1127: #endif
                   1128:     }
                   1129:
                   1130:   yyn += yychar1;
                   1131:   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
                   1132:     goto yydefault;
                   1133:
                   1134:   yyn = yytable[yyn];
                   1135:
                   1136:   /* yyn is what to do for this token type in this state.
                   1137:      Negative => reduce, -yyn is rule number.
                   1138:      Positive => shift, yyn is new state.
                   1139:        New state is final state => don't bother to shift,
                   1140:        just return success.
                   1141:      0, or most negative number => error.  */
                   1142:
                   1143:   if (yyn < 0)
                   1144:     {
                   1145:       if (yyn == YYFLAG)
                   1146:        goto yyerrlab;
                   1147:       yyn = -yyn;
                   1148:       goto yyreduce;
                   1149:     }
                   1150:   else if (yyn == 0)
                   1151:     goto yyerrlab;
                   1152:
                   1153:   if (yyn == YYFINAL)
                   1154:     YYACCEPT;
                   1155:
                   1156:   /* Shift the lookahead token.  */
                   1157:
                   1158: #if YYDEBUG != 0
                   1159:   if (yydebug)
                   1160:     fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
                   1161: #endif
                   1162:
                   1163:   /* Discard the token being shifted unless it is eof.  */
                   1164:   if (yychar != YYEOF)
                   1165:     yychar = YYEMPTY;
                   1166:
                   1167:   *++yyvsp = yylval;
                   1168: #ifdef YYLSP_NEEDED
                   1169:   *++yylsp = yylloc;
                   1170: #endif
                   1171:
                   1172:   /* count tokens shifted since error; after three, turn off error status.  */
                   1173:   if (yyerrstatus) yyerrstatus--;
                   1174:
                   1175:   yystate = yyn;
                   1176:   goto yynewstate;
                   1177:
                   1178: /* Do the default action for the current state.  */
                   1179: yydefault:
                   1180:
                   1181:   yyn = yydefact[yystate];
                   1182:   if (yyn == 0)
                   1183:     goto yyerrlab;
                   1184:
                   1185: /* Do a reduction.  yyn is the number of a rule to reduce with.  */
                   1186: yyreduce:
                   1187:   yylen = yyr2[yyn];
                   1188:   if (yylen > 0)
                   1189:     yyval = yyvsp[1-yylen]; /* implement default value of the action */
                   1190:
                   1191: #if YYDEBUG != 0
                   1192:   if (yydebug)
                   1193:     {
                   1194:       int i;
                   1195:
                   1196:       fprintf (stderr, "Reducing via rule %d (line %d), ",
                   1197:               yyn, yyrline[yyn]);
                   1198:
                   1199:       /* Print the symbols being reduced, and their result.  */
                   1200:       for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
                   1201:        fprintf (stderr, "%s ", yytname[yyrhs[i]]);
                   1202:       fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
                   1203:     }
                   1204: #endif
                   1205:
                   1206:
                   1207:   switch (yyn) {
                   1208:
                   1209: case 8:
                   1210: #line 57 "simple.y"
                   1211: {sendKan(0); ;
                   1212:     break;}
                   1213: case 9:
                   1214: #line 58 "simple.y"
                   1215: {sendKan(0); ;
                   1216:     break;}
                   1217: case 10:
                   1218: #line 59 "simple.y"
                   1219: {pkkan(" [ ] {showln} sendmsg2 \n"); sendKan(0); ;
                   1220:     break;}
                   1221: case 11:
                   1222: #line 60 "simple.y"
                   1223: {sendKan(0); ;
                   1224:     break;}
                   1225: case 12:
                   1226: #line 61 "simple.y"
                   1227: {sendKan(0); ;
                   1228:     break;}
                   1229: case 14:
                   1230: #line 63 "simple.y"
                   1231: {sendKan(10); ;
                   1232:     break;}
                   1233: case 27:
                   1234: #line 91 "simple.y"
                   1235: { pkkan(" /FunctionValue set  {/ExitPoint goto} exec %%return\n");;
                   1236:     break;}
                   1237: case 28:
                   1238: #line 92 "simple.y"
                   1239: {pkkan("  {/ExitPoint goto} exec %%return void\n");;
                   1240:     break;}
                   1241: case 29:
                   1242: #line 95 "simple.y"
                   1243: { pkkan(" exit "); ;
                   1244:     break;}
                   1245: case 30:
                   1246: #line 99 "simple.y"
                   1247: { pkkan("[ "); ;
                   1248:     break;}
                   1249: case 31:
                   1250: #line 102 "simple.y"
                   1251: { pkkan("  ] "); ;
                   1252:     break;}
                   1253: case 32:
                   1254: #line 103 "simple.y"
                   1255: { pkkan("  ] "); ;
                   1256:     break;}
                   1257: case 35:
                   1258: #line 112 "simple.y"
                   1259: { pkkan(" %% if-condition\n  { %%ifbody\n"); ;
                   1260:     break;}
                   1261: case 36:
                   1262: #line 115 "simple.y"
                   1263: { pkkan("  }%%end if if body\n  { %%if- else part\n"); ;
                   1264:     break;}
                   1265: case 37:
                   1266: #line 116 "simple.y"
                   1267: { pkkan("  }%%end if if body\n  { %%if- else part\n"); ;
                   1268:     break;}
                   1269: case 38:
                   1270: #line 119 "simple.y"
                   1271: { pkkan("  } ifelse\n"); ;
                   1272:     break;}
                   1273: case 39:
                   1274: #line 121 "simple.y"
                   1275: { pkkan("  } ifelse\n"); ;
                   1276:     break;}
                   1277: case 40:
                   1278: #line 122 "simple.y"
                   1279: { pkkan("  } ifelse\n"); ;
                   1280:     break;}
                   1281: case 41:
                   1282: #line 127 "simple.y"
                   1283: { pkkan("%%for init.\n%%for\n{ "); ;
                   1284:     break;}
                   1285: case 42:
                   1286: #line 128 "simple.y"
                   1287: { pkkan("%%nothing for init.\n%%for\n{ "); ;
                   1288:     break;}
                   1289: case 43:
                   1290: #line 131 "simple.y"
                   1291: { pkkan(" {  } {exit} ifelse\n[ {%%increment\n"); ;
                   1292:     break;}
                   1293: case 44:
                   1294: #line 132 "simple.y"
                   1295: { pkkan("%%no exit rule.\n[ {%%increment\n"); ;
                   1296:     break;}
                   1297: case 45:
                   1298: #line 135 "simple.y"
                   1299: { pkkan("} %%end of increment{A}\n"); ;
                   1300:     break;}
                   1301: case 46:
                   1302: #line 140 "simple.y"
                   1303: {  pkkan("{%%start of B part{B}\n"); ;
                   1304:     break;}
                   1305: case 47:
                   1306: #line 142 "simple.y"
                   1307: {  pkkan("  } %% dummy A\n{%%start of B part{B}\n"); ;
                   1308:     break;}
                   1309: case 48:
                   1310: #line 146 "simple.y"
                   1311: { pkkan("} %% end of B part. {B}\n");
                   1312:                  pkkan(" 2 1 roll] {exec} map pop\n} loop %%end of for\n"); ;
                   1313:     break;}
                   1314: case 49:
                   1315: #line 151 "simple.y"
                   1316: { pkkan("%%PSfor initvalue.\n (integer) data_conversion \n");
                   1317:        ips(yyvsp[-3]);
                   1318:      ;
                   1319:     break;}
                   1320: case 50:
                   1321: #line 155 "simple.y"
                   1322: { ips(yyvsp[-7]); ips(yyvsp[-4]);
                   1323:        /* They must be equal id, but it is not checked. */
                   1324:        pkkan(" (1).. sub  (integer) data_conversion  1  2 -1 roll \n");
                   1325:        pkkan("{ %% for body\n (universalNumber) data_conversion ");
                   1326:        pkkan("/"); printObjectSymbol(yyvsp[-11]); pkkan("  set \n");
                   1327:      ;
                   1328:     break;}
                   1329: case 51:
                   1330: #line 164 "simple.y"
                   1331: { pkkan("  } for \n"); ;
                   1332:     break;}
                   1333: case 52:
                   1334: #line 168 "simple.y"
                   1335: { pkkan("\n%%while\n{ "); ;
                   1336:     break;}
                   1337: case 53:
                   1338: #line 172 "simple.y"
                   1339: { pkkan(" { } {exit} ifelse\n "); ;
                   1340:     break;}
                   1341: case 54:
                   1342: #line 173 "simple.y"
                   1343: { pkkan("%%no exit condition.\n "); ;
                   1344:     break;}
                   1345: case 55:
                   1346: #line 177 "simple.y"
                   1347: {   pkkan("} loop\n"); ;
                   1348:     break;}
                   1349: case 56:
                   1350: #line 182 "simple.y"
                   1351: { pkkan(" print\n");;
                   1352:     break;}
                   1353: case 58:
                   1354: #line 190 "simple.y"
                   1355: {   loadFile(yyvsp[-1]);  ;
                   1356:     break;}
                   1357: case 59:
                   1358: #line 191 "simple.y"
                   1359: {   loadFile(yyvsp[-1]);  ;
                   1360:     break;}
                   1361: case 60:
                   1362: #line 192 "simple.y"
                   1363: {   loadFile(yyvsp[0]);  ;
                   1364:     break;}
                   1365: case 61:
                   1366: #line 193 "simple.y"
                   1367: {   loadFile(yyvsp[0]);  ;
                   1368:     break;}
                   1369: case 62:
                   1370: #line 194 "simple.y"
                   1371: {   loadFileWithCpp(yyvsp[-1]); ;
                   1372:     break;}
                   1373: case 64:
                   1374: #line 197 "simple.y"
                   1375: { pkkan(" "); printObjectSymbol(yyvsp[0]); pkkan(" "); ;
                   1376:     break;}
                   1377: case 65:
                   1378: #line 198 "simple.y"
                   1379: { pkkan(" "); printObjectSymbol(yyvsp[0]); pkkan(" "); ;
                   1380:     break;}
                   1381: case 66:
                   1382: #line 199 "simple.y"
                   1383: { pkkan(" "); printObjectSymbol(yyvsp[0]); pkkan(" "); ;
                   1384:     break;}
                   1385: case 67:
                   1386: #line 200 "simple.y"
                   1387: { pkkan(" "); printObjectSymbol(yyvsp[0]); pkkan(" "); ;
                   1388:     break;}
                   1389: case 68:
                   1390: #line 205 "simple.y"
                   1391: { int tmp0;
                   1392:      if ((tmp0 = K00getIncetanceVariable(objectSymbolToString(yyvsp[0]))) != -1) {
                   1393:        pkkan(" this "); pkkanInteger(tmp0); pkkan(" get ");
                   1394:      } else {
                   1395:        printObjectSymbol(yyvsp[0]); pkkan(" ");
                   1396:      }
                   1397:    ;
                   1398:     break;}
                   1399: case 69:
                   1400: #line 212 "simple.y"
                   1401: { pkkan("("); printObjectSymbol(yyvsp[0]); pkkan(") "); ;
                   1402:     break;}
                   1403: case 71:
                   1404: #line 214 "simple.y"
                   1405: { pkkan("("); printObjectSymbol(yyvsp[0]); pkkan(").. ");;
                   1406:     break;}
                   1407: case 72:
                   1408: #line 215 "simple.y"
                   1409: { pkkan(" this "); ;
                   1410:     break;}
                   1411: case 83:
                   1412: #line 230 "simple.y"
                   1413: { pkkan("this [ %% function args \n"); yyval = yyvsp[-1] ;
                   1414:     break;}
                   1415: case 84:
                   1416: #line 240 "simple.y"
                   1417: {pkkan("] {");printObjectSymbol(yyvsp[-2]);pkkan("} sendmsg2 \n");;
                   1418:     break;}
                   1419: case 85:
                   1420: #line 242 "simple.y"
                   1421: {pkkan("] {");printObjectSymbol(yyvsp[-1]);pkkan("} sendmsg2 \n");;
                   1422:     break;}
                   1423: case 86:
                   1424: #line 246 "simple.y"
                   1425: { pkkan("/");printObjectSymbol(yyvsp[0]); pkkan(" "); ips(yyvsp[0]);;
                   1426:     break;}
                   1427: case 87:
                   1428: #line 247 "simple.y"
                   1429: { pkkan("/");printObjectSymbol(yyvsp[0]); pkkan(" "); ips(yyvsp[0]);;
                   1430:     break;}
                   1431: case 88:
                   1432: #line 252 "simple.y"
                   1433: { pkkan("/"); printObjectSymbol(yyvsp[0]); pkkan(" {\n"); ips(yyvsp[0]);
                   1434:           pkdebug("In function : ", objectSymbolToString(yyvsp[0]),
                   1435:                  " of class ",K00getCurrentContextName());
                   1436:          pkkan(" /Arglist set /Argthis set /FunctionValue [ ] def\n [/this ");
                   1437:          yyval = yyvsp[0];;
                   1438:     break;}
                   1439: case 89:
                   1440: #line 261 "simple.y"
                   1441: { pkkan("/"); printObjectSymbol(yyvsp[0]); pkkan(" {\n"); ips(yyvsp[0]);
                   1442:           pkdebug("In function : ", objectSymbolToString(yyvsp[0]),
                   1443:                  " of class ",K00getCurrentContextName());
                   1444:          pkkan(" /Arglist set /Argthis set /FunctionValue [ ] def\n [/this ");
                   1445:          yyval = yyvsp[-1];;
                   1446:     break;}
                   1447: case 90:
                   1448: #line 270 "simple.y"
                   1449: {pkkan(" ] /ArgNames set ArgNames pushVariables [ %%function body\n");
                   1450:       pkkan(" [Argthis] Arglist join ArgNames mapset\n");;
                   1451:     break;}
                   1452: case 91:
                   1453: #line 273 "simple.y"
                   1454: {pkkan(" ] /ArgNames set ArgNames pushVariables [ %%function body\n");
                   1455:       pkkan(" [Argthis]  ArgNames mapset\n"); ;
                   1456:     break;}
                   1457: case 92:
                   1458: #line 280 "simple.y"
                   1459: { pkkan("/ExitPoint ]pop popVariables %%pop the local variables\n"); ;
                   1460:     break;}
                   1461: case 94:
                   1462: #line 287 "simple.y"
                   1463: {pkkan("/ExitPoint ]pop popVariables %%pop argValues\n");
                   1464:         pkdebug2();
                   1465:          pkkan("FunctionValue } def\n%%end of function\n\n"); ;
                   1466:     break;}
                   1467: case 95:
                   1468: #line 291 "simple.y"
                   1469: {pkkan("/ExitPoint ]pop popVariables %%pop argValues\n");
                   1470:         pkdebug2();
                   1471:          pkkan("FunctionValue } def\n%%end of function\n\n"); ;
                   1472:     break;}
                   1473: case 96:
                   1474: #line 295 "simple.y"
                   1475: {pkkan("/ExitPoint ]pop popVariables %%pop argValues\n");
                   1476:         pkdebug2();
                   1477:          pkkan("} def\n%%end of function\n\n"); ;
                   1478:     break;}
                   1479: case 97:
                   1480: #line 301 "simple.y"
                   1481: { pkkan("[ %%start of local variables\n"); ;
                   1482:     break;}
                   1483: case 98:
                   1484: #line 306 "simple.y"
                   1485: { pkkan("] pushVariables [ %%local variables\n"); ;
                   1486:     break;}
                   1487: case 99:
                   1488: #line 311 "simple.y"
                   1489: {     ;;
                   1490:     break;}
                   1491: case 100:
                   1492: #line 312 "simple.y"
                   1493: {     ;;
                   1494:     break;}
                   1495: case 101:
                   1496: #line 316 "simple.y"
                   1497: {   ; ;
                   1498:     break;}
                   1499: case 102:
                   1500: #line 321 "simple.y"
                   1501: {  ; ;
                   1502:     break;}
                   1503: case 104:
                   1504: #line 326 "simple.y"
                   1505: { pkkan(" Get\n"); ;
                   1506:     break;}
                   1507: case 105:
                   1508: #line 329 "simple.y"
                   1509: {pkkan(" ] "); ;
                   1510:     break;}
                   1511: case 108:
                   1512: #line 337 "simple.y"
                   1513: { int tmp0;
                   1514:        if ((tmp0 = K00getIncetanceVariable(objectSymbolToString(yyvsp[-1]))) != -1) {
                   1515:          pkkan(" this "); pkkanInteger(tmp0); pkkan(" get [");
                   1516:        } else {
                   1517:          printObjectSymbol(yyvsp[-1]); pkkan(" [");
                   1518:        }
                   1519:      ;
                   1520:     break;}
                   1521: case 109:
                   1522: #line 348 "simple.y"
                   1523: { yyval = yyvsp[0];;
                   1524:     break;}
                   1525: case 110:
                   1526: #line 352 "simple.y"
                   1527: { int tmp0;
                   1528:       if ((tmp0 = K00getIncetanceVariable(objectSymbolToString(yyvsp[-2]))) != -1) {
                   1529:        pkkan(" this "); pkkanInteger(tmp0);
                   1530:        pkkan(" 3 -1 roll   put\n");
                   1531:       }else {
                   1532:        pkkan("/"); printObjectSymbol(yyvsp[-2]); pkkan(" "); ips(yyvsp[-2]); pkkan(" set\n");
                   1533:       }
                   1534:     ;
                   1535:     break;}
                   1536: case 111:
                   1537: #line 360 "simple.y"
                   1538: { pkkan(" Put\n"); ;
                   1539:     break;}
                   1540: case 112:
                   1541: #line 361 "simple.y"
                   1542: { pkkan(" /this set \n"); ;
                   1543:     break;}
                   1544: case 115:
                   1545: #line 367 "simple.y"
                   1546: { pkkan(" not\n"); ;
                   1547:     break;}
                   1548: case 117:
                   1549: #line 369 "simple.y"
                   1550: { pkkan(" (0)..  2 1 roll {sub} sendmsg \n"); ;
                   1551:     break;}
                   1552: case 118:
                   1553: #line 370 "simple.y"
                   1554: { pkkan(" {add} sendmsg2 \n"); ;
                   1555:     break;}
                   1556: case 119:
                   1557: #line 371 "simple.y"
                   1558: { pkkan(" {sub} sendmsg2 \n"); ;
                   1559:     break;}
                   1560: case 120:
                   1561: #line 372 "simple.y"
                   1562: { pkkan(" {mul} sendmsg2 \n"); ;
                   1563:     break;}
                   1564: case 121:
                   1565: #line 373 "simple.y"
                   1566: { pkkan(" {div} sendmsg2 \n"); ;
                   1567:     break;}
                   1568: case 123:
                   1569: #line 375 "simple.y"
                   1570: { pkkan(" power\n"); ;
                   1571:     break;}
                   1572: case 126:
                   1573: #line 378 "simple.y"
                   1574: { pkkan(" eq\n"); ;
                   1575:     break;}
                   1576: case 127:
                   1577: #line 379 "simple.y"
                   1578: { pkkan(" lt\n"); ;
                   1579:     break;}
                   1580: case 128:
                   1581: #line 380 "simple.y"
                   1582: { pkkan(" gt\n"); ;
                   1583:     break;}
                   1584: case 129:
                   1585: #line 381 "simple.y"
                   1586: { pkkan(" lessThanOrEqual\n"); ;
                   1587:     break;}
                   1588: case 131:
                   1589: #line 383 "simple.y"
                   1590: { pkkan(" greaterThanOrEqual\n"); ;
                   1591:     break;}
                   1592: case 133:
                   1593: #line 385 "simple.y"
                   1594: { pkkan(" and\n"); ;
                   1595:     break;}
                   1596: case 134:
                   1597: #line 386 "simple.y"
                   1598: { pkkan(" or\n"); ;
                   1599:     break;}
                   1600: case 135:
                   1601: #line 387 "simple.y"
                   1602: { pkkan(" eq not\n"); ;
                   1603:     break;}
                   1604: case 137:
                   1605: #line 389 "simple.y"
                   1606: { pkkan("/");
                   1607:                       printObjectSymbol(yyvsp[-1]); ips(yyvsp[-1]);
                   1608:                       pkkan(" "); printObjectSymbol(yyvsp[-1]);
                   1609:                       pkkan(" (1).. {add} sendmsg2 "); pkkan("def\n"); ;
                   1610:     break;}
                   1611: case 138:
                   1612: #line 393 "simple.y"
                   1613: { pkkan("/");
                   1614:                       printObjectSymbol(yyvsp[-1]); ips(yyvsp[-1]);
                   1615:                       pkkan(" "); printObjectSymbol(yyvsp[-1]);
                   1616:                       pkkan(" (1).. {sub} sendmsg2 "); pkkan("def\n"); ;
                   1617:     break;}
                   1618: case 140:
                   1619: #line 398 "simple.y"
                   1620: {  pkkan(" sendmsg2 \n"); ;
                   1621:     break;}
                   1622: case 141:
                   1623: #line 399 "simple.y"
                   1624: { /* Not implemented yet. */ ;
                   1625:     break;}
                   1626: case 142:
                   1627: #line 400 "simple.y"
                   1628: {  pkkan(" supmsg2 \n"); ;
                   1629:     break;}
                   1630: case 143:
                   1631: #line 401 "simple.y"
                   1632: {  pkkan("("); printObjectSymbol(yyvsp[-2]);
                   1633:                         pkkan(")..  (double) dc ");
                   1634:                         pkkan("("); printObjectSymbol(yyvsp[0]); pkkan(")..  ");
                   1635:                          pkkan("("); printTens(yyvsp[0]); pkkan(").. ");
                   1636:                         pkkan(" div (double) dc  add\n"); ;
                   1637:     break;}
                   1638: case 147:
                   1639: #line 410 "simple.y"
                   1640: {
                   1641:       int tmp0;
                   1642:       tmp0 = K00getIncetanceVariable("K00sizeof");
                   1643:       pkkan(" ("); pkkanInteger(tmp0); pkkan(").. ");
                   1644:     ;
                   1645:     break;}
                   1646: case 148:
                   1647: #line 417 "simple.y"
                   1648: {
                   1649:       int tmp0;
                   1650:       tmp0 = K00getIncetanceVariable("K00start");
                   1651:       pkkan(" ("); pkkanInteger(tmp0); pkkan(").. ");
                   1652:     ;
                   1653:     break;}
                   1654: case 149:
                   1655: #line 425 "simple.y"
                   1656: { /* It is not used now. */
                   1657:            sendKan(1);
                   1658:            Sm1obj = KSpop();
                   1659:            if (Sm1obj.tag != Sdollar) {
                   1660:              fprintf(stderr," Argument of test must be a string.\n");
                   1661:            }
                   1662:            testNewFunction((struct Object *)&Sm1obj);
                   1663:          ;
                   1664:     break;}
                   1665: case 150:
                   1666: #line 436 "simple.y"
                   1667: {
                   1668:           fprintf(stderr," special is used to extend the function. \n");
                   1669:       ;
                   1670:     break;}
                   1671: case 151:
                   1672: #line 445 "simple.y"
                   1673: {pkkan("] {");printObjectSymbol(yyvsp[-2]);pkkan("}  ");;
                   1674:     break;}
                   1675: case 152:
                   1676: #line 447 "simple.y"
                   1677: {pkkan("] {");printObjectSymbol(yyvsp[-1]);pkkan("}  ");;
                   1678:     break;}
                   1679: case 153:
                   1680: #line 452 "simple.y"
                   1681: { pkkan(" [ %% function args \n"); yyval = yyvsp[-1] ;
                   1682:     break;}
                   1683: case 154:
                   1684: #line 459 "simple.y"
                   1685: { pkkan(" PrimitiveContextp setcontext ");
                   1686:        /* debug */ K00foo1();
                   1687:         K00toPrimitiveClass();
                   1688:       ;
                   1689:     break;}
                   1690: case 155:
                   1691: #line 465 "simple.y"
                   1692: { pkkan(" PrimitiveContextp setcontext ");
                   1693:        K00putIncetanceVariable(IEXIT," ");
                   1694:        /* debug */ K00foo1();
                   1695:        K00toPrimitiveClass();
                   1696:       ;
                   1697:     break;}
                   1698: case 156:
                   1699: #line 475 "simple.y"
                   1700: { ips(yyvsp[-3]);
                   1701:        pkkan("[ $") ; printObjectSymbol(yyvsp[-3]); pkkan("$ ");
                   1702:        printObjectSymbol(yyvsp[-1]); pkkan(" 0 get  newcontext ] /");
                   1703:        printObjectSymbol(yyvsp[-3]);   pkkan(" set \n");
                   1704:        printObjectSymbol(yyvsp[-3]); pkkan(" 0 get setcontext \n");
                   1705:
                   1706:        if (K00declareClass(objectSymbolToString(yyvsp[-3]),
                   1707:                            objectSymbolToString(yyvsp[-1])) == -1) {
                   1708:          /* error */
                   1709:          KCerror("Super class has not been defined or Invalid class name.");
                   1710:        }else{
                   1711:          K00putIncetanceVariable(IRESET," ");
                   1712:        }
                   1713:       ;
                   1714:     break;}
                   1715: case 157:
                   1716: #line 492 "simple.y"
                   1717: {
                   1718:        K00putIncetanceVariable(IEXIT," ");
                   1719:       ;
                   1720:     break;}
                   1721: case 158:
                   1722: #line 498 "simple.y"
                   1723: {
                   1724:       K00putIncetanceVariable(IPUT,objectSymbolToString(yyvsp[0]));
                   1725:     ;
                   1726:     break;}
                   1727: case 159:
                   1728: #line 502 "simple.y"
                   1729: {
                   1730:       K00putIncetanceVariable(IPUT,objectSymbolToString(yyvsp[0]));
                   1731:     ;
                   1732:     break;}
                   1733: case 160:
                   1734: #line 508 "simple.y"
                   1735: { pkkan("/"); printObjectSymbol(yyvsp[0]); pkkan(" {\n"); ips(yyvsp[0]);
                   1736:           pkdebug("In function : ", objectSymbolToString(yyvsp[0]),", of class  ",
                   1737:                  K00getCurrentContextName());
                   1738:          pkkan(" /Arglist set /Arglist [Arglist] def ");
                   1739:           pkkan(" /Argthis set /FunctionValue [ ] def\n [/this ");
                   1740:          yyval = yyvsp[0];;
                   1741:     break;}
                   1742: case 161:
                   1743: #line 517 "simple.y"
                   1744: { pkkan(" this "); ;
                   1745:     break;}
                   1746: case 162:
                   1747: #line 522 "simple.y"
                   1748: { int tmp;
                   1749:         tmp = K00getIncetanceVariable("K00sizeof")
                   1750:           +K00getIncetanceVariable("K00start");
                   1751:         pkkanInteger(tmp);
                   1752:         pkkan(" ");
                   1753:         pkkan(K00getCurrentContextName());
                   1754:         pkkan(" cclass \n");
                   1755:        ;
                   1756:     break;}
                   1757: case 163:
                   1758: #line 531 "simple.y"
                   1759: { int tmp;
                   1760:          pkkan(" PrimitiveObject ");
                   1761:         tmp = K00getIncetanceVariable("K00sizeof")
                   1762:           +K00getIncetanceVariable("K00start");
                   1763:         pkkanInteger(tmp);
                   1764:         pkkan(" ");
                   1765:         pkkan(K00getCurrentContextName());
                   1766:         pkkan(" cclass \n");
                   1767:        ;
                   1768:     break;}
                   1769: }
                   1770:    /* the action file gets copied in in place of this dollarsign */
                   1771: #line 498 "/usr/lib/bison.simple"
                   1772: 
                   1773:   yyvsp -= yylen;
                   1774:   yyssp -= yylen;
                   1775: #ifdef YYLSP_NEEDED
                   1776:   yylsp -= yylen;
                   1777: #endif
                   1778:
                   1779: #if YYDEBUG != 0
                   1780:   if (yydebug)
                   1781:     {
                   1782:       short *ssp1 = yyss - 1;
                   1783:       fprintf (stderr, "state stack now");
                   1784:       while (ssp1 != yyssp)
                   1785:        fprintf (stderr, " %d", *++ssp1);
                   1786:       fprintf (stderr, "\n");
                   1787:     }
                   1788: #endif
                   1789:
                   1790:   *++yyvsp = yyval;
                   1791:
                   1792: #ifdef YYLSP_NEEDED
                   1793:   yylsp++;
                   1794:   if (yylen == 0)
                   1795:     {
                   1796:       yylsp->first_line = yylloc.first_line;
                   1797:       yylsp->first_column = yylloc.first_column;
                   1798:       yylsp->last_line = (yylsp-1)->last_line;
                   1799:       yylsp->last_column = (yylsp-1)->last_column;
                   1800:       yylsp->text = 0;
                   1801:     }
                   1802:   else
                   1803:     {
                   1804:       yylsp->last_line = (yylsp+yylen-1)->last_line;
                   1805:       yylsp->last_column = (yylsp+yylen-1)->last_column;
                   1806:     }
                   1807: #endif
                   1808:
                   1809:   /* Now "shift" the result of the reduction.
                   1810:      Determine what state that goes to,
                   1811:      based on the state we popped back to
                   1812:      and the rule number reduced by.  */
                   1813:
                   1814:   yyn = yyr1[yyn];
                   1815:
                   1816:   yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
                   1817:   if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
                   1818:     yystate = yytable[yystate];
                   1819:   else
                   1820:     yystate = yydefgoto[yyn - YYNTBASE];
                   1821:
                   1822:   goto yynewstate;
                   1823:
                   1824: yyerrlab:   /* here on detecting error */
                   1825:
                   1826:   if (! yyerrstatus)
                   1827:     /* If not already recovering from an error, report this error.  */
                   1828:     {
                   1829:       ++yynerrs;
                   1830:
                   1831: #ifdef YYERROR_VERBOSE
                   1832:       yyn = yypact[yystate];
                   1833:
                   1834:       if (yyn > YYFLAG && yyn < YYLAST)
                   1835:        {
                   1836:          int size = 0;
                   1837:          char *msg;
                   1838:          int x, count;
                   1839:
                   1840:          count = 0;
                   1841:          /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */
                   1842:          for (x = (yyn < 0 ? -yyn : 0);
                   1843:               x < (sizeof(yytname) / sizeof(char *)); x++)
                   1844:            if (yycheck[x + yyn] == x)
                   1845:              size += strlen(yytname[x]) + 15, count++;
                   1846:          msg = (char *) malloc(size + 15);
                   1847:          if (msg != 0)
                   1848:            {
                   1849:              strcpy(msg, "parse error");
                   1850:
                   1851:              if (count < 5)
                   1852:                {
                   1853:                  count = 0;
                   1854:                  for (x = (yyn < 0 ? -yyn : 0);
                   1855:                       x < (sizeof(yytname) / sizeof(char *)); x++)
                   1856:                    if (yycheck[x + yyn] == x)
                   1857:                      {
                   1858:                        strcat(msg, count == 0 ? ", expecting `" : " or `");
                   1859:                        strcat(msg, yytname[x]);
                   1860:                        strcat(msg, "'");
                   1861:                        count++;
                   1862:                      }
                   1863:                }
                   1864:              yyerror(msg);
                   1865:              free(msg);
                   1866:            }
                   1867:          else
                   1868:            yyerror ("parse error; also virtual memory exceeded");
                   1869:        }
                   1870:       else
                   1871: #endif /* YYERROR_VERBOSE */
                   1872:        yyerror("parse error");
                   1873:     }
                   1874:
                   1875:   goto yyerrlab1;
                   1876: yyerrlab1:   /* here on error raised explicitly by an action */
                   1877:
                   1878:   if (yyerrstatus == 3)
                   1879:     {
                   1880:       /* if just tried and failed to reuse lookahead token after an error, discard it.  */
                   1881:
                   1882:       /* return failure if at end of input */
                   1883:       if (yychar == YYEOF)
                   1884:        YYABORT;
                   1885:
                   1886: #if YYDEBUG != 0
                   1887:       if (yydebug)
                   1888:        fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
                   1889: #endif
                   1890:
                   1891:       yychar = YYEMPTY;
                   1892:     }
                   1893:
                   1894:   /* Else will try to reuse lookahead token
                   1895:      after shifting the error token.  */
                   1896:
                   1897:   yyerrstatus = 3;             /* Each real token shifted decrements this */
                   1898:
                   1899:   goto yyerrhandle;
                   1900:
                   1901: yyerrdefault:  /* current state does not do anything special for the error token. */
                   1902:
                   1903: #if 0
                   1904:   /* This is wrong; only states that explicitly want error tokens
                   1905:      should shift them.  */
                   1906:   yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
                   1907:   if (yyn) goto yydefault;
                   1908: #endif
                   1909:
                   1910: yyerrpop:   /* pop the current state because it cannot handle the error token */
                   1911:
                   1912:   if (yyssp == yyss) YYABORT;
                   1913:   yyvsp--;
                   1914:   yystate = *--yyssp;
                   1915: #ifdef YYLSP_NEEDED
                   1916:   yylsp--;
                   1917: #endif
                   1918:
                   1919: #if YYDEBUG != 0
                   1920:   if (yydebug)
                   1921:     {
                   1922:       short *ssp1 = yyss - 1;
                   1923:       fprintf (stderr, "Error: state stack now");
                   1924:       while (ssp1 != yyssp)
                   1925:        fprintf (stderr, " %d", *++ssp1);
                   1926:       fprintf (stderr, "\n");
                   1927:     }
                   1928: #endif
                   1929:
                   1930: yyerrhandle:
                   1931:
                   1932:   yyn = yypact[yystate];
                   1933:   if (yyn == YYFLAG)
                   1934:     goto yyerrdefault;
                   1935:
                   1936:   yyn += YYTERROR;
                   1937:   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
                   1938:     goto yyerrdefault;
                   1939:
                   1940:   yyn = yytable[yyn];
                   1941:   if (yyn < 0)
                   1942:     {
                   1943:       if (yyn == YYFLAG)
                   1944:        goto yyerrpop;
                   1945:       yyn = -yyn;
                   1946:       goto yyreduce;
                   1947:     }
                   1948:   else if (yyn == 0)
                   1949:     goto yyerrpop;
                   1950:
                   1951:   if (yyn == YYFINAL)
                   1952:     YYACCEPT;
                   1953:
                   1954: #if YYDEBUG != 0
                   1955:   if (yydebug)
                   1956:     fprintf(stderr, "Shifting error token, ");
                   1957: #endif
                   1958:
                   1959:   *++yyvsp = yylval;
                   1960: #ifdef YYLSP_NEEDED
                   1961:   *++yylsp = yylloc;
                   1962: #endif
                   1963:
                   1964:   yystate = yyn;
                   1965:   goto yynewstate;
                   1966: }
                   1967: #line 547 "simple.y"

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>