# line 12 "bifparse.y" /*--------------------------------------------------------------------*\ | | Copyright (C) 1989,1990, 1991, National Computer Graphics Association | | Permission is granted to any individual or institution to use, copy, or | redistribute this software so long as it is not sold for profit, provided | this copyright notice is retained. | | Developed for the | National Computer Graphics Association | 2722 Merrilee Drive | Fairfax, VA 22031 | (703) 698-9600 | | by | SimGraphics Engineering Corporation | 1137 Huntington Drive Unit A | South Pasadena, CA 91030 | (213) 255-0900 |--------------------------------------------------------------------- | | Author : mjf / SimGraphics Engineering Corportation | | File : bifparse.y | Date : Fri Feb 9 10:46:55 PST 1990 | Project : PLB | Description : | Status : Version 1.0 | | Revisions : | \*--------------------------------------------------------------------*/ #include #ifdef SUN4 #include #else #include #endif #include #include "bifbuild.h" #define STRLENGTH 80 #define REPEAT_TABLE_SIZE 30 #ifndef FALSE #define FALSE 0 #endif /* ifndef FALSE */ #ifndef TRUE #define TRUE (!FALSE) #endif /* ifndef TRUE */ #define CB_ERM1 "Additional attempt to set color model ignored" #define CB_ERM2 "Additional attempt to set buffer mode ignored" #define CB_ERM3 "Additional attempt to set color mode ignored" #define CB_ERM4 "Additional attempt to set window size ignored" #define FAS_ERM1 "Additional VERTEX_COLOR set in FILL_AREA_SET3 ignored." #define FAS_ERM2 "Additional VERTEX_COLOR_INDICES in FILL_AREA_SET3 ignored." #define FAS_ERM3 "Additional VERTEX_NORMALS set in FILL_AREA_SET3 ignored." #define FAS_ERM4 "Additional EDGE_VISIBILITY set in FILL_AREA_SET3 ignored." #define FAS_ERM5 "Additional FACET_COLORS set in FILL_AREA_SET3 ignored." #define FAS_ERM6 "Additional FACET_COLOR_INDICES in FILL_AREA_SET3 ignored." #define FAS_ERM7 "Additional FACET_NORMALS set in FILL_AREA_SET3 ignored." #define GS_ERM1 "Additional CENTER in GEN_SPHERE3 ignored." #define GS_ERM2 "Additional RADIUS in GEN_SPHERE3 ignored." #define GS_ERM3 "Additional SCALE_FACTOR in GEN_SPHERE3 ignored." #define GC_ERM1 "Additional CENTER in GEN_CIRCLE ignored." #define GC_ERM2 "Additional RADIUS in GEN_CIRCLE ignored." #define GC3_ERM1 "Additional CENTER in GEN_CIRCLE3 ignored." #define GC3_ERM2 "Additional RADIUS in GEN_CIRCLE3 ignored." #define GC3_ERM3 "Additional NORMAL in GEN_CIRCLE3 ignored." #define WD3B_error(A) \ { \ char temp[STRLENGTH]; \ sprintf(temp,"Additional %s in %s ignored.", A, with_data_name ); \ yyerror(temp); \ } typedef char StringType[STRLENGTH]; static char *with_data_name; extern FILE *active_file, *last_file; extern char filenm[128], last_filenm[128]; extern int lineno,last_lineno; # line 108 "bifparse.y" typedef union { long l; double f; StringType str; } YYSTYPE; #define LONG 257 #define REAL 258 #define QSTRING 259 #define BEGIN_STRUCTURE 260 #define END_STRUCTURE 261 #define LABEL 262 #define MARKER 263 #define MARKER3 264 #define LINE 265 #define LINE3 266 #define POLYGON 267 #define POLYGON3 268 #define FILL_AREA_SET 269 #define FILL_AREA_SET3 270 #define TRIANGLE3 271 #define QUAD_MESH3 272 #define INDEX_POLYGONS3 273 #define GEN_SPHERE3 274 #define GEN_CIRCLE 275 #define GEN_CIRCLE3 276 #define TEXT 277 #define TEXT3 278 #define ANNOTATION_TEXT3 279 #define PIXEL_MAP3 280 #define NON_UNIFORM_BSPLINE_CURVE 281 #define NON_UNIFORM_BSPLINE_SURFACE 282 #define CURVE_APPROXIMATION_CRITERIA 283 #define TRIMCURVE_APPROXIMATION_CRITERIA 284 #define SURFACE_APPROXIMATION_CRITERIA 285 #define MARKER_TYPE 286 #define MARKER_SIZE 287 #define MARKER_COLOR 288 #define MARKER_COLOR_INDEX 289 #define LINE_TYPE 290 #define LINE_WIDTH 291 #define LINE_COLOR 292 #define LINE_COLOR_INDEX 293 #define LINE_SHADING 294 #define INTERIOR_STYLE 295 #define INTERIOR_PATTERN_INDEX 296 #define INTERIOR_COLOR 297 #define INTERIOR_COLOR_INDEX 298 #define BACKFACE_INTERIOR_COLOR 299 #define BACKFACE_INTERIOR_COLOR_INDEX 300 #define INTERIOR_SHADING 301 #define INTERIOR_LIGHTING 302 #define SURFACE_PROPERTIES 303 #define BACKFACE_PROPERTIES 304 #define BACKFACE_PROCESSING 305 #define EDGE_FLAG 306 #define EDGE_TYPE 307 #define EDGE_WIDTH 308 #define EDGE_COLOR 309 #define EDGE_COLOR_INDEX 310 #define TEXT_FONT 311 #define TEXT_PREC 312 #define TEXT_COLOR 313 #define TEXT_COLOR_INDEX 314 #define TEXT_PATH 315 #define TEXT_ALIGN 316 #define CHAR_HEIGHT 317 #define CHAR_EXP 318 #define CHAR_SPACE 319 #define CHAR_UP_VECTOR 320 #define ANNO_TEXT_CHAR_HEIGHT 321 #define ANNO_TEXT_CHAR_UP_VECTOR 322 #define ANNO_TEXT_STYLE 323 #define LIGHT_STATE 324 #define DEPTHCUE_INDEX 325 #define HLHS_REMOVAL 326 #define IDENTITY3 327 #define CONCAT_MATRIX3 328 #define INVERT_MATRIX3 329 #define ROTATE3 330 #define ROTATE_XYZ3 331 #define TRANSLATE3 332 #define SCALE3 333 #define MATRIX3 334 #define GET_MATRIX3 335 #define PUSH_MATRIX3 336 #define POP_MATRIX3 337 #define GLOBAL_TRANSFORMATION3 338 #define LOCAL_TRANSFORMATION3 339 #define APPLY_TO_GLOBAL3 340 #define APPLY_TO_LOCAL3 341 #define VIEW_ORIENTATION3 342 #define VIEW_MAPPING3 343 #define ACTIVE_VIEW 344 #define EXECUTE_STRUCTURE 345 #define CALL_STRUCTURE 346 #define READ_GEOMETRY_FILE 347 #define CLEAR_GEOMETRY 348 #define BEGIN_TEST 349 #define END_TEST 350 #define PAUSE 351 #define SLEEP 352 #define INVOKE_AT_FRAME 353 #define DEFINE_COLOR 354 #define BACKGROUND_COLOR 355 #define BACKGROUND_COLOR_INDEX 356 #define DEFINE_VIEW_SPECIFICATION 357 #define DEFAULT_VIEW_SPECIFICATION 358 #define DEFINE_LIGHT 359 #define DEFINE_DEPTHCUE 360 #define CONFIGURATION 361 #define KNOTS 362 #define CTRL_POINTS 363 #define UKNOTS 364 #define VKNOTS 365 #define TRIMLOOP 366 #define TRIMCURVE 367 #define RATIONAL 368 #define NON_RATIONAL 369 #define IGNORE_GROUP 370 #define VERTEX_COLORS 371 #define VERTEX_NORMALS 372 #define VERTEX_COLOR_INDICES 373 #define FACET_COLORS 374 #define FACET_NORMALS 375 #define FACET_COLOR_INDICES 376 #define VERTEX_COORDINATES 377 #define EDGE_VISIBILITY 378 #define ENABLE 379 #define DISABLE 380 #define STRING 381 #define CHAR 382 #define STROKE 383 #define WORLD 384 #define MODELLING 385 #define AMBIENT_LIGHT 386 #define DIRECTIONAL_LIGHT 387 #define POSITIONAL_LIGHT 388 #define SPOT_LIGHT 389 #define LD_TRANSFORM 390 #define ACTIVATE_LIST 391 #define DEACTIVATE_LIST 392 #define HLHSRID 393 #define HLHS_DISABLE 394 #define HLHS_ENABLE 395 #define MAKE_RAMP 396 #define COLOR_LIST 397 #define RGB 398 #define CIE 399 #define HSV 400 #define HLS 401 #define PRECONCAT 402 #define POSTCONCAT 403 #define REPLACE 404 #define X_AXIS 405 #define Y_AXIS 406 #define Z_AXIS 407 #define PERSPECTIVE 408 #define PARALLEL 409 #define MATCH_VIEW_AREA 410 #define ADJUST_X 411 #define ADJUST_Y 412 #define GROW 413 #define SHRINK 414 #define XY_CLIP 415 #define NO_XY_CLIP 416 #define FRONT_CLIP 417 #define NO_FRONT_CLIP 418 #define BACK_CLIP 419 #define NO_BACK_CLIP 420 #define HOLLOW 421 #define SOLID 422 #define PATTERN 423 #define EMPTY 424 #define VIEW_MAPPING 425 #define VIEW_ORIENTATION 426 #define GLOBAL_MODELLING 427 #define LOCAL_MODELLING 428 #define COMPOSITE_MODELLING 429 #define SPECIFY_REPORT_FILE 430 #define TO 431 #define END 432 #define EXECUTE 433 #define CALL 434 #define WINDOW_SIZE 435 #define DOUBLE_BUFFER 436 #define SINGLE_BUFFER 437 #define TRUE_COLOR 438 #define PSEUDO_COLOR 439 #define FACET_CONNECTIVITY 440 #define EXACT 441 #define CENTER 442 #define RADIUS 443 #define SCALE_FACTORS 444 #define NORMAL 445 #define TEXT_DIRECTION 446 #define ADD 447 #define AND 448 #define CLEAR 449 #define INVERT 450 #define NAND 451 #define NOOP 452 #define NOR 453 #define OR 454 #define SET 455 #define SUBTRACT_DEST 456 #define SUBTRACT_SOURCE 457 #define XOR 458 #define PIXEL_VALUES 459 #define INTENSITY_VALUES 460 #define PIXEL_VALUE_SEGMENTS 461 #define INTENSITY_VALUE_SEGMENTS 462 #define FIRST_FILE 463 #define END_GEOM_FILE 464 #define UNRECOGNIZED_KEYWORD 465 #define yyclearin yychar = -1 #define yyerrok yyerrflag = 0 extern int yychar; extern short yyerrflag; #ifndef YYMAXDEPTH #define YYMAXDEPTH 150 #endif YYSTYPE yylval, yyval; # define YYERRCODE 256 # line 2323 "bifparse.y" /* ------------------------------------------------------------------ */ /* not_repeated is a utility used by entities in yacc to allow */ /* optional date groups to be specified in any order but to detect */ /* if an optional group is specified more than once. */ /* */ /* code < 0: Reinitialize the repeat_table */ /* code > REPEAT_TABLE_SIZE -1: is an error. */ /* return_code = FALSE: The optional group has been repeated */ /* return_code = TRUE: The optional group has not been repeated */ /* ------------------------------------------------------------------ */ int not_repeated(code) int code; { int return_code; static int repeat_table[REPEAT_TABLE_SIZE]; int i; return_code = TRUE; if (code < 0) { for(i=0;i REPEAT_TABLE_SIZE-1) { yyerror ("Program error: Attempt to index beyond end of repeat_table."); yyerror (" : Entity option has been ignored."); return_code = FALSE; } else { if(repeat_table[code]) repeat_table[code] = FALSE; else return_code = FALSE; } return(return_code); } short yyexca[] ={ -1, 1, 0, -1, -2, 0, -1, 2, 260, 444, -2, 445, }; # define YYNPROD 460 # define YYLAST 1672 short yyact[]={ 336, 724, 325, 590, 750, 344, 335, 232, 526, 558, 557, 324, 562, 561, 327, 423, 467, 560, 559, 804, 805, 806, 807, 5, 327, 666, 333, 338, 477, 949, 870, 676, 826, 581, 685, 972, 534, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 857, 226, 229, 230, 231, 745, 536, 705, 706, 767, 768, 240, 241, 235, 402, 244, 245, 249, 250, 251, 252, 254, 577, 256, 699, 700, 822, 260, 261, 620, 621, 979, 266, 267, 527, 528, 751, 273, 505, 506, 507, 277, 278, 279, 280, 281, 282, 551, 737, 738, 739, 740, 741, 742, 743, 744, 746, 747, 748, 749, 415, 416, 417, 418, 419,1020,1021,1022, 1023, 424, 425, 426, 286, 287, 771, 772, 773, 774, 316, 270, 271, 272, 208, 871, 445, 444, 263, 264, 233, 234, 978, 334, 201, 334, 204, 334, 765, 914, 915, 916, 656, 327, 802, 4, 977, 352, 696, 209, 353, 354, 355, 909, 587, 466, 520, 358, 359, 360, 192, 337, 363, 340, 639, 341, 367, 463, 346, 878, 348, 876, 460, 481, 457, 372, 832, 374, 830, 228, 227, 378, 379, 434, 829, 722, 827, 311, 385, 714, 1003, 713, 900, 654, 391, 775, 703, 682, 627, 437, 679, 398, 626, 400, 591, 3, 589, 525, 572, 486, 450, 446, 409, 410, 411, 412, 442, 407, 394, 637, 420, 421, 380, 996, 427, 428, 953, 357, 356, 349, 347, 930, 904, 322, 320, 556, 439, 440, 319, 318, 443, 317, 881, 877, 831, 828, 756, 448, 315, 313, 307, 306, 305, 304, 458, 459, 461, 462, 458, 303, 302, 458, 102, 301, 228, 227, 465, 296, 295, 294, 293, 292, 291, 453, 482, 483, 484, 290, 228, 227, 289, 489, 288, 474, 490, 228, 227, 432, 491, 285, 283, 276, 275, 492, 274, 493, 269, 268, 265, 494, 495, 228, 227, 228, 227, 262, 497, 259, 228, 227, 228, 227, 498, 258, 257, 981, 228, 227, 228, 227, 255, 228, 227, 228, 227, 228, 227, 667, 668, 669, 670, 508, 509, 510, 511, 582, 583, 584, 677, 585, 1043, 513, 514, 503, 253, 247, 246, 243, 516, 517, 512, 228, 227, 228, 227, 755, 242, 239, 755, 522, 523, 524, 105, 931, 755, 228, 227, 531, 238, 237, 228, 227, 228, 227, 755, 755, 755, 755, 755, 548, 236, 225, 549, 550, 224, 223, 461, 537, 538, 539, 540, 334, 221, 533, 553, 552, 628, 438, 211,1042, 571, 554,1041, 555, 588, 790, 790, 879, 875, 471, 1033, 874, 323,1028,1016, 597, 598, 568, 790, 471, 873, 872,1014, 573, 545, 541, 542, 543, 544, 604, 605, 606, 607,1012, 609, 610,1011, 611, 612, 790, 603, 791, 973, 616, 617, 968, 578, 579, 580, 961, 956, 623, 624, 615, 554, 563, 555, 564, 566, 565, 955, 664, 944, 943, 925, 906, 905, 885, 884, 209, 629, 846, 844, 331, 814, 799, 647, 649, 648, 651, 653, 652, 797, 650, 762, 761,1025,1018, 334, 458, 468,1017, 461, 990, 987, 983, 638, 554, 563, 555, 564, 566, 565, 976, 659, 658, 970, 663, 662, 678, 655, 681, 661, 660, 636, 969, 952, 951, 683, 684, 554, 563, 555, 564, 566, 565, 950, 917, 690, 887, 691, 692, 693, 694, 866, 858, 853, 697, 448, 725, 687, 688, 689, 345, 701, 702, 695, 554, 563, 555, 564, 566, 565, 825, 469, 824, 823, 458, 816, 461, 815, 789, 788, 787, 786, 785, 784, 783, 782, 734, 728, 727, 726, 330, 712, 711, 710, 709, 708, 707, 675, 674, 673, 672, 671, 665, 601, 530, 471, 413, 343, 300, 729, 730, 731, 732, 733, 299,1048, 735, 1047,1044, 986, 982, 753, 754, 975, 962, 958, 942, 940, 760, 932, 891, 763, 890, 865, 852, 448, 850, 759, 758, 769, 764, 757, 686, 625, 622, 618, 613, 608, 602, 600, 599, 776, 596, 778, 779, 595, 781, 594, 593, 592, 586, 546, 535, 529, 793, 794, 795, 796, 518, 798, 515, 800, 801, 501, 500, 499, 496, 488, 487, 447, 777, 441, 436, 780, 435, 431, 430, 429, 422, 408, 406, 811, 812, 810, 405, 404, 403, 401, 399, 397, 396, 817, 818, 395, 819, 393, 392, 820, 390, 389, 388, 387, 386, 384, 461, 383, 461, 461, 382, 461, 381, 377, 834, 376, 836, 833, 375, 835, 840, 373, 837, 843, 839, 845, 371, 370, 847, 369, 848, 849, 368, 366, 365, 364, 362, 361, 332, 312, 681, 855, 856, 310, 298, 859, 860, 861, 862, 863, 864, 838, 297, 867, 868, 869, 842, 451, 328, 821, 770, 321, 314, 547, 614, 521, 519, 461, 433, 461, 309, 308, 971, 882, 957, 883, 967, 892, 813, 886, 502, 284, 934, 933,1024,1009, 888, 980, 893, 894, 895, 896, 897, 898, 899, 966, 935, 901, 902, 903, 913, 912, 911, 910, 889, 880, 854, 752, 809, 808, 680, 485, 963, 948, 908, 851, 907, 480, 681, 351, 479, 350, 576, 918, 919, 920, 921, 922, 923, 924, 478, 926, 927, 928, 575, 723, 657, 929, 574, 476, 222, 475, 220, 721, 720, 719, 718, 717, 937, 938, 939, 716, 941, 715, 646, 645, 644, 945, 946, 947, 643, 642, 641, 640, 570, 472, 219, 954, 569, 473, 567, 470, 841, 792, 342, 959, 960, 218, 635, 634, 633, 936, 632, 964, 965, 631, 630, 339, 217, 216, 974, 464, 215, 214, 681, 681, 213, 212, 104, 984, 985, 103, 101, 100, 988, 99, 98, 97, 96, 95, 94, 93, 92, 991, 992, 993, 91, 994, 995, 90, 89, 998, 999,1000,1001,1002, 88, 997,1004, 1005,1006,1007,1008, 87,1010, 86, 85,1013, 84, 83, 989, 82,1015, 81, 80, 681, 79,1026,1027, 78, 77, 76, 75, 74, 73,1030,1031,1032,1029, 72,1034,1035,1036, 71,1037,1038,1039,1040, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52,1045,1046, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 193, 194, 205, 51, 196, 197, 50, 198, 199, 200, 201, 202, 204, 203, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 454, 452, 329, 210, 106, 532, 449, 326, 7, 6, 207, 206, 736, 803, 704, 248, 766, 698, 619, 1019, 504, 414, 1, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 192, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 193, 194, 205, 0, 196, 197, 0, 198, 199, 200, 201, 202, 204, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 0, 0, 0, 455, 0, 0, 456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192 }; short yypact[]={ 798,-1000,-157,1002,-1000,-1000,-1000,-1000,-1000,-1000, -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, -1000,-1000,-1000,-1000,-1000,-1000,-1000, 221,-1000,-1000, -1000,-1000,-1000,-1000,-1000,-1000,-1000, 215,-1000, 208, 207, 204, 2, 2, 2, 2,-158,-158, 203, 192, 191, 180, 2, 2, 179, 170, 2, 2, 169, 168, -282, 167, 2, 143, 2, 137, 136, 130, 2, 2, 128,-171, 121, 2, 2, 120, 119,-180, 2, 117, 115, 114, 2, 2, 2, 2, 2, 2, 113,-1000, 112,-200, 105, 103, 100, 95, 94, 93, 92, 91, 90, 764, 756, 554, 548, 86, 83, 82, 76, 75, 74, 73,-1000,-1000, 755, 8, 751, 72, 71, 2, 64, 62, 61, 57,-1000, 56,1002, -37,-1000,-1000, -143, 750, 2, 2, 2,-1000, 2,-1000, 547, 500, -1000, 53,-1000, 52,-1000,-1000, 2,-1000,-1000, 2, 2, 2, 51,-1000,-1000, 50, 2, 2, 2, 749, 748, 2, 747, 746, 745, 2, 744, 741, 739,-1000, -1000,-1000,-1000, 738, 2, 733, 2, 730, 727, 725, 2, 2, 45, 724, 722, 719, 717, 2, 716, 715, 714, 713, 712, 2, 710, 709, 41, 707, 704, 703, 2, 702, 2, 701,-255, 700, 699, 698, 694, 40, 693, 2, 2, 2, 2, 546,-243,-1000,-1000, 2, 2, 692,-211, 2, 2, 691, 690, 689, 111, 4, -1000, 688,-1000, 686, 220, 2, 2, 685, 39, 2, -173, 34, 683,1002, -37,-1000,-1000, 33,-1000,1206, -1000,-1000,-1000, 195, 2, 193, 2, 188,-1000, 2, 176,-1000, 511,-1000, 545,-1000,-1000,-1000,-412,-1000, -1000,-1000, -6, 2, 2, 2,-1000, 32, 682, 681, 2,-1000,-1000, 2,-1000,-1000,-1000, 2,-1000,-1000, -1000,-1000, 2,-1000, 2,-1000,-1000,-1000, 2, 2, 680,-1000,-1000,-1000,-1000, 2,-1000,-1000,-1000,-1000, -1000, 2,-1000,-1000, 679,-1000,-1000,-1000, 678,-1000, 677,-1000,-1000,-1000,-1000,-1000,-1000,-211,-1000,-245, 2, 2, 2, 2,-211,-1000,-1000,-1000,-1000,-1000, 2, 2,-1000, 674,-1000,-1000,-1000, 2, 2,-1000, -1000,-1000, 672, -23,-1000,-1000,-1000,-1000, 2, 2, 2,-1000, 30,-252, 667, 544, 2,-1000,-1000,-225, 666, 69,-1000,-1000,-1000, 665,-1000,-1000, 2,-1000, -1000, 2, 2,-1000, 110, 2,-1000, 256,-1000,-1000, 2,-1000,-1000, 2, 229,-1000,-1000,-1000,-1000, 85, -26, 664, -25, 2, 29,-1000, 27,-1000,-1000, 663, 662, 661, 659, 656, 2, 2,-1000, 654, 653,-1000, -1000,-1000, 543, 652,-211,-1000,-1000,-1000, 2, 2, 2, 2, 651, 2, 2,-1000, 2, 2,-1000, 650, -1000, -37, 2, 2, 649,-264, 648,-1000,-1000,-1000, 2, 2,-1000,-1000, 647,-1000,-1000,-1000,-1000,-1000, -1000,-1000,-1000,-1000,-1000, 25,-1000, 219,-1000, 2, -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, -1000,-1000,-1000,-1000,-1000,-1000,-1000, 2, 174, 2, 185, 148,-1000,-1000, 163, 542, -34,-1000,-1000, 541, 540,-1000,-1000, 539, 538, 537,-1000, -28, 2, 23, 2, 20,-1000,-1000,-1000,-1000,-1000, 2, 2,-1000, -1000,-1000,-1000, 646,-211,-211,-211, 2,-1000, 2, 2, 2, 2,-1000, -37,-236, 2,-1000,-1000,-271, -1000,-1000,-1000, 2, 2,-1000, 19,-1000,-304,-1000, 536, 535, 534, 533, 532, 531, 146,-1000, 144,-1000, -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, -1000,-1000,-1000,-1000,-1000, 206,-1000,-1000,-1000,-1000, -1000,-1000,-1000,-1000,-1000, 496,-1000,-1000, 529, 528, 527, 2, 2, 2, 2, 2,-1000, 526, 2,-277, -204,-1000,-1000, 2, 2, 201,-1000, 645, 642, 641, 2, 440, 439, 2,-252,-246,-1000,-1000,-288,-1000, -1000, 2,-190,-1000, 18,-1000,-1000, 2,-1000, 2, 2,-1000, 2,-1000,-1000, 525, 524, 523, 522, 521, 520, 519,-1000, 518, 396,-1000, 2, 2, 2, 2, 437, 2, 430, 2, 2, -35,-440,-1000,-1000,-1000, -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, -1000,-1000,-1000, 2, 2,-1000,-1000,-1000,-1000,-1000, 429, 517, 515, 2, 2,-1000, 2,-1000,-1000, 2, -242,-1000, 513, 512, 510,-399, 141, 200, 139, 133, 199, 131, 500, 496, 500, 496, 2,-1000, 2, 496, -1000,-1000,-1000, 2, 427, 2, 426,-1000, 2,-1000, 2, 2, 640,-1000,-1000,-1000,-1000,-1000, 638, 493, 2, 2, 2,-270, 492, 2, 2, 2, 2, 2, 2, 637, 491, 2, 2, 2,-227,-1000,-1000,-1000, -1000,-1000,-1000, 376, 375, 366, 363, 126, 198, 124, 362,-1000, 197, 2,-1000, 2,-1000, 423, 422, 2, -1000, 486,-1000,-1000,-1000, 636, 634,-1000, 2, 2, 2, 2, 2, 2, 2,-1000, 15, 2, 2, 2, -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, 187,-1000, 421, 420,-1000,-1000, 2,-1000, 108,-145, -1000,-1000, 484, 2, 2, 2, 2, 2, 2, 2, 419, 2, 2, 2,-1000,-1000,-1000, 2, 186,-1000, 633,-1000,-1000,-1000,-1000,-1000,-1000,-1000, 2, 2, 2, 631, 2, 630, 418,-1000, 417, 2, 2, 2, -410,-1000,-1000, 483, 474, 473, 181, 2, 415, 405, -1000,-1000,-1000, 629,-1000, 2, 2, 404, 628,-1000, -1000,-1000,-1000,-1000, 400, 472, 463,-375,-1000, 397, 2, 627,-1000, 460, 101, 87, 28, 624, 452, 2, 2, 623, 451,-1000, 2,-1000,-1000,-1000,-1000,-1000, -1000, 450,-1000, 2, 2, 2,-1000, 2, 2, 178, -158, 2, 2, 2, 2, 2,-1000, 13, 2, 2, 2, 2, 2,-1000, 2, 391, 388, 2, 377,-1000, 369, 448, 444,-224,-1000, 2, 443, 2, 2, 368, -1000,-1000,-1000,-1000,-204, 2, 2, 2,-1000, 365, 2, 2, 2,-1000, 2, 2, 2, 2, 357, 354, 295, 622,-211,-211,-1000, 621, 619,-1000,-1000 }; short yypgo[]={ 0,1223, 0, 7, 15,1222,1221, 8,1220,1219, 1218,1217,1216,1215,1214,1213,1212, 285,1211, 11, 225, 2, 23,1210,1209,1208,1207,1206,1205,1204, 1203,1202, 442, 342,1201,1200,1199,1198,1197,1196, 1195,1194,1193,1192,1191,1190,1189,1188,1187,1186, 1185,1184,1183,1182,1181,1180,1179,1178,1177,1176, 1175,1174,1173,1172,1171,1170,1169,1168,1167,1166, 1165,1164,1163,1162,1161,1160,1159,1151,1148,1057, 1056,1055,1054,1053,1052,1051,1050,1049,1048,1047, 1046,1045,1044,1043,1042,1041,1040,1039,1034,1030, 1025,1024,1023,1022,1021,1020,1017,1015,1014,1012, 1010,1009,1007,1006,1004, 997, 991, 990, 987, 983, 982, 981, 980, 979, 978, 977, 976, 974, 973, 972, 969, 968, 26, 967, 6, 34, 964, 963, 27, 962, 10, 9, 960, 959, 16, 958, 18, 17, 13, 12, 957, 956, 953, 951, 950, 949, 948, 945, 1, 944, 943, 942, 941, 5, 940, 939, 937, 936, 935, 934, 933, 932, 931, 927, 926, 925, 924, 922, 918, 917, 916, 915, 914, 913, 912, 911, 910, 909, 907, 906, 905, 901, 893, 892, 891, 890, 888, 886, 885, 884, 883, 882, 3, 881, 4, 880, 879, 878, 877, 875, 874, 873, 872, 871, 867, 866, 858, 856, 855, 854, 853, 852, 851, 849, 848, 847, 845, 843, 842, 841, 839, 837, 836, 835, 834, 833, 832, 831, 830, 829, 828 }; short yyr1[]={ 0, 1, 1, 1, 1, 17, 17, 19, 19, 20, 20, 20, 21, 25, 26, 26, 27, 24, 28, 29, 29, 29, 30, 30, 30, 31, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 35, 131, 36, 133, 37, 132, 132, 134, 134, 135, 135, 136, 38, 137, 39, 139, 139, 139, 142, 40, 143, 41, 145, 138, 144, 144, 144, 144, 144, 144, 144, 150, 140, 151, 141, 152, 146, 153, 147, 154, 148, 155, 149, 156, 42, 159, 158, 160, 158, 161, 157, 162, 157, 164, 163, 165, 163, 166, 167, 43, 168, 168, 168, 168, 168, 168, 168, 168, 176, 169, 177, 170, 178, 171, 179, 172, 180, 173, 181, 174, 182, 175, 183, 44, 184, 45, 185, 46, 187, 187, 187, 187, 187, 187, 187, 187, 189, 188, 190, 186, 191, 47, 192, 192, 192, 192, 192, 193, 48, 194, 194, 194, 194, 195, 49, 196, 196, 196, 196, 196, 50, 51, 51, 52, 197, 53, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 198, 198, 199, 200, 199, 201, 203, 205, 54, 204, 206, 204, 3, 3, 202, 202, 207, 208, 210, 55, 209, 209, 209, 209, 214, 213, 215, 215, 217, 218, 216, 219, 211, 220, 212, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 12, 12, 12, 12, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 79, 80, 81, 82, 83, 84, 85, 85, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 221, 222, 223, 224, 225, 97, 98, 99, 99, 100, 101, 4, 4, 4, 102, 103, 6, 6, 6, 104, 105, 106, 107, 108, 5, 5, 5, 5, 5, 109, 110, 111, 112, 113, 114, 115, 226, 116, 7, 7, 227, 227, 8, 8, 8, 8, 117, 118, 119, 228, 120, 229, 231, 121, 232, 230, 233, 230, 122, 123, 124, 125, 34, 234, 234, 234, 234, 13, 13, 126, 235, 235, 127, 128, 33, 9, 9, 10, 10, 11, 11, 129, 236, 32, 237, 237, 237, 237, 237, 238, 238, 130, 130, 18, 16, 239, 16, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 2, 2 }; short yyr2[]={ 0, 0, 3, 1, 3, 1, 2, 1, 2, 1, 1, 1, 3, 3, 0, 2, 2, 4, 3, 0, 2, 2, 0, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 0, 4, 0, 4, 2, 3, 3, 4, 0, 2, 0, 4, 0, 5, 0, 2, 2, 0, 4, 0, 5, 0, 2, 0, 2, 2, 2, 2, 2, 2, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 4, 0, 4, 0, 5, 0, 4, 0, 5, 0, 4, 0, 5, 0, 0, 6, 0, 2, 2, 2, 2, 2, 2, 2, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 5, 0, 7, 0, 6, 0, 2, 2, 2, 2, 2, 2, 2, 0, 5, 0, 5, 0, 6, 0, 2, 7, 5, 7, 0, 5, 0, 2, 6, 5, 0, 5, 0, 2, 7, 5, 7, 5, 6, 15, 9, 0, 14, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 0, 0, 5, 0, 0, 0, 9, 0, 0, 5, 1, 1, 0, 2, 0, 0, 0, 12, 0, 2, 2, 2, 0, 5, 0, 2, 0, 0, 9, 0, 5, 0, 5, 4, 4, 5, 3, 3, 5, 3, 3, 3, 5, 3, 3, 3, 1, 1, 1, 1, 3, 5, 3, 5, 3, 3, 3, 10, 10, 4, 3, 3, 3, 3, 5, 3, 3, 3, 3, 3, 5, 3, 3, 4, 3, 3, 3, 4, 3, 4, 3, 0, 0, 0, 0, 0, 15, 3, 3, 3, 3, 5, 1, 1, 1, 3, 6, 1, 1, 1, 7, 7, 7, 28, 5, 1, 1, 1, 1, 1, 2, 2, 26, 27, 3, 4, 12, 0, 15, 1, 1, 0, 8, 1, 1, 1, 1, 3, 3, 3, 0, 4, 0, 0, 5, 0, 4, 0, 5, 2, 3, 2, 3, 3, 0, 4, 6, 6, 1, 1, 3, 4, 5, 5, 3, 12, 1, 1, 1, 1, 1, 1, 5, 0, 9, 0, 1, 6, 8, 13, 0, 4, 4, 13, 0, 0, 0, 4, 0, 2, 2, 2, 2, 2, 2, 2, 2, 4, 1, 1 }; short yychk[]={ -1000, -1, 463, -17, -20, -22, -23, -24, -35, -36, -37, -38, -39, -40, -41, -42, -43, -44, -45, -46, -47, -48, -49, -50, -51, -52, -53, -54, -55, -56, -57, -58, -59, -60, -61, -62, -63, -64, -65, -66, -67, -68, -69, -70, -71, -72, -73, -74, -75, -76, -77, -78, -79, -80, -81, -82, -83, -84, -85, -86, -87, -88, -89, -90, -91, -92, -93, -94, -95, -96, -97, -98, -99,-100,-101,-102,-103,-104,-105,-106, -107,-108,-109,-110,-111,-112,-113,-114,-115,-116, -117,-118,-119,-120,-121,-122,-123,-124,-125,-126, -127,-128, -33,-129,-130, -32, -28, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 465, 347, 348, 430, 351, 352, 354, 355, 356, 357, 358, 360, 359, 349, -16, -18, 361, -20, -29, 257,-131,-133,-136,-137,-142,-143,-156,-166, -183, 257,-185, 257, 257, 257, -2, 258, 257, -2, -2, -2, -3, 368, 369, -3, 257, 257, 257, 257, -2, -2, 257, 257, -2, -2, 257, 257, -12, 421, 422, 423, 424, 257, -2, 257, -2, 257, 257, 257, -2, -2, 257, 379, 380, 257, -2, -2, 257, 257, 381, 382, 383, -2, 257, 257, 257, -2, -2, -2, -2, -2, -2, 257,-221, 257, 394, 395, 257, 257, 257, 257, 257, 257, 257, 257, 257, 59, 59, 123, 123, 257, 257, 257, 257, 257, 257, 257,-228,-229, 59, 259, 59, 257,-235, 257, -2, 257, 257, 257, 257,-236, 257, -17, -19, -21, -25, 260,-239, -30, -32, -33, 59,-132, -2,-134, -2,-132,-138,-145, -132,-138,-157, 123,-163, 123,-138, 257,-138, 257, -193,-195, -2, -2, -2, -2, 257, 257, -2, -2, -2, 59, 59, -2, 59, 59, 59, -2, 59, 59, 59, 59, -2, 59, -2, 59, 59, 59, -2, -2, 257, 59, 59, 59, 59, -2, 59, 59, 59, 59, 59, -2, 59, 59, 257, 59, 59, 59, -2, 59, -2, 59, 391, 59, 59, 59, 59, 257, 59, -2, -2, -2, -2, 123, -5, 425, 426, 427, 428, 429, -2, -2, 59, -4, 402, 403, 404, -2, -2, 59, 59, 59, 256,-230, 259, 59, 59, 59, 257, -2, -2, 59, 257, -2, 380, 379, 257, 59, -21, -26, 257,-240, -31, -22, -34, 350, 353, 59, -2, -2, 59, -2, -2, 59,-139,-134, 59,-144, 59, 123, -161, 123,-167,-164,-144,-184,-186, 440,-191,-194, -196, 259, -2, -2, -2,-201, 257, 59, 59, -2, -2, -2, -2, -2, -2, -2, 59, -2, -2, 59, 59, 59,-222, -4, -6, 405, 406, 407, -2, -2, -2, -2, -4, -2, -2, 59, -2, -2, 59,-231, 259,-232, -2, -2, -2, 257, -7, 408, 409, 59, 123, -2, -27, -22, 261, 59, 59, 398, 399, 400, 401, 436, 437, 438, 439, 435, 59,-234, -2, -2, -2, 59,-140,-141, 371, 373, 59,-140,-141,-146, -147,-148,-149, 372, 374, 376, 375,-162,-132,-165, -168,-134, 59,-138,-187,-190,-192, 59, 441, 442, 443, 59, 441, 442, 443, 445, 59, 259, -2, 257, -202, 257, 59, 59, 59, 59, 59, -2, -2, 59, 59, 123, 59, -4, -2, -2, -2, -2, 59, -2, -2, -2, -2, 59,-233, -19, -2, -2, 59, -9, 415, 416, 59, -2, -2, 59, 257, 59, 257, -2, -150,-151,-152,-153,-154,-155,-132, 125,-134, 59, -169,-170,-171,-172,-173,-174,-175, 371, 373, 372, 378, 374, 376, 375, 125,-144, 59,-188,-140,-141, -146,-147,-148,-149, 378, 123, 59, 441, 442, 443, 444, 123, 123, 123, 123, 123, 59, 446, -2, 257, -203, -2, 257, -2, -2,-135, 59, -4, -4, -4, -2, -2, -2, -2, -2, -19, 464, -2, -10, 417, 418, -2, -2, 257, -13, 433, 434, 123, 123, 123, 123, 123, 123, 125, 125,-176,-177,-178,-179,-180, -181,-182, 59,-189,-158, 123, 123, 123, 123, -2, -2, -2, -2, -2, 123, -2, -15, 447, 448, 449, 450, 451, 452, 453, 454, 404, 455, 456, 457, 458, -204, 362,-207, -2, -2, 257, 125, 59, 59, 59, -2, 125, 125, -2, -7, 464, -11, 419, 420, -2, -237, 386, 387, 388, 389, 257,-134,-135,-134,-134, -135,-134, 123, 123, 123, 123, 123, 123, 123, 123, 123, 125,-159, -2, -2, -2, -2, 125, -2, 125, -2, -2, 259, -14, 459, 460, 461, 462,-205,-206, -202, -2, -2,-223, 125, 123, 123, -2, -2, -2, -2,-238, 390, 123, 123, 123, 431, 125, 125, 125, 125, 125, 125,-163,-158,-163,-158,-134,-135,-134, -158,-160,-135, -2, 125, -2, 125, -2, -2, -2, 59,-197, 59, 123,-208, -2, -2, 392, 123, -2, -2, -2, -2, -2, -2, 59, 123, -2, -2, -2, 257, 432, 125, 125, 125, 125, 125, 125, 125, 125, -135, 125, -2, -2, 125, 125, -2, 123,-202,-209, 59, 59,-224, -2, -2, -2, -2, -2, -2, -2, 257, -2, -2, -2, 125, 125, 125, -2,-198, 125, -210,-211,-212,-213, 364, 365, 366, 123, -2, -2, -2, -2, -2, -2, -2, 125, -2, -2, -2, -2, 125, 257, 59,-219,-220,-214,-135, -2, -2, -2, 59, -2, 59, 125, 125, -2, -2, -2,-199, 439, 123, 123, 123, 125, -2, 125, 125,-226, 59, -2, -2, 125, 59,-200,-202,-202,-215,-225, 125, 123, 123,-227, 410, 125, -2, 59, 123, 125, 125, 125, -216, 367, 59, 123, -2, -2, 59, 123, -2,-135, 123, -2, -2, -2, -2, -2, 125, -3, -2, -2, -2, -2, -2, 257, -2, -2, -2, -2, -2,-217, -2, 125, 125, -2, 125,-202, 125, 123, 123, -8, 411, 412, 413, 414,-218, 123, -2, -2, 125,-204, -2, -2, -2, 125, -2, -2, -2, -2, -2, -2, -2, 125, 125, 125, 59, -4, -4, 59, 59 }; short yydef[]={ 1, -2, -2, 3, 5, 9, 10, 11, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 19, 0, 125, 127, 135, 137, 142, 144, 167, 181, 206, 0, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 433, 0, 0, 0, 446, 6, 22, 0, 0, 0, 0, 146, 0, 146, 0, 0, 146, 0, 146, 0, 231, 237, 0, 458, 459, 0, 0, 0, 0, 280, 281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 317, 318, 319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 380, 381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 409, 0, 411, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 7, 14, 0, 448, 0, 20, 21, 124, 0, 0, 0, 0, 0, 139, 0, 0, 148, 0, 173, 182, 177, 148, 208, 0, 224, 233, 239, 0, 0, 0, 0, 273, 0, 0, 0, 0, 306, 307, 0, 309, 310, 311, 0, 313, 314, 315, 320, 0, 322, 0, 324, 325, 326, 0, 0, 0, 330, 331, 332, 333, 0, 335, 336, 337, 338, 339, 0, 341, 342, 0, 344, 345, 346, 0, 348, 0, 350, 352, 357, 358, 359, 360, 0, 365, 0, 0, 0, 0, 0, 0, 375, 376, 377, 378, 379, 0, 0, 384, 0, 362, 363, 364, 0, 0, 397, 398, 399, 0, 403, 405, 410, 412, 420, 0, 0, 0, 424, 0, 0, 0, 0, 0, 18, 8, 0, 0, 0, 17, 23, 24, 0, 414, 126, 0, 129, 128, 0, 0, 136, 0, 147, 143, 0, 168, 175, 0, 179, 184, 0, 0, 146, 212, 222, 226, 0, 0, 0, 0, 0, 0, 282, 0, 303, 304, 0, 0, 0, 0, 0, 0, 0, 329, 0, 0, 343, 347, 349, 0, 0, 0, 367, 368, 369, 0, 0, 0, 0, 0, 0, 0, 385, 0, 0, 401, 0, 407, 0, 0, 0, 0, 0, 0, 389, 390, 442, 0, 0, 12, 15, 0, 13, 447, 449, 450, 451, 452, 453, 454, 455, 456, 0, 25, 0, 130, 0, 131, 138, 140, 141, 155, 157, 145, 149, 150, 151, 152, 153, 154, 159, 161, 163, 165, 0, 0, 0, 0, 0, 207, 148, 0, 0, 0, 232, 234, 0, 0, 238, 240, 0, 0, 0, 244, 0, 0, 0, 274, 0, 305, 308, 312, 321, 323, 0, 0, 334, 340, 133, 361, 0, 0, 0, 0, 0, 374, 0, 0, 0, 0, 404, 0, 0, 0, 421, 423, 0, 426, 427, 432, 0, 0, 16, 0, 413, 0, 132, 0, 0, 0, 0, 0, 0, 0, 174, 0, 183, 185, 186, 187, 188, 189, 190, 191, 192, 194, 196, 198, 200, 202, 204, 178, 0, 211, 213, 214, 215, 216, 217, 218, 219, 220, 0, 225, 227, 0, 0, 0, 0, 0, 0, 0, 0, 245, 0, 0, 250, 277, 283, 284, 0, 0, 0, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 406, 422, 0, 428, 429, 0, 435, 457, 0, 418, 419, 0, 133, 0, 0, 133, 0, 176, 180, 0, 0, 0, 0, 0, 0, 0, 209, 0, 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 275, 278, 282, 0, 0, 134, 353, 370, 371, 372, 0, 0, 0, 0, 0, 408, 0, 430, 431, 0, 440, 436, 0, 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 171, 223, 133, 0, 0, 0, 0, 236, 0, 242, 0, 0, 0, 248, 264, 265, 266, 267, 0, 0, 285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 156, 158, 160, 162, 164, 166, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 229, 0, 235, 0, 0, 0, 247, 0, 276, 282, 288, 0, 0, 354, 0, 0, 0, 0, 0, 0, 0, 434, 0, 0, 0, 0, 416, 417, 193, 195, 197, 199, 201, 203, 205, 221, 0, 170, 0, 0, 241, 243, 0, 268, 0, 286, 327, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 228, 230, 0, 0, 279, 0, 289, 290, 291, 299, 301, 292, 133, 0, 0, 0, 0, 0, 0, 0, 441, 0, 0, 0, 0, 270, 269, 287, 0, 0, 0, 0, 0, 0, 0, 386, 387, 425, 0, 437, 0, 0, 0, 0, 271, 282, 282, 294, 355, 0, 0, 0, 391, 443, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 438, 0, 246, 133, 300, 302, 293, 295, 0, 356, 0, 0, 0, 388, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 0, 0, 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, 282, 0, 0, 0, 0, 439, 297, 0, 0, 0, 0, 393, 394, 395, 396, 277, 0, 0, 0, 392, 0, 0, 0, 0, 298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, 0, 383, 373 }; /* static char yaccpar_sccsid[] = "@(#) bifparse.c,v 1.3 91/01/17 10:17:23 mikec Exp"; */ # # define YYFLAG -1000 # define YYERROR goto yyerrlab # define YYACCEPT return(0) # define YYABORT return(1) /* parser for yacc output */ #ifdef YYDEBUG int yydebug = 0; /* 1 for debugging */ #endif YYSTYPE yyv[YYMAXDEPTH]; /* where the values are stored */ int yychar = -1; /* current input token number */ int yynerrs = 0; /* number of errors */ short yyerrflag = 0; /* error recovery flag */ yyparse() { short yys[YYMAXDEPTH]; short yyj, yym; register YYSTYPE *yypvt; register short yystate, *yyps, yyn; register YYSTYPE *yypv; register short *yyxi; yystate = 0; yychar = -1; yynerrs = 0; yyerrflag = 0; yyps= &yys[-1]; yypv= &yyv[-1]; yystack: /* put a state and value onto the stack */ #ifdef YYDEBUG if( yydebug ) printf( "state %d, char 0%o\n", yystate, yychar ); #endif if( ++yyps> &yys[YYMAXDEPTH] ) { yyerror( "yacc stack overflow" ); return(1); } *yyps = yystate; ++yypv; *yypv = yyval; yynewstate: yyn = yypact[yystate]; if( yyn<= YYFLAG ) goto yydefault; /* simple state */ if( yychar<0 ) if( (yychar=yylex())<0 ) yychar=0; if( (yyn += yychar)<0 || yyn >= YYLAST ) goto yydefault; if( yychk[ yyn=yyact[ yyn ] ] == yychar ){ /* valid shift */ yychar = -1; yyval = yylval; yystate = yyn; if( yyerrflag > 0 ) --yyerrflag; goto yystack; } yydefault: /* default state action */ if( (yyn=yydef[yystate]) == -2 ) { if( yychar<0 ) if( (yychar=yylex())<0 ) yychar = 0; /* look through exception table */ for( yyxi=yyexca; (*yyxi!= (-1)) || (yyxi[1]!=yystate) ; yyxi += 2 ) ; /* VOID */ while( *(yyxi+=2) >= 0 ){ if( *yyxi == yychar ) break; } if( (yyn = yyxi[1]) < 0 ) return(0); /* accept */ } if( yyn == 0 ){ /* error */ /* error ... attempt to resume parsing */ switch( yyerrflag ){ case 0: /* brand new error */ yyerrlab: yyerror( "syntax error" ); ++yynerrs; case 1: case 2: /* incompletely recovered error ... try again */ yyerrflag = 3; /* find a state where "error" is a legal shift action */ while ( yyps >= yys ) { yyn = yypact[*yyps] + YYERRCODE; if( yyn>= 0 && yyn < YYLAST && yychk[yyact[yyn]] == YYERRCODE ){ yystate = yyact[yyn]; /* simulate a shift of "error" */ goto yystack; } yyn = yypact[*yyps]; /* the current yyps has no shift onn "error", pop stack */ #ifdef YYDEBUG if( yydebug ) printf( "error recovery pops state %d, uncovers %d\n", *yyps, yyps[-1] ); #endif --yyps; --yypv; } /* there is no state on the stack with an error shift ... abort */ yyabort: return(1); case 3: /* no shift yet; clobber input char */ #ifdef YYDEBUG if( yydebug ) printf( "error recovery discards char %d\n", yychar ); #endif if( yychar == 0 ) goto yyabort; /* don't discard EOF, quit */ yychar = -1; goto yynewstate; /* try again in the same state */ } } /* reduction by production yyn */ #ifdef YYDEBUG if( yydebug ) printf("reduce %d\n",yyn); #endif yyps -= yyr2[yyn]; yypvt = yypv; yypv -= yyr2[yyn]; yyval = yypv[1]; yym=yyn; /* consult goto table to find next state */ yyn = yyr1[yyn]; yyj = yypgo[yyn] + *yyps + 1; if( yyj>=YYLAST || yychk[ yystate = yyact[yyj] ] != -yyn ) yystate = yyact[yypgo[yyn]]; switch(yym){ case 2: # line 389 "bifparse.y" { close_reportfile(); } break; case 3: # line 391 "bifparse.y" { close_reportfile(); } break; case 4: # line 393 "bifparse.y" { close_reportfile(); } break; case 13: # line 413 "bifparse.y" { (void)bif_begstr(yypvt[-1].l); } break; case 16: # line 422 "bifparse.y" { (void)bif_endstr(); } break; case 18: # line 429 "bifparse.y" { (void)bif_begintest(yypvt[-1].l); } break; case 25: # line 442 "bifparse.y" { (void)bif_endtest(); } break; case 124: # line 550 "bifparse.y" { (void)bif_label(yypvt[-1].l); } break; case 125: # line 554 "bifparse.y" { (void) bif_marker(BIF_P_BEGIN); } break; case 126: # line 556 "bifparse.y" { (void)bif_marker(BIF_P_END ); } break; case 127: # line 560 "bifparse.y" { (void)bif_marker3(BIF_P_BEGIN); } break; case 128: # line 562 "bifparse.y" { (void)bif_marker3(BIF_P_END ); } break; case 129: # line 566 "bifparse.y" { (void)bif_pair(yypvt[-1].f,yypvt[-0].f); /* rev 0.8 */ } break; case 130: # line 570 "bifparse.y" {(void)bif_pair(yypvt[-1].f,yypvt[-0].f); } break; case 131: # line 574 "bifparse.y" { (void)bif_triplet(yypvt[-2].f,yypvt[-1].f,yypvt[-0].f); } break; case 132: # line 578 "bifparse.y" {(void)bif_triplet(yypvt[-2].f,yypvt[-1].f,yypvt[-0].f);} break; case 134: # line 583 "bifparse.y" { bif_intlist(yypvt[-0].l); } break; case 135: # line 587 "bifparse.y" { (void) bif_line(BIF_P_BEGIN); } break; case 136: # line 590 "bifparse.y" { (void)bif_line(BIF_P_END ); } break; case 137: # line 594 "bifparse.y" { bif_line3(BIF_P_BEGIN); not_repeated(-1); with_data_name = "LINE3"; } break; case 138: # line 600 "bifparse.y" { not_repeated(-1); bif_line3(BIF_P_END ); } break; case 142: # line 613 "bifparse.y" { (void) bif_polygon(BIF_P_BEGIN); } break; case 143: # line 616 "bifparse.y" { (void)bif_polygon(BIF_P_END ); } break; case 144: # line 620 "bifparse.y" { bif_polygon3 (BIF_P_BEGIN); not_repeated(-1); with_data_name = "POLYGON3"; } break; case 145: # line 626 "bifparse.y" { not_repeated(-1); (void)bif_polygon3 (BIF_P_END ); } break; case 146: # line 632 "bifparse.y" { (void)bif_group(VERTEX_COORDINATES); } break; case 147: # line 634 "bifparse.y" { (void)bif_group(BIF_END_OF_GROUP); } break; case 155: # line 647 "bifparse.y" { if(not_repeated(1)) bif_group(VERTEX_COLORS); else { (void)bif_group(IGNORE_GROUP); WD3B_error("VERTEX_COLORS"); } } break; case 156: # line 657 "bifparse.y" { (void)bif_group(BIF_END_OF_GROUP); } break; case 157: # line 661 "bifparse.y" { if(not_repeated(2)) bif_group(VERTEX_COLOR_INDICES); else { (void)bif_group(IGNORE_GROUP); WD3B_error("VERTEX_COLOR_INDICES"); } } break; case 158: # line 671 "bifparse.y" { (void)bif_group(BIF_END_OF_GROUP); } break; case 159: # line 676 "bifparse.y" { if(not_repeated(3)) bif_group(VERTEX_NORMALS); else { (void)bif_group(IGNORE_GROUP); WD3B_error("VERTEX_NORMALS"); } } break; case 160: # line 686 "bifparse.y" { (void)bif_group(BIF_END_OF_GROUP); } break; case 161: # line 691 "bifparse.y" { if(not_repeated(4)) bif_group(FACET_COLORS); else { (void)bif_group(IGNORE_GROUP); WD3B_error("FACET_COLORS"); } } break; case 162: # line 701 "bifparse.y" { (void)bif_group(BIF_END_OF_GROUP); } break; case 163: # line 706 "bifparse.y" { if(not_repeated(5)) bif_group(FACET_COLOR_INDICES); else { (void)bif_group(IGNORE_GROUP); WD3B_error("FACET_COLOR_INDICES"); } } break; case 164: # line 716 "bifparse.y" { (void)bif_group(BIF_END_OF_GROUP); } break; case 165: # line 721 "bifparse.y" { if(not_repeated(6)) bif_group(FACET_NORMALS); else { (void)bif_group(IGNORE_GROUP); WD3B_error("FACET_NORMALS"); } } break; case 166: # line 731 "bifparse.y" { (void)bif_group(BIF_END_OF_GROUP); } break; case 167: # line 737 "bifparse.y" { (void)bif_faset (BIF_P_BEGIN); /* rev 0.8 */ (void)bif_group(VERTEX_COORDINATES); } break; case 168: # line 743 "bifparse.y" { (void)bif_group(BIF_END_OF_GROUP); (void)bif_faset (BIF_P_END ); } break; case 169: # line 750 "bifparse.y" { (void)bif_contour(BIF_P_BEGIN); } break; case 170: # line 753 "bifparse.y" { (void)bif_contour(BIF_P_END ); } break; case 171: # line 756 "bifparse.y" { (void)bif_contour(BIF_P_BEGIN); } break; case 172: # line 759 "bifparse.y" { (void)bif_contour(BIF_P_END ); } break; case 173: # line 763 "bifparse.y" { (void)bif_contour(BIF_P_BEGIN); } break; case 174: # line 766 "bifparse.y" { (void)bif_contour(BIF_P_END ); } break; case 175: # line 769 "bifparse.y" { (void)bif_contour(BIF_P_BEGIN); } break; case 176: # line 772 "bifparse.y" { (void)bif_contour(BIF_P_END ); } break; case 177: # line 776 "bifparse.y" { (void)bif_contour(BIF_P_BEGIN); } break; case 178: # line 779 "bifparse.y" { (void)bif_contour(BIF_P_END ); } break; case 179: # line 782 "bifparse.y" { (void)bif_contour(BIF_P_BEGIN); } break; case 180: # line 785 "bifparse.y" { (void)bif_contour(BIF_P_END ); } break; case 181: # line 789 "bifparse.y" { (void)bif_faset3(BIF_P_BEGIN); (void)bif_group(VERTEX_COORDINATES); } break; case 182: # line 794 "bifparse.y" { (void)bif_group(BIF_END_OF_GROUP); (void)not_repeated(-1); } break; case 183: # line 799 "bifparse.y" { (void)not_repeated(-1); (void)bif_faset3 (BIF_P_END ); } break; case 192: # line 816 "bifparse.y" { if(not_repeated(1)) (void)bif_group(VERTEX_COLORS); else { (void)bif_group(IGNORE_GROUP); /*rev 0.8*/ yyerror(FAS_ERM1); } } break; case 193: # line 825 "bifparse.y" { (void)bif_group(BIF_END_OF_GROUP); } break; case 194: # line 829 "bifparse.y" { if(not_repeated(2)) (void)bif_group(VERTEX_COLOR_INDICES); else { (void)bif_group(IGNORE_GROUP); /*rev 0.8*/ yyerror(FAS_ERM2); } } break; case 195: # line 838 "bifparse.y" { (void)bif_group(BIF_END_OF_GROUP); } break; case 196: # line 842 "bifparse.y" { if(not_repeated(3)) (void)bif_group(VERTEX_NORMALS); else { (void)bif_group(IGNORE_GROUP); yyerror(FAS_ERM3); } } break; case 197: # line 851 "bifparse.y" { (void)bif_group(BIF_END_OF_GROUP); } break; case 198: # line 855 "bifparse.y" { if(not_repeated(4)) (void)bif_group(EDGE_VISIBILITY); else { (void)bif_group(IGNORE_GROUP); yyerror(FAS_ERM4); } } break; case 199: # line 864 "bifparse.y" { (void)bif_group(BIF_END_OF_GROUP); } break; case 200: # line 868 "bifparse.y" { if(not_repeated(5)) (void)bif_group(FACET_COLORS); else { (void)bif_group(IGNORE_GROUP); yyerror(FAS_ERM5); } } break; case 201: # line 877 "bifparse.y" { (void)bif_group(BIF_END_OF_GROUP); } break; case 202: # line 881 "bifparse.y" { if(not_repeated(6)) (void)bif_group(FACET_COLOR_INDICES); else { (void)bif_group(IGNORE_GROUP); yyerror(FAS_ERM6); } } break; case 203: # line 890 "bifparse.y" { (void)bif_group(BIF_END_OF_GROUP); } break; case 204: # line 894 "bifparse.y" { if(not_repeated(7)) (void)bif_group(FACET_NORMALS); else { (void)bif_group(IGNORE_GROUP); yyerror(FAS_ERM7); } } break; case 205: # line 903 "bifparse.y" { (void)bif_group(BIF_END_OF_GROUP); } break; case 206: # line 908 "bifparse.y" { bif_triangle3 (BIF_P_BEGIN);/* rev 0.8 */ not_repeated(-1); with_data_name = "TRIANGLE3"; } break; case 207: # line 914 "bifparse.y" { not_repeated(-1); (void)bif_triangle3 (BIF_P_END ); } break; case 208: # line 922 "bifparse.y" { (void)bif_quad_mesh3 (BIF_P_BEGIN);/*rev 0.8*/ (void)bif_quadmeshorder(yypvt[-1].l,yypvt[-0].l); /*rev 0.8*/ not_repeated(-1); with_data_name = "QUAD_MESH3"; } break; case 209: # line 929 "bifparse.y" { not_repeated(-1); (void)bif_quad_mesh3 (BIF_P_END ); } break; case 210: # line 936 "bifparse.y" { bif_indexpoly3 (BIF_P_BEGIN); /* rev 0.8 */ not_repeated(-1); with_data_name = "INDEX_POLYGON3"; } break; case 211: # line 944 "bifparse.y" { not_repeated(-1); (void)bif_indexpoly3 (BIF_P_END ); } break; case 220: # line 962 "bifparse.y" { if(not_repeated(7)) bif_group(EDGE_VISIBILITY); else { (void)bif_group(IGNORE_GROUP); WD3B_error("EDGE_VISIBILITY"); } } break; case 221: # line 972 "bifparse.y" { (void)bif_group(BIF_END_OF_GROUP); } break; case 222: # line 978 "bifparse.y" {(void)bif_group(FACET_CONNECTIVITY);} break; case 223: # line 981 "bifparse.y" {(void)bif_group(BIF_END_OF_GROUP); } break; case 224: # line 986 "bifparse.y" { (void)bif_sphere3(BIF_P_BEGIN); /* rev 0.8 */ (void)bif_sphereorder(yypvt[-1].l,yypvt[-0].l); (void)not_repeated(-1); } break; case 225: # line 993 "bifparse.y" { (void)not_repeated(-1); (void)bif_sphere3(BIF_P_END); } break; case 227: # line 1001 "bifparse.y" { bif_exact(TRUE); } break; case 228: # line 1006 "bifparse.y" { if(not_repeated(1)) bif_center(yypvt[-3].f,yypvt[-2].f,yypvt[-1].f); /* rev 0.8 */ else yyerror(GS_ERM1); } break; case 229: # line 1013 "bifparse.y" { if(not_repeated(2)) bif_radius(yypvt[-1].f); /* rev 0.8 */ else yyerror(GS_ERM2); } break; case 230: # line 1020 "bifparse.y" { if(not_repeated(3)) bif_scalefactors(yypvt[-3].f,yypvt[-2].f,yypvt[-1].f); /* rev 0.8 */ else yyerror(GS_ERM3); } break; case 231: # line 1029 "bifparse.y" { (void)bif_gencircle(BIF_P_BEGIN); /*rev 0.8*/ (void)bif_circleedges(yypvt[-0].l); /* rev 0.8 */ (void)not_repeated(-1); } break; case 232: # line 1036 "bifparse.y" { (void)not_repeated(-1); (void)bif_gencircle(BIF_P_END); } break; case 234: # line 1044 "bifparse.y" { bif_exact(TRUE); } break; case 235: # line 1049 "bifparse.y" { if(not_repeated(1)) bif_center(yypvt[-2].f,yypvt[-1].f,0.0); /* rev 0.8 */ else yyerror(GC_ERM1); } break; case 236: # line 1056 "bifparse.y" { if(not_repeated(2)) bif_radius(yypvt[-1].f); /* rev 0.8 */ else yyerror(GC_ERM2); } break; case 237: # line 1065 "bifparse.y" { (void)bif_gencircle3(BIF_P_BEGIN);/*rev 0.8*/ (void)bif_circleedges(yypvt[-0].l); /* rev 0.8 +3 */ (void)not_repeated(-1); } break; case 238: # line 1072 "bifparse.y" { (void)not_repeated(-1); (void)bif_gencircle3(BIF_P_END); } break; case 240: # line 1080 "bifparse.y" { bif_exact(TRUE); } break; case 241: # line 1085 "bifparse.y" { if(not_repeated(1)) bif_center(yypvt[-3].f,yypvt[-2].f,yypvt[-1].f); /* rev 0.8 */ else yyerror(GC3_ERM1); } break; case 242: # line 1092 "bifparse.y" { if(not_repeated(2)) bif_radius(yypvt[-1].f); /* rev 0.8 */ else yyerror(GC3_ERM2); } break; case 243: # line 1099 "bifparse.y" { if(not_repeated(3)) bif_normal(yypvt[-3].f,yypvt[-2].f,yypvt[-1].f); /* rev 0.8 */ else yyerror(GC3_ERM3); } break; case 244: # line 1110 "bifparse.y" {bif_text(yypvt[-3].f,yypvt[-2].f,yypvt[-1].str);} break; case 245: # line 1117 "bifparse.y" { (void)bif_text3(yypvt[-4].f,yypvt[-3].f,yypvt[-2].f,yypvt[-1].str, /*rev 0.8 delta*/ FALSE,0.,0.,0.,0.,0.,0.); } break; case 246: # line 1128 "bifparse.y" { (void)bif_text3(yypvt[-13].f,yypvt[-12].f,yypvt[-11].f,yypvt[-10].str, /*rev 0.8 delta*/ TRUE,yypvt[-7].f,yypvt[-6].f,yypvt[-5].f,yypvt[-4].f,yypvt[-3].f,yypvt[-2].f);} break; case 247: # line 1137 "bifparse.y" {bif_annotationtext(yypvt[-7].f,yypvt[-6].f,yypvt[-5].f, /* rev 0.8 */ yypvt[-4].f,yypvt[-3].f,yypvt[-2].f,yypvt[-1].str);} break; case 248: # line 1154 "bifparse.y" { bif_pixelmap3(BIF_P_BEGIN, yypvt[-6].f,yypvt[-5].f,yypvt[-4].f, yypvt[-3].l,yypvt[-2].l,yypvt[-1].l,yypvt[-0].l); } break; case 249: # line 1161 "bifparse.y" { bif_pixelmap3(BIF_P_END, 0,0,0,0,0,0,0 ); } break; case 250: # line 1167 "bifparse.y" { yyval.l = REPLACE ; } break; case 251: # line 1168 "bifparse.y" {yyval.l=ADD;} break; case 252: # line 1169 "bifparse.y" {yyval.l=AND;} break; case 253: # line 1170 "bifparse.y" {yyval.l=CLEAR;} break; case 254: # line 1171 "bifparse.y" {yyval.l=INVERT;} break; case 255: # line 1172 "bifparse.y" {yyval.l=NAND;} break; case 256: # line 1173 "bifparse.y" {yyval.l=NOOP;} break; case 257: # line 1174 "bifparse.y" {yyval.l=NOR;} break; case 258: # line 1175 "bifparse.y" {yyval.l=OR;} break; case 259: # line 1176 "bifparse.y" {yyval.l=REPLACE;} break; case 260: # line 1177 "bifparse.y" {yyval.l=SET;} break; case 261: # line 1178 "bifparse.y" {yyval.l=SUBTRACT_DEST;} break; case 262: # line 1179 "bifparse.y" {yyval.l=SUBTRACT_SOURCE;} break; case 263: # line 1180 "bifparse.y" {yyval.l=XOR;} break; case 264: # line 1184 "bifparse.y" { yyval.l = PIXEL_VALUES ; } break; case 265: # line 1186 "bifparse.y" { yyval.l = INTENSITY_VALUES ; } break; case 266: # line 1188 "bifparse.y" { yyval.l = PIXEL_VALUE_SEGMENTS ; } break; case 267: # line 1190 "bifparse.y" { yyval.l = INTENSITY_VALUE_SEGMENTS ; } break; case 269: # line 1195 "bifparse.y" { bif_fillpixelbuffer(yypvt[-0].l); } break; case 271: # line 1200 "bifparse.y" { bif_group(PSEUDO_COLOR); } break; case 272: # line 1202 "bifparse.y" { bif_group(BIF_END_OF_GROUP); } break; case 273: # line 1210 "bifparse.y" { (void)bif_nubc(BIF_P_BEGIN); /*rev1.0*/ (void)bif_nubcholder(yypvt[-1].l,yypvt[-0].l); /*rev1.0*/ (void)bif_group(CTRL_POINTS); /* rev 1.0 CTRL_POINTS*/ } break; case 274: # line 1219 "bifparse.y" { (void)bif_group(BIF_END_OF_GROUP); } break; case 275: # line 1223 "bifparse.y" { (void)bif_nubc (BIF_P_END); /*rev 1.0*/ } break; case 278: # line 1233 "bifparse.y" { (void)bif_group(KNOTS); /* rev 1.0 KNOTS*/ } break; case 279: # line 1239 "bifparse.y" { (void)bif_group(BIF_END_OF_GROUP); } break; case 280: # line 1244 "bifparse.y" { yyval.l = RATIONAL; } break; case 281: # line 1245 "bifparse.y" { yyval.l = NON_RATIONAL; } break; case 283: # line 1250 "bifparse.y" { bif_real_list(yypvt[-0].f); } break; case 284: # line 1262 "bifparse.y" { (void)bif_nubs(BIF_P_BEGIN); not_repeated(-1); with_data_name = "NON_UNIFORM_BSPLINE_SURFACE"; (void)bif_nubsholder(yypvt[-4].l,yypvt[-3].l, yypvt[-2].l,yypvt[-1].l,yypvt[-0].l); (void)bif_group(CTRL_POINTS); } break; case 285: # line 1272 "bifparse.y" { (void)bif_group(BIF_END_OF_GROUP); } break; case 286: # line 1276 "bifparse.y" { (void)bif_nubs (BIF_P_END ); /* rev 1.0*/ } break; case 292: # line 1290 "bifparse.y" { (void)bif_group(TRIMLOOP); (void)bif_group(BIF_END_OF_GROUP); } break; case 296: # line 1307 "bifparse.y" { (void)bif_group(TRIMCURVE); bif_intlist(yypvt[-1].l); bif_intlist(yypvt[-0].l); (void)bif_group(BIF_END_OF_GROUP); (void)bif_group(CTRL_POINTS); } break; case 297: # line 1315 "bifparse.y" { (void)bif_group(BIF_END_OF_GROUP); } break; case 299: # line 1323 "bifparse.y" { if(not_repeated(1)) bif_group(UKNOTS); /* rev 1.0 UKNOTS*/ else { (void)bif_group(IGNORE_GROUP); WD3B_error("VERTEX_COLORS"); } } break; case 300: # line 1334 "bifparse.y" { (void)bif_group(BIF_END_OF_GROUP); } break; case 301: # line 1340 "bifparse.y" { if(not_repeated(2)) bif_group(VKNOTS); /* rev 1.0 VKNOTS*/ else { (void)bif_group(IGNORE_GROUP); WD3B_error("VERTEX_COLORS"); } } break; case 302: # line 1351 "bifparse.y" { (void)bif_group(BIF_END_OF_GROUP); } break; case 303: # line 1363 "bifparse.y" { bif_curve_approx_criteria (yypvt[-2].l,yypvt[-1].f); } break; case 304: # line 1375 "bifparse.y" { bif_trimcurve_approx_criteria (yypvt[-2].l,yypvt[-1].f); } break; case 305: # line 1388 "bifparse.y" { bif_surface_approx_criteria (yypvt[-3].l,yypvt[-2].f,yypvt[-1].f); } break; case 306: # line 1397 "bifparse.y" { (void)bif_mktype(yypvt[-1].l); } break; case 307: # line 1402 "bifparse.y" { (void)bif_mkscale(yypvt[-1].f); } break; case 308: # line 1407 "bifparse.y" { (void) bif_mkcolor(yypvt[-3].f,yypvt[-2].f,yypvt[-1].f); } break; case 309: # line 1413 "bifparse.y" { (void)bif_mkcolorindex(yypvt[-1].l); } break; case 310: # line 1418 "bifparse.y" { (void)bif_linetype(yypvt[-1].l); } break; case 311: # line 1423 "bifparse.y" { (void)bif_linewidth(yypvt[-1].f); } break; case 312: # line 1428 "bifparse.y" { (void) bif_linecolor(yypvt[-3].f,yypvt[-2].f,yypvt[-1].f); } break; case 313: # line 1434 "bifparse.y" { (void)bif_linecolorindex(yypvt[-1].l); } break; case 314: # line 1439 "bifparse.y" { (void) bif_lineshading(yypvt[-1].l); } break; case 315: # line 1445 "bifparse.y" { (void) bif_intstyle(yypvt[-1].l); } break; case 316: # line 1449 "bifparse.y" { yyval.l = HOLLOW ; } break; case 317: # line 1450 "bifparse.y" { yyval.l = SOLID ; } break; case 318: # line 1451 "bifparse.y" { yyval.l = PATTERN; } break; case 319: # line 1452 "bifparse.y" { yyval.l = EMPTY ; } break; case 320: # line 1457 "bifparse.y" { (void)bif_intpatternindex(yypvt[-1].l);/* rev 0.8 */ } break; case 321: # line 1464 "bifparse.y" { (void)bif_intcolor(yypvt[-3].f,yypvt[-2].f,yypvt[-1].f);/* rev 0.8 */ } break; case 322: # line 1471 "bifparse.y" { (void)bif_intcolorindex(yypvt[-1].l); } break; case 323: # line 1476 "bifparse.y" { (void) bif_bkfintcolor(yypvt[-3].f,yypvt[-2].f,yypvt[-1].f); } break; case 324: # line 1483 "bifparse.y" { (void) bif_bkfintcolorindex(yypvt[-1].l); } break; case 325: # line 1490 "bifparse.y" { (void)bif_intshade(yypvt[-1].l); } break; case 326: # line 1495 "bifparse.y" { (void)bif_intlight(yypvt[-1].l); } break; case 327: # line 1503 "bifparse.y" { (void)bif_surfprop(yypvt[-8].f,yypvt[-7].f, yypvt[-6].f,yypvt[-5].f,yypvt[-4].f,yypvt[-3].f, yypvt[-2].f,yypvt[-1].f); } break; case 328: # line 1513 "bifparse.y" { (void)bif_bkfprop(yypvt[-8].f,yypvt[-7].f, /* rev 0.8 */ yypvt[-6].f,yypvt[-5].f,yypvt[-4].f,yypvt[-3].f, yypvt[-2].f,yypvt[-1].f); } break; case 329: # line 1520 "bifparse.y" { (void) bif_bkfprocessing(yypvt[-2].l,yypvt[-1].l); } break; case 330: # line 1527 "bifparse.y" { (void)bif_edgeflag(ENABLE ); } break; case 331: # line 1530 "bifparse.y" { (void)bif_edgeflag(DISABLE ); } break; case 332: # line 1535 "bifparse.y" { (void)bif_edgetype(yypvt[-1].l);} break; case 333: # line 1540 "bifparse.y" { (void)bif_edgewidth(yypvt[-1].f); } break; case 334: # line 1545 "bifparse.y" { (void)bif_edgecolor(yypvt[-3].f,yypvt[-2].f,yypvt[-1].f);/* rev 0.8 */ } break; case 335: # line 1552 "bifparse.y" { (void)bif_edgecolorindex(yypvt[-1].l);/* rev 0.8 */ } break; case 336: # line 1559 "bifparse.y" { (void)bif_textfont(yypvt[-1].l); } break; case 337: # line 1564 "bifparse.y" { (void)bif_textprec(STRING ); } break; case 338: # line 1567 "bifparse.y" { (void)bif_textprec(CHAR ); } break; case 339: # line 1570 "bifparse.y" { (void)bif_textprec(STROKE ); } break; case 340: # line 1575 "bifparse.y" { (void) bif_textcolor(yypvt[-3].f,yypvt[-2].f,yypvt[-1].f); } break; case 341: # line 1582 "bifparse.y" { (void)bif_textcolorindex(yypvt[-1].l); } break; case 342: # line 1587 "bifparse.y" { (void)bif_textpath(yypvt[-1].l); } break; case 343: # line 1593 "bifparse.y" { (void)bif_textalign(yypvt[-2].l, yypvt[-1].l); } break; case 344: # line 1599 "bifparse.y" { (void)bif_charheight(yypvt[-1].f); } break; case 345: # line 1604 "bifparse.y" { (void)bif_charexp(yypvt[-1].f); } break; case 346: # line 1609 "bifparse.y" { (void)bif_charspace(yypvt[-1].f); } break; case 347: # line 1616 "bifparse.y" { (void)bif_charupvector(yypvt[-2].f, yypvt[-1].f); } break; case 348: # line 1621 "bifparse.y" { (void) bif_annotextcharheight(yypvt[-1].f); } break; case 349: # line 1627 "bifparse.y" { (void) bif_annotextcharupvector(yypvt[-2].f,yypvt[-1].f); } break; case 350: # line 1633 "bifparse.y" { (void) bif_annotextstyle(yypvt[-1].l); } break; case 351: # line 1642 "bifparse.y" {(void)bif_lightstate(BIF_P_BEGIN);} break; case 352: # line 1644 "bifparse.y" {(void)bif_group(ACTIVATE_LIST);} break; case 353: # line 1646 "bifparse.y" {(void)bif_group(BIF_END_OF_GROUP);} break; case 354: # line 1648 "bifparse.y" {(void)bif_group(DEACTIVATE_LIST);} break; case 355: # line 1650 "bifparse.y" {(void)bif_group(BIF_END_OF_GROUP);} break; case 356: # line 1652 "bifparse.y" {(void)bif_lightstate(BIF_P_END );} break; case 357: # line 1657 "bifparse.y" { (void) bif_depthcueindex(yypvt[-1].l); } break; case 358: # line 1664 "bifparse.y" {(void)bif_hlhsremoval(HLHS_DISABLE);} break; case 359: # line 1668 "bifparse.y" {(void)bif_hlhsremoval(HLHS_ENABLE);} break; case 360: # line 1675 "bifparse.y" {(void)bif_identity3(yypvt[-1].l);} break; case 361: # line 1681 "bifparse.y" {(void)bif_concatmatrix3(yypvt[-3].l,yypvt[-2].l,yypvt[-1].l);} break; case 362: # line 1684 "bifparse.y" { yyval.l = PRECONCAT; } break; case 363: # line 1685 "bifparse.y" { yyval.l = POSTCONCAT; } break; case 364: # line 1686 "bifparse.y" { yyval.l = REPLACE; } break; case 365: # line 1692 "bifparse.y" {(void)bif_invertmatrix3(yypvt[-1].l);} break; case 366: # line 1701 "bifparse.y" {(void)bif_rotate3(yypvt[-4].l,yypvt[-3].f,yypvt[-2].l,yypvt[-1].l);} break; case 367: # line 1704 "bifparse.y" { yyval.l = X_AXIS; } break; case 368: # line 1705 "bifparse.y" { yyval.l = Y_AXIS; } break; case 369: # line 1706 "bifparse.y" { yyval.l = Z_AXIS; } break; case 370: # line 1714 "bifparse.y" {(void)bif_rotatexyz3(yypvt[-5].l,yypvt[-4].f,yypvt[-3].f,yypvt[-2].f,yypvt[-1].l);} break; case 371: # line 1722 "bifparse.y" {(void)bif_translate3(yypvt[-5].l,yypvt[-4].f,yypvt[-3].f,yypvt[-2].f,yypvt[-1].l);} break; case 372: # line 1730 "bifparse.y" {(void)bif_scale3(yypvt[-5].l,yypvt[-4].f,yypvt[-3].f,yypvt[-2].f,yypvt[-1].l);} break; case 373: # line 1749 "bifparse.y" { double amatrix[4][4]; amatrix[0][0] = yypvt[-24].f; amatrix[0][1] = yypvt[-23].f; amatrix[0][2] = yypvt[-22].f; amatrix[0][3] = yypvt[-21].f; amatrix[1][0] = yypvt[-18].f; amatrix[1][1] = yypvt[-17].f; amatrix[1][2] = yypvt[-16].f; amatrix[1][3] = yypvt[-15].f; amatrix[2][0] = yypvt[-12].f; amatrix[2][1] = yypvt[-11].f; amatrix[2][2] = yypvt[-10].f; amatrix[2][3] = yypvt[-9].f; amatrix[3][0] = yypvt[-6].f; amatrix[3][1] = yypvt[-5].f; amatrix[3][2] = yypvt[-4].f; amatrix[3][3] = yypvt[-3].f; (void)bif_matrix3(yypvt[-26].l,amatrix,yypvt[-1].l); } break; case 374: # line 1779 "bifparse.y" { (void)bif_getmatrix3(yypvt[-3].l,yypvt[-2].l,yypvt[-1].l);/* rev 0.8 */ } break; case 375: # line 1785 "bifparse.y" { yyval.l = VIEW_MAPPING; } break; case 376: # line 1787 "bifparse.y" { yyval.l = POSTCONCAT; } break; case 377: # line 1789 "bifparse.y" { yyval.l = GLOBAL_MODELLING; } break; case 378: # line 1791 "bifparse.y" { yyval.l = LOCAL_MODELLING; } break; case 379: # line 1793 "bifparse.y" { yyval.l = COMPOSITE_MODELLING; } break; case 380: # line 1797 "bifparse.y" {(void)bif_pushmatrix3(); } break; case 381: # line 1801 "bifparse.y" {(void)bif_popmatrix3(); } break; case 382: # line 1818 "bifparse.y" { double amatrix[4][4]; amatrix[0][0] = yypvt[-23].f; amatrix[0][1] = yypvt[-22].f; amatrix[0][2] = yypvt[-21].f; amatrix[0][3] = yypvt[-20].f; amatrix[1][0] = yypvt[-17].f; amatrix[1][1] = yypvt[-16].f; amatrix[1][2] = yypvt[-15].f; amatrix[1][3] = yypvt[-14].f; amatrix[2][0] = yypvt[-11].f; amatrix[2][1] = yypvt[-10].f; amatrix[2][2] = yypvt[-9].f; amatrix[2][3] = yypvt[-8].f; amatrix[3][0] = yypvt[-5].f; amatrix[3][1] = yypvt[-4].f; amatrix[3][2] = yypvt[-3].f; amatrix[3][3] = yypvt[-2].f; (void)bif_gtransform3(amatrix); } break; case 383: # line 1860 "bifparse.y" { double amatrix[4][4]; amatrix[0][0] = yypvt[-24].f; amatrix[0][1] = yypvt[-23].f; amatrix[0][2] = yypvt[-22].f; amatrix[0][3] = yypvt[-21].f; amatrix[1][0] = yypvt[-18].f; amatrix[1][1] = yypvt[-17].f; amatrix[1][2] = yypvt[-16].f; amatrix[1][3] = yypvt[-15].f; amatrix[2][0] = yypvt[-12].f; amatrix[2][1] = yypvt[-11].f; amatrix[2][2] = yypvt[-10].f; amatrix[2][3] = yypvt[-9].f; amatrix[3][0] = yypvt[-6].f; amatrix[3][1] = yypvt[-5].f; amatrix[3][2] = yypvt[-4].f; amatrix[3][3] = yypvt[-3].f; (void)bif_ltransform3(amatrix,yypvt[-1].l); } break; case 384: # line 1891 "bifparse.y" {(void)bif_applytoglobal3(yypvt[-1].l);} break; case 385: # line 1898 "bifparse.y" {(void)bif_applytolocal3(yypvt[-2].l,yypvt[-1].l);} break; case 386: # line 1908 "bifparse.y" { double vrp[3],vpn[3],vup[3]; vrp[0] = yypvt[-9].f; vrp[1] = yypvt[-8].f; vrp[2] = yypvt[-7].f; vpn[0] = yypvt[-6].f; vpn[1] = yypvt[-5].f; vpn[2] = yypvt[-4].f; vup[0] = yypvt[-3].f; vup[1] = yypvt[-2].f; vup[2] = yypvt[-1].f; (void)bif_vieworient3(yypvt[-10].l,vrp,vpn,vup); } break; case 387: # line 1933 "bifparse.y" { double prp[3]; (void)bif_viewmap3(BIF_P_BEGIN); prp[0] = yypvt[-4].f; prp[1] = yypvt[-3].f; prp[2] = yypvt[-2].f; (void)bif_viewmapbasic(yypvt[-10].l, yypvt[-9].f, yypvt[-8].f, yypvt[-7].f, yypvt[-6].f, yypvt[-5].l,prp, yypvt[-1].f,yypvt[-0].f ); } break; case 388: # line 1945 "bifparse.y" {(void)bif_viewmap3(BIF_P_END );} break; case 389: # line 1948 "bifparse.y" { yyval.l = PERSPECTIVE; } break; case 390: # line 1949 "bifparse.y" { yyval.l = PARALLEL; } break; case 392: # line 1958 "bifparse.y" { (void)bif_viewmapmatch(yypvt[-5].f,yypvt[-4].f,yypvt[-3].f,yypvt[-2].f,yypvt[-1].l); } break; case 393: # line 1963 "bifparse.y" { yyval.l = ADJUST_X; } break; case 394: # line 1964 "bifparse.y" { yyval.l = ADJUST_Y; } break; case 395: # line 1965 "bifparse.y" { yyval.l = GROW; } break; case 396: # line 1966 "bifparse.y" { yyval.l = SHRINK; } break; case 397: # line 1973 "bifparse.y" {(void)bif_activeview(yypvt[-1].l);} break; case 398: # line 1980 "bifparse.y" {(void)bif_execstr(yypvt[-1].l);} break; case 399: # line 1987 "bifparse.y" {(void)bif_callstr(yypvt[-1].l);} break; case 400: # line 1992 "bifparse.y" { char temp[STRLENGTH]; sprintf(temp, "Unsupported entity (%s) ", yypvt[-0].str); yyerror(temp); } break; case 401: # line 2001 "bifparse.y" { char temp[STRLENGTH]; sprintf(temp, "End of Unsupported entity (%s) ", yypvt[-3].str); yyerror(temp); } break; case 402: # line 2017 "bifparse.y" {(void)collapseAllStructures();} break; case 403: # line 2019 "bifparse.y" {(void)expandAllStructures();} break; case 405: # line 2024 "bifparse.y" {(void)bif_readgeom(yypvt[-0].str);} break; case 407: # line 2029 "bifparse.y" {(void)bif_readgeom(yypvt[-0].str);} break; case 409: # line 2036 "bifparse.y" {(void)bif_cleargeom();} break; case 410: # line 2043 "bifparse.y" {(void)bif_reportfile(yypvt[-1].str);} break; case 411: # line 2048 "bifparse.y" {(void)bif_pause();} break; case 412: # line 2055 "bifparse.y" {(void)bif_sleep(yypvt[-1].l);} break; case 415: # line 2068 "bifparse.y" { (void)bif_invokeatframe /* rev 0.8 */ (yypvt[-2].l,yypvt[-1].l,yypvt[-0].l,yypvt[-0].l); } break; case 416: # line 2075 "bifparse.y" { (void)bif_invokeatframe /* rev 0.8 */ (yypvt[-4].l,yypvt[-3].l,yypvt[-2].l,yypvt[-0].l); } break; case 417: # line 2082 "bifparse.y" { (void)bif_invokeatframe /* rev 0.8 */ (yypvt[-4].l,yypvt[-3].l,yypvt[-2].l,-1); } break; case 418: # line 2086 "bifparse.y" { yyval.l = EXECUTE ; } break; case 419: # line 2087 "bifparse.y" { yyval.l = CALL ; } break; case 421: # line 2098 "bifparse.y" { (void) bif_definecolor /* rev 0.8 */ (yypvt[-3].l,yypvt[-2].f,yypvt[-1].f,yypvt[-0].f); } break; case 422: # line 2104 "bifparse.y" { (void) bif_definecolor (yypvt[-3].l,yypvt[-2].f,yypvt[-1].f,yypvt[-0].f); } break; case 423: # line 2113 "bifparse.y" {(void)bif_backgroundcolor /* rev 0.8 */ (yypvt[-3].f,yypvt[-2].f,yypvt[-1].f);} break; case 424: # line 2120 "bifparse.y" {(void)bif_backgroundcolorindex(yypvt[-1].l);} break; case 425: # line 2131 "bifparse.y" {(void)bif_viewspec(yypvt[-10].l, yypvt[-9].l, yypvt[-8].l, /* $5, $6, */ yypvt[-7].l, yypvt[-6].l, yypvt[-5].l, yypvt[-4].f ,yypvt[-3].f , yypvt[-2].f,yypvt[-1].f);} break; case 426: # line 2139 "bifparse.y" { yyval.l = XY_CLIP; } break; case 427: # line 2140 "bifparse.y" { yyval.l = NO_XY_CLIP; } break; case 428: # line 2143 "bifparse.y" { yyval.l = FRONT_CLIP; } break; case 429: # line 2144 "bifparse.y" { yyval.l = NO_FRONT_CLIP; } break; case 430: # line 2147 "bifparse.y" { yyval.l = BACK_CLIP; } break; case 431: # line 2148 "bifparse.y" { yyval.l = NO_BACK_CLIP; } break; case 432: # line 2155 "bifparse.y" { (void)bif_defviewspec(yypvt[-3].l,yypvt[-2].f,yypvt[-1].l); } break; case 433: # line 2161 "bifparse.y" {(void)bif_definelight(BIF_P_BEGIN);} break; case 434: # line 2165 "bifparse.y" { (void)bif_lightbasic(yypvt[-6].l,yypvt[-5].f,yypvt[-4].f,yypvt[-3].f); (void)bif_definelight(BIF_P_END ); } break; case 437: # line 2177 "bifparse.y" { (void) bif_lightoption(DIRECTIONAL_LIGHT, 0., 0., 0., yypvt[-3].f, yypvt[-2].f, yypvt[-1].f, 0., 0., 0., 0. ); } break; case 438: # line 2191 "bifparse.y" {(void) bif_lightoption(POSITIONAL_LIGHT, yypvt[-5].f, yypvt[-4].f, yypvt[-3].f, 0., 0., 0., 0., 0., yypvt[-2].f, yypvt[-1].f );} break; case 439: # line 2202 "bifparse.y" {(void) bif_lightoption(SPOT_LIGHT, yypvt[-10].f, yypvt[-9].f, yypvt[-8].f, yypvt[-7].f, yypvt[-6].f, yypvt[-5].f, yypvt[-4].f, yypvt[-3].f, yypvt[-2].f,yypvt[-1].f);} break; case 441: # line 2213 "bifparse.y" { (void)bif_ldtransform(yypvt[-1].l); } break; case 442: # line 2219 "bifparse.y" {(void) bif_definedepthcue /* rev 0.8 CHANGED: JMZ */ (yypvt[-2].l, DISABLE, 0.,0., 0.,0., 0.,0.,0.0); } break; case 443: # line 2230 "bifparse.y" {(void) bif_definedepthcue /* rev 0.8 CHANGED: JMZ */ (yypvt[-11].l, ENABLE, yypvt[-8].f,yypvt[-7].f, yypvt[-6].f,yypvt[-5].f, yypvt[-4].f,yypvt[-3].f,yypvt[-2].f); } break; case 444: # line 2236 "bifparse.y" { bif_defaultconfig(); bif_openwk(); } break; case 445: # line 2243 "bifparse.y" { bif_defaultconfig(); bif_openwk(); } break; case 446: # line 2248 "bifparse.y" { (void)not_repeated(-1); bif_defaultconfig(); } break; case 447: # line 2254 "bifparse.y" { bif_openwk(); (void)not_repeated(-1); } break; case 449: # line 2262 "bifparse.y" { if(not_repeated(1)) bif_colormodel(RGB); else yyerror(CB_ERM1); } break; case 450: # line 2267 "bifparse.y" { if(not_repeated(1)) bif_colormodel(CIE); else yyerror(CB_ERM1); } break; case 451: # line 2272 "bifparse.y" { if(not_repeated(1)) bif_colormodel(HSV); else yyerror(CB_ERM1); } break; case 452: # line 2277 "bifparse.y" { if(not_repeated(1)) bif_colormodel(HLS); /* rev 0.8 mod. */ else yyerror(CB_ERM1); } break; case 453: # line 2283 "bifparse.y" { if(not_repeated(2)) bif_buffermode(DOUBLE_BUFFER); /*rev 0.8*/ else yyerror(CB_ERM2); } break; case 454: # line 2289 "bifparse.y" { if(not_repeated(2)) bif_buffermode(SINGLE_BUFFER); else yyerror(CB_ERM2); } break; case 455: # line 2295 "bifparse.y" { if(not_repeated(3)) bif_colormode(TRUE_COLOR); /* rev 0.8 */ else yyerror(CB_ERM3); } break; case 456: # line 2301 "bifparse.y" { if(not_repeated(3)) bif_colormode(PSEUDO_COLOR); /* rev 0.8 */ else yyerror(CB_ERM3); } break; case 457: # line 2307 "bifparse.y" { if(not_repeated(4)) (void)bif_window(yypvt[-1].l,yypvt[-0].l); else yyerror(CB_ERM4); } break; case 458: # line 2317 "bifparse.y" { yyval.f = yypvt[-0].f; } break; case 459: # line 2318 "bifparse.y" { yyval.f = (double)yypvt[-0].l; } break; } goto yystack; /* stack new state and value */ }