[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.5

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

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