home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
pc.louisiana.edu/pub/unix/
/
Louisiana_UNIX.tar
/
Louisiana_UNIX
/
xspread3.0.zoo
/
gram.c
< prev
next >
Wrap
C/C++ Source or Header
|
1994-06-02
|
55KB
|
1,587 lines
# line 18 "gram.y"
#ifdef DOINGX
#include <stdio.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#else
#include <curses.h>
#endif
#ifdef IEEE_MATH
# include <ieeefp.h>
#endif /* IEEE_MATH */
#include <math.h>
#include "sc.h"
#ifndef PI
#define PI (double)3.14159265358979323846
#endif
#define ENULL (struct enode *)0
# line 40 "gram.y"
typedef union {
int ival;
double fval;
struct ent_ptr ent;
struct enode *enode;
char *sval;
struct range_s rval;
} YYSTYPE;
# define STRING 257
# define NUMBER 258
# define FNUMBER 259
# define RANGE 260
# define VAR 261
# define WORD 262
# define COL 263
# define S_FORMAT 264
# define S_FMT 265
# define S_LABEL 266
# define S_LEFTSTRING 267
# define S_RIGHTSTRING 268
# define S_GET 269
# define S_PUT 270
# define S_MERGE 271
# define S_LET 272
# define S_WRITE 273
# define S_TBL 274
# define S_COPY 275
# define S_SHOW 276
# define S_ERASE 277
# define S_FILL 278
# define S_LOCK 279
# define S_UNLOCK 280
# define S_GOTO 281
# define S_DEFINE 282
# define S_UNDEFINE 283
# define S_VALUE 284
# define S_MDIR 285
# define S_HIDE 286
# define S_SET 287
# define K_ERROR 288
# define K_INVALID 289
# define K_FIXED 290
# define K_SUM 291
# define K_PROD 292
# define K_AVG 293
# define K_STDDEV 294
# define K_COUNT 295
# define K_ABS 296
# define K_ACOS 297
# define K_ASIN 298
# define K_ATAN 299
# define K_ATAN2 300
# define K_CEIL 301
# define K_COS 302
# define K_EXP 303
# define K_FABS 304
# define K_FLOOR 305
# define K_HYPOT 306
# define K_LN 307
# define K_LOG 308
# define K_PI 309
# define K_POW 310
# define K_SIN 311
# define K_SQRT 312
# define K_TAN 313
# define K_DTR 314
# define K_RTD 315
# define K_MAX 316
# define K_MIN 317
# define K_RND 318
# define K_ROUND 319
# define K_IF 320
# define K_PV 321
# define K_FV 322
# define K_PMT 323
# define K_HOUR 324
# define K_MINUTE 325
# define K_SECOND 326
# define K_MONTH 327
# define K_DAY 328
# define K_YEAR 329
# define K_NOW 330
# define K_DATE 331
# define K_DTS 332
# define K_TTS 333
# define K_FMT 334
# define K_SUBSTR 335
# define K_UPPER 336
# define K_LOWER 337
# define K_CAPITAL 338
# define K_STON 339
# define K_EQS 340
# define K_EXT 341
# define K_NVAL 342
# define K_SVAL 343
# define K_LOOKUP 344
# define K_HLOOKUP 345
# define K_VLOOKUP 346
# define K_INDEX 347
# define K_STINDEX 348
# define K_AUTO 349
# define K_AUTOCALC 350
# define K_BYROWS 351
# define K_BYCOLS 352
# define K_ITERATIONS 353
# define K_NUMERIC 354
# define K_PRESCALE 355
# define K_EXTFUN 356
# define K_CELLCUR 357
# define K_TOPROW 358
# define K_TBLSTYLE 359
# define K_TBL 360
# define K_LATEX 361
# define K_SLATEX 362
# define K_TEX 363
# define K_FRAME 364
# define K_RNDINFINITY 365
# define K_MYROW 366
# define K_MYCOL 367
# define K_COLTOA 368
# define K_CRACTION 369
# define K_CRROW 370
# define K_CRCOL 371
# define K_ROWLIMIT 372
# define K_COLLIMIT 373
# define K_NUMITER 374
# define K_MATRIX_ADD 375
# define K_MATRIX_SUB 376
# define K_MATRIX_INV 377
# define K_MATRIX_MULT 378
# define K_MATRIX_TRANS 379
# define K_GRAPH 380
#define yyclearin yychar = -1
#define yyerrok yyerrflag = 0
extern int yychar;
extern short yyerrflag;
#ifndef YYMAXDEPTH
#define YYMAXDEPTH 150
#endif
YYSTYPE yylval, yyval;
# define YYERRCODE 256
short yyexca[] ={
-1, 1,
0, -1,
-2, 0,
-1, 262,
60, 0,
61, 0,
62, 0,
33, 0,
-2, 135,
-1, 265,
60, 0,
61, 0,
62, 0,
33, 0,
-2, 136,
-1, 266,
60, 0,
61, 0,
62, 0,
33, 0,
-2, 137,
-1, 338,
60, 0,
61, 0,
62, 0,
33, 0,
-2, 140,
-1, 339,
60, 0,
61, 0,
62, 0,
33, 0,
-2, 142,
-1, 340,
60, 0,
61, 0,
62, 0,
33, 0,
-2, 143,
-1, 341,
60, 0,
61, 0,
62, 0,
33, 0,
-2, 141,
-1, 349,
41, 155,
-2, 46,
};
# define YYNPROD 196
# define YYLAST 3612
short yyact[]={
476, 475, 141, 142, 246, 139, 140, 143, 144, 145,
146, 147, 49, 136, 32, 134, 76, 48, 148, 37,
32, 59, 80, 58, 32, 32, 47, 59, 32, 58,
474, 46, 130, 408, 26, 75, 407, 336, 335, 254,
253, 99, 6, 19, 3, 4, 5, 7, 10, 8,
2, 11, 12, 15, 13, 16, 18, 20, 21, 22,
23, 24, 17, 9, 14, 25, 252, 245, 244, 243,
242, 137, 135, 113, 128, 92, 239, 27, 131, 132,
133, 34, 35, 36, 159, 270, 153, 152, 151, 150,
149, 79, 78, 114, 52, 53, 55, 60, 61, 62,
63, 77, 70, 72, 73, 86, 247, 248, 249, 250,
251, 126, 85, 531, 32, 59, 557, 58, 118, 236,
529, 119, 506, 120, 528, 505, 504, 115, 87, 505,
29, 29, 29, 29, 98, 40, 40, 40, 40, 40,
40, 522, 117, 51, 29, 29, 29, 29, 29, 29,
29, 40, 29, 521, 473, 255, 256, 257, 258, 259,
260, 261, 262, 265, 266, 268, 269, 472, 271, 471,
158, 51, 51, 51, 470, 156, 469, 556, 29, 166,
157, 167, 555, 158, 164, 532, 28, 554, 156, 154,
530, 155, 523, 157, 520, 519, 417, 94, 415, 414,
413, 127, 50, 412, 125, 411, 161, 162, 163, 160,
168, 410, 333, 237, 238, 332, 167, 331, 158, 240,
241, 95, 81, 156, 154, 330, 155, 159, 157, 329,
82, 83, 84, 328, 327, 66, 56, 57, 30, 33,
159, 31, 56, 57, 30, 33, 39, 31, 30, 33,
33, 31, 31, 33, 129, 31, 93, 74, 326, 325,
324, 323, 322, 321, 338, 339, 67, 68, 340, 320,
165, 341, 319, 318, 317, 159, 316, 315, 348, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
56, 57, 314, 313, 312, 124, 121, 122, 409, 33,
311, 31, 310, 309, 308, 307, 306, 305, 304, 303,
342, 343, 344, 345, 346, 347, 350, 96, 97, 101,
100, 107, 102, 103, 104, 105, 106, 108, 116, 302,
301, 300, 54, 109, 299, 298, 297, 110, 296, 295,
111, 112, 294, 293, 292, 291, 290, 123, 289, 288,
287, 286, 285, 284, 283, 64, 282, 281, 280, 279,
29, 29, 29, 29, 29, 349, 349, 402, 403, 404,
405, 406, 278, 277, 276, 275, 274, 273, 272, 71,
477, 65, 1, 0, 478, 38, 0, 88, 89, 0,
479, 90, 91, 480, 41, 42, 43, 44, 45, 0,
481, 482, 483, 484, 485, 0, 0, 0, 0, 69,
0, 486, 487, 0, 488, 0, 489, 29, 29, 29,
29, 29, 138, 0, 0, 495, 496, 497, 498, 166,
0, 167, 0, 158, 164, 0, 0, 553, 156, 154,
0, 155, 0, 157, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 161, 162, 163, 160,
0, 0, 0, 0, 0, 0, 533, 0, 0, 0,
0, 0, 534, 535, 536, 537, 538, 539, 0, 0,
0, 0, 540, 541, 0, 0, 0, 0, 542, 0,
159, 0, 0, 0, 0, 0, 0, 490, 491, 492,
493, 494, 0, 0, 0, 0, 0, 499, 500, 501,
502, 503, 126, 0, 0, 32, 0, 0, 0, 118,
165, 0, 119, 0, 120, 126, 0, 0, 32, 0,
0, 0, 118, 0, 0, 119, 0, 120, 0, 0,
263, 264, 0, 117, 0, 0, 0, 29, 29, 29,
29, 29, 0, 0, 0, 0, 117, 29, 29, 29,
29, 29, 0, 0, 0, 0, 543, 544, 0, 545,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 125, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 29, 29, 125, 29,
169, 170, 171, 172, 173, 176, 177, 178, 179, 180,
181, 182, 183, 184, 185, 186, 187, 188, 226, 189,
190, 191, 192, 193, 194, 174, 175, 195, 196, 197,
198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
212, 208, 209, 213, 225, 214, 215, 216, 210, 211,
222, 223, 224, 218, 219, 220, 217, 221, 0, 0,
0, 126, 0, 0, 32, 0, 0, 0, 118, 0,
0, 119, 0, 120, 0, 227, 228, 229, 0, 0,
0, 0, 0, 230, 231, 232, 233, 234, 235, 267,
0, 0, 117, 0, 0, 0, 166, 0, 167, 0,
158, 164, 0, 0, 552, 156, 154, 0, 155, 0,
157, 0, 0, 0, 0, 0, 124, 121, 122, 0,
33, 0, 31, 161, 162, 163, 160, 0, 0, 124,
121, 122, 30, 33, 0, 31, 166, 0, 167, 0,
158, 164, 0, 0, 551, 156, 154, 0, 155, 116,
157, 0, 0, 0, 125, 0, 0, 159, 0, 0,
0, 0, 116, 161, 162, 163, 160, 0, 123, 0,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 123, 550, 156, 154, 0, 155, 165, 157, 0,
0, 0, 0, 0, 0, 0, 0, 159, 0, 0,
0, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 549, 156, 154,
166, 155, 167, 157, 158, 164, 0, 165, 548, 156,
154, 0, 155, 0, 157, 159, 161, 162, 163, 160,
0, 0, 0, 0, 0, 0, 0, 161, 162, 163,
160, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 159, 0, 0, 0, 124, 121, 122, 0, 33,
0, 31, 0, 166, 0, 167, 0, 158, 164, 0,
165, 547, 156, 154, 0, 155, 0, 157, 0, 0,
0, 165, 0, 0, 0, 0, 0, 0, 116, 0,
161, 162, 163, 160, 0, 0, 0, 0, 0, 0,
166, 0, 167, 0, 158, 164, 0, 123, 546, 156,
154, 166, 155, 167, 157, 158, 164, 0, 0, 0,
156, 154, 527, 155, 159, 157, 0, 161, 162, 163,
160, 0, 0, 0, 0, 0, 0, 0, 161, 162,
163, 160, 0, 0, 0, 0, 0, 0, 166, 0,
167, 0, 158, 164, 165, 0, 526, 156, 154, 0,
155, 159, 157, 0, 0, 0, 0, 0, 0, 0,
0, 0, 159, 0, 0, 161, 162, 163, 160, 0,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 165, 525, 156, 154, 0, 155, 0, 157, 0,
0, 0, 165, 0, 0, 0, 0, 0, 0, 159,
0, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 524, 156, 154,
0, 155, 0, 157, 0, 0, 0, 0, 0, 165,
0, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 518, 156, 154, 0, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 517, 156, 154,
0, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 0, 156, 154, 516, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 0, 156, 154,
515, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 0, 156, 154, 514, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 0, 156, 154,
513, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 0, 156, 154, 512, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 0, 156, 154,
511, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 510, 156, 154, 0, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 509, 156, 154,
0, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 508, 156, 154, 0, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 507, 156, 154,
0, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 468, 156, 154, 0, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 0, 156, 154,
467, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 0, 156, 154, 466, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 0, 156, 154,
465, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 0, 156, 154, 464, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 0, 156, 154,
463, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 0, 156, 154, 462, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 0, 156, 154,
461, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 0, 156, 154, 460, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 0, 156, 154,
459, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 458, 156, 154, 0, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 457, 156, 154,
0, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 456, 156, 154, 0, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 0, 156, 154,
455, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 454, 156, 154, 0, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 0, 156, 154,
453, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 452, 156, 154, 0, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 0, 156, 154,
451, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 0, 156, 154, 450, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 449, 156, 154,
0, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 448, 156, 154, 0, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 447, 156, 154,
0, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 446, 156, 154, 0, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 445, 156, 154,
0, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 444, 156, 154, 0, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 0, 156, 154,
443, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 0, 156, 154, 442, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 0, 156, 154,
441, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 0, 156, 154, 440, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 0, 156, 154,
439, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 438, 156, 154, 0, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 437, 156, 154,
0, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 436, 156, 154, 0, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 435, 156, 154,
0, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 434, 156, 154, 0, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 433, 156, 154,
0, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 0, 156, 154, 432, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 431, 156, 154,
0, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 430, 156, 154, 0, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 0, 156, 154,
429, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 428, 156, 154, 0, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 427, 156, 154,
0, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 426, 156, 154, 0, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 425, 156, 154,
0, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 424, 156, 154, 0, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 0, 156, 154,
423, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 422, 156, 154, 0, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 421, 156, 154,
0, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 420, 156, 154, 0, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 419, 156, 154,
0, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 0, 156, 154, 418, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 0, 156, 154,
416, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 0, 156, 154, 0, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 337,
159, 161, 162, 163, 160, 0, 0, 0, 0, 166,
0, 167, 0, 158, 164, 0, 0, 334, 156, 154,
0, 155, 0, 157, 0, 0, 0, 0, 0, 0,
165, 0, 0, 0, 0, 159, 161, 162, 163, 160,
0, 0, 0, 0, 166, 0, 167, 0, 158, 164,
0, 0, 0, 156, 154, 0, 155, 0, 157, 0,
0, 0, 0, 0, 0, 165, 0, 0, 0, 0,
159, 161, 162, 163, 160, 166, 0, 167, 0, 158,
164, 0, 0, 0, 156, 154, 0, 155, 0, 157,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
165, 0, 161, 162, 163, 159, 0, 0, 0, 0,
166, 0, 167, 0, 158, 164, 0, 0, 0, 156,
154, 0, 155, 0, 157, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 165, 159, 161, 162, 163,
166, 0, 167, 0, 158, 0, 0, 0, 0, 156,
154, 0, 155, 0, 157, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 165, 161, 162, 163,
0, 159, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 159 };
short yypact[]={
-222,-1000, -12, -12, -12, -12,-244, -11, -11, -11,
-11, -11, -11,-232,-246, -12, -12, -12, -16, -12,
-12, -12, -22, -11, -12,-1000,-1000, 42,-1000, 46,
-1000, -1,-247,-1000, 40, 31, 30, -36,-1000,-1000,
-1000,-1000,-1000, -12, -12, -12, 54, 47,-1000,-1000,
-12, 46,-1000,-1000, 72, 72,-1000,-1000, 72, 72,
-182,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, -12,
-1000, 8, 78, -8,-1000,-184, -4, 78, 78, 78,
-248,-186,-1000,-1000,-1000,-250,-187,-1000,-1000, 72,
-1000,-1000,-1000,-1000, 46,-1000,-1000,-1000,-344,-347,
-1000,-1000,-1000,-1000,-1000,-1000,-1000, 29, 28,-1000,
27, 26, 25,3421,-1000,-1000, 78, 369, 78, 78,
78, -19,-1000,-1000,-1000, 78, 78,-1000,-1000,-1000,
-188,3421,3421,3421,-189,-190,-1000,-1000,-1000,-1000,
-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-191,
-254,-192,-218,-219, 78, 78, 78, 78, 78, 78,
78, 519, 78, 688, 78, 78, 24, 78,-1000, 378,
377, 376, 375, 374, 373, 372, 359, 358, 357, 356,
354, 353, 352, 351, 350, 349, 348, 346, 345, 344,
343, 342, 339, 338, 336, 335, 334, 331, 330, 329,
309, 308, 307, 306, 305, 304, 303,-1000, 302, 300,
294, 293, 292, 237, 236, 234, 233, 232, 229, 223,
222, 221, 220, 219, 218, 194,-1000,-1000,-1000, 193,
-1000, 189, 185, 177, 175, 172,3386,-1000,-1000,-220,
-1000,-1000,-1000,-221,-1000,-1000,-1000,-1000,-1000,-1000,
-1000,-1000,-1000,-1000,-1000, 133, 133, -10, -10, -10,
-1000,3351, 181, 78, 78, 181, 181, 78,3517,3487,
78, 133, -12, -12, -12, -12, -12, 532, 532, 78,
78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
78, 78, 78, 78, 78, 78, 78, 78, 78, -12,
-12, -12, -12, -12,-1000, -59,-225, 78, 181, 181,
181, 181, 170, 164, 162, 159, 158, 157,3316, 46,
155,3281,3246,3211,3176,3141,3106,3071,3036,3001,
2966,2931,2896,2861,2826,2791,2756,2721,2686,2651,
2616,2581,2546,2511,2476,2441,2406,2371,2336,2301,
2266,2231,2196,2161,2126,2091,2056,2021,1986,1951,
1916,1881,1846,1811,1776,1741,1706,1671,1636,1601,
1566,1531, 132, 130, 125, 123, 110,-228,-1000,3452,
-1000,-1000,-1000,-1000,-1000,-1000, 78,-1000, 78,-1000,
-1000,-1000,-1000, 78,-1000,-1000,-1000,-1000,-1000, 78,
-1000,-1000, 78,-1000,-1000,-1000,-1000,-1000,-1000, 78,
78, 78, 78, 78,-1000,-1000,-1000,-1000,-1000,-1000,
78, 78,-1000, 78,-1000, 78,-1000,-1000,-1000, -12,
-12, -12, -12, -12, 78, 78, 78, 78,-1000, -12,
-12, -12, -12, -12,-1000, 85,3421, 81,1496,1461,
1426,1391,1356,1321,1286,1251,1216,1181,1146,1111,
154, 153, 109, 97, 151,1076,1041,1005, 968, 80,
76, 149, 69, 144,-1000, 78,-1000,-1000,-1000,-1000,
-1000, 78, 78, 78, 78, 78, 78,-1000,-1000,-1000,
-1000, 78, 78,-1000,-1000,-1000,-1000, 78, -12, -12,
-1000, -12,-1000,3421, 957, 920, 847, 836, 801, 763,
723, 436, 146, 141, 136, 75,-1000,-1000,-1000,-1000,
-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000 };
short yypgo[]={
0, 127, 372, 186, 77, 425, 0, 93, 1, 422,
421, 419, 221 };
short yyr1[]={
0, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 8, 8, 3, 3, 1,
1, 1, 1, 1, 4, 4, 2, 2, 2, 2,
5, 5, 11, 11, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 10, 10 };
short yyr2[]={
0, 4, 4, 4, 4, 7, 5, 6, 4, 2,
2, 2, 3, 2, 3, 2, 3, 2, 4, 4,
2, 2, 3, 1, 2, 1, 2, 3, 4, 3,
1, 2, 1, 2, 2, 2, 2, 2, 1, 2,
3, 3, 2, 2, 0, 1, 1, 2, 5, 5,
5, 5, 5, 5, 7, 5, 7, 5, 5, 5,
5, 7, 5, 5, 5, 5, 5, 7, 5, 5,
7, 5, 5, 5, 5, 5, 5, 7, 9, 9,
9, 9, 5, 5, 5, 5, 5, 5, 2, 9,
9, 5, 7, 5, 7, 5, 5, 5, 7, 7,
9, 9, 7, 7, 7, 7, 9, 3, 2, 2,
1, 1, 5, 1, 2, 1, 2, 2, 2, 2,
5, 2, 9, 9, 7, 9, 7, 3, 3, 3,
3, 3, 3, 1, 5, 3, 3, 3, 3, 3,
4, 4, 4, 4, 3, 1, 3, 3, 1, 2,
3, 3, 4, 1, 1, 1, 1, 1, 2, 2,
1, 1, 0, 2, 1, 1, 2, 2, 2, 2,
1, 1, 1, 2, 1, 2, 1, 2, 1, 2,
1, 2, 3, 3, 3, 3, 3, 3, 3, 1,
2, 3, 3, 3, 1, 1 };
short yychk[]={
-1000, -9, 272, 266, 267, 268, 264, 269, 271, 285,
270, 273, 274, 276, 286, 275, 277, 284, 278, 265,
279, 280, 281, 282, 283, 287, 256, -4, -3, -1,
260, 263, 36, 261, -4, -4, -4, 263, -5, 257,
-1, -5, -5, -5, -5, -5, 263, 258, 263, 258,
-3, -1, -4, -4, -2, -4, 258, 259, 45, 43,
-4, -4, -4, -4, -2, -10, 257, 288, 289, -5,
-4, -11, 61, 58, 258, 36, 263, 61, 61, 61,
58, 258, -3, -3, -3, 58, 58, -4, -2, -2,
-2, -2, 257, -3, -1, -12, 349, 350, 126, 33,
352, 351, 354, 355, 356, 357, 358, 353, 359, 365,
369, 372, 373, -6, -7, -1, 290, 64, 40, 43,
45, 258, 259, 309, 257, 126, 33, -1, 258, 258,
36, -6, -6, -6, 263, 258, 263, 258, -2, 349,
350, 349, 350, 354, 355, 356, 357, 358, 365, 61,
61, 61, 61, 61, 43, 45, 42, 47, 37, 94,
63, 60, 61, 62, 38, 124, 33, 35, -7, 291,
292, 293, 294, 295, 316, 317, 296, 297, 298, 299,
300, 301, 302, 303, 304, 305, 306, 307, 308, 310,
311, 312, 313, 314, 315, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, 329, 330, 332, 333,
339, 340, 331, 334, 336, 337, 338, 347, 344, 345,
346, 348, 341, 342, 343, 335, 309, 366, 367, 368,
374, 375, 376, 377, 378, 379, -6, -7, -7, 95,
-7, -7, 258, 258, 258, 258, 258, 360, 361, 362,
363, 364, 258, 258, 258, -6, -6, -6, -6, -6,
-6, -6, -6, 61, 62, -6, -6, 61, -6, -6,
61, -6, 40, 40, 40, 40, 40, 40, 40, 40,
40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
40, 40, 40, 40, 41, 258, 258, 58, -6, -6,
-6, -6, -4, -4, -4, -4, -4, -4, -6, -1,
-4, -6, -6, -6, -6, -6, -6, -6, -6, -6,
-6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
-6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
-6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
-6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
-6, -6, -4, -4, -4, -4, -4, 95, 258, -6,
41, 41, 41, 41, 41, 41, 44, 41, 44, 41,
41, 41, 41, 44, 41, 41, 41, 41, 41, 44,
41, 41, 44, 41, 41, 41, 41, 41, 41, 44,
44, 44, 44, 44, 41, 41, 41, 41, 41, 41,
44, 44, 41, 44, 41, 44, 41, 41, 41, 44,
44, 44, 44, 44, 44, 44, 44, 44, 41, 44,
44, 44, 44, 44, 258, -8, -6, -8, -6, -6,
-6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
-4, -4, -4, -4, -4, -6, -6, -6, -6, -4,
-4, -4, -4, -4, 41, 44, 41, 41, 41, 41,
41, 44, 44, 44, 44, 44, 44, 41, 41, 41,
41, 44, 44, 41, 41, 41, 41, 44, 44, 44,
41, 44, 41, -6, -6, -6, -6, -6, -6, -6,
-6, -6, -6, -4, -4, -4, 41, 41, 41, 41,
41, 41, 41, 41, 41, 41, 41, 41 };
short yydef[]={
44, -2, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 23, 25, 0, 0,
30, 32, 38, 0, 0, 162, 45, 0, 154, 155,
148, 0, 0, 153, 0, 0, 0, 0, 9, 160,
161, 10, 11, 13, 15, 17, 0, 0, 20, 21,
0, 0, 24, 26, 0, 0, 156, 157, 0, 0,
0, 31, 33, 34, 35, 36, 37, 194, 195, 39,
42, 43, 0, 0, 149, 0, 0, 0, 0, 0,
0, 0, 12, 14, 16, 0, 0, 22, 27, 0,
158, 159, 29, 40, 41, 163, 164, 165, 0, 0,
170, 171, 172, 174, 176, 178, 180, 0, 0, 189,
0, 0, 0, 1, 133, 46, 0, 0, 0, 0,
0, 110, 111, 113, 115, 0, 0, 147, 151, 150,
0, 2, 3, 4, 0, 8, 18, 19, 28, 166,
167, 168, 169, 173, 175, 177, 179, 181, 190, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 47, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 88, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 114, 118, 119, 0,
121, 0, 0, 0, 0, 0, 0, 108, 109, 0,
116, 117, 152, 0, 6, 182, 183, 184, 185, 186,
187, 188, 191, 192, 193, 127, 128, 129, 130, 131,
132, 0, -2, 0, 0, -2, -2, 0, 138, 139,
0, 144, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 107, 0, 7, 0, -2, -2,
-2, -2, 0, 0, 0, 0, 0, 0, 0, -2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 5, 134,
48, 49, 50, 51, 52, 53, 0, 55, 0, 57,
58, 59, 60, 0, 62, 63, 64, 65, 66, 0,
68, 69, 0, 71, 72, 73, 74, 75, 76, 0,
0, 0, 0, 0, 82, 83, 84, 85, 86, 87,
0, 0, 91, 0, 93, 0, 95, 96, 97, 0,
0, 0, 0, 0, 0, 0, 0, 0, 120, 0,
0, 0, 0, 0, 112, 0, 145, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 54, 0, 56, 61, 67, 70,
77, 0, 0, 0, 0, 0, 0, 92, 94, 98,
99, 0, 0, 102, 103, 104, 105, 0, 0, 0,
124, 0, 126, 146, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 78, 79, 80, 81,
89, 90, 100, 101, 106, 122, 123, 125 };
#ifndef lint
static char yaccpar_sccsid[] = "@(#)yaccpar 4.1 (Berkeley) 2/11/83";
#endif
#
# define YYFLAG -1000
# define YYERROR goto yyerrlab
# define YYACCEPT return(0)
# define YYABORT return(1)
/* parser for yacc output */
#ifdef YYDEBUG
int yydebug = 0; /* 1 for debugging */
#endif
YYSTYPE yyv[YYMAXDEPTH]; /* where the values are stored */
int yychar = -1; /* current input token number */
int yynerrs = 0; /* number of errors */
short yyerrflag = 0; /* error recovery flag */
yyparse() {
short yys[YYMAXDEPTH];
short yyj, yym;
register YYSTYPE *yypvt;
register short yystate, *yyps, yyn;
register YYSTYPE *yypv;
register short *yyxi;
yystate = 0;
yychar = -1;
yynerrs = 0;
yyerrflag = 0;
yyps= &yys[-1];
yypv= &yyv[-1];
yystack: /* put a state and value onto the stack */
#ifdef YYDEBUG
if( yydebug ) printf( "state %d, char 0%o\n", yystate, yychar );
#endif
if( ++yyps> &yys[YYMAXDEPTH] ) { yyerror( "yacc stack overflow" ); return(1); }
*yyps = yystate;
++yypv;
*yypv = yyval;
yynewstate:
yyn = yypact[yystate];
if( yyn<= YYFLAG ) goto yydefault; /* simple state */
if( yychar<0 ) if( (yychar=yylex())<0 ) yychar=0;
if( (yyn += yychar)<0 || yyn >= YYLAST ) goto yydefault;
if( yychk[ yyn=yyact[ yyn ] ] == yychar ){ /* valid shift */
yychar = -1;
yyval = yylval;
yystate = yyn;
if( yyerrflag > 0 ) --yyerrflag;
goto yystack;
}
yydefault:
/* default state action */
if( (yyn=yydef[yystate]) == -2 ) {
if( yychar<0 ) if( (yychar=yylex())<0 ) yychar = 0;
/* look through exception table */
for( yyxi=yyexca; (*yyxi!= (-1)) || (yyxi[1]!=yystate) ; yyxi += 2 ) ; /* VOID */
while( *(yyxi+=2) >= 0 ){
if( *yyxi == yychar ) break;
}
if( (yyn = yyxi[1]) < 0 ) return(0); /* accept */
}
if( yyn == 0 ){ /* error */
/* error ... attempt to resume parsing */
switch( yyerrflag ){
case 0: /* brand new error */
yyerror( "syntax error" );
yyerrlab:
++yynerrs;
case 1:
case 2: /* incompletely recovered error ... try again */
yyerrflag = 3;
/* find a state where "error" is a legal shift action */
while ( yyps >= yys ) {
yyn = yypact[*yyps] + YYERRCODE;
if( yyn>= 0 && yyn < YYLAST && yychk[yyact[yyn]] == YYERRCODE ){
yystate = yyact[yyn]; /* simulate a shift of "error" */
goto yystack;
}
yyn = yypact[*yyps];
/* the current yyps has no shift onn "error", pop stack */
#ifdef YYDEBUG
if( yydebug ) printf( "error recovery pops state %d, uncovers %d\n", *yyps, yyps[-1] );
#endif
--yyps;
--yypv;
}
/* there is no state on the stack with an error shift ... abort */
yyabort:
return(1);
case 3: /* no shift yet; clobber input char */
#ifdef YYDEBUG
if( yydebug ) printf( "error recovery discards char %d\n", yychar );
#endif
if( yychar == 0 ) goto yyabort; /* don't discard EOF, quit */
yychar = -1;
goto yynewstate; /* try again in the same state */
}
}
/* reduction by production yyn */
#ifdef YYDEBUG
if( yydebug ) printf("reduce %d\n",yyn);
#endif
yyps -= yyr2[yyn];
yypvt = yypv;
yypv -= yyr2[yyn];
yyval = yypv[1];
yym=yyn;
/* consult goto table to find next state */
yyn = yyr1[yyn];
yyj = yypgo[yyn] + *yyps + 1;
if( yyj>=YYLAST || yychk[ yystate = yyact[yyj] ] != -yyn ) yystate = yyact[yypgo[yyn]];
switch(yym){
case 1:
# line 194 "gram.y"
{ let(yypvt[-2].rval.left.vp, yypvt[-0].enode); } break;
case 2:
# line 196 "gram.y"
{ slet(yypvt[-2].rval.left.vp, yypvt[-0].enode, 0); } break;
case 3:
# line 198 "gram.y"
{ slet(yypvt[-2].rval.left.vp, yypvt[-0].enode, -1); } break;
case 4:
# line 200 "gram.y"
{ slet(yypvt[-2].rval.left.vp, yypvt[-0].enode, 1); } break;
case 5:
# line 202 "gram.y"
{ doformat(yypvt[-5].ival,yypvt[-3].ival,yypvt[-2].ival,yypvt[-1].ival,yypvt[-0].ival); } break;
case 6:
# line 204 "gram.y"
{ doformat(yypvt[-3].ival,yypvt[-3].ival,yypvt[-2].ival,yypvt[-1].ival,yypvt[-0].ival); } break;
case 7:
# line 206 "gram.y"
{ doformat(yypvt[-4].ival,yypvt[-2].ival,yypvt[-1].ival,yypvt[-0].ival, REFMTFIX); } break;
case 8:
# line 208 "gram.y"
{ doformat(yypvt[-2].ival,yypvt[-2].ival,yypvt[-1].ival,yypvt[-0].ival, REFMTFIX); } break;
case 9:
# line 209 "gram.y"
{ /* This tmp hack is because readfile
* recurses back through yyparse. */
char *tmp;
tmp = yypvt[-0].sval;
readfile (tmp, 1);
scxfree(tmp);
} break;
case 10:
# line 216 "gram.y"
{
char *tmp;
tmp = yypvt[-0].sval;
readfile (tmp, 0);
scxfree(tmp);
} break;
case 11:
# line 223 "gram.y"
{ if (mdir) scxfree(mdir); mdir = yypvt[-0].sval; } break;
case 12:
# line 225 "gram.y"
{ (void) writefile(yypvt[-1].sval, (yypvt[-0].rval.left.vp)->row,
(yypvt[-0].rval.left.vp)->col, (yypvt[-0].rval.right.vp)->row,
(yypvt[-0].rval.right.vp)->col);
scxfree(yypvt[-1].sval); } break;
case 13:
# line 230 "gram.y"
{ (void) writefile (yypvt[-0].sval, 0, 0, maxrow, maxcol);
scxfree(yypvt[-0].sval); } break;
case 14:
# line 232 "gram.y"
{ (void) printfile(yypvt[-1].sval, (yypvt[-0].rval.left.vp)->row,
(yypvt[-0].rval.left.vp)->col, (yypvt[-0].rval.right.vp)->row,
(yypvt[-0].rval.right.vp)->col);
scxfree(yypvt[-1].sval); } break;
case 15:
# line 236 "gram.y"
{ (void) printfile (yypvt[-0].sval, 0, 0, maxrow, maxcol);
scxfree(yypvt[-0].sval); } break;
case 16:
# line 238 "gram.y"
{ (void) tblprintfile(yypvt[-1].sval, (yypvt[-0].rval.left.vp)->row,
(yypvt[-0].rval.left.vp)->col, (yypvt[-0].rval.right.vp)->row,
(yypvt[-0].rval.right.vp)->col);
scxfree(yypvt[-1].sval); } break;
case 17:
# line 242 "gram.y"
{ (void)tblprintfile (yypvt[-0].sval, 0, 0, maxrow, maxcol);
scxfree(yypvt[-0].sval); } break;
case 18:
# line 245 "gram.y"
{ showcol( yypvt[-2].ival, yypvt[-0].ival); } break;
case 19:
# line 247 "gram.y"
{ showrow( yypvt[-2].ival, yypvt[-0].ival); } break;
case 20:
# line 249 "gram.y"
{ hide_col( yypvt[-0].ival ); } break;
case 21:
# line 251 "gram.y"
{ hide_row( yypvt[-0].ival ); } break;
case 22:
# line 253 "gram.y"
{ copy(yypvt[-1].rval.left.vp,yypvt[-1].rval.right.vp,
yypvt[-0].rval.left.vp,yypvt[-0].rval.right.vp); } break;
case 23:
# line 256 "gram.y"
{ eraser(lookat(showsr, showsc),
lookat(currow, curcol)); } break;
case 24:
# line 259 "gram.y"
{ eraser(yypvt[-0].rval.left.vp, yypvt[-0].rval.right.vp); } break;
case 25:
# line 260 "gram.y"
{ valueize_area(showsr, showsc, currow, curcol);
modflg++; } break;
case 26:
# line 262 "gram.y"
{ valueize_area((yypvt[-0].rval.left.vp)->row,
(yypvt[-0].rval.left.vp)->col,
(yypvt[-0].rval.right.vp)->row,
(yypvt[-0].rval.right.vp)->col); modflg++; } break;
case 27:
# line 266 "gram.y"
{ fill(lookat(showsr, showsc),
lookat(currow, curcol), yypvt[-1].fval, yypvt[-0].fval); } break;
case 28:
# line 269 "gram.y"
{ fill(yypvt[-2].rval.left.vp, yypvt[-2].rval.right.vp, yypvt[-1].fval, yypvt[-0].fval); } break;
case 29:
# line 271 "gram.y"
{ format_cell(yypvt[-1].rval.left.vp, yypvt[-1].rval.right.vp, yypvt[-0].sval); } break;
case 30:
# line 273 "gram.y"
{ lock_cells(lookat(showsr, showsc),
lookat(currow, curcol)); } break;
case 31:
# line 276 "gram.y"
{ lock_cells(yypvt[-0].rval.left.vp, yypvt[-0].rval.right.vp); } break;
case 32:
# line 278 "gram.y"
{ unlock_cells(lookat(showsr, showsc),
lookat(currow, curcol)); } break;
case 33:
# line 281 "gram.y"
{ unlock_cells(yypvt[-0].rval.left.vp, yypvt[-0].rval.right.vp); } break;
case 34:
# line 282 "gram.y"
{moveto(yypvt[-0].rval.left.vp->row, yypvt[-0].rval.left.vp->col);} break;
case 35:
# line 283 "gram.y"
{ num_search(yypvt[-0].fval, 0); } break;
case 37:
# line 285 "gram.y"
{ str_search(yypvt[-0].sval); } break;
case 38:
# line 286 "gram.y"
{ go_last(); } break;
case 39:
# line 287 "gram.y"
{ struct ent_ptr arg1, arg2;
arg1.vp = lookat(showsr, showsc);
arg1.vf = 0;
arg2.vp = lookat(currow, curcol);
arg2.vf = 0;
if (arg1.vp == arg2.vp)
add_range(yypvt[-0].sval, arg2, arg2, 0);
else
add_range(yypvt[-0].sval, arg1, arg2, 1); } break;
case 40:
# line 297 "gram.y"
{ add_range(yypvt[-1].sval, yypvt[-0].rval.left, yypvt[-0].rval.right, 1); } break;
case 41:
# line 298 "gram.y"
{ add_range(yypvt[-1].sval, yypvt[-0].ent, yypvt[-0].ent, 0); } break;
case 42:
# line 299 "gram.y"
{ del_range(yypvt[-0].rval.left.vp, yypvt[-0].rval.right.vp); } break;
case 46:
# line 305 "gram.y"
{ yyval.enode = new_var(O_VAR, yypvt[-0].ent); } break;
case 47:
# line 306 "gram.y"
{ yyval.enode = new ('f', ENULL, yypvt[-0].enode); } break;
case 48:
# line 308 "gram.y"
{ yyval.enode = new_range(REDUCE | '+', yypvt[-1].rval); } break;
case 49:
# line 310 "gram.y"
{ yyval.enode = new_range (REDUCE | '*', yypvt[-1].rval); } break;
case 50:
# line 312 "gram.y"
{ yyval.enode = new_range (REDUCE | 'a', yypvt[-1].rval); } break;
case 51:
# line 314 "gram.y"
{ yyval.enode = new_range (REDUCE | 's', yypvt[-1].rval); } break;
case 52:
# line 316 "gram.y"
{ yyval.enode = new_range (REDUCE | 'c', yypvt[-1].rval); } break;
case 53:
# line 318 "gram.y"
{ yyval.enode = new_range (REDUCE | MAXR, yypvt[-1].rval); } break;
case 54:
# line 320 "gram.y"
{ yyval.enode = new(LMAX, yypvt[-1].enode, yypvt[-3].enode); } break;
case 55:
# line 322 "gram.y"
{ yyval.enode = new_range (REDUCE | MINR, yypvt[-1].rval); } break;
case 56:
# line 324 "gram.y"
{ yyval.enode = new(LMIN, yypvt[-1].enode, yypvt[-3].enode); } break;
case 57:
# line 325 "gram.y"
{ yyval.enode = new(ABS, ENULL, yypvt[-1].enode); } break;
case 58:
# line 326 "gram.y"
{ yyval.enode = new(ACOS, ENULL, yypvt[-1].enode); } break;
case 59:
# line 327 "gram.y"
{ yyval.enode = new(ASIN, ENULL, yypvt[-1].enode); } break;
case 60:
# line 328 "gram.y"
{ yyval.enode = new(ATAN, ENULL, yypvt[-1].enode); } break;
case 61:
# line 329 "gram.y"
{ yyval.enode = new(ATAN2, yypvt[-3].enode, yypvt[-1].enode); } break;
case 62:
# line 330 "gram.y"
{ yyval.enode = new(CEIL, ENULL, yypvt[-1].enode); } break;
case 63:
# line 331 "gram.y"
{ yyval.enode = new(COS, ENULL, yypvt[-1].enode); } break;
case 64:
# line 332 "gram.y"
{ yyval.enode = new(EXP, ENULL, yypvt[-1].enode); } break;
case 65:
# line 333 "gram.y"
{ yyval.enode = new(FABS, ENULL, yypvt[-1].enode); } break;
case 66:
# line 334 "gram.y"
{ yyval.enode = new(FLOOR, ENULL, yypvt[-1].enode); } break;
case 67:
# line 335 "gram.y"
{ yyval.enode = new(HYPOT, yypvt[-3].enode, yypvt[-1].enode); } break;
case 68:
# line 336 "gram.y"
{ yyval.enode = new(LOG, ENULL, yypvt[-1].enode); } break;
case 69:
# line 337 "gram.y"
{ yyval.enode = new(LOG10, ENULL, yypvt[-1].enode); } break;
case 70:
# line 338 "gram.y"
{ yyval.enode = new(POW, yypvt[-3].enode, yypvt[-1].enode); } break;
case 71:
# line 339 "gram.y"
{ yyval.enode = new(SIN, ENULL, yypvt[-1].enode); } break;
case 72:
# line 340 "gram.y"
{ yyval.enode = new(SQRT, ENULL, yypvt[-1].enode); } break;
case 73:
# line 341 "gram.y"
{ yyval.enode = new(TAN, ENULL, yypvt[-1].enode); } break;
case 74:
# line 342 "gram.y"
{ yyval.enode = new(DTR, ENULL, yypvt[-1].enode); } break;
case 75:
# line 343 "gram.y"
{ yyval.enode = new(RTD, ENULL, yypvt[-1].enode); } break;
case 76:
# line 344 "gram.y"
{ yyval.enode = new(RND, ENULL, yypvt[-1].enode); } break;
case 77:
# line 345 "gram.y"
{ yyval.enode = new(ROUND, yypvt[-3].enode, yypvt[-1].enode); } break;
case 78:
# line 346 "gram.y"
{ yyval.enode = new(IF, yypvt[-5].enode,new(',',yypvt[-3].enode,yypvt[-1].enode)); } break;
case 79:
# line 348 "gram.y"
{ yyval.enode = new(PV, yypvt[-5].enode,new(':',yypvt[-3].enode,yypvt[-1].enode)); } break;
case 80:
# line 349 "gram.y"
{ yyval.enode = new(FV, yypvt[-5].enode,new(':',yypvt[-3].enode,yypvt[-1].enode)); } break;
case 81:
# line 350 "gram.y"
{ yyval.enode = new(PMT, yypvt[-5].enode,new(':',yypvt[-3].enode,yypvt[-1].enode)); } break;
case 82:
# line 352 "gram.y"
{ yyval.enode = new(HOUR,ENULL, yypvt[-1].enode); } break;
case 83:
# line 353 "gram.y"
{ yyval.enode = new(MINUTE,ENULL, yypvt[-1].enode); } break;
case 84:
# line 354 "gram.y"
{ yyval.enode = new(SECOND,ENULL, yypvt[-1].enode); } break;
case 85:
# line 355 "gram.y"
{ yyval.enode = new(MONTH,ENULL,yypvt[-1].enode); } break;
case 86:
# line 356 "gram.y"
{ yyval.enode = new(DAY, ENULL, yypvt[-1].enode); } break;
case 87:
# line 357 "gram.y"
{ yyval.enode = new(YEAR, ENULL, yypvt[-1].enode); } break;
case 88:
# line 358 "gram.y"
{ yyval.enode = new(NOW, ENULL, ENULL);} break;
case 89:
# line 360 "gram.y"
{ yyval.enode = new(DTS, yypvt[-5].enode, new(',', yypvt[-3].enode, yypvt[-1].enode));} break;
case 90:
# line 362 "gram.y"
{ yyval.enode = new(TTS, yypvt[-5].enode, new(',', yypvt[-3].enode, yypvt[-1].enode));} break;
case 91:
# line 363 "gram.y"
{ yyval.enode = new(STON, ENULL, yypvt[-1].enode); } break;
case 92:
# line 364 "gram.y"
{ yyval.enode = new (EQS, yypvt[-3].enode, yypvt[-1].enode); } break;
case 93:
# line 365 "gram.y"
{ yyval.enode = new(DATE, ENULL, yypvt[-1].enode); } break;
case 94:
# line 366 "gram.y"
{ yyval.enode = new(FMT, yypvt[-3].enode, yypvt[-1].enode); } break;
case 95:
# line 367 "gram.y"
{ yyval.enode = new(UPPER, ENULL, yypvt[-1].enode); } break;
case 96:
# line 368 "gram.y"
{ yyval.enode = new(LOWER, ENULL, yypvt[-1].enode); } break;
case 97:
# line 369 "gram.y"
{ yyval.enode = new(CAPITAL, ENULL, yypvt[-1].enode); } break;
case 98:
# line 371 "gram.y"
{ yyval.enode = new(INDEX, yypvt[-3].enode, new_range(REDUCE | INDEX, yypvt[-1].rval)); } break;
case 99:
# line 373 "gram.y"
{ yyval.enode = new(LOOKUP, yypvt[-3].enode, new_range(REDUCE | LOOKUP, yypvt[-1].rval)); } break;
case 100:
# line 375 "gram.y"
{ yyval.enode = new(HLOOKUP, new(',', yypvt[-5].enode, yypvt[-1].enode),
new_range((REDUCE | HLOOKUP), yypvt[-3].rval)); } break;
case 101:
# line 378 "gram.y"
{ yyval.enode = new(VLOOKUP, new(',', yypvt[-5].enode, yypvt[-1].enode),
new_range((REDUCE | VLOOKUP), yypvt[-3].rval)); } break;
case 102:
# line 381 "gram.y"
{ yyval.enode = new(STINDEX, yypvt[-3].enode, new_range((REDUCE | STINDEX), yypvt[-1].rval)); } break;
case 103:
# line 382 "gram.y"
{ yyval.enode = new(EXT, yypvt[-3].enode, yypvt[-1].enode); } break;
case 104:
# line 383 "gram.y"
{ yyval.enode = new(NVAL, yypvt[-3].enode, yypvt[-1].enode); } break;
case 105:
# line 384 "gram.y"
{ yyval.enode = new(SVAL, yypvt[-3].enode, yypvt[-1].enode); } break;
case 106:
# line 386 "gram.y"
{ yyval.enode = new(SUBSTR, yypvt[-5].enode, new(',', yypvt[-3].enode, yypvt[-1].enode)); } break;
case 107:
# line 387 "gram.y"
{ yyval.enode = yypvt[-1].enode; } break;
case 108:
# line 388 "gram.y"
{ yyval.enode = yypvt[-0].enode; } break;
case 109:
# line 389 "gram.y"
{ yyval.enode = new ('m', ENULL, yypvt[-0].enode); } break;
case 110:
# line 390 "gram.y"
{ yyval.enode = new_const(O_CONST, (double) yypvt[-0].ival); } break;
case 111:
# line 391 "gram.y"
{ yyval.enode = new_const(O_CONST, yypvt[-0].fval); } break;
case 112:
# line 393 "gram.y"
{
int y = yypvt[-0].ival;
/* Convert 'NN' to years since 1970.
* (or 2000, fix by 2070)
*/
if (y < 100) { /* Full year not given */
if (y >= 70) /* 70-99 == Years since 1900 */
y += 1900;
else /* 00-69 == Years since 2000 */
y += 2000;
}
yyval.enode = new_const(O_CONST, dodts(yypvt[-4].ival, yypvt[-2].ival, y));
} break;
case 113:
# line 407 "gram.y"
{ yyval.enode = new_const(O_CONST, PI); } break;
case 114:
# line 408 "gram.y"
{ yyval.enode = new_const(O_CONST, PI); } break;
case 115:
# line 409 "gram.y"
{ yyval.enode = new_str(yypvt[-0].sval); } break;
case 116:
# line 410 "gram.y"
{ yyval.enode = new ('~', ENULL, yypvt[-0].enode); } break;
case 117:
# line 411 "gram.y"
{ yyval.enode = new ('~', ENULL, yypvt[-0].enode); } break;
case 118:
# line 412 "gram.y"
{ yyval.enode = new(MYROW, ENULL, ENULL);} break;
case 119:
# line 413 "gram.y"
{ yyval.enode = new(MYCOL, ENULL, ENULL);} break;
case 120:
# line 414 "gram.y"
{ yyval.enode = new(COLTOA, ENULL, yypvt[-1].enode);} break;
case 121:
# line 415 "gram.y"
{ yyval.enode = new(NUMITER, ENULL, ENULL);} break;
case 122:
# line 420 "gram.y"
{} break;
case 123:
# line 423 "gram.y"
{} break;
case 124:
# line 426 "gram.y"
{} break;
case 125:
# line 429 "gram.y"
{} break;
case 126:
# line 432 "gram.y"
{} break;
case 127:
# line 436 "gram.y"
{ yyval.enode = new ('+', yypvt[-2].enode, yypvt[-0].enode); } break;
case 128:
# line 437 "gram.y"
{ yyval.enode = new ('-', yypvt[-2].enode, yypvt[-0].enode); } break;
case 129:
# line 438 "gram.y"
{ yyval.enode = new ('*', yypvt[-2].enode, yypvt[-0].enode); } break;
case 130:
# line 439 "gram.y"
{ yyval.enode = new ('/', yypvt[-2].enode, yypvt[-0].enode); } break;
case 131:
# line 440 "gram.y"
{ yyval.enode = new ('%', yypvt[-2].enode, yypvt[-0].enode); } break;
case 132:
# line 441 "gram.y"
{ yyval.enode = new ('^', yypvt[-2].enode, yypvt[-0].enode); } break;
case 134:
# line 443 "gram.y"
{ yyval.enode = new ('?', yypvt[-4].enode, new(':', yypvt[-2].enode, yypvt[-0].enode)); } break;
case 135:
# line 444 "gram.y"
{ yyval.enode = new ('<', yypvt[-2].enode, yypvt[-0].enode); } break;
case 136:
# line 445 "gram.y"
{ yyval.enode = new ('=', yypvt[-2].enode, yypvt[-0].enode); } break;
case 137:
# line 446 "gram.y"
{ yyval.enode = new ('>', yypvt[-2].enode, yypvt[-0].enode); } break;
case 138:
# line 447 "gram.y"
{ yyval.enode = new ('&', yypvt[-2].enode, yypvt[-0].enode); } break;
case 139:
# line 448 "gram.y"
{ yyval.enode = new ('|', yypvt[-2].enode, yypvt[-0].enode); } break;
case 140:
# line 449 "gram.y"
{ yyval.enode = new ('~', ENULL, new ('>', yypvt[-3].enode, yypvt[-0].enode)); } break;
case 141:
# line 450 "gram.y"
{ yyval.enode = new ('~', ENULL, new ('=', yypvt[-3].enode, yypvt[-0].enode)); } break;
case 142:
# line 451 "gram.y"
{ yyval.enode = new ('~', ENULL, new ('=', yypvt[-3].enode, yypvt[-0].enode)); } break;
case 143:
# line 452 "gram.y"
{ yyval.enode = new ('~', ENULL, new ('<', yypvt[-3].enode, yypvt[-0].enode)); } break;
case 144:
# line 453 "gram.y"
{ yyval.enode = new ('#', yypvt[-2].enode, yypvt[-0].enode); } break;
case 145:
# line 457 "gram.y"
{ yyval.enode = new(ELIST, ENULL, yypvt[-0].enode); } break;
case 146:
# line 458 "gram.y"
{ yyval.enode = new(ELIST, yypvt[-2].enode, yypvt[-0].enode); } break;
case 147:
# line 461 "gram.y"
{ yyval.rval.left = yypvt[-2].ent; yyval.rval.right = yypvt[-0].ent; } break;
case 148:
# line 462 "gram.y"
{ yyval.rval = yypvt[-0].rval; } break;
case 149:
# line 465 "gram.y"
{ yyval.ent.vp = lookat(yypvt[-0].ival , yypvt[-1].ival); yyval.ent.vf = 0; } break;
case 150:
# line 466 "gram.y"
{ yyval.ent.vp = lookat(yypvt[-0].ival , yypvt[-1].ival);
yyval.ent.vf = FIX_COL; } break;
case 151:
# line 468 "gram.y"
{ yyval.ent.vp = lookat(yypvt[-0].ival , yypvt[-2].ival);
yyval.ent.vf = FIX_ROW; } break;
case 152:
# line 470 "gram.y"
{ yyval.ent.vp = lookat(yypvt[-0].ival , yypvt[-2].ival);
yyval.ent.vf = FIX_ROW | FIX_COL; } break;
case 153:
# line 472 "gram.y"
{ yyval.ent = yypvt[-0].rval.left; } break;
case 154:
# line 475 "gram.y"
{ yyval.rval = yypvt[-0].rval; } break;
case 155:
# line 476 "gram.y"
{ yyval.rval.left = yypvt[-0].ent; yyval.rval.right = yypvt[-0].ent; } break;
case 156:
# line 480 "gram.y"
{ yyval.fval = (double) yypvt[-0].ival; } break;
case 157:
# line 481 "gram.y"
{ yyval.fval = yypvt[-0].fval; } break;
case 158:
# line 482 "gram.y"
{ yyval.fval = -yypvt[-0].fval; } break;
case 159:
# line 483 "gram.y"
{ yyval.fval = yypvt[-0].fval; } break;
case 160:
# line 487 "gram.y"
{ yyval.sval = yypvt[-0].sval; } break;
case 161:
# line 488 "gram.y"
{
char *s, *s1;
s1 = yypvt[-0].ent.vp->label;
if (!s1)
s1 = "NULL_STRING";
s = scxmalloc((unsigned)(strlen(s1)+1));
(void) strcpy(s, s1);
yyval.sval = s;
} break;
case 164:
# line 505 "gram.y"
{ setauto(1); } break;
case 165:
# line 506 "gram.y"
{ setauto(1); } break;
case 166:
# line 507 "gram.y"
{ setauto(0); } break;
case 167:
# line 508 "gram.y"
{ setauto(0); } break;
case 168:
# line 509 "gram.y"
{ setauto(0); } break;
case 169:
# line 510 "gram.y"
{ setauto(0); } break;
case 170:
# line 511 "gram.y"
{ setorder(BYCOLS); } break;
case 171:
# line 512 "gram.y"
{ setorder(BYROWS); } break;
case 172:
# line 513 "gram.y"
{ numeric = 1; } break;
case 173:
# line 514 "gram.y"
{ numeric = 0; } break;
case 174:
# line 515 "gram.y"
{ prescale = 0.01; } break;
case 175:
# line 516 "gram.y"
{ prescale = 1.0; } break;
case 176:
# line 517 "gram.y"
{ extfunc = 1; } break;
case 177:
# line 518 "gram.y"
{ extfunc = 0; } break;
case 178:
# line 519 "gram.y"
{ showcell = 1; } break;
case 179:
# line 520 "gram.y"
{ showcell = 0; } break;
case 180:
# line 521 "gram.y"
{ showtop = 1; } break;
case 181:
# line 522 "gram.y"
{ showtop = 0; } break;
case 182:
# line 523 "gram.y"
{ setiterations(yypvt[-0].ival); } break;
case 183:
# line 524 "gram.y"
{ tbl_style = yypvt[-0].ival; } break;
case 184:
# line 525 "gram.y"
{ tbl_style = TBL; } break;
case 185:
# line 526 "gram.y"
{ tbl_style = LATEX; } break;
case 186:
# line 527 "gram.y"
{ tbl_style = SLATEX; } break;
case 187:
# line 528 "gram.y"
{ tbl_style = TEX; } break;
case 188:
# line 529 "gram.y"
{ tbl_style = FRAME; } break;
case 189:
# line 530 "gram.y"
{ rndinfinity = 1; FullUpdate++; } break;
case 190:
# line 531 "gram.y"
{ rndinfinity = 0; FullUpdate++; } break;
case 191:
# line 532 "gram.y"
{ craction = yypvt[-0].ival; } break;
case 192:
# line 533 "gram.y"
{ rowlimit = yypvt[-0].ival; } break;
case 193:
# line 534 "gram.y"
{ collimit = yypvt[-0].ival; } break;
case 194:
# line 538 "gram.y"
{ num_search((double)0, CELLERROR); } break;
case 195:
# line 539 "gram.y"
{ num_search((double)0, CELLINVALID); } break;
}
goto yystack; /* stack new state and value */
}