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