home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / X / mit / demos / gpc / bifparse.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-02-15  |  76.3 KB  |  2,513 lines

  1.  
  2. # line 12 "bifparse.y"
  3. /*--------------------------------------------------------------------*\
  4. |
  5. |  Copyright (C) 1989,1990, 1991, National Computer Graphics Association
  6. |
  7. |  Permission is granted to any individual or institution to use, copy, or
  8. |  redistribute this software so long as it is not sold for profit, provided
  9. |  this copyright notice is retained.
  10. |
  11. |                         Developed for the
  12. |                National Computer Graphics Association
  13. |                         2722 Merrilee Drive
  14. |                         Fairfax, VA  22031
  15. |                           (703) 698-9600
  16. |
  17. |                                by
  18. |                 SimGraphics Engineering Corporation
  19. |                    1137 Huntington Drive  Unit A
  20. |                      South Pasadena, CA  91030
  21. |                           (213) 255-0900
  22. |---------------------------------------------------------------------
  23. |
  24. | Author        :    mjf / SimGraphics Engineering Corportation
  25. |
  26. | File          :    bifparse.y
  27. | Date          :    Fri Feb  9 10:46:55 PST 1990
  28. | Project       :    PLB
  29. | Description   :    
  30. | Status        :    Version 1.0
  31. |
  32. | Revisions     :    
  33. |
  34. \*--------------------------------------------------------------------*/
  35.  
  36. #include <stdio.h>
  37.  
  38. #ifdef SUN4
  39. #include <strings.h>
  40. #else
  41. #include <string.h>
  42. #endif
  43.  
  44. #include <ctype.h>
  45. #include "bifbuild.h"
  46.  
  47. #define STRLENGTH 80
  48. #define REPEAT_TABLE_SIZE 30
  49.  
  50. #ifndef FALSE
  51. #define FALSE 0
  52. #endif /* ifndef FALSE */
  53. #ifndef TRUE
  54. #define TRUE (!FALSE)
  55. #endif /* ifndef TRUE */
  56.  
  57. #define CB_ERM1 "Additional attempt to set color model ignored"
  58. #define CB_ERM2 "Additional attempt to set buffer mode ignored"
  59. #define CB_ERM3 "Additional attempt to set color mode ignored"
  60. #define CB_ERM4 "Additional attempt to set window size ignored"
  61. #define FAS_ERM1 "Additional VERTEX_COLOR set in FILL_AREA_SET3 ignored."
  62. #define FAS_ERM2 "Additional VERTEX_COLOR_INDICES in FILL_AREA_SET3 ignored."
  63. #define FAS_ERM3 "Additional VERTEX_NORMALS set in FILL_AREA_SET3 ignored."
  64. #define FAS_ERM4 "Additional EDGE_VISIBILITY set in FILL_AREA_SET3 ignored."
  65. #define FAS_ERM5 "Additional FACET_COLORS set in FILL_AREA_SET3 ignored."
  66. #define FAS_ERM6 "Additional FACET_COLOR_INDICES in FILL_AREA_SET3 ignored."
  67. #define FAS_ERM7 "Additional FACET_NORMALS set in FILL_AREA_SET3 ignored."
  68. #define GS_ERM1 "Additional CENTER in GEN_SPHERE3 ignored."
  69. #define GS_ERM2 "Additional RADIUS in GEN_SPHERE3 ignored."
  70. #define GS_ERM3 "Additional SCALE_FACTOR in GEN_SPHERE3 ignored."
  71. #define GC_ERM1 "Additional CENTER in GEN_CIRCLE ignored."
  72. #define GC_ERM2 "Additional RADIUS in GEN_CIRCLE ignored."
  73. #define GC3_ERM1 "Additional CENTER in GEN_CIRCLE3 ignored."
  74. #define GC3_ERM2 "Additional RADIUS in GEN_CIRCLE3 ignored."
  75. #define GC3_ERM3 "Additional NORMAL in GEN_CIRCLE3 ignored."
  76. #define WD3B_error(A) \
  77. { \
  78.   char temp[STRLENGTH]; \
  79.   sprintf(temp,"Additional %s in %s ignored.", A, with_data_name ); \
  80.   yyerror(temp); \
  81. }
  82.                 
  83. typedef char StringType[STRLENGTH];
  84.  
  85. static char *with_data_name;
  86. extern FILE *active_file, *last_file;
  87. extern char filenm[128], last_filenm[128];
  88. extern int lineno,last_lineno;
  89.  
  90.  
  91.  
  92. # line 108 "bifparse.y"
  93. typedef union     {
  94.     long        l;
  95.     double        f;
  96.     StringType    str;
  97.     } YYSTYPE;
  98. #define LONG 257
  99. #define REAL 258
  100. #define QSTRING 259
  101. #define BEGIN_STRUCTURE 260
  102. #define END_STRUCTURE 261
  103. #define LABEL 262
  104. #define MARKER 263
  105. #define MARKER3 264
  106. #define LINE 265
  107. #define LINE3 266
  108. #define POLYGON 267
  109. #define POLYGON3 268
  110. #define FILL_AREA_SET 269
  111. #define FILL_AREA_SET3 270
  112. #define TRIANGLE3 271
  113. #define QUAD_MESH3 272
  114. #define INDEX_POLYGONS3 273
  115. #define GEN_SPHERE3 274
  116. #define GEN_CIRCLE 275
  117. #define GEN_CIRCLE3 276
  118. #define TEXT 277
  119. #define TEXT3 278
  120. #define ANNOTATION_TEXT3 279
  121. #define PIXEL_MAP3 280
  122. #define NON_UNIFORM_BSPLINE_CURVE 281
  123. #define NON_UNIFORM_BSPLINE_SURFACE 282
  124. #define CURVE_APPROXIMATION_CRITERIA 283
  125. #define TRIMCURVE_APPROXIMATION_CRITERIA 284
  126. #define SURFACE_APPROXIMATION_CRITERIA 285
  127. #define MARKER_TYPE 286
  128. #define MARKER_SIZE 287
  129. #define MARKER_COLOR 288
  130. #define MARKER_COLOR_INDEX 289
  131. #define LINE_TYPE 290
  132. #define LINE_WIDTH 291
  133. #define LINE_COLOR 292
  134. #define LINE_COLOR_INDEX 293
  135. #define LINE_SHADING 294
  136. #define INTERIOR_STYLE 295
  137. #define INTERIOR_PATTERN_INDEX 296
  138. #define INTERIOR_COLOR 297
  139. #define INTERIOR_COLOR_INDEX 298
  140. #define BACKFACE_INTERIOR_COLOR 299
  141. #define BACKFACE_INTERIOR_COLOR_INDEX 300
  142. #define INTERIOR_SHADING 301
  143. #define INTERIOR_LIGHTING 302
  144. #define SURFACE_PROPERTIES 303
  145. #define BACKFACE_PROPERTIES 304
  146. #define BACKFACE_PROCESSING 305
  147. #define EDGE_FLAG 306
  148. #define EDGE_TYPE 307
  149. #define EDGE_WIDTH 308
  150. #define EDGE_COLOR 309
  151. #define EDGE_COLOR_INDEX 310
  152. #define TEXT_FONT 311
  153. #define TEXT_PREC 312
  154. #define TEXT_COLOR 313
  155. #define TEXT_COLOR_INDEX 314
  156. #define TEXT_PATH 315
  157. #define TEXT_ALIGN 316
  158. #define CHAR_HEIGHT 317
  159. #define CHAR_EXP 318
  160. #define CHAR_SPACE 319
  161. #define CHAR_UP_VECTOR 320
  162. #define ANNO_TEXT_CHAR_HEIGHT 321
  163. #define ANNO_TEXT_CHAR_UP_VECTOR 322
  164. #define ANNO_TEXT_STYLE 323
  165. #define LIGHT_STATE 324
  166. #define DEPTHCUE_INDEX 325
  167. #define HLHS_REMOVAL 326
  168. #define IDENTITY3 327
  169. #define CONCAT_MATRIX3 328
  170. #define INVERT_MATRIX3 329
  171. #define ROTATE3 330
  172. #define ROTATE_XYZ3 331
  173. #define TRANSLATE3 332
  174. #define SCALE3 333
  175. #define MATRIX3 334
  176. #define GET_MATRIX3 335
  177. #define PUSH_MATRIX3 336
  178. #define POP_MATRIX3 337
  179. #define GLOBAL_TRANSFORMATION3 338
  180. #define LOCAL_TRANSFORMATION3 339
  181. #define APPLY_TO_GLOBAL3 340
  182. #define APPLY_TO_LOCAL3 341
  183. #define VIEW_ORIENTATION3 342
  184. #define VIEW_MAPPING3 343
  185. #define ACTIVE_VIEW 344
  186. #define EXECUTE_STRUCTURE 345
  187. #define CALL_STRUCTURE 346
  188. #define READ_GEOMETRY_FILE 347
  189. #define CLEAR_GEOMETRY 348
  190. #define BEGIN_TEST 349
  191. #define END_TEST 350
  192. #define PAUSE 351
  193. #define SLEEP 352
  194. #define INVOKE_AT_FRAME 353
  195. #define DEFINE_COLOR 354
  196. #define BACKGROUND_COLOR 355
  197. #define BACKGROUND_COLOR_INDEX 356
  198. #define DEFINE_VIEW_SPECIFICATION 357
  199. #define DEFAULT_VIEW_SPECIFICATION 358
  200. #define DEFINE_LIGHT 359
  201. #define DEFINE_DEPTHCUE 360
  202. #define CONFIGURATION 361
  203. #define KNOTS 362
  204. #define CTRL_POINTS 363
  205. #define UKNOTS 364
  206. #define VKNOTS 365
  207. #define TRIMLOOP 366
  208. #define TRIMCURVE 367
  209. #define RATIONAL 368
  210. #define NON_RATIONAL 369
  211. #define IGNORE_GROUP 370
  212. #define VERTEX_COLORS 371
  213. #define VERTEX_NORMALS 372
  214. #define VERTEX_COLOR_INDICES 373
  215. #define FACET_COLORS 374
  216. #define FACET_NORMALS 375
  217. #define FACET_COLOR_INDICES 376
  218. #define VERTEX_COORDINATES 377
  219. #define EDGE_VISIBILITY 378
  220. #define ENABLE 379
  221. #define DISABLE 380
  222. #define STRING 381
  223. #define CHAR 382
  224. #define STROKE 383
  225. #define WORLD 384
  226. #define MODELLING 385
  227. #define AMBIENT_LIGHT 386
  228. #define DIRECTIONAL_LIGHT 387
  229. #define POSITIONAL_LIGHT 388
  230. #define SPOT_LIGHT 389
  231. #define LD_TRANSFORM 390
  232. #define ACTIVATE_LIST 391
  233. #define DEACTIVATE_LIST 392
  234. #define HLHSRID 393
  235. #define HLHS_DISABLE 394
  236. #define HLHS_ENABLE 395
  237. #define MAKE_RAMP 396
  238. #define COLOR_LIST 397
  239. #define RGB 398
  240. #define CIE 399
  241. #define HSV 400
  242. #define HLS 401
  243. #define PRECONCAT 402
  244. #define POSTCONCAT 403
  245. #define REPLACE 404
  246. #define X_AXIS 405
  247. #define Y_AXIS 406
  248. #define Z_AXIS 407
  249. #define PERSPECTIVE 408
  250. #define PARALLEL 409
  251. #define MATCH_VIEW_AREA 410
  252. #define ADJUST_X 411
  253. #define ADJUST_Y 412
  254. #define GROW 413
  255. #define SHRINK 414
  256. #define XY_CLIP 415
  257. #define NO_XY_CLIP 416
  258. #define FRONT_CLIP 417
  259. #define NO_FRONT_CLIP 418
  260. #define BACK_CLIP 419
  261. #define NO_BACK_CLIP 420
  262. #define HOLLOW 421
  263. #define SOLID 422
  264. #define PATTERN 423
  265. #define EMPTY 424
  266. #define VIEW_MAPPING 425
  267. #define VIEW_ORIENTATION 426
  268. #define GLOBAL_MODELLING 427
  269. #define LOCAL_MODELLING 428
  270. #define COMPOSITE_MODELLING 429
  271. #define SPECIFY_REPORT_FILE 430
  272. #define TO 431
  273. #define END 432
  274. #define EXECUTE 433
  275. #define CALL 434
  276. #define WINDOW_SIZE 435
  277. #define DOUBLE_BUFFER 436
  278. #define SINGLE_BUFFER 437
  279. #define TRUE_COLOR 438
  280. #define PSEUDO_COLOR 439
  281. #define FACET_CONNECTIVITY 440
  282. #define EXACT 441
  283. #define CENTER 442
  284. #define RADIUS 443
  285. #define SCALE_FACTORS 444
  286. #define NORMAL 445
  287. #define TEXT_DIRECTION 446
  288. #define ADD 447
  289. #define AND 448
  290. #define CLEAR 449
  291. #define INVERT 450
  292. #define NAND 451
  293. #define NOOP 452
  294. #define NOR 453
  295. #define OR 454
  296. #define SET 455
  297. #define SUBTRACT_DEST 456
  298. #define SUBTRACT_SOURCE 457
  299. #define XOR 458
  300. #define PIXEL_VALUES 459
  301. #define INTENSITY_VALUES 460
  302. #define PIXEL_VALUE_SEGMENTS 461
  303. #define INTENSITY_VALUE_SEGMENTS 462
  304. #define FIRST_FILE 463
  305. #define END_GEOM_FILE 464
  306. #define UNRECOGNIZED_KEYWORD 465
  307. #define yyclearin yychar = -1
  308. #define yyerrok yyerrflag = 0
  309. extern int yychar;
  310. extern short yyerrflag;
  311. #ifndef YYMAXDEPTH
  312. #define YYMAXDEPTH 150
  313. #endif
  314. YYSTYPE yylval, yyval;
  315. # define YYERRCODE 256
  316.  
  317. # line 2323 "bifparse.y"
  318.  
  319.  
  320. /* ------------------------------------------------------------------ */
  321. /* not_repeated is a utility used by entities in yacc to allow        */
  322. /* optional date groups to be specified in any order but to detect   */
  323. /* if an optional group is specified more than once.                  */ 
  324. /*                                                                    */ 
  325. /*  code        < 0:       Reinitialize the repeat_table              */ 
  326. /*  code        > REPEAT_TABLE_SIZE -1: is an error.                  */ 
  327. /*  return_code = FALSE:   The optional group has been repeated       */
  328. /*  return_code = TRUE:    The optional group has not been repeated   */
  329. /* ------------------------------------------------------------------ */
  330. int not_repeated(code)
  331. int code;
  332. {
  333.     int return_code;
  334.     static int repeat_table[REPEAT_TABLE_SIZE];
  335.     int i;
  336.  
  337.     return_code = TRUE;
  338.     if (code < 0)
  339.     {
  340.         for(i=0;i<REPEAT_TABLE_SIZE;i++)
  341.             repeat_table[i]=TRUE;
  342.     }
  343.     else if (code > REPEAT_TABLE_SIZE-1)
  344.     {
  345.        yyerror
  346.        ("Program error:  Attempt to index beyond end of repeat_table.");
  347.        yyerror
  348.        ("             :  Entity option has been ignored.");
  349.         return_code = FALSE;
  350.     }
  351.     else
  352.     {
  353.         if(repeat_table[code])  repeat_table[code] = FALSE;
  354.         else   return_code = FALSE;
  355.     }
  356.     return(return_code);
  357. }
  358. short yyexca[] ={
  359. -1, 1,
  360.     0, -1,
  361.     -2, 0,
  362. -1, 2,
  363.     260, 444,
  364.     -2, 445,
  365.     };
  366. # define YYNPROD 460
  367. # define YYLAST 1672
  368. short yyact[]={
  369.  
  370.  336, 724, 325, 590, 750, 344, 335, 232, 526, 558,
  371.  557, 324, 562, 561, 327, 423, 467, 560, 559, 804,
  372.  805, 806, 807,   5, 327, 666, 333, 338, 477, 949,
  373.  870, 676, 826, 581, 685, 972, 534, 107, 108, 109,
  374.  110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
  375.  120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
  376.  130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
  377.  140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
  378.  150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
  379.  160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
  380.  170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
  381.  180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
  382.  190, 191, 857, 226, 229, 230, 231, 745, 536, 705,
  383.  706, 767, 768, 240, 241, 235, 402, 244, 245, 249,
  384.  250, 251, 252, 254, 577, 256, 699, 700, 822, 260,
  385.  261, 620, 621, 979, 266, 267, 527, 528, 751, 273,
  386.  505, 506, 507, 277, 278, 279, 280, 281, 282, 551,
  387.  737, 738, 739, 740, 741, 742, 743, 744, 746, 747,
  388.  748, 749, 415, 416, 417, 418, 419,1020,1021,1022,
  389. 1023, 424, 425, 426, 286, 287, 771, 772, 773, 774,
  390.  316, 270, 271, 272, 208, 871, 445, 444, 263, 264,
  391.  233, 234, 978, 334, 201, 334, 204, 334, 765, 914,
  392.  915, 916, 656, 327, 802,   4, 977, 352, 696, 209,
  393.  353, 354, 355, 909, 587, 466, 520, 358, 359, 360,
  394.  192, 337, 363, 340, 639, 341, 367, 463, 346, 878,
  395.  348, 876, 460, 481, 457, 372, 832, 374, 830, 228,
  396.  227, 378, 379, 434, 829, 722, 827, 311, 385, 714,
  397. 1003, 713, 900, 654, 391, 775, 703, 682, 627, 437,
  398.  679, 398, 626, 400, 591,   3, 589, 525, 572, 486,
  399.  450, 446, 409, 410, 411, 412, 442, 407, 394, 637,
  400.  420, 421, 380, 996, 427, 428, 953, 357, 356, 349,
  401.  347, 930, 904, 322, 320, 556, 439, 440, 319, 318,
  402.  443, 317, 881, 877, 831, 828, 756, 448, 315, 313,
  403.  307, 306, 305, 304, 458, 459, 461, 462, 458, 303,
  404.  302, 458, 102, 301, 228, 227, 465, 296, 295, 294,
  405.  293, 292, 291, 453, 482, 483, 484, 290, 228, 227,
  406.  289, 489, 288, 474, 490, 228, 227, 432, 491, 285,
  407.  283, 276, 275, 492, 274, 493, 269, 268, 265, 494,
  408.  495, 228, 227, 228, 227, 262, 497, 259, 228, 227,
  409.  228, 227, 498, 258, 257, 981, 228, 227, 228, 227,
  410.  255, 228, 227, 228, 227, 228, 227, 667, 668, 669,
  411.  670, 508, 509, 510, 511, 582, 583, 584, 677, 585,
  412. 1043, 513, 514, 503, 253, 247, 246, 243, 516, 517,
  413.  512, 228, 227, 228, 227, 755, 242, 239, 755, 522,
  414.  523, 524, 105, 931, 755, 228, 227, 531, 238, 237,
  415.  228, 227, 228, 227, 755, 755, 755, 755, 755, 548,
  416.  236, 225, 549, 550, 224, 223, 461, 537, 538, 539,
  417.  540, 334, 221, 533, 553, 552, 628, 438, 211,1042,
  418.  571, 554,1041, 555, 588, 790, 790, 879, 875, 471,
  419. 1033, 874, 323,1028,1016, 597, 598, 568, 790, 471,
  420.  873, 872,1014, 573, 545, 541, 542, 543, 544, 604,
  421.  605, 606, 607,1012, 609, 610,1011, 611, 612, 790,
  422.  603, 791, 973, 616, 617, 968, 578, 579, 580, 961,
  423.  956, 623, 624, 615, 554, 563, 555, 564, 566, 565,
  424.  955, 664, 944, 943, 925, 906, 905, 885, 884, 209,
  425.  629, 846, 844, 331, 814, 799, 647, 649, 648, 651,
  426.  653, 652, 797, 650, 762, 761,1025,1018, 334, 458,
  427.  468,1017, 461, 990, 987, 983, 638, 554, 563, 555,
  428.  564, 566, 565, 976, 659, 658, 970, 663, 662, 678,
  429.  655, 681, 661, 660, 636, 969, 952, 951, 683, 684,
  430.  554, 563, 555, 564, 566, 565, 950, 917, 690, 887,
  431.  691, 692, 693, 694, 866, 858, 853, 697, 448, 725,
  432.  687, 688, 689, 345, 701, 702, 695, 554, 563, 555,
  433.  564, 566, 565, 825, 469, 824, 823, 458, 816, 461,
  434.  815, 789, 788, 787, 786, 785, 784, 783, 782, 734,
  435.  728, 727, 726, 330, 712, 711, 710, 709, 708, 707,
  436.  675, 674, 673, 672, 671, 665, 601, 530, 471, 413,
  437.  343, 300, 729, 730, 731, 732, 733, 299,1048, 735,
  438. 1047,1044, 986, 982, 753, 754, 975, 962, 958, 942,
  439.  940, 760, 932, 891, 763, 890, 865, 852, 448, 850,
  440.  759, 758, 769, 764, 757, 686, 625, 622, 618, 613,
  441.  608, 602, 600, 599, 776, 596, 778, 779, 595, 781,
  442.  594, 593, 592, 586, 546, 535, 529, 793, 794, 795,
  443.  796, 518, 798, 515, 800, 801, 501, 500, 499, 496,
  444.  488, 487, 447, 777, 441, 436, 780, 435, 431, 430,
  445.  429, 422, 408, 406, 811, 812, 810, 405, 404, 403,
  446.  401, 399, 397, 396, 817, 818, 395, 819, 393, 392,
  447.  820, 390, 389, 388, 387, 386, 384, 461, 383, 461,
  448.  461, 382, 461, 381, 377, 834, 376, 836, 833, 375,
  449.  835, 840, 373, 837, 843, 839, 845, 371, 370, 847,
  450.  369, 848, 849, 368, 366, 365, 364, 362, 361, 332,
  451.  312, 681, 855, 856, 310, 298, 859, 860, 861, 862,
  452.  863, 864, 838, 297, 867, 868, 869, 842, 451, 328,
  453.  821, 770, 321, 314, 547, 614, 521, 519, 461, 433,
  454.  461, 309, 308, 971, 882, 957, 883, 967, 892, 813,
  455.  886, 502, 284, 934, 933,1024,1009, 888, 980, 893,
  456.  894, 895, 896, 897, 898, 899, 966, 935, 901, 902,
  457.  903, 913, 912, 911, 910, 889, 880, 854, 752, 809,
  458.  808, 680, 485, 963, 948, 908, 851, 907, 480, 681,
  459.  351, 479, 350, 576, 918, 919, 920, 921, 922, 923,
  460.  924, 478, 926, 927, 928, 575, 723, 657, 929, 574,
  461.  476, 222, 475, 220, 721, 720, 719, 718, 717, 937,
  462.  938, 939, 716, 941, 715, 646, 645, 644, 945, 946,
  463.  947, 643, 642, 641, 640, 570, 472, 219, 954, 569,
  464.  473, 567, 470, 841, 792, 342, 959, 960, 218, 635,
  465.  634, 633, 936, 632, 964, 965, 631, 630, 339, 217,
  466.  216, 974, 464, 215, 214, 681, 681, 213, 212, 104,
  467.  984, 985, 103, 101, 100, 988,  99,  98,  97,  96,
  468.   95,  94,  93,  92, 991, 992, 993,  91, 994, 995,
  469.   90,  89, 998, 999,1000,1001,1002,  88, 997,1004,
  470. 1005,1006,1007,1008,  87,1010,  86,  85,1013,  84,
  471.   83, 989,  82,1015,  81,  80, 681,  79,1026,1027,
  472.   78,  77,  76,  75,  74,  73,1030,1031,1032,1029,
  473.   72,1034,1035,1036,  71,1037,1038,1039,1040,  70,
  474.   69,  68,  67,  66,  65,  64,  63,  62,  61,  60,
  475.   59,  58,  57,  56,  55,  54,  53,  52,1045,1046,
  476.  107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
  477.  117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
  478.  127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
  479.  137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
  480.  147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
  481.  157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
  482.  167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
  483.  177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
  484.  187, 188, 189, 190, 191, 193, 194, 205,  51, 196,
  485.  197,  50, 198, 199, 200, 201, 202, 204, 203,  49,
  486.   48,  47,  46,  45,  44,  43,  42,  41,  40,  39,
  487.   38,  37,  36,  35,  34,  33,  32,  31,  30,  29,
  488.   28,  27,  26,  25,  24,  23,  22,  21,  20,  19,
  489.   18,  17,  16,  15,  14,  13,  12,  11,  10,   9,
  490.    8, 454, 452, 329, 210, 106, 532, 449, 326,   7,
  491.    6, 207, 206, 736, 803, 704, 248, 766, 698, 619,
  492. 1019, 504, 414,   1,   0,   0,   0,   0, 195,   0,
  493.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  494.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  495.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  496.    0,   2,   0, 192, 107, 108, 109, 110, 111, 112,
  497.  113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
  498.  123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
  499.  133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
  500.  143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
  501.  153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
  502.  163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
  503.  173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
  504.  183, 184, 185, 186, 187, 188, 189, 190, 191, 193,
  505.  194, 205,   0, 196, 197,   0, 198, 199, 200, 201,
  506.  202, 204, 203,   0,   0,   0,   0,   0,   0,   0,
  507.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  508.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  509.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  510.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  511.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  512.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  513.    0,   0, 195,   0,   0,   0,   0,   0,   0,   0,
  514.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  515.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  516.    0,   0,   0,   0,   0,   0,   0, 192, 107, 108,
  517.  109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
  518.  119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
  519.  129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
  520.  139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
  521.  149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
  522.  159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
  523.  169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
  524.  179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
  525.  189, 190, 191,   0,   0,   0, 455,   0,   0, 456,
  526.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  527.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  528.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  529.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  530.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  531.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  532.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  533.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  534.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  535.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  536.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  537.    0, 192 };
  538. short yypact[]={
  539.  
  540.  798,-1000,-157,1002,-1000,-1000,-1000,-1000,-1000,-1000,
  541. -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
  542. -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
  543. -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
  544. -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
  545. -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
  546. -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
  547. -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
  548. -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
  549. -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
  550. -1000,-1000,-1000,-1000,-1000,-1000,-1000, 221,-1000,-1000,
  551. -1000,-1000,-1000,-1000,-1000,-1000,-1000, 215,-1000, 208,
  552.  207, 204,   2,   2,   2,   2,-158,-158, 203, 192,
  553.  191, 180,   2,   2, 179, 170,   2,   2, 169, 168,
  554. -282, 167,   2, 143,   2, 137, 136, 130,   2,   2,
  555.  128,-171, 121,   2,   2, 120, 119,-180,   2, 117,
  556.  115, 114,   2,   2,   2,   2,   2,   2, 113,-1000,
  557.  112,-200, 105, 103, 100,  95,  94,  93,  92,  91,
  558.   90, 764, 756, 554, 548,  86,  83,  82,  76,  75,
  559.   74,  73,-1000,-1000, 755,   8, 751,  72,  71,   2,
  560.   64,  62,  61,  57,-1000,  56,1002, -37,-1000,-1000,
  561. -143, 750,   2,   2,   2,-1000,   2,-1000, 547, 500,
  562. -1000,  53,-1000,  52,-1000,-1000,   2,-1000,-1000,   2,
  563.    2,   2,  51,-1000,-1000,  50,   2,   2,   2, 749,
  564.  748,   2, 747, 746, 745,   2, 744, 741, 739,-1000,
  565. -1000,-1000,-1000, 738,   2, 733,   2, 730, 727, 725,
  566.    2,   2,  45, 724, 722, 719, 717,   2, 716, 715,
  567.  714, 713, 712,   2, 710, 709,  41, 707, 704, 703,
  568.    2, 702,   2, 701,-255, 700, 699, 698, 694,  40,
  569.  693,   2,   2,   2,   2, 546,-243,-1000,-1000,   2,
  570.    2, 692,-211,   2,   2, 691, 690, 689, 111,   4,
  571. -1000, 688,-1000, 686, 220,   2,   2, 685,  39,   2,
  572. -173,  34, 683,1002, -37,-1000,-1000,  33,-1000,1206,
  573. -1000,-1000,-1000, 195,   2, 193,   2, 188,-1000,   2,
  574.  176,-1000, 511,-1000, 545,-1000,-1000,-1000,-412,-1000,
  575. -1000,-1000,  -6,   2,   2,   2,-1000,  32, 682, 681,
  576.    2,-1000,-1000,   2,-1000,-1000,-1000,   2,-1000,-1000,
  577. -1000,-1000,   2,-1000,   2,-1000,-1000,-1000,   2,   2,
  578.  680,-1000,-1000,-1000,-1000,   2,-1000,-1000,-1000,-1000,
  579. -1000,   2,-1000,-1000, 679,-1000,-1000,-1000, 678,-1000,
  580.  677,-1000,-1000,-1000,-1000,-1000,-1000,-211,-1000,-245,
  581.    2,   2,   2,   2,-211,-1000,-1000,-1000,-1000,-1000,
  582.    2,   2,-1000, 674,-1000,-1000,-1000,   2,   2,-1000,
  583. -1000,-1000, 672, -23,-1000,-1000,-1000,-1000,   2,   2,
  584.    2,-1000,  30,-252, 667, 544,   2,-1000,-1000,-225,
  585.  666,  69,-1000,-1000,-1000, 665,-1000,-1000,   2,-1000,
  586. -1000,   2,   2,-1000, 110,   2,-1000, 256,-1000,-1000,
  587.    2,-1000,-1000,   2, 229,-1000,-1000,-1000,-1000,  85,
  588.  -26, 664, -25,   2,  29,-1000,  27,-1000,-1000, 663,
  589.  662, 661, 659, 656,   2,   2,-1000, 654, 653,-1000,
  590. -1000,-1000, 543, 652,-211,-1000,-1000,-1000,   2,   2,
  591.    2,   2, 651,   2,   2,-1000,   2,   2,-1000, 650,
  592. -1000, -37,   2,   2, 649,-264, 648,-1000,-1000,-1000,
  593.    2,   2,-1000,-1000, 647,-1000,-1000,-1000,-1000,-1000,
  594. -1000,-1000,-1000,-1000,-1000,  25,-1000, 219,-1000,   2,
  595. -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
  596. -1000,-1000,-1000,-1000,-1000,-1000,-1000,   2, 174,   2,
  597.  185, 148,-1000,-1000, 163, 542, -34,-1000,-1000, 541,
  598.  540,-1000,-1000, 539, 538, 537,-1000, -28,   2,  23,
  599.    2,  20,-1000,-1000,-1000,-1000,-1000,   2,   2,-1000,
  600. -1000,-1000,-1000, 646,-211,-211,-211,   2,-1000,   2,
  601.    2,   2,   2,-1000, -37,-236,   2,-1000,-1000,-271,
  602. -1000,-1000,-1000,   2,   2,-1000,  19,-1000,-304,-1000,
  603.  536, 535, 534, 533, 532, 531, 146,-1000, 144,-1000,
  604. -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
  605. -1000,-1000,-1000,-1000,-1000, 206,-1000,-1000,-1000,-1000,
  606. -1000,-1000,-1000,-1000,-1000, 496,-1000,-1000, 529, 528,
  607.  527,   2,   2,   2,   2,   2,-1000, 526,   2,-277,
  608. -204,-1000,-1000,   2,   2, 201,-1000, 645, 642, 641,
  609.    2, 440, 439,   2,-252,-246,-1000,-1000,-288,-1000,
  610. -1000,   2,-190,-1000,  18,-1000,-1000,   2,-1000,   2,
  611.    2,-1000,   2,-1000,-1000, 525, 524, 523, 522, 521,
  612.  520, 519,-1000, 518, 396,-1000,   2,   2,   2,   2,
  613.  437,   2, 430,   2,   2, -35,-440,-1000,-1000,-1000,
  614. -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
  615. -1000,-1000,-1000,   2,   2,-1000,-1000,-1000,-1000,-1000,
  616.  429, 517, 515,   2,   2,-1000,   2,-1000,-1000,   2,
  617. -242,-1000, 513, 512, 510,-399, 141, 200, 139, 133,
  618.  199, 131, 500, 496, 500, 496,   2,-1000,   2, 496,
  619. -1000,-1000,-1000,   2, 427,   2, 426,-1000,   2,-1000,
  620.    2,   2, 640,-1000,-1000,-1000,-1000,-1000, 638, 493,
  621.    2,   2,   2,-270, 492,   2,   2,   2,   2,   2,
  622.    2, 637, 491,   2,   2,   2,-227,-1000,-1000,-1000,
  623. -1000,-1000,-1000, 376, 375, 366, 363, 126, 198, 124,
  624.  362,-1000, 197,   2,-1000,   2,-1000, 423, 422,   2,
  625. -1000, 486,-1000,-1000,-1000, 636, 634,-1000,   2,   2,
  626.    2,   2,   2,   2,   2,-1000,  15,   2,   2,   2,
  627. -1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,
  628.  187,-1000, 421, 420,-1000,-1000,   2,-1000, 108,-145,
  629. -1000,-1000, 484,   2,   2,   2,   2,   2,   2,   2,
  630.  419,   2,   2,   2,-1000,-1000,-1000,   2, 186,-1000,
  631.  633,-1000,-1000,-1000,-1000,-1000,-1000,-1000,   2,   2,
  632.    2, 631,   2, 630, 418,-1000, 417,   2,   2,   2,
  633. -410,-1000,-1000, 483, 474, 473, 181,   2, 415, 405,
  634. -1000,-1000,-1000, 629,-1000,   2,   2, 404, 628,-1000,
  635. -1000,-1000,-1000,-1000, 400, 472, 463,-375,-1000, 397,
  636.    2, 627,-1000, 460, 101,  87,  28, 624, 452,   2,
  637.    2, 623, 451,-1000,   2,-1000,-1000,-1000,-1000,-1000,
  638. -1000, 450,-1000,   2,   2,   2,-1000,   2,   2, 178,
  639. -158,   2,   2,   2,   2,   2,-1000,  13,   2,   2,
  640.    2,   2,   2,-1000,   2, 391, 388,   2, 377,-1000,
  641.  369, 448, 444,-224,-1000,   2, 443,   2,   2, 368,
  642. -1000,-1000,-1000,-1000,-204,   2,   2,   2,-1000, 365,
  643.    2,   2,   2,-1000,   2,   2,   2,   2, 357, 354,
  644.  295, 622,-211,-211,-1000, 621, 619,-1000,-1000 };
  645. short yypgo[]={
  646.  
  647.    0,1223,   0,   7,  15,1222,1221,   8,1220,1219,
  648. 1218,1217,1216,1215,1214,1213,1212, 285,1211,  11,
  649.  225,   2,  23,1210,1209,1208,1207,1206,1205,1204,
  650. 1203,1202, 442, 342,1201,1200,1199,1198,1197,1196,
  651. 1195,1194,1193,1192,1191,1190,1189,1188,1187,1186,
  652. 1185,1184,1183,1182,1181,1180,1179,1178,1177,1176,
  653. 1175,1174,1173,1172,1171,1170,1169,1168,1167,1166,
  654. 1165,1164,1163,1162,1161,1160,1159,1151,1148,1057,
  655. 1056,1055,1054,1053,1052,1051,1050,1049,1048,1047,
  656. 1046,1045,1044,1043,1042,1041,1040,1039,1034,1030,
  657. 1025,1024,1023,1022,1021,1020,1017,1015,1014,1012,
  658. 1010,1009,1007,1006,1004, 997, 991, 990, 987, 983,
  659.  982, 981, 980, 979, 978, 977, 976, 974, 973, 972,
  660.  969, 968,  26, 967,   6,  34, 964, 963,  27, 962,
  661.   10,   9, 960, 959,  16, 958,  18,  17,  13,  12,
  662.  957, 956, 953, 951, 950, 949, 948, 945,   1, 944,
  663.  943, 942, 941,   5, 940, 939, 937, 936, 935, 934,
  664.  933, 932, 931, 927, 926, 925, 924, 922, 918, 917,
  665.  916, 915, 914, 913, 912, 911, 910, 909, 907, 906,
  666.  905, 901, 893, 892, 891, 890, 888, 886, 885, 884,
  667.  883, 882,   3, 881,   4, 880, 879, 878, 877, 875,
  668.  874, 873, 872, 871, 867, 866, 858, 856, 855, 854,
  669.  853, 852, 851, 849, 848, 847, 845, 843, 842, 841,
  670.  839, 837, 836, 835, 834, 833, 832, 831, 830, 829,
  671.  828 };
  672. short yyr1[]={
  673.  
  674.    0,   1,   1,   1,   1,  17,  17,  19,  19,  20,
  675.   20,  20,  21,  25,  26,  26,  27,  24,  28,  29,
  676.   29,  29,  30,  30,  30,  31,  22,  22,  22,  22,
  677.   22,  22,  22,  22,  22,  22,  22,  22,  22,  22,
  678.   22,  22,  22,  22,  22,  22,  22,  22,  22,  22,
  679.   22,  22,  22,  22,  22,  22,  22,  22,  22,  22,
  680.   22,  22,  22,  22,  22,  22,  22,  22,  22,  22,
  681.   22,  22,  22,  22,  22,  22,  22,  22,  22,  22,
  682.   22,  22,  22,  22,  22,  22,  22,  22,  22,  22,
  683.   22,  22,  22,  22,  22,  22,  22,  22,  22,  22,
  684.   22,  22,  22,  22,  22,  22,  22,  22,  22,  22,
  685.   22,  22,  23,  23,  23,  23,  23,  23,  23,  23,
  686.   23,  23,  23,  23,  35, 131,  36, 133,  37, 132,
  687.  132, 134, 134, 135, 135, 136,  38, 137,  39, 139,
  688.  139, 139, 142,  40, 143,  41, 145, 138, 144, 144,
  689.  144, 144, 144, 144, 144, 150, 140, 151, 141, 152,
  690.  146, 153, 147, 154, 148, 155, 149, 156,  42, 159,
  691.  158, 160, 158, 161, 157, 162, 157, 164, 163, 165,
  692.  163, 166, 167,  43, 168, 168, 168, 168, 168, 168,
  693.  168, 168, 176, 169, 177, 170, 178, 171, 179, 172,
  694.  180, 173, 181, 174, 182, 175, 183,  44, 184,  45,
  695.  185,  46, 187, 187, 187, 187, 187, 187, 187, 187,
  696.  189, 188, 190, 186, 191,  47, 192, 192, 192, 192,
  697.  192, 193,  48, 194, 194, 194, 194, 195,  49, 196,
  698.  196, 196, 196, 196,  50,  51,  51,  52, 197,  53,
  699.   15,  15,  15,  15,  15,  15,  15,  15,  15,  15,
  700.   15,  15,  15,  15,  14,  14,  14,  14, 198, 198,
  701.  199, 200, 199, 201, 203, 205,  54, 204, 206, 204,
  702.    3,   3, 202, 202, 207, 208, 210,  55, 209, 209,
  703.  209, 209, 214, 213, 215, 215, 217, 218, 216, 219,
  704.  211, 220, 212,  56,  57,  58,  59,  60,  61,  62,
  705.   63,  64,  65,  66,  67,  68,  12,  12,  12,  12,
  706.   69,  70,  71,  72,  73,  74,  75,  76,  77,  78,
  707.   79,  79,  80,  81,  82,  83,  84,  85,  85,  85,
  708.   86,  87,  88,  89,  90,  91,  92,  93,  94,  95,
  709.   96, 221, 222, 223, 224, 225,  97,  98,  99,  99,
  710.  100, 101,   4,   4,   4, 102, 103,   6,   6,   6,
  711.  104, 105, 106, 107, 108,   5,   5,   5,   5,   5,
  712.  109, 110, 111, 112, 113, 114, 115, 226, 116,   7,
  713.    7, 227, 227,   8,   8,   8,   8, 117, 118, 119,
  714.  228, 120, 229, 231, 121, 232, 230, 233, 230, 122,
  715.  123, 124, 125,  34, 234, 234, 234, 234,  13,  13,
  716.  126, 235, 235, 127, 128,  33,   9,   9,  10,  10,
  717.   11,  11, 129, 236,  32, 237, 237, 237, 237, 237,
  718.  238, 238, 130, 130,  18,  16, 239,  16, 240, 240,
  719.  240, 240, 240, 240, 240, 240, 240, 240,   2,   2 };
  720. short yyr2[]={
  721.  
  722.    0,   0,   3,   1,   3,   1,   2,   1,   2,   1,
  723.    1,   1,   3,   3,   0,   2,   2,   4,   3,   0,
  724.    2,   2,   0,   2,   2,   2,   1,   1,   1,   1,
  725.    1,   1,   1,   1,   1,   1,   1,   1,   1,   1,
  726.    1,   1,   1,   1,   1,   1,   1,   1,   1,   1,
  727.    1,   1,   1,   1,   1,   1,   1,   1,   1,   1,
  728.    1,   1,   1,   1,   1,   1,   1,   1,   1,   1,
  729.    1,   1,   1,   1,   1,   1,   1,   1,   1,   1,
  730.    1,   1,   1,   1,   1,   1,   1,   1,   1,   1,
  731.    1,   1,   1,   1,   1,   1,   1,   1,   1,   1,
  732.    1,   1,   1,   1,   1,   1,   1,   1,   1,   1,
  733.    1,   1,   1,   1,   1,   1,   1,   1,   1,   1,
  734.    1,   1,   1,   1,   3,   0,   4,   0,   4,   2,
  735.    3,   3,   4,   0,   2,   0,   4,   0,   5,   0,
  736.    2,   2,   0,   4,   0,   5,   0,   2,   0,   2,
  737.    2,   2,   2,   2,   2,   0,   5,   0,   5,   0,
  738.    5,   0,   5,   0,   5,   0,   5,   0,   4,   0,
  739.    4,   0,   5,   0,   4,   0,   5,   0,   4,   0,
  740.    5,   0,   0,   6,   0,   2,   2,   2,   2,   2,
  741.    2,   2,   0,   5,   0,   5,   0,   5,   0,   5,
  742.    0,   5,   0,   5,   0,   5,   0,   5,   0,   7,
  743.    0,   6,   0,   2,   2,   2,   2,   2,   2,   2,
  744.    0,   5,   0,   5,   0,   6,   0,   2,   7,   5,
  745.    7,   0,   5,   0,   2,   6,   5,   0,   5,   0,
  746.    2,   7,   5,   7,   5,   6,  15,   9,   0,  14,
  747.    0,   1,   1,   1,   1,   1,   1,   1,   1,   1,
  748.    1,   1,   1,   1,   1,   1,   1,   1,   0,   2,
  749.    0,   0,   5,   0,   0,   0,   9,   0,   0,   5,
  750.    1,   1,   0,   2,   0,   0,   0,  12,   0,   2,
  751.    2,   2,   0,   5,   0,   2,   0,   0,   9,   0,
  752.    5,   0,   5,   4,   4,   5,   3,   3,   5,   3,
  753.    3,   3,   5,   3,   3,   3,   1,   1,   1,   1,
  754.    3,   5,   3,   5,   3,   3,   3,  10,  10,   4,
  755.    3,   3,   3,   3,   5,   3,   3,   3,   3,   3,
  756.    5,   3,   3,   4,   3,   3,   3,   4,   3,   4,
  757.    3,   0,   0,   0,   0,   0,  15,   3,   3,   3,
  758.    3,   5,   1,   1,   1,   3,   6,   1,   1,   1,
  759.    7,   7,   7,  28,   5,   1,   1,   1,   1,   1,
  760.    2,   2,  26,  27,   3,   4,  12,   0,  15,   1,
  761.    1,   0,   8,   1,   1,   1,   1,   3,   3,   3,
  762.    0,   4,   0,   0,   5,   0,   4,   0,   5,   2,
  763.    3,   2,   3,   3,   0,   4,   6,   6,   1,   1,
  764.    3,   4,   5,   5,   3,  12,   1,   1,   1,   1,
  765.    1,   1,   5,   0,   9,   0,   1,   6,   8,  13,
  766.    0,   4,   4,  13,   0,   0,   0,   4,   0,   2,
  767.    2,   2,   2,   2,   2,   2,   2,   4,   1,   1 };
  768. short yychk[]={
  769.  
  770. -1000,  -1, 463, -17, -20, -22, -23, -24, -35, -36,
  771.  -37, -38, -39, -40, -41, -42, -43, -44, -45, -46,
  772.  -47, -48, -49, -50, -51, -52, -53, -54, -55, -56,
  773.  -57, -58, -59, -60, -61, -62, -63, -64, -65, -66,
  774.  -67, -68, -69, -70, -71, -72, -73, -74, -75, -76,
  775.  -77, -78, -79, -80, -81, -82, -83, -84, -85, -86,
  776.  -87, -88, -89, -90, -91, -92, -93, -94, -95, -96,
  777.  -97, -98, -99,-100,-101,-102,-103,-104,-105,-106,
  778. -107,-108,-109,-110,-111,-112,-113,-114,-115,-116,
  779. -117,-118,-119,-120,-121,-122,-123,-124,-125,-126,
  780. -127,-128, -33,-129,-130, -32, -28, 262, 263, 264,
  781.  265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
  782.  275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
  783.  285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
  784.  295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
  785.  305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
  786.  315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
  787.  325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
  788.  335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
  789.  345, 346, 465, 347, 348, 430, 351, 352, 354, 355,
  790.  356, 357, 358, 360, 359, 349, -16, -18, 361, -20,
  791.  -29, 257,-131,-133,-136,-137,-142,-143,-156,-166,
  792. -183, 257,-185, 257, 257, 257,  -2, 258, 257,  -2,
  793.   -2,  -2,  -3, 368, 369,  -3, 257, 257, 257, 257,
  794.   -2,  -2, 257, 257,  -2,  -2, 257, 257, -12, 421,
  795.  422, 423, 424, 257,  -2, 257,  -2, 257, 257, 257,
  796.   -2,  -2, 257, 379, 380, 257,  -2,  -2, 257, 257,
  797.  381, 382, 383,  -2, 257, 257, 257,  -2,  -2,  -2,
  798.   -2,  -2,  -2, 257,-221, 257, 394, 395, 257, 257,
  799.  257, 257, 257, 257, 257, 257, 257,  59,  59, 123,
  800.  123, 257, 257, 257, 257, 257, 257, 257,-228,-229,
  801.   59, 259,  59, 257,-235, 257,  -2, 257, 257, 257,
  802.  257,-236, 257, -17, -19, -21, -25, 260,-239, -30,
  803.  -32, -33,  59,-132,  -2,-134,  -2,-132,-138,-145,
  804. -132,-138,-157, 123,-163, 123,-138, 257,-138, 257,
  805. -193,-195,  -2,  -2,  -2,  -2, 257, 257,  -2,  -2,
  806.   -2,  59,  59,  -2,  59,  59,  59,  -2,  59,  59,
  807.   59,  59,  -2,  59,  -2,  59,  59,  59,  -2,  -2,
  808.  257,  59,  59,  59,  59,  -2,  59,  59,  59,  59,
  809.   59,  -2,  59,  59, 257,  59,  59,  59,  -2,  59,
  810.   -2,  59, 391,  59,  59,  59,  59, 257,  59,  -2,
  811.   -2,  -2,  -2, 123,  -5, 425, 426, 427, 428, 429,
  812.   -2,  -2,  59,  -4, 402, 403, 404,  -2,  -2,  59,
  813.   59,  59, 256,-230, 259,  59,  59,  59, 257,  -2,
  814.   -2,  59, 257,  -2, 380, 379, 257,  59, -21, -26,
  815.  257,-240, -31, -22, -34, 350, 353,  59,  -2,  -2,
  816.   59,  -2,  -2,  59,-139,-134,  59,-144,  59, 123,
  817. -161, 123,-167,-164,-144,-184,-186, 440,-191,-194,
  818. -196, 259,  -2,  -2,  -2,-201, 257,  59,  59,  -2,
  819.   -2,  -2,  -2,  -2,  -2,  -2,  59,  -2,  -2,  59,
  820.   59,  59,-222,  -4,  -6, 405, 406, 407,  -2,  -2,
  821.   -2,  -2,  -4,  -2,  -2,  59,  -2,  -2,  59,-231,
  822.  259,-232,  -2,  -2,  -2, 257,  -7, 408, 409,  59,
  823.  123,  -2, -27, -22, 261,  59,  59, 398, 399, 400,
  824.  401, 436, 437, 438, 439, 435,  59,-234,  -2,  -2,
  825.   -2,  59,-140,-141, 371, 373,  59,-140,-141,-146,
  826. -147,-148,-149, 372, 374, 376, 375,-162,-132,-165,
  827. -168,-134,  59,-138,-187,-190,-192,  59, 441, 442,
  828.  443,  59, 441, 442, 443, 445,  59, 259,  -2, 257,
  829. -202, 257,  59,  59,  59,  59,  59,  -2,  -2,  59,
  830.   59, 123,  59,  -4,  -2,  -2,  -2,  -2,  59,  -2,
  831.   -2,  -2,  -2,  59,-233, -19,  -2,  -2,  59,  -9,
  832.  415, 416,  59,  -2,  -2,  59, 257,  59, 257,  -2,
  833. -150,-151,-152,-153,-154,-155,-132, 125,-134,  59,
  834. -169,-170,-171,-172,-173,-174,-175, 371, 373, 372,
  835.  378, 374, 376, 375, 125,-144,  59,-188,-140,-141,
  836. -146,-147,-148,-149, 378, 123,  59, 441, 442, 443,
  837.  444, 123, 123, 123, 123, 123,  59, 446,  -2, 257,
  838. -203,  -2, 257,  -2,  -2,-135,  59,  -4,  -4,  -4,
  839.   -2,  -2,  -2,  -2,  -2, -19, 464,  -2, -10, 417,
  840.  418,  -2,  -2, 257, -13, 433, 434, 123, 123, 123,
  841.  123, 123, 123, 125, 125,-176,-177,-178,-179,-180,
  842. -181,-182,  59,-189,-158, 123, 123, 123, 123,  -2,
  843.   -2,  -2,  -2,  -2, 123,  -2, -15, 447, 448, 449,
  844.  450, 451, 452, 453, 454, 404, 455, 456, 457, 458,
  845. -204, 362,-207,  -2,  -2, 257, 125,  59,  59,  59,
  846.   -2, 125, 125,  -2,  -7, 464, -11, 419, 420,  -2,
  847. -237, 386, 387, 388, 389, 257,-134,-135,-134,-134,
  848. -135,-134, 123, 123, 123, 123, 123, 123, 123, 123,
  849.  123, 125,-159,  -2,  -2,  -2,  -2, 125,  -2, 125,
  850.   -2,  -2, 259, -14, 459, 460, 461, 462,-205,-206,
  851. -202,  -2,  -2,-223, 125, 123, 123,  -2,  -2,  -2,
  852.   -2,-238, 390, 123, 123, 123, 431, 125, 125, 125,
  853.  125, 125, 125,-163,-158,-163,-158,-134,-135,-134,
  854. -158,-160,-135,  -2, 125,  -2, 125,  -2,  -2,  -2,
  855.   59,-197,  59, 123,-208,  -2,  -2, 392, 123,  -2,
  856.   -2,  -2,  -2,  -2,  -2,  59, 123,  -2,  -2,  -2,
  857.  257, 432, 125, 125, 125, 125, 125, 125, 125, 125,
  858. -135, 125,  -2,  -2, 125, 125,  -2, 123,-202,-209,
  859.   59,  59,-224,  -2,  -2,  -2,  -2,  -2,  -2,  -2,
  860.  257,  -2,  -2,  -2, 125, 125, 125,  -2,-198, 125,
  861. -210,-211,-212,-213, 364, 365, 366, 123,  -2,  -2,
  862.   -2,  -2,  -2,  -2,  -2, 125,  -2,  -2,  -2,  -2,
  863.  125, 257,  59,-219,-220,-214,-135,  -2,  -2,  -2,
  864.   59,  -2,  59, 125, 125,  -2,  -2,  -2,-199, 439,
  865.  123, 123, 123, 125,  -2, 125, 125,-226,  59,  -2,
  866.   -2, 125,  59,-200,-202,-202,-215,-225, 125, 123,
  867.  123,-227, 410, 125,  -2,  59, 123, 125, 125, 125,
  868. -216, 367,  59, 123,  -2,  -2,  59, 123,  -2,-135,
  869.  123,  -2,  -2,  -2,  -2,  -2, 125,  -3,  -2,  -2,
  870.   -2,  -2,  -2, 257,  -2,  -2,  -2,  -2,  -2,-217,
  871.   -2, 125, 125,  -2, 125,-202, 125, 123, 123,  -8,
  872.  411, 412, 413, 414,-218, 123,  -2,  -2, 125,-204,
  873.   -2,  -2,  -2, 125,  -2,  -2,  -2,  -2,  -2,  -2,
  874.   -2, 125, 125, 125,  59,  -4,  -4,  59,  59 };
  875. short yydef[]={
  876.  
  877.    1,  -2,  -2,   3,   5,   9,  10,  11,  26,  27,
  878.   28,  29,  30,  31,  32,  33,  34,  35,  36,  37,
  879.   38,  39,  40,  41,  42,  43,  44,  45,  46,  47,
  880.   48,  49,  50,  51,  52,  53,  54,  55,  56,  57,
  881.   58,  59,  60,  61,  62,  63,  64,  65,  66,  67,
  882.   68,  69,  70,  71,  72,  73,  74,  75,  76,  77,
  883.   78,  79,  80,  81,  82,  83,  84,  85,  86,  87,
  884.   88,  89,  90,  91,  92,  93,  94,  95,  96,  97,
  885.   98,  99, 100, 101, 102, 103, 104, 105, 106, 107,
  886.  108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
  887.  118, 119, 120, 121, 122, 123,  19,   0, 125, 127,
  888.  135, 137, 142, 144, 167, 181, 206,   0, 210,   0,
  889.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  890.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  891.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  892.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  893.    0,   0,   0,   0,   0,   0,   0,   0,   0, 351,
  894.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  895.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  896.    0,   0, 400, 402,   0,   0,   0,   0,   0,   0,
  897.    0,   0,   0,   0, 433,   0,   0,   0, 446,   6,
  898.   22,   0,   0,   0,   0, 146,   0, 146,   0,   0,
  899.  146,   0, 146,   0, 231, 237,   0, 458, 459,   0,
  900.    0,   0,   0, 280, 281,   0,   0,   0,   0,   0,
  901.    0,   0,   0,   0,   0,   0,   0,   0,   0, 316,
  902.  317, 318, 319,   0,   0,   0,   0,   0,   0,   0,
  903.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  904.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  905.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  906.    0,   0,   0,   0,   0,   0,   0, 380, 381,   0,
  907.    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  908.  409,   0, 411,   0,   0,   0,   0,   0,   0,   0,
  909.    0,   0,   0,   2,   4,   7,  14,   0, 448,   0,
  910.   20,  21, 124,   0,   0,   0,   0,   0, 139,   0,
  911.    0, 148,   0, 173, 182, 177, 148, 208,   0, 224,
  912.  233, 239,   0,   0,   0,   0, 273,   0,   0,   0,
  913.    0, 306, 307,   0, 309, 310, 311,   0, 313, 314,
  914.  315, 320,   0, 322,   0, 324, 325, 326,   0,   0,
  915.    0, 330, 331, 332, 333,   0, 335, 336, 337, 338,
  916.  339,   0, 341, 342,   0, 344, 345, 346,   0, 348,
  917.    0, 350, 352, 357, 358, 359, 360,   0, 365,   0,
  918.    0,   0,   0,   0,   0, 375, 376, 377, 378, 379,
  919.    0,   0, 384,   0, 362, 363, 364,   0,   0, 397,
  920.  398, 399,   0, 403, 405, 410, 412, 420,   0,   0,
  921.    0, 424,   0,   0,   0,   0,   0,  18,   8,   0,
  922.    0,   0,  17,  23,  24,   0, 414, 126,   0, 129,
  923.  128,   0,   0, 136,   0, 147, 143,   0, 168, 175,
  924.    0, 179, 184,   0,   0, 146, 212, 222, 226,   0,
  925.    0,   0,   0,   0,   0, 282,   0, 303, 304,   0,
  926.    0,   0,   0,   0,   0,   0, 329,   0,   0, 343,
  927.  347, 349,   0,   0,   0, 367, 368, 369,   0,   0,
  928.    0,   0,   0,   0,   0, 385,   0,   0, 401,   0,
  929.  407,   0,   0,   0,   0,   0,   0, 389, 390, 442,
  930.    0,   0,  12,  15,   0,  13, 447, 449, 450, 451,
  931.  452, 453, 454, 455, 456,   0,  25,   0, 130,   0,
  932.  131, 138, 140, 141, 155, 157, 145, 149, 150, 151,
  933.  152, 153, 154, 159, 161, 163, 165,   0,   0,   0,
  934.    0,   0, 207, 148,   0,   0,   0, 232, 234,   0,
  935.    0, 238, 240,   0,   0,   0, 244,   0,   0,   0,
  936.  274,   0, 305, 308, 312, 321, 323,   0,   0, 334,
  937.  340, 133, 361,   0,   0,   0,   0,   0, 374,   0,
  938.    0,   0,   0, 404,   0,   0,   0, 421, 423,   0,
  939.  426, 427, 432,   0,   0,  16,   0, 413,   0, 132,
  940.    0,   0,   0,   0,   0,   0,   0, 174,   0, 183,
  941.  185, 186, 187, 188, 189, 190, 191, 192, 194, 196,
  942.  198, 200, 202, 204, 178,   0, 211, 213, 214, 215,
  943.  216, 217, 218, 219, 220,   0, 225, 227,   0,   0,
  944.    0,   0,   0,   0,   0,   0, 245,   0,   0, 250,
  945.  277, 283, 284,   0,   0,   0, 366,   0,   0,   0,
  946.    0,   0,   0,   0,   0,   0, 406, 422,   0, 428,
  947.  429,   0, 435, 457,   0, 418, 419,   0, 133,   0,
  948.    0, 133,   0, 176, 180,   0,   0,   0,   0,   0,
  949.    0,   0, 209,   0,   0, 169,   0,   0,   0,   0,
  950.    0,   0,   0,   0,   0,   0,   0, 251, 252, 253,
  951.  254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
  952.  275, 278, 282,   0,   0, 134, 353, 370, 371, 372,
  953.    0,   0,   0,   0,   0, 408,   0, 430, 431,   0,
  954.  440, 436,   0,   0,   0, 415,   0,   0,   0,   0,
  955.    0,   0,   0,   0,   0,   0,   0, 133,   0,   0,
  956.  171, 223, 133,   0,   0,   0,   0, 236,   0, 242,
  957.    0,   0,   0, 248, 264, 265, 266, 267,   0,   0,
  958.  285,   0,   0,   0,   0,   0,   0,   0,   0,   0,
  959.    0,   0,   0,   0,   0,   0,   0, 156, 158, 160,
  960.  162, 164, 166,   0,   0,   0,   0,   0,   0,   0,
  961.    0, 133,   0,   0, 229,   0, 235,   0,   0,   0,
  962.  247,   0, 276, 282, 288,   0,   0, 354,   0,   0,
  963.    0,   0,   0,   0,   0, 434,   0,   0,   0,   0,
  964.  416, 417, 193, 195, 197, 199, 201, 203, 205, 221,
  965.    0, 170,   0,   0, 241, 243,   0, 268,   0, 286,
  966.  327, 328,   0,   0,   0,   0,   0,   0,   0,   0,
  967.    0,   0,   0,   0, 172, 228, 230,   0,   0, 279,
  968.    0, 289, 290, 291, 299, 301, 292, 133,   0,   0,
  969.    0,   0,   0,   0,   0, 441,   0,   0,   0,   0,
  970.  270, 269, 287,   0,   0,   0,   0,   0,   0,   0,
  971.  386, 387, 425,   0, 437,   0,   0,   0,   0, 271,
  972.  282, 282, 294, 355,   0,   0,   0, 391, 443,   0,
  973.    0,   0, 249,   0,   0,   0,   0,   0,   0,   0,
  974.    0,   0,   0, 438,   0, 246, 133, 300, 302, 293,
  975.  295,   0, 356,   0,   0,   0, 388,   0,   0,   0,
  976.    0,   0,   0,   0,   0,   0, 272,   0,   0,   0,
  977.    0,   0,   0, 296,   0,   0,   0,   0,   0, 282,
  978.    0,   0,   0,   0, 439, 297,   0,   0,   0,   0,
  979.  393, 394, 395, 396, 277,   0,   0,   0, 392,   0,
  980.    0,   0,   0, 298,   0,   0,   0,   0,   0,   0,
  981.    0,   0,   0,   0, 382,   0,   0, 383, 373 };
  982. /* static char yaccpar_sccsid[] = "@(#) bifparse.c,v 1.3 91/01/17 10:17:23 mikec Exp"; */
  983.  
  984. #
  985. # define YYFLAG -1000
  986. # define YYERROR goto yyerrlab
  987. # define YYACCEPT return(0)
  988. # define YYABORT return(1)
  989.  
  990. /*    parser for yacc output    */
  991.  
  992. #ifdef YYDEBUG
  993. int yydebug = 0; /* 1 for debugging */
  994. #endif
  995. YYSTYPE yyv[YYMAXDEPTH]; /* where the values are stored */
  996. int yychar = -1; /* current input token number */
  997. int yynerrs = 0;  /* number of errors */
  998. short yyerrflag = 0;  /* error recovery flag */
  999.  
  1000. yyparse() {
  1001.  
  1002.     short yys[YYMAXDEPTH];
  1003.     short yyj, yym;
  1004.     register YYSTYPE *yypvt;
  1005.     register short yystate, *yyps, yyn;
  1006.     register YYSTYPE *yypv;
  1007.     register short *yyxi;
  1008.  
  1009.     yystate = 0;
  1010.     yychar = -1;
  1011.     yynerrs = 0;
  1012.     yyerrflag = 0;
  1013.     yyps= &yys[-1];
  1014.     yypv= &yyv[-1];
  1015.  
  1016.  yystack:    /* put a state and value onto the stack */
  1017.  
  1018. #ifdef YYDEBUG
  1019.     if( yydebug  ) printf( "state %d, char 0%o\n", yystate, yychar );
  1020. #endif
  1021.         if( ++yyps> &yys[YYMAXDEPTH] ) { yyerror( "yacc stack overflow" ); return(1); }
  1022.         *yyps = yystate;
  1023.         ++yypv;
  1024.         *yypv = yyval;
  1025.  
  1026.  yynewstate:
  1027.  
  1028.     yyn = yypact[yystate];
  1029.  
  1030.     if( yyn<= YYFLAG ) goto yydefault; /* simple state */
  1031.  
  1032.     if( yychar<0 ) if( (yychar=yylex())<0 ) yychar=0;
  1033.     if( (yyn += yychar)<0 || yyn >= YYLAST ) goto yydefault;
  1034.  
  1035.     if( yychk[ yyn=yyact[ yyn ] ] == yychar ){ /* valid shift */
  1036.         yychar = -1;
  1037.         yyval = yylval;
  1038.         yystate = yyn;
  1039.         if( yyerrflag > 0 ) --yyerrflag;
  1040.         goto yystack;
  1041.         }
  1042.  
  1043.  yydefault:
  1044.     /* default state action */
  1045.  
  1046.     if( (yyn=yydef[yystate]) == -2 ) {
  1047.         if( yychar<0 ) if( (yychar=yylex())<0 ) yychar = 0;
  1048.         /* look through exception table */
  1049.  
  1050.         for( yyxi=yyexca; (*yyxi!= (-1)) || (yyxi[1]!=yystate) ; yyxi += 2 ) ; /* VOID */
  1051.  
  1052.         while( *(yyxi+=2) >= 0 ){
  1053.             if( *yyxi == yychar ) break;
  1054.             }
  1055.         if( (yyn = yyxi[1]) < 0 ) return(0);   /* accept */
  1056.         }
  1057.  
  1058.     if( yyn == 0 ){ /* error */
  1059.         /* error ... attempt to resume parsing */
  1060.  
  1061.         switch( yyerrflag ){
  1062.  
  1063.         case 0:   /* brand new error */
  1064.  
  1065.         yyerrlab:
  1066.             yyerror( "syntax error" );
  1067.             ++yynerrs;
  1068.  
  1069.         case 1:
  1070.         case 2: /* incompletely recovered error ... try again */
  1071.  
  1072.             yyerrflag = 3;
  1073.  
  1074.             /* find a state where "error" is a legal shift action */
  1075.  
  1076.             while ( yyps >= yys ) {
  1077.                yyn = yypact[*yyps] + YYERRCODE;
  1078.                if( yyn>= 0 && yyn < YYLAST && yychk[yyact[yyn]] == YYERRCODE ){
  1079.                   yystate = yyact[yyn];  /* simulate a shift of "error" */
  1080.                   goto yystack;
  1081.                   }
  1082.                yyn = yypact[*yyps];
  1083.  
  1084.                /* the current yyps has no shift onn "error", pop stack */
  1085.  
  1086. #ifdef YYDEBUG
  1087.                if( yydebug ) printf( "error recovery pops state %d, uncovers %d\n", *yyps, yyps[-1] );
  1088. #endif
  1089.                --yyps;
  1090.                --yypv;
  1091.                }
  1092.  
  1093.             /* there is no state on the stack with an error shift ... abort */
  1094.  
  1095.     yyabort:
  1096.             return(1);
  1097.  
  1098.  
  1099.         case 3:  /* no shift yet; clobber input char */
  1100.  
  1101. #ifdef YYDEBUG
  1102.             if( yydebug ) printf( "error recovery discards char %d\n", yychar );
  1103. #endif
  1104.  
  1105.             if( yychar == 0 ) goto yyabort; /* don't discard EOF, quit */
  1106.             yychar = -1;
  1107.             goto yynewstate;   /* try again in the same state */
  1108.  
  1109.             }
  1110.  
  1111.         }
  1112.  
  1113.     /* reduction by production yyn */
  1114.  
  1115. #ifdef YYDEBUG
  1116.         if( yydebug ) printf("reduce %d\n",yyn);
  1117. #endif
  1118.         yyps -= yyr2[yyn];
  1119.         yypvt = yypv;
  1120.         yypv -= yyr2[yyn];
  1121.         yyval = yypv[1];
  1122.         yym=yyn;
  1123.             /* consult goto table to find next state */
  1124.         yyn = yyr1[yyn];
  1125.         yyj = yypgo[yyn] + *yyps + 1;
  1126.         if( yyj>=YYLAST || yychk[ yystate = yyact[yyj] ] != -yyn ) yystate = yyact[yypgo[yyn]];
  1127.         switch(yym){
  1128.             
  1129. case 2:
  1130. # line 389 "bifparse.y"
  1131. { close_reportfile(); } break;
  1132. case 3:
  1133. # line 391 "bifparse.y"
  1134. { close_reportfile(); } break;
  1135. case 4:
  1136. # line 393 "bifparse.y"
  1137. { close_reportfile(); } break;
  1138. case 13:
  1139. # line 413 "bifparse.y"
  1140. { (void)bif_begstr(yypvt[-1].l); } break;
  1141. case 16:
  1142. # line 422 "bifparse.y"
  1143. { (void)bif_endstr(); } break;
  1144. case 18:
  1145. # line 429 "bifparse.y"
  1146. { (void)bif_begintest(yypvt[-1].l); } break;
  1147. case 25:
  1148. # line 442 "bifparse.y"
  1149. { (void)bif_endtest(); } break;
  1150. case 124:
  1151. # line 550 "bifparse.y"
  1152. { (void)bif_label(yypvt[-1].l); } break;
  1153. case 125:
  1154. # line 554 "bifparse.y"
  1155. { (void) bif_marker(BIF_P_BEGIN); } break;
  1156. case 126:
  1157. # line 556 "bifparse.y"
  1158. { (void)bif_marker(BIF_P_END  ); } break;
  1159. case 127:
  1160. # line 560 "bifparse.y"
  1161. { (void)bif_marker3(BIF_P_BEGIN); } break;
  1162. case 128:
  1163. # line 562 "bifparse.y"
  1164. { (void)bif_marker3(BIF_P_END  ); } break;
  1165. case 129:
  1166. # line 566 "bifparse.y"
  1167. {
  1168.                  (void)bif_pair(yypvt[-1].f,yypvt[-0].f);  /* rev 0.8 */
  1169.                 } break;
  1170. case 130:
  1171. # line 570 "bifparse.y"
  1172. {(void)bif_pair(yypvt[-1].f,yypvt[-0].f); } break;
  1173. case 131:
  1174. # line 574 "bifparse.y"
  1175. {
  1176.                  (void)bif_triplet(yypvt[-2].f,yypvt[-1].f,yypvt[-0].f); 
  1177.                 } break;
  1178. case 132:
  1179. # line 578 "bifparse.y"
  1180. {(void)bif_triplet(yypvt[-2].f,yypvt[-1].f,yypvt[-0].f);} break;
  1181. case 134:
  1182. # line 583 "bifparse.y"
  1183. { bif_intlist(yypvt[-0].l); } break;
  1184. case 135:
  1185. # line 587 "bifparse.y"
  1186. { (void)
  1187.                    bif_line(BIF_P_BEGIN); } break;
  1188. case 136:
  1189. # line 590 "bifparse.y"
  1190. { (void)bif_line(BIF_P_END  ); } break;
  1191. case 137:
  1192. # line 594 "bifparse.y"
  1193.                   bif_line3(BIF_P_BEGIN); 
  1194.                   not_repeated(-1); 
  1195.                   with_data_name = "LINE3";
  1196.                 } break;
  1197. case 138:
  1198. # line 600 "bifparse.y"
  1199.                   not_repeated(-1); 
  1200.                   bif_line3(BIF_P_END  ); 
  1201.                 } break;
  1202. case 142:
  1203. # line 613 "bifparse.y"
  1204. { (void)
  1205.                    bif_polygon(BIF_P_BEGIN); } break;
  1206. case 143:
  1207. # line 616 "bifparse.y"
  1208. { (void)bif_polygon(BIF_P_END  ); } break;
  1209. case 144:
  1210. # line 620 "bifparse.y"
  1211.                   bif_polygon3 (BIF_P_BEGIN); 
  1212.                   not_repeated(-1); 
  1213.                   with_data_name = "POLYGON3";
  1214.                 } break;
  1215. case 145:
  1216. # line 626 "bifparse.y"
  1217.                   not_repeated(-1); 
  1218.                   (void)bif_polygon3 (BIF_P_END  ); 
  1219.                 } break;
  1220. case 146:
  1221. # line 632 "bifparse.y"
  1222. { (void)bif_group(VERTEX_COORDINATES); } break;
  1223. case 147:
  1224. # line 634 "bifparse.y"
  1225. { (void)bif_group(BIF_END_OF_GROUP); } break;
  1226. case 155:
  1227. # line 647 "bifparse.y"
  1228.                   if(not_repeated(1)) 
  1229.                   bif_group(VERTEX_COLORS); 
  1230.                   else 
  1231.                   { 
  1232.                      (void)bif_group(IGNORE_GROUP);  
  1233.                      WD3B_error("VERTEX_COLORS"); 
  1234.                   } 
  1235.                 } break;
  1236. case 156:
  1237. # line 657 "bifparse.y"
  1238. { (void)bif_group(BIF_END_OF_GROUP); } break;
  1239. case 157:
  1240. # line 661 "bifparse.y"
  1241.                   if(not_repeated(2)) 
  1242.                   bif_group(VERTEX_COLOR_INDICES); 
  1243.                   else 
  1244.                   { 
  1245.                      (void)bif_group(IGNORE_GROUP);  
  1246.                      WD3B_error("VERTEX_COLOR_INDICES"); 
  1247.                   } 
  1248.                 } break;
  1249. case 158:
  1250. # line 671 "bifparse.y"
  1251. { (void)bif_group(BIF_END_OF_GROUP); } break;
  1252. case 159:
  1253. # line 676 "bifparse.y"
  1254.                   if(not_repeated(3)) 
  1255.                   bif_group(VERTEX_NORMALS); 
  1256.                   else 
  1257.                   { 
  1258.                      (void)bif_group(IGNORE_GROUP);  
  1259.                      WD3B_error("VERTEX_NORMALS"); 
  1260.                   } 
  1261.                 } break;
  1262. case 160:
  1263. # line 686 "bifparse.y"
  1264. { (void)bif_group(BIF_END_OF_GROUP); } break;
  1265. case 161:
  1266. # line 691 "bifparse.y"
  1267.                   if(not_repeated(4)) 
  1268.                   bif_group(FACET_COLORS); 
  1269.                   else 
  1270.                   { 
  1271.                      (void)bif_group(IGNORE_GROUP);  
  1272.                      WD3B_error("FACET_COLORS"); 
  1273.                   } 
  1274.                 } break;
  1275. case 162:
  1276. # line 701 "bifparse.y"
  1277. { (void)bif_group(BIF_END_OF_GROUP); } break;
  1278. case 163:
  1279. # line 706 "bifparse.y"
  1280.                   if(not_repeated(5)) 
  1281.                   bif_group(FACET_COLOR_INDICES); 
  1282.                   else 
  1283.                   { 
  1284.                      (void)bif_group(IGNORE_GROUP);  
  1285.                      WD3B_error("FACET_COLOR_INDICES"); 
  1286.                   } 
  1287.                 } break;
  1288. case 164:
  1289. # line 716 "bifparse.y"
  1290. { (void)bif_group(BIF_END_OF_GROUP); } break;
  1291. case 165:
  1292. # line 721 "bifparse.y"
  1293.                   if(not_repeated(6)) 
  1294.                   bif_group(FACET_NORMALS); 
  1295.                   else 
  1296.                   { 
  1297.                      (void)bif_group(IGNORE_GROUP);  
  1298.                      WD3B_error("FACET_NORMALS"); 
  1299.                   } 
  1300.                 } break;
  1301. case 166:
  1302. # line 731 "bifparse.y"
  1303. { (void)bif_group(BIF_END_OF_GROUP); } break;
  1304. case 167:
  1305. # line 737 "bifparse.y"
  1306.                   (void)bif_faset (BIF_P_BEGIN);  /* rev 0.8 */
  1307.                   (void)bif_group(VERTEX_COORDINATES); 
  1308.                 } break;
  1309. case 168:
  1310. # line 743 "bifparse.y"
  1311.                   (void)bif_group(BIF_END_OF_GROUP); 
  1312.                   (void)bif_faset (BIF_P_END  ); 
  1313.                 } break;
  1314. case 169:
  1315. # line 750 "bifparse.y"
  1316. { (void)bif_contour(BIF_P_BEGIN); } break;
  1317. case 170:
  1318. # line 753 "bifparse.y"
  1319. { (void)bif_contour(BIF_P_END  ); } break;
  1320. case 171:
  1321. # line 756 "bifparse.y"
  1322. { (void)bif_contour(BIF_P_BEGIN); } break;
  1323. case 172:
  1324. # line 759 "bifparse.y"
  1325. { (void)bif_contour(BIF_P_END  ); } break;
  1326. case 173:
  1327. # line 763 "bifparse.y"
  1328. { (void)bif_contour(BIF_P_BEGIN); } break;
  1329. case 174:
  1330. # line 766 "bifparse.y"
  1331. { (void)bif_contour(BIF_P_END  ); } break;
  1332. case 175:
  1333. # line 769 "bifparse.y"
  1334. { (void)bif_contour(BIF_P_BEGIN); } break;
  1335. case 176:
  1336. # line 772 "bifparse.y"
  1337. { (void)bif_contour(BIF_P_END  ); } break;
  1338. case 177:
  1339. # line 776 "bifparse.y"
  1340. { (void)bif_contour(BIF_P_BEGIN); } break;
  1341. case 178:
  1342. # line 779 "bifparse.y"
  1343. { (void)bif_contour(BIF_P_END  ); } break;
  1344. case 179:
  1345. # line 782 "bifparse.y"
  1346. { (void)bif_contour(BIF_P_BEGIN); } break;
  1347. case 180:
  1348. # line 785 "bifparse.y"
  1349. { (void)bif_contour(BIF_P_END  ); } break;
  1350. case 181:
  1351. # line 789 "bifparse.y"
  1352.                   (void)bif_faset3(BIF_P_BEGIN); 
  1353.                   (void)bif_group(VERTEX_COORDINATES); 
  1354.                 } break;
  1355. case 182:
  1356. # line 794 "bifparse.y"
  1357.                    (void)bif_group(BIF_END_OF_GROUP); 
  1358.                    (void)not_repeated(-1); 
  1359.                  } break;
  1360. case 183:
  1361. # line 799 "bifparse.y"
  1362.                    (void)not_repeated(-1); 
  1363.                    (void)bif_faset3 (BIF_P_END  );
  1364.                  } break;
  1365. case 192:
  1366. # line 816 "bifparse.y"
  1367. { if(not_repeated(1))
  1368.                      (void)bif_group(VERTEX_COLORS); 
  1369.                   else
  1370.                   {
  1371.                      (void)bif_group(IGNORE_GROUP); /*rev 0.8*/
  1372.                      yyerror(FAS_ERM1);
  1373.                   }
  1374.                 } break;
  1375. case 193:
  1376. # line 825 "bifparse.y"
  1377. { (void)bif_group(BIF_END_OF_GROUP); } break;
  1378. case 194:
  1379. # line 829 "bifparse.y"
  1380. { if(not_repeated(2))
  1381.                      (void)bif_group(VERTEX_COLOR_INDICES);
  1382.                   else
  1383.                   {
  1384.                      (void)bif_group(IGNORE_GROUP); /*rev 0.8*/
  1385.                      yyerror(FAS_ERM2);
  1386.                   }
  1387.                 } break;
  1388. case 195:
  1389. # line 838 "bifparse.y"
  1390. { (void)bif_group(BIF_END_OF_GROUP); } break;
  1391. case 196:
  1392. # line 842 "bifparse.y"
  1393. { if(not_repeated(3))
  1394.                      (void)bif_group(VERTEX_NORMALS);
  1395.                   else
  1396.                   {
  1397.                      (void)bif_group(IGNORE_GROUP); 
  1398.                      yyerror(FAS_ERM3);
  1399.                   }
  1400.                 } break;
  1401. case 197:
  1402. # line 851 "bifparse.y"
  1403. { (void)bif_group(BIF_END_OF_GROUP); } break;
  1404. case 198:
  1405. # line 855 "bifparse.y"
  1406. { if(not_repeated(4))
  1407.                      (void)bif_group(EDGE_VISIBILITY);
  1408.                   else
  1409.                   {
  1410.                      (void)bif_group(IGNORE_GROUP); 
  1411.                      yyerror(FAS_ERM4);
  1412.                   }
  1413.                 } break;
  1414. case 199:
  1415. # line 864 "bifparse.y"
  1416. { (void)bif_group(BIF_END_OF_GROUP); } break;
  1417. case 200:
  1418. # line 868 "bifparse.y"
  1419. { if(not_repeated(5))
  1420.                      (void)bif_group(FACET_COLORS);
  1421.                   else
  1422.                   {
  1423.                      (void)bif_group(IGNORE_GROUP); 
  1424.                      yyerror(FAS_ERM5);
  1425.                   }
  1426.                 } break;
  1427. case 201:
  1428. # line 877 "bifparse.y"
  1429. { (void)bif_group(BIF_END_OF_GROUP); } break;
  1430. case 202:
  1431. # line 881 "bifparse.y"
  1432. { if(not_repeated(6))
  1433.                      (void)bif_group(FACET_COLOR_INDICES);
  1434.                   else
  1435.                   {
  1436.                      (void)bif_group(IGNORE_GROUP); 
  1437.                      yyerror(FAS_ERM6);
  1438.                   }
  1439.                 } break;
  1440. case 203:
  1441. # line 890 "bifparse.y"
  1442. { (void)bif_group(BIF_END_OF_GROUP); } break;
  1443. case 204:
  1444. # line 894 "bifparse.y"
  1445. { if(not_repeated(7))
  1446.                      (void)bif_group(FACET_NORMALS);
  1447.                   else
  1448.                   {
  1449.                      (void)bif_group(IGNORE_GROUP); 
  1450.                      yyerror(FAS_ERM7);
  1451.                   }
  1452.                 } break;
  1453. case 205:
  1454. # line 903 "bifparse.y"
  1455. { (void)bif_group(BIF_END_OF_GROUP); } break;
  1456. case 206:
  1457. # line 908 "bifparse.y"
  1458. {
  1459.                   bif_triangle3 (BIF_P_BEGIN);/* rev 0.8 */
  1460.                   not_repeated(-1); 
  1461.                   with_data_name = "TRIANGLE3";
  1462.                 } break;
  1463. case 207:
  1464. # line 914 "bifparse.y"
  1465. {
  1466.                   not_repeated(-1); 
  1467.                   (void)bif_triangle3 (BIF_P_END  ); 
  1468.                 } break;
  1469. case 208:
  1470. # line 922 "bifparse.y"
  1471. {
  1472.                   (void)bif_quad_mesh3 (BIF_P_BEGIN);/*rev 0.8*/
  1473.                   (void)bif_quadmeshorder(yypvt[-1].l,yypvt[-0].l);    /*rev 0.8*/
  1474.                   not_repeated(-1); 
  1475.                   with_data_name = "QUAD_MESH3";
  1476.                 } break;
  1477. case 209:
  1478. # line 929 "bifparse.y"
  1479. {
  1480.                   not_repeated(-1); 
  1481.                   (void)bif_quad_mesh3 (BIF_P_END  ); 
  1482.                 } break;
  1483. case 210:
  1484. # line 936 "bifparse.y"
  1485. {
  1486.                   bif_indexpoly3 (BIF_P_BEGIN); /* rev 0.8 */
  1487.                   not_repeated(-1); 
  1488.                   with_data_name = "INDEX_POLYGON3";
  1489.                 } break;
  1490. case 211:
  1491. # line 944 "bifparse.y"
  1492. {
  1493.                   not_repeated(-1); 
  1494.                   (void)bif_indexpoly3 (BIF_P_END  ); 
  1495.                 } break;
  1496. case 220:
  1497. # line 962 "bifparse.y"
  1498.                   if(not_repeated(7)) 
  1499.                   bif_group(EDGE_VISIBILITY); 
  1500.                   else 
  1501.                   { 
  1502.                      (void)bif_group(IGNORE_GROUP);  
  1503.                      WD3B_error("EDGE_VISIBILITY"); 
  1504.                   } 
  1505.                 } break;
  1506. case 221:
  1507. # line 972 "bifparse.y"
  1508. { (void)bif_group(BIF_END_OF_GROUP); } break;
  1509. case 222:
  1510. # line 978 "bifparse.y"
  1511. {(void)bif_group(FACET_CONNECTIVITY);} break;
  1512. case 223:
  1513. # line 981 "bifparse.y"
  1514. {(void)bif_group(BIF_END_OF_GROUP); } break;
  1515. case 224:
  1516. # line 986 "bifparse.y"
  1517. {
  1518.                    (void)bif_sphere3(BIF_P_BEGIN); /* rev 0.8 */
  1519.                    (void)bif_sphereorder(yypvt[-1].l,yypvt[-0].l);
  1520.                    (void)not_repeated(-1); 
  1521.                 } break;
  1522. case 225:
  1523. # line 993 "bifparse.y"
  1524. {
  1525.                    (void)not_repeated(-1); 
  1526.                    (void)bif_sphere3(BIF_P_END); 
  1527.                 } break;
  1528. case 227:
  1529. # line 1001 "bifparse.y"
  1530.                   bif_exact(TRUE);
  1531.                 } break;
  1532. case 228:
  1533. # line 1006 "bifparse.y"
  1534.                   if(not_repeated(1)) 
  1535.                      bif_center(yypvt[-3].f,yypvt[-2].f,yypvt[-1].f); /* rev 0.8 */
  1536.                   else yyerror(GS_ERM1);
  1537.                 } break;
  1538. case 229:
  1539. # line 1013 "bifparse.y"
  1540.                   if(not_repeated(2)) 
  1541.                      bif_radius(yypvt[-1].f); /* rev 0.8 */
  1542.                   else yyerror(GS_ERM2);
  1543.                 } break;
  1544. case 230:
  1545. # line 1020 "bifparse.y"
  1546.                   if(not_repeated(3)) 
  1547.                      bif_scalefactors(yypvt[-3].f,yypvt[-2].f,yypvt[-1].f); /* rev 0.8 */
  1548.                   else yyerror(GS_ERM3);
  1549.                 } break;
  1550. case 231:
  1551. # line 1029 "bifparse.y"
  1552. {
  1553.                    (void)bif_gencircle(BIF_P_BEGIN); /*rev 0.8*/
  1554.                    (void)bif_circleedges(yypvt[-0].l); /* rev 0.8 */
  1555.                    (void)not_repeated(-1); 
  1556.                 } break;
  1557. case 232:
  1558. # line 1036 "bifparse.y"
  1559. {
  1560.                    (void)not_repeated(-1); 
  1561.                    (void)bif_gencircle(BIF_P_END);
  1562.                 } break;
  1563. case 234:
  1564. # line 1044 "bifparse.y"
  1565.                   bif_exact(TRUE);
  1566.                 } break;
  1567. case 235:
  1568. # line 1049 "bifparse.y"
  1569.                   if(not_repeated(1)) 
  1570.                      bif_center(yypvt[-2].f,yypvt[-1].f,0.0); /* rev 0.8 */
  1571.                   else yyerror(GC_ERM1);
  1572.                 } break;
  1573. case 236:
  1574. # line 1056 "bifparse.y"
  1575.                   if(not_repeated(2)) 
  1576.                      bif_radius(yypvt[-1].f); /* rev 0.8 */
  1577.                   else yyerror(GC_ERM2);
  1578.                 } break;
  1579. case 237:
  1580. # line 1065 "bifparse.y"
  1581. {
  1582.                    (void)bif_gencircle3(BIF_P_BEGIN);/*rev 0.8*/
  1583.                    (void)bif_circleedges(yypvt[-0].l); /* rev 0.8 +3 */
  1584.                    (void)not_repeated(-1); 
  1585.                 } break;
  1586. case 238:
  1587. # line 1072 "bifparse.y"
  1588. {
  1589.                    (void)not_repeated(-1); 
  1590.                    (void)bif_gencircle3(BIF_P_END);
  1591.                 } break;
  1592. case 240:
  1593. # line 1080 "bifparse.y"
  1594.                   bif_exact(TRUE);
  1595.                 } break;
  1596. case 241:
  1597. # line 1085 "bifparse.y"
  1598.                   if(not_repeated(1)) 
  1599.                      bif_center(yypvt[-3].f,yypvt[-2].f,yypvt[-1].f); /* rev 0.8 */
  1600.                   else yyerror(GC3_ERM1);
  1601.                 } break;
  1602. case 242:
  1603. # line 1092 "bifparse.y"
  1604.                   if(not_repeated(2)) 
  1605.                      bif_radius(yypvt[-1].f); /* rev 0.8 */
  1606.                   else yyerror(GC3_ERM2);
  1607.                 } break;
  1608. case 243:
  1609. # line 1099 "bifparse.y"
  1610.                   if(not_repeated(3)) 
  1611.                      bif_normal(yypvt[-3].f,yypvt[-2].f,yypvt[-1].f); /* rev 0.8 */
  1612.                   else yyerror(GC3_ERM3);
  1613.                 } break;
  1614. case 244:
  1615. # line 1110 "bifparse.y"
  1616. {bif_text(yypvt[-3].f,yypvt[-2].f,yypvt[-1].str);} break;
  1617. case 245:
  1618. # line 1117 "bifparse.y"
  1619. { (void)bif_text3(yypvt[-4].f,yypvt[-3].f,yypvt[-2].f,yypvt[-1].str, /*rev 0.8 delta*/
  1620.                     FALSE,0.,0.,0.,0.,0.,0.); } break;
  1621. case 246:
  1622. # line 1128 "bifparse.y"
  1623. { (void)bif_text3(yypvt[-13].f,yypvt[-12].f,yypvt[-11].f,yypvt[-10].str, /*rev 0.8 delta*/
  1624.                 TRUE,yypvt[-7].f,yypvt[-6].f,yypvt[-5].f,yypvt[-4].f,yypvt[-3].f,yypvt[-2].f);} break;
  1625. case 247:
  1626. # line 1137 "bifparse.y"
  1627. {bif_annotationtext(yypvt[-7].f,yypvt[-6].f,yypvt[-5].f, /* rev 0.8 */
  1628.                 yypvt[-4].f,yypvt[-3].f,yypvt[-2].f,yypvt[-1].str);} break;
  1629. case 248:
  1630. # line 1154 "bifparse.y"
  1631. {
  1632.                    bif_pixelmap3(BIF_P_BEGIN,
  1633.                            yypvt[-6].f,yypvt[-5].f,yypvt[-4].f, yypvt[-3].l,yypvt[-2].l,yypvt[-1].l,yypvt[-0].l);
  1634.                 } break;
  1635. case 249:
  1636. # line 1161 "bifparse.y"
  1637. {
  1638.                   bif_pixelmap3(BIF_P_END,
  1639.                         0,0,0,0,0,0,0 );
  1640.                 } break;
  1641. case 250:
  1642. # line 1167 "bifparse.y"
  1643. { yyval.l = REPLACE ; } break;
  1644. case 251:
  1645. # line 1168 "bifparse.y"
  1646. {yyval.l=ADD;} break;
  1647. case 252:
  1648. # line 1169 "bifparse.y"
  1649. {yyval.l=AND;} break;
  1650. case 253:
  1651. # line 1170 "bifparse.y"
  1652. {yyval.l=CLEAR;} break;
  1653. case 254:
  1654. # line 1171 "bifparse.y"
  1655. {yyval.l=INVERT;} break;
  1656. case 255:
  1657. # line 1172 "bifparse.y"
  1658. {yyval.l=NAND;} break;
  1659. case 256:
  1660. # line 1173 "bifparse.y"
  1661. {yyval.l=NOOP;} break;
  1662. case 257:
  1663. # line 1174 "bifparse.y"
  1664. {yyval.l=NOR;} break;
  1665. case 258:
  1666. # line 1175 "bifparse.y"
  1667. {yyval.l=OR;} break;
  1668. case 259:
  1669. # line 1176 "bifparse.y"
  1670. {yyval.l=REPLACE;} break;
  1671. case 260:
  1672. # line 1177 "bifparse.y"
  1673. {yyval.l=SET;} break;
  1674. case 261:
  1675. # line 1178 "bifparse.y"
  1676. {yyval.l=SUBTRACT_DEST;} break;
  1677. case 262:
  1678. # line 1179 "bifparse.y"
  1679. {yyval.l=SUBTRACT_SOURCE;} break;
  1680. case 263:
  1681. # line 1180 "bifparse.y"
  1682. {yyval.l=XOR;} break;
  1683. case 264:
  1684. # line 1184 "bifparse.y"
  1685. { yyval.l = PIXEL_VALUES ;             } break;
  1686. case 265:
  1687. # line 1186 "bifparse.y"
  1688. { yyval.l = INTENSITY_VALUES ;         } break;
  1689. case 266:
  1690. # line 1188 "bifparse.y"
  1691. { yyval.l = PIXEL_VALUE_SEGMENTS ;     } break;
  1692. case 267:
  1693. # line 1190 "bifparse.y"
  1694. { yyval.l = INTENSITY_VALUE_SEGMENTS ; } break;
  1695. case 269:
  1696. # line 1195 "bifparse.y"
  1697. { bif_fillpixelbuffer(yypvt[-0].l); } break;
  1698. case 271:
  1699. # line 1200 "bifparse.y"
  1700. { bif_group(PSEUDO_COLOR); } break;
  1701. case 272:
  1702. # line 1202 "bifparse.y"
  1703. { bif_group(BIF_END_OF_GROUP); } break;
  1704. case 273:
  1705. # line 1210 "bifparse.y"
  1706.                          (void)bif_nubc(BIF_P_BEGIN);
  1707.                         /*rev1.0*/ 
  1708.                        (void)bif_nubcholder(yypvt[-1].l,yypvt[-0].l);
  1709.                         /*rev1.0*/
  1710.                          (void)bif_group(CTRL_POINTS); 
  1711.                         /* rev 1.0 CTRL_POINTS*/
  1712.                     } break;
  1713. case 274:
  1714. # line 1219 "bifparse.y"
  1715.                           (void)bif_group(BIF_END_OF_GROUP); 
  1716.                      } break;
  1717. case 275:
  1718. # line 1223 "bifparse.y"
  1719.                           (void)bif_nubc (BIF_P_END);
  1720.                             /*rev 1.0*/
  1721.                      } break;
  1722. case 278:
  1723. # line 1233 "bifparse.y"
  1724.                          (void)bif_group(KNOTS); 
  1725.                              /* rev 1.0 KNOTS*/
  1726.                      } break;
  1727. case 279:
  1728. # line 1239 "bifparse.y"
  1729.                           (void)bif_group(BIF_END_OF_GROUP); 
  1730.                      } break;
  1731. case 280:
  1732. # line 1244 "bifparse.y"
  1733. { yyval.l = RATIONAL; } break;
  1734. case 281:
  1735. # line 1245 "bifparse.y"
  1736. { yyval.l = NON_RATIONAL; } break;
  1737. case 283:
  1738. # line 1250 "bifparse.y"
  1739. { bif_real_list(yypvt[-0].f); } break;
  1740. case 284:
  1741. # line 1262 "bifparse.y"
  1742.                          (void)bif_nubs(BIF_P_BEGIN); 
  1743.                          not_repeated(-1); 
  1744.                          with_data_name = 
  1745.                             "NON_UNIFORM_BSPLINE_SURFACE";
  1746.                        (void)bif_nubsholder(yypvt[-4].l,yypvt[-3].l,
  1747.                                 yypvt[-2].l,yypvt[-1].l,yypvt[-0].l); 
  1748.                          (void)bif_group(CTRL_POINTS); 
  1749.                     } break;
  1750. case 285:
  1751. # line 1272 "bifparse.y"
  1752.                           (void)bif_group(BIF_END_OF_GROUP); 
  1753.                      } break;
  1754. case 286:
  1755. # line 1276 "bifparse.y"
  1756.                           (void)bif_nubs (BIF_P_END  );
  1757.                             /* rev 1.0*/
  1758.                      } break;
  1759. case 292:
  1760. # line 1290 "bifparse.y"
  1761. {
  1762.                          (void)bif_group(TRIMLOOP); 
  1763.                           (void)bif_group(BIF_END_OF_GROUP); 
  1764.                     } break;
  1765. case 296:
  1766. # line 1307 "bifparse.y"
  1767.                          (void)bif_group(TRIMCURVE); 
  1768.                        bif_intlist(yypvt[-1].l);
  1769.                        bif_intlist(yypvt[-0].l);
  1770.                           (void)bif_group(BIF_END_OF_GROUP); 
  1771.                          (void)bif_group(CTRL_POINTS); 
  1772.                     } break;
  1773. case 297:
  1774. # line 1315 "bifparse.y"
  1775.                           (void)bif_group(BIF_END_OF_GROUP); 
  1776.                      } break;
  1777. case 299:
  1778. # line 1323 "bifparse.y"
  1779.                       if(not_repeated(1)) 
  1780.                       bif_group(UKNOTS); 
  1781.                           /* rev 1.0 UKNOTS*/
  1782.                       else 
  1783.                       { 
  1784.                          (void)bif_group(IGNORE_GROUP);  
  1785.                          WD3B_error("VERTEX_COLORS"); 
  1786.                       } 
  1787.                     } break;
  1788. case 300:
  1789. # line 1334 "bifparse.y"
  1790.                           (void)bif_group(BIF_END_OF_GROUP); 
  1791.                      } break;
  1792. case 301:
  1793. # line 1340 "bifparse.y"
  1794.                       if(not_repeated(2)) 
  1795.                       bif_group(VKNOTS); 
  1796.                           /* rev 1.0 VKNOTS*/
  1797.                       else 
  1798.                       { 
  1799.                          (void)bif_group(IGNORE_GROUP);  
  1800.                          WD3B_error("VERTEX_COLORS"); 
  1801.                       } 
  1802.                     } break;
  1803. case 302:
  1804. # line 1351 "bifparse.y"
  1805.                           (void)bif_group(BIF_END_OF_GROUP); 
  1806.                      } break;
  1807. case 303:
  1808. # line 1363 "bifparse.y"
  1809. {
  1810.                        bif_curve_approx_criteria (yypvt[-2].l,yypvt[-1].f); 
  1811.                     } break;
  1812. case 304:
  1813. # line 1375 "bifparse.y"
  1814. {
  1815.                        bif_trimcurve_approx_criteria (yypvt[-2].l,yypvt[-1].f); 
  1816.                     } break;
  1817. case 305:
  1818. # line 1388 "bifparse.y"
  1819. {
  1820.                        bif_surface_approx_criteria (yypvt[-3].l,yypvt[-2].f,yypvt[-1].f); 
  1821.                     } break;
  1822. case 306:
  1823. # line 1397 "bifparse.y"
  1824. { (void)bif_mktype(yypvt[-1].l); } break;
  1825. case 307:
  1826. # line 1402 "bifparse.y"
  1827. { (void)bif_mkscale(yypvt[-1].f); } break;
  1828. case 308:
  1829. # line 1407 "bifparse.y"
  1830. { (void)
  1831.                       bif_mkcolor(yypvt[-3].f,yypvt[-2].f,yypvt[-1].f); } break;
  1832. case 309:
  1833. # line 1413 "bifparse.y"
  1834. { (void)bif_mkcolorindex(yypvt[-1].l); } break;
  1835. case 310:
  1836. # line 1418 "bifparse.y"
  1837. { (void)bif_linetype(yypvt[-1].l); } break;
  1838. case 311:
  1839. # line 1423 "bifparse.y"
  1840. { (void)bif_linewidth(yypvt[-1].f); } break;
  1841. case 312:
  1842. # line 1428 "bifparse.y"
  1843. { (void)
  1844.                       bif_linecolor(yypvt[-3].f,yypvt[-2].f,yypvt[-1].f); } break;
  1845. case 313:
  1846. # line 1434 "bifparse.y"
  1847. { (void)bif_linecolorindex(yypvt[-1].l); } break;
  1848. case 314:
  1849. # line 1439 "bifparse.y"
  1850. { (void)
  1851.                       bif_lineshading(yypvt[-1].l); } break;
  1852. case 315:
  1853. # line 1445 "bifparse.y"
  1854. { (void)
  1855.                        bif_intstyle(yypvt[-1].l); } break;
  1856. case 316:
  1857. # line 1449 "bifparse.y"
  1858. { yyval.l = HOLLOW ; } break;
  1859. case 317:
  1860. # line 1450 "bifparse.y"
  1861. { yyval.l = SOLID  ; } break;
  1862. case 318:
  1863. # line 1451 "bifparse.y"
  1864. { yyval.l = PATTERN; } break;
  1865. case 319:
  1866. # line 1452 "bifparse.y"
  1867. { yyval.l = EMPTY  ; } break;
  1868. case 320:
  1869. # line 1457 "bifparse.y"
  1870.                   (void)bif_intpatternindex(yypvt[-1].l);/* rev 0.8 */
  1871.                 } break;
  1872. case 321:
  1873. # line 1464 "bifparse.y"
  1874.                   (void)bif_intcolor(yypvt[-3].f,yypvt[-2].f,yypvt[-1].f);/* rev 0.8 */
  1875.                 } break;
  1876. case 322:
  1877. # line 1471 "bifparse.y"
  1878. { (void)bif_intcolorindex(yypvt[-1].l); } break;
  1879. case 323:
  1880. # line 1476 "bifparse.y"
  1881. { (void)
  1882.                        bif_bkfintcolor(yypvt[-3].f,yypvt[-2].f,yypvt[-1].f); } break;
  1883. case 324:
  1884. # line 1483 "bifparse.y"
  1885. { (void)
  1886.                        bif_bkfintcolorindex(yypvt[-1].l); } break;
  1887. case 325:
  1888. # line 1490 "bifparse.y"
  1889. { (void)bif_intshade(yypvt[-1].l); } break;
  1890. case 326:
  1891. # line 1495 "bifparse.y"
  1892. { (void)bif_intlight(yypvt[-1].l); } break;
  1893. case 327:
  1894. # line 1503 "bifparse.y"
  1895. { (void)bif_surfprop(yypvt[-8].f,yypvt[-7].f,
  1896.                       yypvt[-6].f,yypvt[-5].f,yypvt[-4].f,yypvt[-3].f,
  1897.                       yypvt[-2].f,yypvt[-1].f); } break;
  1898. case 328:
  1899. # line 1513 "bifparse.y"
  1900. { (void)bif_bkfprop(yypvt[-8].f,yypvt[-7].f, /* rev 0.8 */
  1901.                       yypvt[-6].f,yypvt[-5].f,yypvt[-4].f,yypvt[-3].f,
  1902.                       yypvt[-2].f,yypvt[-1].f); } break;
  1903. case 329:
  1904. # line 1520 "bifparse.y"
  1905. { (void)
  1906.                        bif_bkfprocessing(yypvt[-2].l,yypvt[-1].l); } break;
  1907. case 330:
  1908. # line 1527 "bifparse.y"
  1909. { (void)bif_edgeflag(ENABLE ); } break;
  1910. case 331:
  1911. # line 1530 "bifparse.y"
  1912. { (void)bif_edgeflag(DISABLE ); } break;
  1913. case 332:
  1914. # line 1535 "bifparse.y"
  1915. { (void)bif_edgetype(yypvt[-1].l);} break;
  1916. case 333:
  1917. # line 1540 "bifparse.y"
  1918. { (void)bif_edgewidth(yypvt[-1].f); } break;
  1919. case 334:
  1920. # line 1545 "bifparse.y"
  1921.                   (void)bif_edgecolor(yypvt[-3].f,yypvt[-2].f,yypvt[-1].f);/* rev 0.8 */
  1922.                 } break;
  1923. case 335:
  1924. # line 1552 "bifparse.y"
  1925.                   (void)bif_edgecolorindex(yypvt[-1].l);/* rev 0.8 */
  1926.                 } break;
  1927. case 336:
  1928. # line 1559 "bifparse.y"
  1929. { (void)bif_textfont(yypvt[-1].l); } break;
  1930. case 337:
  1931. # line 1564 "bifparse.y"
  1932. { (void)bif_textprec(STRING ); } break;
  1933. case 338:
  1934. # line 1567 "bifparse.y"
  1935. { (void)bif_textprec(CHAR ); } break;
  1936. case 339:
  1937. # line 1570 "bifparse.y"
  1938. { (void)bif_textprec(STROKE ); } break;
  1939. case 340:
  1940. # line 1575 "bifparse.y"
  1941. { (void)
  1942.                        bif_textcolor(yypvt[-3].f,yypvt[-2].f,yypvt[-1].f); } break;
  1943. case 341:
  1944. # line 1582 "bifparse.y"
  1945. { (void)bif_textcolorindex(yypvt[-1].l); } break;
  1946. case 342:
  1947. # line 1587 "bifparse.y"
  1948. { (void)bif_textpath(yypvt[-1].l); } break;
  1949. case 343:
  1950. # line 1593 "bifparse.y"
  1951. { (void)bif_textalign(yypvt[-2].l, yypvt[-1].l); } break;
  1952. case 344:
  1953. # line 1599 "bifparse.y"
  1954. { (void)bif_charheight(yypvt[-1].f); } break;
  1955. case 345:
  1956. # line 1604 "bifparse.y"
  1957. { (void)bif_charexp(yypvt[-1].f); } break;
  1958. case 346:
  1959. # line 1609 "bifparse.y"
  1960. { (void)bif_charspace(yypvt[-1].f); } break;
  1961. case 347:
  1962. # line 1616 "bifparse.y"
  1963. { (void)bif_charupvector(yypvt[-2].f, yypvt[-1].f); } break;
  1964. case 348:
  1965. # line 1621 "bifparse.y"
  1966. { (void)
  1967.                    bif_annotextcharheight(yypvt[-1].f); } break;
  1968. case 349:
  1969. # line 1627 "bifparse.y"
  1970. { (void)
  1971.                    bif_annotextcharupvector(yypvt[-2].f,yypvt[-1].f); } break;
  1972. case 350:
  1973. # line 1633 "bifparse.y"
  1974. { (void)
  1975.                           bif_annotextstyle(yypvt[-1].l); } break;
  1976. case 351:
  1977. # line 1642 "bifparse.y"
  1978. {(void)bif_lightstate(BIF_P_BEGIN);} break;
  1979. case 352:
  1980. # line 1644 "bifparse.y"
  1981. {(void)bif_group(ACTIVATE_LIST);} break;
  1982. case 353:
  1983. # line 1646 "bifparse.y"
  1984. {(void)bif_group(BIF_END_OF_GROUP);} break;
  1985. case 354:
  1986. # line 1648 "bifparse.y"
  1987. {(void)bif_group(DEACTIVATE_LIST);} break;
  1988. case 355:
  1989. # line 1650 "bifparse.y"
  1990. {(void)bif_group(BIF_END_OF_GROUP);} break;
  1991. case 356:
  1992. # line 1652 "bifparse.y"
  1993. {(void)bif_lightstate(BIF_P_END  );} break;
  1994. case 357:
  1995. # line 1657 "bifparse.y"
  1996. { (void)
  1997.                        bif_depthcueindex(yypvt[-1].l); } break;
  1998. case 358:
  1999. # line 1664 "bifparse.y"
  2000. {(void)bif_hlhsremoval(HLHS_DISABLE);} break;
  2001. case 359:
  2002. # line 1668 "bifparse.y"
  2003. {(void)bif_hlhsremoval(HLHS_ENABLE);} break;
  2004. case 360:
  2005. # line 1675 "bifparse.y"
  2006. {(void)bif_identity3(yypvt[-1].l);} break;
  2007. case 361:
  2008. # line 1681 "bifparse.y"
  2009. {(void)bif_concatmatrix3(yypvt[-3].l,yypvt[-2].l,yypvt[-1].l);} break;
  2010. case 362:
  2011. # line 1684 "bifparse.y"
  2012. { yyval.l = PRECONCAT; } break;
  2013. case 363:
  2014. # line 1685 "bifparse.y"
  2015. { yyval.l = POSTCONCAT; } break;
  2016. case 364:
  2017. # line 1686 "bifparse.y"
  2018. { yyval.l = REPLACE; } break;
  2019. case 365:
  2020. # line 1692 "bifparse.y"
  2021. {(void)bif_invertmatrix3(yypvt[-1].l);} break;
  2022. case 366:
  2023. # line 1701 "bifparse.y"
  2024. {(void)bif_rotate3(yypvt[-4].l,yypvt[-3].f,yypvt[-2].l,yypvt[-1].l);} break;
  2025. case 367:
  2026. # line 1704 "bifparse.y"
  2027. { yyval.l = X_AXIS; } break;
  2028. case 368:
  2029. # line 1705 "bifparse.y"
  2030. { yyval.l = Y_AXIS; } break;
  2031. case 369:
  2032. # line 1706 "bifparse.y"
  2033. { yyval.l = Z_AXIS; } break;
  2034. case 370:
  2035. # line 1714 "bifparse.y"
  2036. {(void)bif_rotatexyz3(yypvt[-5].l,yypvt[-4].f,yypvt[-3].f,yypvt[-2].f,yypvt[-1].l);} break;
  2037. case 371:
  2038. # line 1722 "bifparse.y"
  2039. {(void)bif_translate3(yypvt[-5].l,yypvt[-4].f,yypvt[-3].f,yypvt[-2].f,yypvt[-1].l);} break;
  2040. case 372:
  2041. # line 1730 "bifparse.y"
  2042. {(void)bif_scale3(yypvt[-5].l,yypvt[-4].f,yypvt[-3].f,yypvt[-2].f,yypvt[-1].l);} break;
  2043. case 373:
  2044. # line 1749 "bifparse.y"
  2045. {
  2046.                      double amatrix[4][4];
  2047.                      amatrix[0][0] = yypvt[-24].f;
  2048.                      amatrix[0][1] = yypvt[-23].f;
  2049.                      amatrix[0][2] = yypvt[-22].f;
  2050.                      amatrix[0][3] = yypvt[-21].f;
  2051.  
  2052.                      amatrix[1][0] = yypvt[-18].f;
  2053.                      amatrix[1][1] = yypvt[-17].f;
  2054.                      amatrix[1][2] = yypvt[-16].f;
  2055.                      amatrix[1][3] = yypvt[-15].f;
  2056.  
  2057.                      amatrix[2][0] = yypvt[-12].f;
  2058.                      amatrix[2][1] = yypvt[-11].f;
  2059.                      amatrix[2][2] = yypvt[-10].f;
  2060.                      amatrix[2][3] = yypvt[-9].f;
  2061.  
  2062.                      amatrix[3][0] = yypvt[-6].f;
  2063.                      amatrix[3][1] = yypvt[-5].f;
  2064.                      amatrix[3][2] = yypvt[-4].f;
  2065.                      amatrix[3][3] = yypvt[-3].f;
  2066.                      (void)bif_matrix3(yypvt[-26].l,amatrix,yypvt[-1].l);
  2067.                     } break;
  2068. case 374:
  2069. # line 1779 "bifparse.y"
  2070.                   (void)bif_getmatrix3(yypvt[-3].l,yypvt[-2].l,yypvt[-1].l);/* rev 0.8 */
  2071.                 } break;
  2072. case 375:
  2073. # line 1785 "bifparse.y"
  2074. { yyval.l = VIEW_MAPPING; } break;
  2075. case 376:
  2076. # line 1787 "bifparse.y"
  2077. { yyval.l = POSTCONCAT; } break;
  2078. case 377:
  2079. # line 1789 "bifparse.y"
  2080. { yyval.l = GLOBAL_MODELLING; } break;
  2081. case 378:
  2082. # line 1791 "bifparse.y"
  2083. { yyval.l = LOCAL_MODELLING; } break;
  2084. case 379:
  2085. # line 1793 "bifparse.y"
  2086. { yyval.l = COMPOSITE_MODELLING; } break;
  2087. case 380:
  2088. # line 1797 "bifparse.y"
  2089. {(void)bif_pushmatrix3(); } break;
  2090. case 381:
  2091. # line 1801 "bifparse.y"
  2092. {(void)bif_popmatrix3(); } break;
  2093. case 382:
  2094. # line 1818 "bifparse.y"
  2095. {
  2096.                      double amatrix[4][4];
  2097.                      amatrix[0][0] = yypvt[-23].f;
  2098.                      amatrix[0][1] = yypvt[-22].f;
  2099.                      amatrix[0][2] = yypvt[-21].f;
  2100.                      amatrix[0][3] = yypvt[-20].f;
  2101.  
  2102.                      amatrix[1][0] = yypvt[-17].f;
  2103.                      amatrix[1][1] = yypvt[-16].f;
  2104.                      amatrix[1][2] = yypvt[-15].f;
  2105.                      amatrix[1][3] = yypvt[-14].f;
  2106.  
  2107.                      amatrix[2][0] = yypvt[-11].f;
  2108.                      amatrix[2][1] = yypvt[-10].f;
  2109.                      amatrix[2][2] = yypvt[-9].f;
  2110.                      amatrix[2][3] = yypvt[-8].f;
  2111.  
  2112.                      amatrix[3][0] = yypvt[-5].f;
  2113.                      amatrix[3][1] = yypvt[-4].f;
  2114.                      amatrix[3][2] = yypvt[-3].f;
  2115.                      amatrix[3][3] = yypvt[-2].f;
  2116.  
  2117.                      (void)bif_gtransform3(amatrix);
  2118.                     } break;
  2119. case 383:
  2120. # line 1860 "bifparse.y"
  2121. {
  2122.                      double amatrix[4][4];
  2123.                      amatrix[0][0] = yypvt[-24].f;
  2124.                      amatrix[0][1] = yypvt[-23].f;
  2125.                      amatrix[0][2] = yypvt[-22].f;
  2126.                      amatrix[0][3] = yypvt[-21].f;
  2127.  
  2128.                      amatrix[1][0] = yypvt[-18].f;
  2129.                      amatrix[1][1] = yypvt[-17].f;
  2130.                      amatrix[1][2] = yypvt[-16].f;
  2131.                      amatrix[1][3] = yypvt[-15].f;
  2132.  
  2133.                      amatrix[2][0] = yypvt[-12].f;
  2134.                      amatrix[2][1] = yypvt[-11].f;
  2135.                      amatrix[2][2] = yypvt[-10].f;
  2136.                      amatrix[2][3] = yypvt[-9].f;
  2137.  
  2138.                      amatrix[3][0] = yypvt[-6].f;
  2139.                      amatrix[3][1] = yypvt[-5].f;
  2140.                      amatrix[3][2] = yypvt[-4].f;
  2141.                      amatrix[3][3] = yypvt[-3].f;
  2142.  
  2143.                      (void)bif_ltransform3(amatrix,yypvt[-1].l);
  2144.                     } break;
  2145. case 384:
  2146. # line 1891 "bifparse.y"
  2147. {(void)bif_applytoglobal3(yypvt[-1].l);} break;
  2148. case 385:
  2149. # line 1898 "bifparse.y"
  2150. {(void)bif_applytolocal3(yypvt[-2].l,yypvt[-1].l);} break;
  2151. case 386:
  2152. # line 1908 "bifparse.y"
  2153. {
  2154.                      double vrp[3],vpn[3],vup[3];
  2155.                      vrp[0] = yypvt[-9].f;
  2156.                      vrp[1] = yypvt[-8].f;
  2157.                      vrp[2] = yypvt[-7].f;
  2158.  
  2159.                      vpn[0] = yypvt[-6].f;
  2160.                      vpn[1] = yypvt[-5].f;
  2161.                      vpn[2] = yypvt[-4].f;
  2162.  
  2163.                      vup[0] = yypvt[-3].f;
  2164.                      vup[1] = yypvt[-2].f;
  2165.                      vup[2] = yypvt[-1].f;
  2166.  
  2167.                      (void)bif_vieworient3(yypvt[-10].l,vrp,vpn,vup);
  2168.                     } break;
  2169. case 387:
  2170. # line 1933 "bifparse.y"
  2171. {
  2172.                      double prp[3];
  2173.                      (void)bif_viewmap3(BIF_P_BEGIN);
  2174.                      prp[0] = yypvt[-4].f;
  2175.                      prp[1] = yypvt[-3].f;
  2176.                      prp[2] = yypvt[-2].f;
  2177.                      (void)bif_viewmapbasic(yypvt[-10].l, yypvt[-9].f, yypvt[-8].f,
  2178.                                yypvt[-7].f, yypvt[-6].f, yypvt[-5].l,prp,
  2179.                                yypvt[-1].f,yypvt[-0].f );
  2180.                     } break;
  2181. case 388:
  2182. # line 1945 "bifparse.y"
  2183. {(void)bif_viewmap3(BIF_P_END  );} break;
  2184. case 389:
  2185. # line 1948 "bifparse.y"
  2186. { yyval.l = PERSPECTIVE; } break;
  2187. case 390:
  2188. # line 1949 "bifparse.y"
  2189. { yyval.l = PARALLEL; } break;
  2190. case 392:
  2191. # line 1958 "bifparse.y"
  2192. {
  2193.                      (void)bif_viewmapmatch(yypvt[-5].f,yypvt[-4].f,yypvt[-3].f,yypvt[-2].f,yypvt[-1].l);
  2194.                     } break;
  2195. case 393:
  2196. # line 1963 "bifparse.y"
  2197. { yyval.l = ADJUST_X; } break;
  2198. case 394:
  2199. # line 1964 "bifparse.y"
  2200. { yyval.l = ADJUST_Y; } break;
  2201. case 395:
  2202. # line 1965 "bifparse.y"
  2203. { yyval.l = GROW; } break;
  2204. case 396:
  2205. # line 1966 "bifparse.y"
  2206. { yyval.l = SHRINK; } break;
  2207. case 397:
  2208. # line 1973 "bifparse.y"
  2209. {(void)bif_activeview(yypvt[-1].l);} break;
  2210. case 398:
  2211. # line 1980 "bifparse.y"
  2212. {(void)bif_execstr(yypvt[-1].l);} break;
  2213. case 399:
  2214. # line 1987 "bifparse.y"
  2215. {(void)bif_callstr(yypvt[-1].l);} break;
  2216. case 400:
  2217. # line 1992 "bifparse.y"
  2218.                       char temp[STRLENGTH]; 
  2219.                       sprintf(temp,
  2220.                       "Unsupported entity (%s) ", yypvt[-0].str);
  2221.                        yyerror(temp);
  2222.                     } break;
  2223. case 401:
  2224. # line 2001 "bifparse.y"
  2225.                       char temp[STRLENGTH]; 
  2226.                       sprintf(temp,
  2227.                       "End of Unsupported entity (%s) ", 
  2228.                        yypvt[-3].str);
  2229.                        yyerror(temp);
  2230.                     } break;
  2231. case 402:
  2232. # line 2017 "bifparse.y"
  2233. {(void)collapseAllStructures();} break;
  2234. case 403:
  2235. # line 2019 "bifparse.y"
  2236. {(void)expandAllStructures();} break;
  2237. case 405:
  2238. # line 2024 "bifparse.y"
  2239. {(void)bif_readgeom(yypvt[-0].str);} break;
  2240. case 407:
  2241. # line 2029 "bifparse.y"
  2242. {(void)bif_readgeom(yypvt[-0].str);} break;
  2243. case 409:
  2244. # line 2036 "bifparse.y"
  2245. {(void)bif_cleargeom();} break;
  2246. case 410:
  2247. # line 2043 "bifparse.y"
  2248. {(void)bif_reportfile(yypvt[-1].str);} break;
  2249. case 411:
  2250. # line 2048 "bifparse.y"
  2251. {(void)bif_pause();} break;
  2252. case 412:
  2253. # line 2055 "bifparse.y"
  2254. {(void)bif_sleep(yypvt[-1].l);} break;
  2255. case 415:
  2256. # line 2068 "bifparse.y"
  2257. { (void)bif_invokeatframe /* rev 0.8 */
  2258.                    (yypvt[-2].l,yypvt[-1].l,yypvt[-0].l,yypvt[-0].l); } break;
  2259. case 416:
  2260. # line 2075 "bifparse.y"
  2261. { (void)bif_invokeatframe /* rev 0.8 */
  2262.                    (yypvt[-4].l,yypvt[-3].l,yypvt[-2].l,yypvt[-0].l); } break;
  2263. case 417:
  2264. # line 2082 "bifparse.y"
  2265. { (void)bif_invokeatframe /* rev 0.8 */
  2266.                    (yypvt[-4].l,yypvt[-3].l,yypvt[-2].l,-1); } break;
  2267. case 418:
  2268. # line 2086 "bifparse.y"
  2269. { yyval.l = EXECUTE ; } break;
  2270. case 419:
  2271. # line 2087 "bifparse.y"
  2272. { yyval.l = CALL  ; } break;
  2273. case 421:
  2274. # line 2098 "bifparse.y"
  2275. {
  2276.                     (void) bif_definecolor /* rev 0.8 */
  2277.                        (yypvt[-3].l,yypvt[-2].f,yypvt[-1].f,yypvt[-0].f); 
  2278.                     } break;
  2279. case 422:
  2280. # line 2104 "bifparse.y"
  2281. {
  2282.                     (void) bif_definecolor
  2283.                        (yypvt[-3].l,yypvt[-2].f,yypvt[-1].f,yypvt[-0].f); 
  2284.                     } break;
  2285. case 423:
  2286. # line 2113 "bifparse.y"
  2287. {(void)bif_backgroundcolor /* rev 0.8 */
  2288.                        (yypvt[-3].f,yypvt[-2].f,yypvt[-1].f);} break;
  2289. case 424:
  2290. # line 2120 "bifparse.y"
  2291. {(void)bif_backgroundcolorindex(yypvt[-1].l);} break;
  2292. case 425:
  2293. # line 2131 "bifparse.y"
  2294. {(void)bif_viewspec(yypvt[-10].l, yypvt[-9].l,  yypvt[-8].l,
  2295.                                 /*  $5, $6,   */
  2296.                                 yypvt[-7].l, 
  2297.                                 yypvt[-6].l,
  2298.                                 yypvt[-5].l,
  2299.                                 yypvt[-4].f ,yypvt[-3].f , yypvt[-2].f,yypvt[-1].f);} break;
  2300. case 426:
  2301. # line 2139 "bifparse.y"
  2302. { yyval.l = XY_CLIP; } break;
  2303. case 427:
  2304. # line 2140 "bifparse.y"
  2305. { yyval.l = NO_XY_CLIP; } break;
  2306. case 428:
  2307. # line 2143 "bifparse.y"
  2308. { yyval.l = FRONT_CLIP; } break;
  2309. case 429:
  2310. # line 2144 "bifparse.y"
  2311. { yyval.l = NO_FRONT_CLIP; } break;
  2312. case 430:
  2313. # line 2147 "bifparse.y"
  2314. { yyval.l = BACK_CLIP; } break;
  2315. case 431:
  2316. # line 2148 "bifparse.y"
  2317. { yyval.l = NO_BACK_CLIP; } break;
  2318. case 432:
  2319. # line 2155 "bifparse.y"
  2320. {
  2321.                      (void)bif_defviewspec(yypvt[-3].l,yypvt[-2].f,yypvt[-1].l);
  2322.                     } break;
  2323. case 433:
  2324. # line 2161 "bifparse.y"
  2325. {(void)bif_definelight(BIF_P_BEGIN);} break;
  2326. case 434:
  2327. # line 2165 "bifparse.y"
  2328. {
  2329.                  (void)bif_lightbasic(yypvt[-6].l,yypvt[-5].f,yypvt[-4].f,yypvt[-3].f);
  2330.                  (void)bif_definelight(BIF_P_END  );
  2331.                 } break;
  2332. case 437:
  2333. # line 2177 "bifparse.y"
  2334. {
  2335.                  (void)
  2336.                  bif_lightoption(DIRECTIONAL_LIGHT, 
  2337.                      0., 0., 0.,
  2338.                      yypvt[-3].f, yypvt[-2].f, yypvt[-1].f,
  2339.                      0., 0.,
  2340.                      0., 0. );
  2341.                     } break;
  2342. case 438:
  2343. # line 2191 "bifparse.y"
  2344. {(void)
  2345.                  bif_lightoption(POSITIONAL_LIGHT, 
  2346.                      yypvt[-5].f, yypvt[-4].f, yypvt[-3].f,
  2347.                      0., 0., 0.,
  2348.                      0., 0.,
  2349.                      yypvt[-2].f, yypvt[-1].f );} break;
  2350. case 439:
  2351. # line 2202 "bifparse.y"
  2352. {(void)
  2353.                  bif_lightoption(SPOT_LIGHT, 
  2354.                      yypvt[-10].f, yypvt[-9].f, yypvt[-8].f,
  2355.                      yypvt[-7].f, yypvt[-6].f, yypvt[-5].f,
  2356.                      yypvt[-4].f, yypvt[-3].f,
  2357.                      yypvt[-2].f,yypvt[-1].f);} break;
  2358. case 441:
  2359. # line 2213 "bifparse.y"
  2360. { (void)bif_ldtransform(yypvt[-1].l); } break;
  2361. case 442:
  2362. # line 2219 "bifparse.y"
  2363. {(void)
  2364.                    bif_definedepthcue /* rev 0.8 CHANGED: JMZ */
  2365.                    (yypvt[-2].l, DISABLE, 0.,0., 0.,0., 0.,0.,0.0); } break;
  2366. case 443:
  2367. # line 2230 "bifparse.y"
  2368. {(void)
  2369.                    bif_definedepthcue /* rev 0.8 CHANGED: JMZ */
  2370.                    (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;
  2371. case 444:
  2372. # line 2236 "bifparse.y"
  2373. {
  2374.                    bif_defaultconfig();
  2375.                    bif_openwk();
  2376.                 } break;
  2377. case 445:
  2378. # line 2243 "bifparse.y"
  2379. {
  2380.                    bif_defaultconfig();
  2381.                    bif_openwk();
  2382.                 } break;
  2383. case 446:
  2384. # line 2248 "bifparse.y"
  2385. {
  2386.                    (void)not_repeated(-1);
  2387.                    bif_defaultconfig();
  2388.                 } break;
  2389. case 447:
  2390. # line 2254 "bifparse.y"
  2391. {
  2392.                    bif_openwk();
  2393.                    (void)not_repeated(-1);
  2394.                 } break;
  2395. case 449:
  2396. # line 2262 "bifparse.y"
  2397.                   if(not_repeated(1)) bif_colormodel(RGB);
  2398.                   else yyerror(CB_ERM1);
  2399.                 } break;
  2400. case 450:
  2401. # line 2267 "bifparse.y"
  2402.                   if(not_repeated(1)) bif_colormodel(CIE);
  2403.                   else yyerror(CB_ERM1);
  2404.                 } break;
  2405. case 451:
  2406. # line 2272 "bifparse.y"
  2407.                   if(not_repeated(1)) bif_colormodel(HSV);
  2408.                   else yyerror(CB_ERM1);
  2409.                 } break;
  2410. case 452:
  2411. # line 2277 "bifparse.y"
  2412.                   if(not_repeated(1))
  2413.                      bif_colormodel(HLS); /* rev 0.8 mod. */
  2414.                   else yyerror(CB_ERM1);
  2415.                 } break;
  2416. case 453:
  2417. # line 2283 "bifparse.y"
  2418. { if(not_repeated(2))
  2419.                           bif_buffermode(DOUBLE_BUFFER); /*rev 0.8*/
  2420.                   else
  2421.                      yyerror(CB_ERM2);
  2422.                 } break;
  2423. case 454:
  2424. # line 2289 "bifparse.y"
  2425. { if(not_repeated(2))
  2426.                      bif_buffermode(SINGLE_BUFFER); 
  2427.                   else
  2428.                      yyerror(CB_ERM2);
  2429.                 } break;
  2430. case 455:
  2431. # line 2295 "bifparse.y"
  2432. { if(not_repeated(3))
  2433.                           bif_colormode(TRUE_COLOR); /* rev 0.8 */
  2434.                   else
  2435.                      yyerror(CB_ERM3);
  2436.                 } break;
  2437. case 456:
  2438. # line 2301 "bifparse.y"
  2439. { if(not_repeated(3))
  2440.                           bif_colormode(PSEUDO_COLOR); /* rev 0.8 */
  2441.                   else
  2442.                      yyerror(CB_ERM3);
  2443.                 } break;
  2444. case 457:
  2445. # line 2307 "bifparse.y"
  2446. { if(not_repeated(4))
  2447.                             (void)bif_window(yypvt[-1].l,yypvt[-0].l);
  2448.                   else
  2449.                      yyerror(CB_ERM4);
  2450.                 } break;
  2451. case 458:
  2452. # line 2317 "bifparse.y"
  2453. { yyval.f = yypvt[-0].f; } break;
  2454. case 459:
  2455. # line 2318 "bifparse.y"
  2456. { yyval.f = (double)yypvt[-0].l; } break;
  2457.         }
  2458.         goto yystack;  /* stack new state and value */
  2459.  
  2460.     }
  2461.