1 
2 /*  A Bison parser, made from grammar.y with Bison version GNU Bison version 1.21
3   */
4 
5 #define YYBISON 1  /* Identify Bison output.  */
6 
7 #define YYLSP_NEEDED
8 
9 #define	LEXWORD_ABOVE	258
10 #define	LEXWORD_ANCHORPOINTS	259
11 #define	LEXWORD_ANCHOR	260
12 #define	LEXWORD_AQUAMARINE	261
13 #define	LEXWORD_AROUND	262
14 #define	LEXWORD_ARROWMODE	263
15 #define	LEXWORD_ARROWHEIGHT	264
16 #define	LEXWORD_ARROWWIDTH	265
17 #define	LEXWORD_ARROWCOLOR	266
18 #define	LEXWORD_ARROWSTYLE	267
19 #define	LEXWORD_ARROWSIZE	268
20 #define	LEXWORD_BARROWCOLOR	269
21 #define	LEXWORD_BARROWSTYLE	270
22 #define	LEXWORD_BARROWSIZE	271
23 #define	LEXWORD_BACKEDGE	272
24 #define	LEXWORD_BARYCENTER	273
25 #define	LEXWORD_BARY	274
26 #define	LEXWORD_BARYMEDIAN	275
27 #define	LEXWORD_BEHIND	276
28 #define	LEXWORD_BELOW	277
29 #define	LEXWORD_BLACK	278
30 #define	LEXWORD_BLUE	279
31 #define	LEXWORD_BMAX	280
32 #define	LEXWORD_BORDERCOLOR	281
33 #define	LEXWORD_BORDERWIDTH	282
34 #define	LEXWORD_BOTTOM_MARGIN	283
35 #define	LEXWORD_BOTTOM_TO_TOP	284
36 #define	LEXWORD_BOTTOM	285
37 #define	LEXWORD_BOX	286
38 #define	LEXWORD_BENTNEAREDGE	287
39 #define	LEXWORD_CENTER	288
40 #define	LEXWORD_CFISH	289
41 #define	LEXWORD_CLASSNAME	290
42 #define	LEXWORD_CLASS	291
43 #define	LEXWORD_CLUSTER	292
44 #define	LEXWORD_CMIN	293
45 #define	LEXWORD_CMAX	294
46 #define	LEXWORD_COLORENTRY	295
47 #define	LEXWORD_COLOR	296
48 #define	LEXWORD_CONSTRAINTS	297
49 #define	LEXWORD_CONSTRAINT	298
50 #define	LEXWORD_CONTINUOUS	299
51 #define	LEXWORD_CROSSING_WEIGHT	300
52 #define	LEXWORD_CROSSING_OPT	301
53 #define	LEXWORD_CROSSING_P2	302
54 #define	LEXWORD_CYAN	303
55 #define	LEXWORD_DARKBLUE	304
56 #define	LEXWORD_DARKCYAN	305
57 #define	LEXWORD_DARKGREEN	306
58 #define	LEXWORD_DARKGREY	307
59 #define	LEXWORD_DARKMAGENTA	308
60 #define	LEXWORD_DARKRED	309
61 #define	LEXWORD_DARKYELLOW	310
62 #define	LEXWORD_DASHED	311
63 #define	LEXWORD_DFS	312
64 #define	LEXWORD_DIMENSION	313
65 #define	LEXWORD_DIRTY_EDGE_LABELS	314
66 #define	LEXWORD_DISPLAY_EDGE_LABELS	315
67 #define	LEXWORD_DOTTED	316
68 #define	LEXWORD_EDGE1	317
69 #define	LEXWORD_EDGE2	318
70 #define	LEXWORD_EDGES	319
71 #define	LEXWORD_ELLIPSE	320
72 #define	LEXWORD_EQUAL_COLUMN	321
73 #define	LEXWORD_EQUAL_POSITION	322
74 #define	LEXWORD_EQUAL_ROW	323
75 #define	LEXWORD_EQUAL	324
76 #define	LEXWORD_EVERY	325
77 #define	LEXWORD_FCFISH	326
78 #define	LEXWORD_FPFISH	327
79 #define	LEXWORD_FIXED	328
80 #define	LEXWORD_FREE	329
81 #define	LEXWORD_FINETUNING	330
82 #define	LEXWORD_FOLDEDGE	331
83 #define	LEXWORD_FOLDNODE	332
84 #define	LEXWORD_FOLDING	333
85 #define	LEXWORD_FONTNAME	334
86 #define	LEXWORD_GOLD	335
87 #define	LEXWORD_GRAPH	336
88 #define	LEXWORD_GREATER	337
89 #define	LEXWORD_GREEN	338
90 #define	LEXWORD_GREY	339
91 #define	LEXWORD_HEIGHT	340
92 #define	LEXWORD_HIDESINGLES	341
93 #define	LEXWORD_HIGH_MARGIN	342
94 #define	LEXWORD_HIGH	343
95 #define	LEXWORD_HIDDEN	344
96 #define	LEXWORD_HORDER	345
97 #define	LEXWORD_ICONFILE	346
98 #define	LEXWORD_ICONHEIGHT	347
99 #define	LEXWORD_ICONSTYLE	348
100 #define	LEXWORD_ICONWIDTH	349
101 #define	LEXWORD_INCLUDE	350
102 #define	LEXWORD_INFONAME	351
103 #define	LEXWORD_INFO1	352
104 #define	LEXWORD_INFO2	353
105 #define	LEXWORD_INFO3	354
106 #define	LEXWORD_INPUTFUNCTION	355
107 #define	LEXWORD_INTERVAL	356
108 #define	LEXWORD_INVISIBLE	357
109 #define	LEXWORD_IN_FRONT	358
110 #define	LEXWORD_ISI	359
111 #define	LEXWORD_KHAKI	360
112 #define	LEXWORD_TEXTCOLOR	361
113 #define	LEXWORD_LABEL	362
114 #define	LEXWORD_LATE_LABELS	363
115 #define	LEXWORD_LAYOUTALGORITHM	364
116 #define	LEXWORD_LAYOUTFREQUENCY	365
117 #define	LEXWORD_LAYOUTPARAMETER	366
118 #define	LEXWORD_LAYOUTDOWNFACTOR	367
119 #define	LEXWORD_LAYOUTUPFACTOR	368
120 #define	LEXWORD_LAYOUTNEARFACTOR	369
121 #define	LEXWORD_LAYOUTSPLINEFACTOR	370
122 #define	LEXWORD_LEFT_JUSTIFY	371
123 #define	LEXWORD_LEFT_MARGIN	372
124 #define	LEXWORD_LEFT_NEIGHBOR	373
125 #define	LEXWORD_LEFT_TO_RIGHT	374
126 #define	LEXWORD_LEFT	375
127 #define	LEXWORD_LEVEL	376
128 #define	LEXWORD_VORDER	377
129 #define	LEXWORD_LIGHTBLUE	378
130 #define	LEXWORD_LIGHTCYAN	379
131 #define	LEXWORD_LIGHTGREEN	380
132 #define	LEXWORD_LIGHTGREY	381
133 #define	LEXWORD_LIGHTMAGENTA	382
134 #define	LEXWORD_LIGHTRED	383
135 #define	LEXWORD_LIGHTYELLOW	384
136 #define	LEXWORD_LILAC	385
137 #define	LEXWORD_LIMIT	386
138 #define	LEXWORD_LINE	387
139 #define	LEXWORD_LINESTYLE	388
140 #define	LEXWORD_LOC	389
141 #define	LEXWORD_LOWER_NEIGHBOR	390
142 #define	LEXWORD_LOW_MARGIN	391
143 #define	LEXWORD_LOW	392
144 #define	LEXWORD_MAGENTA	393
145 #define	LEXWORD_MANHATTEN	394
146 #define	LEXWORD_MANUAL	395
147 #define	LEXWORD_MAXDEPTHSLOW	396
148 #define	LEXWORD_MAXDEPTH	397
149 #define	LEXWORD_MAXDEGREE	398
150 #define	LEXWORD_MAXINDEGREE	399
151 #define	LEXWORD_MAXOUTDEGREE	400
152 #define	LEXWORD_MEDIAN	401
153 #define	LEXWORD_MEDIANBARY	402
154 #define	LEXWORD_MINDEPTHSLOW	403
155 #define	LEXWORD_MINDEPTH	404
156 #define	LEXWORD_MINDEGREE	405
157 #define	LEXWORD_MININDEGREE	406
158 #define	LEXWORD_MINOUTDEGREE	407
159 #define	LEXWORD_MINBACK	408
160 #define	LEXWORD_NAME	409
161 #define	LEXWORD_NEAREDGE	410
162 #define	LEXWORD_NEIGHBORS	411
163 #define	LEXWORD_NEAREDGES	412
164 #define	LEXWORD_NONEAREDGES	413
165 #define	LEXWORD_NODE1	414
166 #define	LEXWORD_NODE2	415
167 #define	LEXWORD_NODES	416
168 #define	LEXWORD_NODE_ALIGN	417
169 #define	LEXWORD_NONE	418
170 #define	LEXWORD_NO	419
171 #define	LEXWORD_ORANGE	420
172 #define	LEXWORD_ORCHID	421
173 #define	LEXWORD_ORIENTATION	422
174 #define	LEXWORD_OUTPUTFUNCTION	423
175 #define	LEXWORD_PFISH	424
176 #define	LEXWORD_PINK	425
177 #define	LEXWORD_PLANAR	426
178 #define	LEXWORD_PMIN	427
179 #define	LEXWORD_PMAX	428
180 #define	LEXWORD_PORTSHARING	429
181 #define	LEXWORD_PRIORITYPHASE	430
182 #define	LEXWORD_PRIORITY	431
183 #define	LEXWORD_PURPLE	432
184 #define	LEXWORD_RANGE	433
185 #define	LEXWORD_RED	434
186 #define	LEXWORD_RHOMB	435
187 #define	LEXWORD_RIGHT_JUSTIFY	436
188 #define	LEXWORD_RIGHT_MARGIN	437
189 #define	LEXWORD_RIGHT_NEIGHBOR	438
190 #define	LEXWORD_RIGHT_TO_LEFT	439
191 #define	LEXWORD_RIGHT	440
192 #define	LEXWORD_RMIN	441
193 #define	LEXWORD_RMAX	442
194 #define	LEXWORD_SCALING	443
195 #define	LEXWORD_SHAPE	444
196 #define	LEXWORD_SHRINK	445
197 #define	LEXWORD_SMAX	446
198 #define	LEXWORD_SMANHATTEN	447
199 #define	LEXWORD_SIZE	448
200 #define	LEXWORD_SMALLER	449
201 #define	LEXWORD_SOLID	450
202 #define	LEXWORD_SOURCENAME	451
203 #define	LEXWORD_SPLINES	452
204 #define	LEXWORD_SPREADLEVEL	453
205 #define	LEXWORD_STATUS	454
206 #define	LEXWORD_STRETCH	455
207 #define	LEXWORD_STRAIGHTPHASE	456
208 #define	LEXWORD_TARGETNAME	457
209 #define	LEXWORD_TEXTMODE	458
210 #define	LEXWORD_THICKNESS	459
211 #define	LEXWORD_TITLE	460
212 #define	LEXWORD_TOPSORT	461
213 #define	LEXWORD_TOP_MARGIN	462
214 #define	LEXWORD_TOP_TO_BOTTOM	463
215 #define	LEXWORD_TOP	464
216 #define	LEXWORD_TREE	465
217 #define	LEXWORD_TREEFACTOR	466
218 #define	LEXWORD_TRIANGLE	467
219 #define	LEXWORD_TURQUOISE	468
220 #define	LEXWORD_TYPENAME	469
221 #define	LEXWORD_UPPER_NEIGHBOR	470
222 #define	LEXWORD_VIEW	471
223 #define	LEXWORD_WHITE	472
224 #define	LEXWORD_WIDTH	473
225 #define	LEXWORD_XBASE	474
226 #define	LEXWORD_XMAX	475
227 #define	LEXWORD_XRASTER	476
228 #define	LEXWORD_XLRASTER	477
229 #define	LEXWORD_XSCROLLBAR	478
230 #define	LEXWORD_XSPACE	479
231 #define	LEXWORD_XLSPACE	480
232 #define	LEXWORD_YBASE	481
233 #define	LEXWORD_YELLOWGREEN	482
234 #define	LEXWORD_YELLOW	483
235 #define	LEXWORD_YES	484
236 #define	LEXWORD_YMAX	485
237 #define	LEXWORD_YRASTER	486
238 #define	LEXWORD_YSCROLLBAR	487
239 #define	LEXWORD_YSPACE	488
240 #define	LEX_INT	489
241 #define	LEX_FLOAT	490
242 #define	LEX_CHAR	491
243 #define	LEX_STRING	492
244 
245 #line 1 "grammar.y"
246 
247 
248 
249 #line 2 "/RW/esprit/users/sander/src/PARSEGEN/parse.skel"
250 
251 /*--------------------------------------------------------------------*/
252 /*            A bison parser specification made by parsegen           */
253 /*--------------------------------------------------------------------*/
254 
255 #ifndef lint
256 static char *parseskel_id_string="$Id: parse.skel,v 1.5 1994/01/20 23:44:31 sander Exp sander $";
257 #endif
258 
259 /*--------------------------------------------------------------------*/
260 /* Prototypes and Externals					      */
261 /*--------------------------------------------------------------------*/
262 
263 
264 extern int line_nr;
265 extern int pos_nr;
266 
267 /* Error messages */
268 
269 int nr_errors;
270 
271 /*--------------------------------------------------------------------*/
272 /* Tokens from scanner                                                */
273 /*--------------------------------------------------------------------*/
274 
275 
276 
277 #line 1441 "grammar.pgs"
278 #line 272 "grammar.y"
279 
280 
281 
282 #line 34 "/RW/esprit/users/sander/src/PARSEGEN/parse.skel"
283 
284 /*--------------------------------------------------------------------*/
285 /* Includes                                                           */
286 /*--------------------------------------------------------------------*/
287 
288 #define Y_TAB_H
289 #ifdef __cplusplus
290 #include <std.h>
291 #else
292 #include <string.h>
293 #endif /* __cplusplus */
294 
295 #ifndef YYLTYPE
296 typedef struct yyltype {
297 		int timestamp;
298 		int first_line;
299 		int first_column;
300 		int last_line;
301 		int last_column;
302 		char *text;
303 	}  yyltype;
304 
305 #define YYLTYPE yyltype
306 #endif
307 
308 
309 
310 #line 32000 "/RW/esprit/users/sander/src/PARSEGEN/parse.skel"
311 typedef struct stree_node *syntaxtree;
312 #undef yysyntaxtree
313 #define yysyntaxtree syntaxtree
314 
315 #define BISONGEN
316 #undef  YACCGEN
317 
318 #define YYVALGLOBAL
319 
320 
321 #line 24 "grammar.pgs"
322 
323 #ifndef lint
324 static char *id_string="$Id: grammar.pgs,v 3.17 1995/02/08 18:35:02 sander Exp $";
325 #endif
326 
327 /*
328  *   Copyright (C) 1993-2005 Saarland University
329  *
330  *  This program and documentation is free software; you can redistribute
331  *  it under the terms of the  GNU General Public License as published by
332  *  the  Free Software Foundation;  either version 2  of the License,  or
333  *  (at your option) any later version.
334  *
335  *  This  program  is  distributed  in  the hope that it will be useful,
336  *  but  WITHOUT ANY WARRANTY;  without  even  the  implied  warranty of
337  *  MERCHANTABILITY  or  FITNESS  FOR  A  PARTICULAR  PURPOSE.  See  the
338  *  GNU General Public License for more details.
339  *
340  *  You  should  have  received a copy of the GNU General Public License
341  *  along  with  this  program;  if  not,  write  to  the  Free Software
342  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
343  *
344  *  The software is available per anonymous ftp at ftp.cs.uni-sb.de.
345  *  Contact  sander@cs.uni-sb.de  for additional information.
346  */
347 
348 
349 /* $Log: grammar.pgs,v $
350 # Revision 3.17  1995/02/08  18:35:02  sander
351 # Small bug for K&R C corrected.
352 #
353 # Revision 3.16  1995/02/08  11:11:14  sander
354 # Distribution version 1.3.
355 #
356 # Revision 3.15  1994/12/23  18:12:45  sander
357 # Manhatten layout added.
358 #
359 # Revision 3.14  1994/11/23  14:50:47  sander
360 # Hash table to 22079 expanded. Better string hash function implemented.
361 #
362 # Revision 3.13  1994/08/08  16:01:47  sander
363 # Attributes xraster, xlraster, yraster added.
364 #
365 # Revision 3.12  1994/08/05  12:13:25  sander
366 # Treelayout added. Attributes "treefactor" and "spreadlevel" added.
367 # Scaling as abbreviation of "stretch/shrink" added.
368 #
369 # Revision 3.11  1994/08/04  08:58:20  sander
370 # Attributes crossing_weight and crossing_optimization added.
371 #
372 # Revision 3.10  1994/08/03  13:58:44  sander
373 # Horizontal order mechanism changed.
374 # Attribute horizontal_order for edges added.
375 #
376 # Revision 3.9  1994/06/07  14:09:59  sander
377 # Splines implemented.
378 # HP-UX, Linux, AIX, Sun-Os, IRIX compatibility tested.
379 # The tool is now ready to be distributed.
380 #
381 # Revision 3.8  1994/05/17  16:35:59  sander
382 # attribute node_align added to allow nodes to be centered in the levels.
383 #
384 # Revision 3.7  1994/05/16  08:56:03  sander
385 # shape attribute (boxes, rhombs, ellipses, triangles) added.
386 #
387 # Revision 3.6  1994/05/05  08:20:30  sander
388 # Algorithm late labels added: If labels are inserted
389 # after partitioning, this may yield a better layout.
390 #
391 # Revision 3.5  1994/04/27  16:05:19  sander
392 # attributes of graph nodes adapted to the of normal nodes.
393 #
394 # Revision 3.4  1994/03/04  19:11:24  sander
395 # Specification of levels per node added.
396 # X11 geometry behaviour (option -geometry) changed such
397 # that the window is now opened automatically.
398 #
399 # Revision 3.3  1994/03/03  15:35:39  sander
400 # Edge line style `invisible' added.
401 #
402 # Revision 3.2  1994/03/02  11:48:54  sander
403 # Layoutalgoritms mindepthslow, maxdepthslow, minindegree, ... mandegree
404 # added.
405 # Anchors and nearedges are not anymore allowed to be intermixed.
406 # Escapes in strings are now allowed.
407 #
408 # Revision 3.1  1994/03/01  10:59:55  sander
409 # Copyright and Gnu Licence message added.
410 # Problem with "nearedges: no" and "selfloops" solved.
411 #
412 # Revision 2.4  1994/02/13  17:25:54  sander
413 # attribute 'finetuning' added.
414 #
415 # Revision 2.3  1994/01/21  19:33:46  sander
416 # VCG Version tested on Silicon Graphics IRIX, IBM R6000 AIX and Sun 3/60.
417 # Option handling improved. Option -grabinputfocus installed.
418 # X11 Font selection scheme implemented. The user can now select a font
419 # during installation.
420 # Sun K&R C (a nonansi compiler) tested. Some portabitility problems solved.
421 #
422 # Revision 2.1  1993/12/08  21:19:21  sander
423 # Reasonable fast and stable version
424 #
425  */
426 
427 
428 #include <stdio.h>
429 #include <string.h>
430 #include <ctype.h>
431 #include <math.h>
432 #include "globals.h"
433 #include "main.h"
434 #include "options.h"
435 
436 #ifndef YY_CHAR
437 #define YY_CHAR char
438 extern YY_CHAR *yytext;
439 #endif
440 
441 /* the following is added for flex 2.4.6 */
442 
443 #ifndef YY_MALLOC_DECL
444 #define YY_MALLOC_DECL
445 #include <stdlib.h>
446 #endif
447 
448 #undef YYVALGLOBAL
449 
450 extern yysyntaxtree Syntax_Tree;
451 
452 #define exit(a) gs_exit(a)
453 extern void gs_exit            _PP((int x));
454 
455 void   line_directive _PP((char *text));
456 void   escape_transl  _PP((char *text));
457 char  *my_itoa        _PP((int x));
458 long   long_atoi      _PP((char *c));
459 void   syntaxerror    _PP((int line,int pos,char *mesge));
460 void   warning        _PP((int line,int pos,char *mesge));
461 
462 #ifndef yysyntaxerror
463 #define yysyntaxerror(l,p,m) syntaxerror(l,p,m)
464 #endif
465 
466 #ifndef yyerror
467 #define yyerror(x) { \
468         SPRINTF(message,"unexpected %s \"%s\" (%s)", \
469                  ((yychar<0)?"(?)":yytokname[YYTRANSLATE(yychar)]),     \
470                  (strlen(yytext)<48?yytext:"(?)"),x); \
471         syntaxerror(line_nr,pos_nr,message);\
472     }
473 #endif
474 
475 /* Memory Management */
476 
477 #ifdef MEMBLOCKSIZE
478 #define PARSEBLOCKSIZE (MEMBLOCKSIZE/sizeof(struct stree_node)+1)
479 #endif
480 
481 /* Hash Table */
482 
483 #define hash_size 22079
484 
485 
486 
487 #ifndef NULL
488 #define NULL 0
489 #endif
490 
491 #ifndef REVERT
492 #define REVERT(x) Revert(x)
493 #endif
494 
495 #ifndef COPY
496 #define COPY(x) Copy(x)
497 #endif
498 
499 
500 #line 1 "/RW/esprit/users/sander/src/PARSEGEN/stdph.skel"
501 
502 #ifndef STDPARSER
503 #define STDPARSER
504 
505 /* $Id: stdph.skel,v 1.8 1994/01/20 23:44:31 sander Exp sander $ */
506 
507 #undef  PARSEGENSTD
508 #define PARSEGENSTD
509 
510 /*--------------------------------------------------------------------*/
511 /*  Standard Tree Construction Interface   			      */
512 /*--------------------------------------------------------------------*/
513 
514 #ifndef ALIGN
515 #define ALIGN 8
516 #define IALIGN (ALIGN-1)
517 #endif
518 #ifndef PARSEBLOCKSIZE
519 #define PARSEBLOCKSIZE 10000
520 #endif
521 
522 /*-------------------*/
523 /* syntax tree nodes */
524 /*-------------------*/
525 
526 union  special {
527         unsigned char      byte;
528         short int          snum;
529         unsigned short int usnum;
530         int                num;
531         unsigned int       unum;
532         long int           lnum;
533         unsigned long int  ulnum;
534         float              realnum;
535         double             lrealnum;
536         char              *string;
537 };
538 
539 struct stree_node {
540         int  tag_field;
541         int  first_line;
542         int  first_column;
543         int  last_line;
544         int  last_column;
545 #ifdef USERFTYPE
546 	USERFTYPE user_field;
547 #endif
548         struct stree_node *father;
549         union  special     contents;
550         struct stree_node *xson[1];
551 };
552 
553 
554 /* typedef struct stree_node *syntaxtree; */
555 
556 
557 #undef yysyntaxtree
558 #define yysyntaxtree syntaxtree
559 
560 
561 #define tag(x)           ((x)->tag_field)
562 #define nr_of_sons(x)    (ConstructorArity((x)->tag_field))
563 #define xfirst_line(x)    ((x)->first_line)
564 #define xfirst_column(x)  ((x)->first_column)
565 #define xlast_line(x)     ((x)->last_line)
566 #define xlast_column(x)   ((x)->last_column)
567 #define xfather(x)        ((x)->father)
568 
569 #ifdef USERFTYPE
570 #define	user_field(x)     ((x)->user_field)
571 #endif
572 
573 #define get_byte(x)      ((x)->contents.byte)
574 #define get_snum(x)      ((x)->contents.snum)
575 #define get_usnum(x)     ((x)->contents.usnum)
576 #define get_num(x)       ((x)->contents.num)
577 #define get_unum(x)      ((x)->contents.unum)
578 #define get_lnum(x)      ((x)->contents.lnum)
579 #define get_ulnum(x)     ((x)->contents.ulnum)
580 #define get_realnum(x)   ((x)->contents.realnum)
581 #define get_lrealnum(x)  ((x)->contents.lrealnum)
582 #define get_string(x)    ((x)->contents.string)
583 
584 #define son1(x)    ((x)->xson[0])
585 #define son2(x)    ((x)->xson[1])
586 #define son3(x)    ((x)->xson[2])
587 #define son4(x)    ((x)->xson[3])
588 #define son5(x)    ((x)->xson[4])
589 #define son6(x)    ((x)->xson[5])
590 #define son7(x)    ((x)->xson[6])
591 #define son8(x)    ((x)->xson[7])
592 #define son9(x)    ((x)->xson[8])
593 #define son(x,i)   ((x)->xson[i-1])
594 
595 #ifndef Y_TAB_H
596 
597 
598 #line 1441 "grammar.pgs"
599 #include "y.tab.h"
600 
601 
602 #line 97 "/RW/esprit/users/sander/src/PARSEGEN/stdph.skel"
603 #define Y_TAB_H
604 #endif /* Y_TAB_H */
605 
606 
607 /*------------*/
608 /* Prototypes */
609 /*------------*/
610 
611 
612 #ifdef ANSI_C
613 
614 char * ParseMalloc(int x);
615 void ParseFree(void);
616 
617 union special *UnionByte(unsigned char x);
618 union special *UnionSnum(short int x);
619 union special *UnionUsnum(unsigned short int x);
620 union special *UnionNum(int x);
621 union special *UnionUnum(unsigned int x);
622 union special *UnionLnum(long int x);
623 union special *UnionUlnum(unsigned long int x);
624 union special *UnionRealnum(float x);
625 union special *UnionLrealnum(double x);
626 union special *UnionString(char *x);
627 
628 syntaxtree BuildCont(int mtag,union special *x,YYLTYPE *l);
629 yysyntaxtree BuildTree(int mtag,int len,union special *x,YYLTYPE *l, ...);
630 
631 syntaxtree Copy(syntaxtree x);
632 syntaxtree Revert(syntaxtree list);
633 
634 const char *ConstructorName(int i);
635 int   ConstructorArity(int i);
636 
637 #else
638 char * ParseMalloc();
639 void ParseFree();
640 
641 union special *UnionByte();
642 union special *UnionSnum();
643 union special *UnionUsnum();
644 union special *UnionNum();
645 union special *UnionUnum();
646 union special *UnionLnum();
647 union special *UnionUlnum();
648 union special *UnionRealnum();
649 union special *UnionLrealnum();
650 union special *UnionString();
651 
652 syntaxtree BuildCont();
653 yysyntaxtree BuildTree();
654 
655 syntaxtree Copy();
656 syntaxtree Revert();
657 
658 char *ConstructorName();
659 int   ConstructorArity();
660 
661 #ifndef const
662 #define const
663 #endif
664 
665 #endif /* ANSI_C */
666 
667 #undef  yyparseinit
668 #define yyparseinit() /**/
669 
670 #endif /* STDPARSER */
671 
672 /*-- end of standard tree construction interface ---------------------*/
673 
674 
675 
676 #line 1441 "grammar.pgs"
677 
678 /*--------------------------------------------------------------------*/
679 /* Static part                                                        */
680 /*--------------------------------------------------------------------*/
681 
682 /* Static Global Variables */
683 /*-------------------------*/
684 
685 
686 /* Constructors: */
687 
688 #define T_Co_index_val  0
689 #define T_Co_stern  1
690 #define T_Co_range  2
691 #define T_Co_index  3
692 #define T_Co_index_value  4
693 #define T_Co_string  5
694 #define T_Co_char  6
695 #define T_Co_float  7
696 #define T_Co_integer  8
697 #define T_Co_z  9
698 #define T_Co_y  10
699 #define T_Co_x  11
700 #define T_Co_right_neighbor  12
701 #define T_Co_left_neighbor  13
702 #define T_Co_lower_neighbor  14
703 #define T_Co_upper_neighbor  15
704 #define T_Co_right_margin  16
705 #define T_Co_left_margin  17
706 #define T_Co_bottom_margin  18
707 #define T_Co_top_margin  19
708 #define T_Co_equal_column  20
709 #define T_Co_equal_row  21
710 #define T_Co_equal_position  22
711 #define T_Co_behind  23
712 #define T_Co_in_font  24
713 #define T_Co_right  25
714 #define T_Co_left  26
715 #define T_Co_below  27
716 #define T_Co_above  28
717 #define T_Co_limit  29
718 #define T_Co_cluster  30
719 #define T_Co_xrange  31
720 #define T_Co_high_margin  32
721 #define T_Co_low_margin  33
722 #define T_Co_neighbors  34
723 #define T_Co_greater  35
724 #define T_Co_smaller  36
725 #define T_Co_equal  37
726 #define T_Co_string_array  38
727 #define T_Co_dimension  39
728 #define T_Co_name  40
729 #define T_Co_interval  41
730 #define T_Co_nodes  42
731 #define T_Co_size  43
732 #define T_Co_solid  44
733 #define T_Co_line  45
734 #define T_Co_none  46
735 #define T_Co_invisible  47
736 #define T_Co_dashed  48
737 #define T_Co_dotted  49
738 #define T_Co_continuous  50
739 #define T_Co_anchor  51
740 #define T_Co_linestyle  52
741 #define T_Co_barrowstyle  53
742 #define T_Co_arrowstyle  54
743 #define T_Co_barrowsize  55
744 #define T_Co_arrowsize  56
745 #define T_Co_barrowcolor  57
746 #define T_Co_arrowcolor  58
747 #define T_Co_arrowheight  59
748 #define T_Co_arrowwidth  60
749 #define T_Co_priority  61
750 #define T_Co_class  62
751 #define T_Co_thickness  63
752 #define T_Co_targetname  64
753 #define T_Co_sourcename  65
754 #define T_Co_around  66
755 #define T_Co_top  67
756 #define T_Co_bottom  68
757 #define T_Co_triangle  69
758 #define T_Co_ellipse  70
759 #define T_Co_rhomb  71
760 #define T_Co_box  72
761 #define T_Co_right_justify  73
762 #define T_Co_left_justify  74
763 #define T_Co_center  75
764 #define T_Co_iconstyle  76
765 #define T_Co_iconheight  77
766 #define T_Co_iconwidth  78
767 #define T_Co_anchorpoints  79
768 #define T_Co_iconfile  80
769 #define T_Co_bordercolor  81
770 #define T_Co_fontname  82
771 #define T_Co_constraint_attribute  83
772 #define T_Co_edge_attribute  84
773 #define T_Co_node_attribute  85
774 #define T_Co_free  86
775 #define T_Co_fixed  87
776 #define T_Co_fpfish  88
777 #define T_Co_pfish  89
778 #define T_Co_fcfish  90
779 #define T_Co_cfish  91
780 #define T_Co_medianbary  92
781 #define T_Co_barymedian  93
782 #define T_Co_median  94
783 #define T_Co_bary  95
784 #define T_Co_no  96
785 #define T_Co_yes  97
786 #define T_Co_grey  98
787 #define T_Co_manual  99
788 #define T_Co_every  100
789 #define T_Co_depthfirst  101
790 #define T_Co_minbackwards  102
791 #define T_Co_minoutdegree  103
792 #define T_Co_maxoutdegree  104
793 #define T_Co_minindegree  105
794 #define T_Co_maxindegree  106
795 #define T_Co_mindegree  107
796 #define T_Co_maxdegree  108
797 #define T_Co_mindepthslow  109
798 #define T_Co_maxdepthslow  110
799 #define T_Co_mindepth  111
800 #define T_Co_maxdepth  112
801 #define T_Co_tree  113
802 #define T_Co_constaints  114
803 #define T_Co_planar  115
804 #define T_Co_isi  116
805 #define T_Co_barycenter  117
806 #define T_Co_right_to_left  118
807 #define T_Co_left_to_right  119
808 #define T_Co_bottom_to_top  120
809 #define T_Co_top_to_bottom  121
810 #define T_Co_low  122
811 #define T_Co_high  123
812 #define T_Co_colindex  124
813 #define T_Co_yellowgreen  125
814 #define T_Co_yellow  126
815 #define T_Co_white  127
816 #define T_Co_turquoise  128
817 #define T_Co_red  129
818 #define T_Co_purple  130
819 #define T_Co_pink  131
820 #define T_Co_orchid  132
821 #define T_Co_orange  133
822 #define T_Co_magenta  134
823 #define T_Co_lilac  135
824 #define T_Co_lightyellow  136
825 #define T_Co_lightred  137
826 #define T_Co_lightmagenta  138
827 #define T_Co_lightgrey  139
828 #define T_Co_lightgreen  140
829 #define T_Co_lightcyan  141
830 #define T_Co_lightblue  142
831 #define T_Co_khaki  143
832 #define T_Co_green  144
833 #define T_Co_gold  145
834 #define T_Co_darkyellow  146
835 #define T_Co_darkred  147
836 #define T_Co_darkmagenta  148
837 #define T_Co_darkgrey  149
838 #define T_Co_darkgreen  150
839 #define T_Co_darkcyan  151
840 #define T_Co_darkblue  152
841 #define T_Co_cyan  153
842 #define T_Co_blue  154
843 #define T_Co_black  155
844 #define T_Co_aquamarine  156
845 #define T_Co_yscrollbar  157
846 #define T_Co_xscrollbar  158
847 #define T_Co_outputfunction  159
848 #define T_Co_inputfunction  160
849 #define T_Co_topsort  161
850 #define T_Co_layoutparameter  162
851 #define T_Co_include  163
852 #define T_Co_typename  164
853 #define T_Co_straight_max  165
854 #define T_Co_rubber_min  166
855 #define T_Co_rubber_max  167
856 #define T_Co_pendel_min  168
857 #define T_Co_pendel_max  169
858 #define T_Co_cross_min  170
859 #define T_Co_cross_max  171
860 #define T_Co_bend_max  172
861 #define T_Co_view_splines  173
862 #define T_Co_view_nodes  174
863 #define T_Co_view_edges  175
864 #define T_Co_view_method  176
865 #define T_Co_crossing_weight  177
866 #define T_Co_crossing_opt  178
867 #define T_Co_crossing_phase2  179
868 #define T_Co_treefactor  180
869 #define T_Co_spreadlevel  181
870 #define T_Co_arrow_mode  182
871 #define T_Co_port_sharing  183
872 #define T_Co_node_alignment  184
873 #define T_Co_orientation  185
874 #define T_Co_dummy  186
875 #define T_Co_nonearedges  187
876 #define T_Co_smanhatten  188
877 #define T_Co_manhatten  189
878 #define T_Co_priophase  190
879 #define T_Co_straightphase  191
880 #define T_Co_hidesingles  192
881 #define T_Co_finetuning  193
882 #define T_Co_dirty_edge_label  194
883 #define T_Co_display_edge_label  195
884 #define T_Co_late_edge_label  196
885 #define T_Co_splinefactor  197
886 #define T_Co_nearfactor  198
887 #define T_Co_upfactor  199
888 #define T_Co_downfactor  200
889 #define T_Co_layoutfrequency  201
890 #define T_Co_layoutalgorithm  202
891 #define T_Co_colentry  203
892 #define T_Co_infoname  204
893 #define T_Co_classname  205
894 #define T_Co_hidden  206
895 #define T_Co_yraster  207
896 #define T_Co_xlraster  208
897 #define T_Co_xraster  209
898 #define T_Co_yspace  210
899 #define T_Co_xlspace  211
900 #define T_Co_xspace  212
901 #define T_Co_ybase  213
902 #define T_Co_xbase  214
903 #define T_Co_ymax  215
904 #define T_Co_xmax  216
905 #define T_Co_status  217
906 #define T_Co_horizontal_order  218
907 #define T_Co_level  219
908 #define T_Co_shape  220
909 #define T_Co_textmode  221
910 #define T_Co_stretch  222
911 #define T_Co_shrink  223
912 #define T_Co_scaling  224
913 #define T_Co_folding  225
914 #define T_Co_loc  226
915 #define T_Co_ydef  227
916 #define T_Co_xdef  228
917 #define T_Co_borderwidth  229
918 #define T_Co_height  230
919 #define T_Co_width  231
920 #define T_Co_colorborder  232
921 #define T_Co_textcolor  233
922 #define T_Co_color  234
923 #define T_Co_info3  235
924 #define T_Co_info2  236
925 #define T_Co_info1  237
926 #define T_Co_label  238
927 #define T_Co_title  239
928 #define T_Co_constraint  240
929 #define T_Co_back_edge  241
930 #define T_Co_bent_near_edge  242
931 #define T_Co_near_edge  243
932 #define T_Co_edge  244
933 #define T_Co_node  245
934 #define T_Co_graph  246
935 #define T_Co_foldedge_defaults  247
936 #define T_Co_foldnode_defaults  248
937 #define T_Co_edge_defaults  249
938 #define T_Co_node_defaults  250
939 #define T_Co_graph_attribute  251
940 #define T_Co_graph_entry  252
941 
942 /* Constructor Names */
943 
944 static const char * const yyconst_name[] = {
945 	"T_Co_index_val",
946 	"T_Co_stern",
947 	"T_Co_range",
948 	"T_Co_index",
949 	"T_Co_index_value",
950 	"T_Co_string",
951 	"T_Co_char",
952 	"T_Co_float",
953 	"T_Co_integer",
954 	"T_Co_z",
955 	"T_Co_y",
956 	"T_Co_x",
957 	"T_Co_right_neighbor",
958 	"T_Co_left_neighbor",
959 	"T_Co_lower_neighbor",
960 	"T_Co_upper_neighbor",
961 	"T_Co_right_margin",
962 	"T_Co_left_margin",
963 	"T_Co_bottom_margin",
964 	"T_Co_top_margin",
965 	"T_Co_equal_column",
966 	"T_Co_equal_row",
967 	"T_Co_equal_position",
968 	"T_Co_behind",
969 	"T_Co_in_font",
970 	"T_Co_right",
971 	"T_Co_left",
972 	"T_Co_below",
973 	"T_Co_above",
974 	"T_Co_limit",
975 	"T_Co_cluster",
976 	"T_Co_xrange",
977 	"T_Co_high_margin",
978 	"T_Co_low_margin",
979 	"T_Co_neighbors",
980 	"T_Co_greater",
981 	"T_Co_smaller",
982 	"T_Co_equal",
983 	"T_Co_string_array",
984 	"T_Co_dimension",
985 	"T_Co_name",
986 	"T_Co_interval",
987 	"T_Co_nodes",
988 	"T_Co_size",
989 	"T_Co_solid",
990 	"T_Co_line",
991 	"T_Co_none",
992 	"T_Co_invisible",
993 	"T_Co_dashed",
994 	"T_Co_dotted",
995 	"T_Co_continuous",
996 	"T_Co_anchor",
997 	"T_Co_linestyle",
998 	"T_Co_barrowstyle",
999 	"T_Co_arrowstyle",
1000 	"T_Co_barrowsize",
1001 	"T_Co_arrowsize",
1002 	"T_Co_barrowcolor",
1003 	"T_Co_arrowcolor",
1004 	"T_Co_arrowheight",
1005 	"T_Co_arrowwidth",
1006 	"T_Co_priority",
1007 	"T_Co_class",
1008 	"T_Co_thickness",
1009 	"T_Co_targetname",
1010 	"T_Co_sourcename",
1011 	"T_Co_around",
1012 	"T_Co_top",
1013 	"T_Co_bottom",
1014 	"T_Co_triangle",
1015 	"T_Co_ellipse",
1016 	"T_Co_rhomb",
1017 	"T_Co_box",
1018 	"T_Co_right_justify",
1019 	"T_Co_left_justify",
1020 	"T_Co_center",
1021 	"T_Co_iconstyle",
1022 	"T_Co_iconheight",
1023 	"T_Co_iconwidth",
1024 	"T_Co_anchorpoints",
1025 	"T_Co_iconfile",
1026 	"T_Co_bordercolor",
1027 	"T_Co_fontname",
1028 	"T_Co_constraint_attribute",
1029 	"T_Co_edge_attribute",
1030 	"T_Co_node_attribute",
1031 	"T_Co_free",
1032 	"T_Co_fixed",
1033 	"T_Co_fpfish",
1034 	"T_Co_pfish",
1035 	"T_Co_fcfish",
1036 	"T_Co_cfish",
1037 	"T_Co_medianbary",
1038 	"T_Co_barymedian",
1039 	"T_Co_median",
1040 	"T_Co_bary",
1041 	"T_Co_no",
1042 	"T_Co_yes",
1043 	"T_Co_grey",
1044 	"T_Co_manual",
1045 	"T_Co_every",
1046 	"T_Co_depthfirst",
1047 	"T_Co_minbackwards",
1048 	"T_Co_minoutdegree",
1049 	"T_Co_maxoutdegree",
1050 	"T_Co_minindegree",
1051 	"T_Co_maxindegree",
1052 	"T_Co_mindegree",
1053 	"T_Co_maxdegree",
1054 	"T_Co_mindepthslow",
1055 	"T_Co_maxdepthslow",
1056 	"T_Co_mindepth",
1057 	"T_Co_maxdepth",
1058 	"T_Co_tree",
1059 	"T_Co_constaints",
1060 	"T_Co_planar",
1061 	"T_Co_isi",
1062 	"T_Co_barycenter",
1063 	"T_Co_right_to_left",
1064 	"T_Co_left_to_right",
1065 	"T_Co_bottom_to_top",
1066 	"T_Co_top_to_bottom",
1067 	"T_Co_low",
1068 	"T_Co_high",
1069 	"T_Co_colindex",
1070 	"T_Co_yellowgreen",
1071 	"T_Co_yellow",
1072 	"T_Co_white",
1073 	"T_Co_turquoise",
1074 	"T_Co_red",
1075 	"T_Co_purple",
1076 	"T_Co_pink",
1077 	"T_Co_orchid",
1078 	"T_Co_orange",
1079 	"T_Co_magenta",
1080 	"T_Co_lilac",
1081 	"T_Co_lightyellow",
1082 	"T_Co_lightred",
1083 	"T_Co_lightmagenta",
1084 	"T_Co_lightgrey",
1085 	"T_Co_lightgreen",
1086 	"T_Co_lightcyan",
1087 	"T_Co_lightblue",
1088 	"T_Co_khaki",
1089 	"T_Co_green",
1090 	"T_Co_gold",
1091 	"T_Co_darkyellow",
1092 	"T_Co_darkred",
1093 	"T_Co_darkmagenta",
1094 	"T_Co_darkgrey",
1095 	"T_Co_darkgreen",
1096 	"T_Co_darkcyan",
1097 	"T_Co_darkblue",
1098 	"T_Co_cyan",
1099 	"T_Co_blue",
1100 	"T_Co_black",
1101 	"T_Co_aquamarine",
1102 	"T_Co_yscrollbar",
1103 	"T_Co_xscrollbar",
1104 	"T_Co_outputfunction",
1105 	"T_Co_inputfunction",
1106 	"T_Co_topsort",
1107 	"T_Co_layoutparameter",
1108 	"T_Co_include",
1109 	"T_Co_typename",
1110 	"T_Co_straight_max",
1111 	"T_Co_rubber_min",
1112 	"T_Co_rubber_max",
1113 	"T_Co_pendel_min",
1114 	"T_Co_pendel_max",
1115 	"T_Co_cross_min",
1116 	"T_Co_cross_max",
1117 	"T_Co_bend_max",
1118 	"T_Co_view_splines",
1119 	"T_Co_view_nodes",
1120 	"T_Co_view_edges",
1121 	"T_Co_view_method",
1122 	"T_Co_crossing_weight",
1123 	"T_Co_crossing_opt",
1124 	"T_Co_crossing_phase2",
1125 	"T_Co_treefactor",
1126 	"T_Co_spreadlevel",
1127 	"T_Co_arrow_mode",
1128 	"T_Co_port_sharing",
1129 	"T_Co_node_alignment",
1130 	"T_Co_orientation",
1131 	"T_Co_dummy",
1132 	"T_Co_nonearedges",
1133 	"T_Co_smanhatten",
1134 	"T_Co_manhatten",
1135 	"T_Co_priophase",
1136 	"T_Co_straightphase",
1137 	"T_Co_hidesingles",
1138 	"T_Co_finetuning",
1139 	"T_Co_dirty_edge_label",
1140 	"T_Co_display_edge_label",
1141 	"T_Co_late_edge_label",
1142 	"T_Co_splinefactor",
1143 	"T_Co_nearfactor",
1144 	"T_Co_upfactor",
1145 	"T_Co_downfactor",
1146 	"T_Co_layoutfrequency",
1147 	"T_Co_layoutalgorithm",
1148 	"T_Co_colentry",
1149 	"T_Co_infoname",
1150 	"T_Co_classname",
1151 	"T_Co_hidden",
1152 	"T_Co_yraster",
1153 	"T_Co_xlraster",
1154 	"T_Co_xraster",
1155 	"T_Co_yspace",
1156 	"T_Co_xlspace",
1157 	"T_Co_xspace",
1158 	"T_Co_ybase",
1159 	"T_Co_xbase",
1160 	"T_Co_ymax",
1161 	"T_Co_xmax",
1162 	"T_Co_status",
1163 	"T_Co_horizontal_order",
1164 	"T_Co_level",
1165 	"T_Co_shape",
1166 	"T_Co_textmode",
1167 	"T_Co_stretch",
1168 	"T_Co_shrink",
1169 	"T_Co_scaling",
1170 	"T_Co_folding",
1171 	"T_Co_loc",
1172 	"T_Co_ydef",
1173 	"T_Co_xdef",
1174 	"T_Co_borderwidth",
1175 	"T_Co_height",
1176 	"T_Co_width",
1177 	"T_Co_colorborder",
1178 	"T_Co_textcolor",
1179 	"T_Co_color",
1180 	"T_Co_info3",
1181 	"T_Co_info2",
1182 	"T_Co_info1",
1183 	"T_Co_label",
1184 	"T_Co_title",
1185 	"T_Co_constraint",
1186 	"T_Co_back_edge",
1187 	"T_Co_bent_near_edge",
1188 	"T_Co_near_edge",
1189 	"T_Co_edge",
1190 	"T_Co_node",
1191 	"T_Co_graph",
1192 	"T_Co_foldedge_defaults",
1193 	"T_Co_foldnode_defaults",
1194 	"T_Co_edge_defaults",
1195 	"T_Co_node_defaults",
1196 	"T_Co_graph_attribute",
1197 	"T_Co_graph_entry",
1198 	""
1199 };
1200 
1201 /* Constructor Arities */
1202 
1203 static const int yyconst_arity[] = {
1204 	0   , /* index_val */
1205 	1   , /* stern */
1206 	2   , /* range */
1207 	2   , /* index */
1208 	2   , /* index_value */
1209 	0   , /* string */
1210 	0   , /* char */
1211 	0   , /* float */
1212 	0   , /* integer */
1213 	0   , /* z */
1214 	0   , /* y */
1215 	0   , /* x */
1216 	0   , /* right_neighbor */
1217 	0   , /* left_neighbor */
1218 	0   , /* lower_neighbor */
1219 	0   , /* upper_neighbor */
1220 	0   , /* right_margin */
1221 	0   , /* left_margin */
1222 	0   , /* bottom_margin */
1223 	0   , /* top_margin */
1224 	0   , /* equal_column */
1225 	0   , /* equal_row */
1226 	0   , /* equal_position */
1227 	0   , /* behind */
1228 	0   , /* in_font */
1229 	0   , /* right */
1230 	0   , /* left */
1231 	0   , /* below */
1232 	0   , /* above */
1233 	0   , /* limit */
1234 	0   , /* cluster */
1235 	0   , /* xrange */
1236 	0   , /* high_margin */
1237 	0   , /* low_margin */
1238 	0   , /* neighbors */
1239 	0   , /* greater */
1240 	0   , /* smaller */
1241 	0   , /* equal */
1242 	2   , /* string_array */
1243 	1   , /* dimension */
1244 	1   , /* name */
1245 	1   , /* interval */
1246 	1   , /* nodes */
1247 	1   , /* size */
1248 	0   , /* solid */
1249 	0   , /* line */
1250 	0   , /* none */
1251 	0   , /* invisible */
1252 	0   , /* dashed */
1253 	0   , /* dotted */
1254 	0   , /* continuous */
1255 	1   , /* anchor */
1256 	1   , /* linestyle */
1257 	1   , /* barrowstyle */
1258 	1   , /* arrowstyle */
1259 	1   , /* barrowsize */
1260 	1   , /* arrowsize */
1261 	1   , /* barrowcolor */
1262 	1   , /* arrowcolor */
1263 	1   , /* arrowheight */
1264 	1   , /* arrowwidth */
1265 	1   , /* priority */
1266 	1   , /* class */
1267 	1   , /* thickness */
1268 	1   , /* targetname */
1269 	1   , /* sourcename */
1270 	0   , /* around */
1271 	0   , /* top */
1272 	0   , /* bottom */
1273 	0   , /* triangle */
1274 	0   , /* ellipse */
1275 	0   , /* rhomb */
1276 	0   , /* box */
1277 	0   , /* right_justify */
1278 	0   , /* left_justify */
1279 	0   , /* center */
1280 	1   , /* iconstyle */
1281 	1   , /* iconheight */
1282 	1   , /* iconwidth */
1283 	1   , /* anchorpoints */
1284 	1   , /* iconfile */
1285 	1   , /* bordercolor */
1286 	1   , /* fontname */
1287 	2   , /* constraint_attribute */
1288 	2   , /* edge_attribute */
1289 	2   , /* node_attribute */
1290 	0   , /* free */
1291 	0   , /* fixed */
1292 	0   , /* fpfish */
1293 	0   , /* pfish */
1294 	0   , /* fcfish */
1295 	0   , /* cfish */
1296 	0   , /* medianbary */
1297 	0   , /* barymedian */
1298 	0   , /* median */
1299 	0   , /* bary */
1300 	0   , /* no */
1301 	0   , /* yes */
1302 	0   , /* grey */
1303 	0   , /* manual */
1304 	0   , /* every */
1305 	0   , /* depthfirst */
1306 	0   , /* minbackwards */
1307 	0   , /* minoutdegree */
1308 	0   , /* maxoutdegree */
1309 	0   , /* minindegree */
1310 	0   , /* maxindegree */
1311 	0   , /* mindegree */
1312 	0   , /* maxdegree */
1313 	0   , /* mindepthslow */
1314 	0   , /* maxdepthslow */
1315 	0   , /* mindepth */
1316 	0   , /* maxdepth */
1317 	0   , /* tree */
1318 	0   , /* constaints */
1319 	0   , /* planar */
1320 	0   , /* isi */
1321 	0   , /* barycenter */
1322 	0   , /* right_to_left */
1323 	0   , /* left_to_right */
1324 	0   , /* bottom_to_top */
1325 	0   , /* top_to_bottom */
1326 	0   , /* low */
1327 	0   , /* high */
1328 	1   , /* colindex */
1329 	0   , /* yellowgreen */
1330 	0   , /* yellow */
1331 	0   , /* white */
1332 	0   , /* turquoise */
1333 	0   , /* red */
1334 	0   , /* purple */
1335 	0   , /* pink */
1336 	0   , /* orchid */
1337 	0   , /* orange */
1338 	0   , /* magenta */
1339 	0   , /* lilac */
1340 	0   , /* lightyellow */
1341 	0   , /* lightred */
1342 	0   , /* lightmagenta */
1343 	0   , /* lightgrey */
1344 	0   , /* lightgreen */
1345 	0   , /* lightcyan */
1346 	0   , /* lightblue */
1347 	0   , /* khaki */
1348 	0   , /* green */
1349 	0   , /* gold */
1350 	0   , /* darkyellow */
1351 	0   , /* darkred */
1352 	0   , /* darkmagenta */
1353 	0   , /* darkgrey */
1354 	0   , /* darkgreen */
1355 	0   , /* darkcyan */
1356 	0   , /* darkblue */
1357 	0   , /* cyan */
1358 	0   , /* blue */
1359 	0   , /* black */
1360 	0   , /* aquamarine */
1361 	1   , /* yscrollbar */
1362 	1   , /* xscrollbar */
1363 	1   , /* outputfunction */
1364 	1   , /* inputfunction */
1365 	1   , /* topsort */
1366 	1   , /* layoutparameter */
1367 	1   , /* include */
1368 	1   , /* typename */
1369 	1   , /* straight_max */
1370 	1   , /* rubber_min */
1371 	1   , /* rubber_max */
1372 	1   , /* pendel_min */
1373 	1   , /* pendel_max */
1374 	1   , /* cross_min */
1375 	1   , /* cross_max */
1376 	1   , /* bend_max */
1377 	1   , /* view_splines */
1378 	1   , /* view_nodes */
1379 	1   , /* view_edges */
1380 	1   , /* view_method */
1381 	1   , /* crossing_weight */
1382 	1   , /* crossing_opt */
1383 	1   , /* crossing_phase2 */
1384 	1   , /* treefactor */
1385 	1   , /* spreadlevel */
1386 	1   , /* arrow_mode */
1387 	1   , /* port_sharing */
1388 	1   , /* node_alignment */
1389 	1   , /* orientation */
1390 	0   , /* dummy */
1391 	0   , /* nonearedges */
1392 	1   , /* smanhatten */
1393 	1   , /* manhatten */
1394 	1   , /* priophase */
1395 	1   , /* straightphase */
1396 	1   , /* hidesingles */
1397 	1   , /* finetuning */
1398 	1   , /* dirty_edge_label */
1399 	1   , /* display_edge_label */
1400 	1   , /* late_edge_label */
1401 	1   , /* splinefactor */
1402 	1   , /* nearfactor */
1403 	1   , /* upfactor */
1404 	1   , /* downfactor */
1405 	1   , /* layoutfrequency */
1406 	1   , /* layoutalgorithm */
1407 	4   , /* colentry */
1408 	2   , /* infoname */
1409 	2   , /* classname */
1410 	1   , /* hidden */
1411 	1   , /* yraster */
1412 	1   , /* xlraster */
1413 	1   , /* xraster */
1414 	1   , /* yspace */
1415 	1   , /* xlspace */
1416 	1   , /* xspace */
1417 	1   , /* ybase */
1418 	1   , /* xbase */
1419 	1   , /* ymax */
1420 	1   , /* xmax */
1421 	1   , /* status */
1422 	1   , /* horizontal_order */
1423 	1   , /* level */
1424 	1   , /* shape */
1425 	1   , /* textmode */
1426 	1   , /* stretch */
1427 	1   , /* shrink */
1428 	1   , /* scaling */
1429 	1   , /* folding */
1430 	2   , /* loc */
1431 	1   , /* ydef */
1432 	1   , /* xdef */
1433 	1   , /* borderwidth */
1434 	1   , /* height */
1435 	1   , /* width */
1436 	1   , /* colorborder */
1437 	1   , /* textcolor */
1438 	1   , /* color */
1439 	1   , /* info3 */
1440 	1   , /* info2 */
1441 	1   , /* info1 */
1442 	1   , /* label */
1443 	1   , /* title */
1444 	1   , /* constraint */
1445 	1   , /* back_edge */
1446 	1   , /* bent_near_edge */
1447 	1   , /* near_edge */
1448 	1   , /* edge */
1449 	1   , /* node */
1450 	1   , /* graph */
1451 	1   , /* foldedge_defaults */
1452 	1   , /* foldnode_defaults */
1453 	1   , /* edge_defaults */
1454 	1   , /* node_defaults */
1455 	1   , /* graph_attribute */
1456 	2   , /* graph_entry */
1457 	0
1458 };
1459 
1460 /* Build Macros */
1461 
1462 #define T_index_val(s0,l) BuildCont(T_Co_index_val,UnionLnum(s0),l)
1463 #define T_stern(s0,l) BuildTree(T_Co_stern,1,UnionNum(0),l,s0)
1464 #define T_range(s0,s1,l) BuildTree(T_Co_range,2,UnionNum(0),l,s0,s1)
1465 #define T_index(s0,s1,l) BuildTree(T_Co_index,2,UnionNum(0),l,s0,s1)
1466 #define T_index_value(s0,s1,l) BuildTree(T_Co_index_value,2,UnionNum(0),l,s0,s1)
1467 #define T_string(s0,l) BuildCont(T_Co_string,UnionLnum(s0),l)
1468 #define T_char(s0,l) BuildCont(T_Co_char,UnionByte(s0),l)
1469 #define T_float(s0,l) BuildCont(T_Co_float,UnionLrealnum(s0),l)
1470 #define T_integer(s0,l) BuildCont(T_Co_integer,UnionLnum(s0),l)
1471 #define T_z(l) BuildCont(T_Co_z,UnionNum(0),l)
1472 #define T_y(l) BuildCont(T_Co_y,UnionNum(0),l)
1473 #define T_x(l) BuildCont(T_Co_x,UnionNum(0),l)
1474 #define T_right_neighbor(l) BuildCont(T_Co_right_neighbor,UnionNum(0),l)
1475 #define T_left_neighbor(l) BuildCont(T_Co_left_neighbor,UnionNum(0),l)
1476 #define T_lower_neighbor(l) BuildCont(T_Co_lower_neighbor,UnionNum(0),l)
1477 #define T_upper_neighbor(l) BuildCont(T_Co_upper_neighbor,UnionNum(0),l)
1478 #define T_right_margin(l) BuildCont(T_Co_right_margin,UnionNum(0),l)
1479 #define T_left_margin(l) BuildCont(T_Co_left_margin,UnionNum(0),l)
1480 #define T_bottom_margin(l) BuildCont(T_Co_bottom_margin,UnionNum(0),l)
1481 #define T_top_margin(l) BuildCont(T_Co_top_margin,UnionNum(0),l)
1482 #define T_equal_column(l) BuildCont(T_Co_equal_column,UnionNum(0),l)
1483 #define T_equal_row(l) BuildCont(T_Co_equal_row,UnionNum(0),l)
1484 #define T_equal_position(l) BuildCont(T_Co_equal_position,UnionNum(0),l)
1485 #define T_behind(l) BuildCont(T_Co_behind,UnionNum(0),l)
1486 #define T_in_font(l) BuildCont(T_Co_in_font,UnionNum(0),l)
1487 #define T_right(l) BuildCont(T_Co_right,UnionNum(0),l)
1488 #define T_left(l) BuildCont(T_Co_left,UnionNum(0),l)
1489 #define T_below(l) BuildCont(T_Co_below,UnionNum(0),l)
1490 #define T_above(l) BuildCont(T_Co_above,UnionNum(0),l)
1491 #define T_limit(l) BuildCont(T_Co_limit,UnionNum(0),l)
1492 #define T_cluster(l) BuildCont(T_Co_cluster,UnionNum(0),l)
1493 #define T_xrange(l) BuildCont(T_Co_xrange,UnionNum(0),l)
1494 #define T_high_margin(l) BuildCont(T_Co_high_margin,UnionNum(0),l)
1495 #define T_low_margin(l) BuildCont(T_Co_low_margin,UnionNum(0),l)
1496 #define T_neighbors(l) BuildCont(T_Co_neighbors,UnionNum(0),l)
1497 #define T_greater(l) BuildCont(T_Co_greater,UnionNum(0),l)
1498 #define T_smaller(l) BuildCont(T_Co_smaller,UnionNum(0),l)
1499 #define T_equal(l) BuildCont(T_Co_equal,UnionNum(0),l)
1500 #define T_string_array(s0,s1,l) BuildTree(T_Co_string_array,2,UnionNum(0),l,s0,s1)
1501 #define T_dimension(s0,l) BuildTree(T_Co_dimension,1,UnionNum(0),l,s0)
1502 #define T_name(s0,l) BuildTree(T_Co_name,1,UnionNum(0),l,s0)
1503 #define T_interval(s0,l) BuildTree(T_Co_interval,1,UnionNum(0),l,s0)
1504 #define T_nodes(s0,l) BuildTree(T_Co_nodes,1,UnionNum(0),l,s0)
1505 #define T_size(s0,l) BuildTree(T_Co_size,1,UnionNum(0),l,s0)
1506 #define T_solid(l) BuildCont(T_Co_solid,UnionNum(0),l)
1507 #define T_line(l) BuildCont(T_Co_line,UnionNum(0),l)
1508 #define T_none(l) BuildCont(T_Co_none,UnionNum(0),l)
1509 #define T_invisible(l) BuildCont(T_Co_invisible,UnionNum(0),l)
1510 #define T_dashed(l) BuildCont(T_Co_dashed,UnionNum(0),l)
1511 #define T_dotted(l) BuildCont(T_Co_dotted,UnionNum(0),l)
1512 #define T_continuous(l) BuildCont(T_Co_continuous,UnionNum(0),l)
1513 #define T_anchor(s0,l) BuildTree(T_Co_anchor,1,UnionNum(0),l,s0)
1514 #define T_linestyle(s0,l) BuildTree(T_Co_linestyle,1,UnionNum(0),l,s0)
1515 #define T_barrowstyle(s0,l) BuildTree(T_Co_barrowstyle,1,UnionNum(0),l,s0)
1516 #define T_arrowstyle(s0,l) BuildTree(T_Co_arrowstyle,1,UnionNum(0),l,s0)
1517 #define T_barrowsize(s0,l) BuildTree(T_Co_barrowsize,1,UnionNum(0),l,s0)
1518 #define T_arrowsize(s0,l) BuildTree(T_Co_arrowsize,1,UnionNum(0),l,s0)
1519 #define T_barrowcolor(s0,l) BuildTree(T_Co_barrowcolor,1,UnionNum(0),l,s0)
1520 #define T_arrowcolor(s0,l) BuildTree(T_Co_arrowcolor,1,UnionNum(0),l,s0)
1521 #define T_arrowheight(s0,l) BuildTree(T_Co_arrowheight,1,UnionNum(0),l,s0)
1522 #define T_arrowwidth(s0,l) BuildTree(T_Co_arrowwidth,1,UnionNum(0),l,s0)
1523 #define T_priority(s0,l) BuildTree(T_Co_priority,1,UnionNum(0),l,s0)
1524 #define T_class(s0,l) BuildTree(T_Co_class,1,UnionNum(0),l,s0)
1525 #define T_thickness(s0,l) BuildTree(T_Co_thickness,1,UnionNum(0),l,s0)
1526 #define T_targetname(s0,l) BuildTree(T_Co_targetname,1,UnionNum(0),l,s0)
1527 #define T_sourcename(s0,l) BuildTree(T_Co_sourcename,1,UnionNum(0),l,s0)
1528 #define T_around(l) BuildCont(T_Co_around,UnionNum(0),l)
1529 #define T_top(l) BuildCont(T_Co_top,UnionNum(0),l)
1530 #define T_bottom(l) BuildCont(T_Co_bottom,UnionNum(0),l)
1531 #define T_triangle(l) BuildCont(T_Co_triangle,UnionNum(0),l)
1532 #define T_ellipse(l) BuildCont(T_Co_ellipse,UnionNum(0),l)
1533 #define T_rhomb(l) BuildCont(T_Co_rhomb,UnionNum(0),l)
1534 #define T_box(l) BuildCont(T_Co_box,UnionNum(0),l)
1535 #define T_right_justify(l) BuildCont(T_Co_right_justify,UnionNum(0),l)
1536 #define T_left_justify(l) BuildCont(T_Co_left_justify,UnionNum(0),l)
1537 #define T_center(l) BuildCont(T_Co_center,UnionNum(0),l)
1538 #define T_iconstyle(s0,l) BuildTree(T_Co_iconstyle,1,UnionNum(0),l,s0)
1539 #define T_iconheight(s0,l) BuildTree(T_Co_iconheight,1,UnionNum(0),l,s0)
1540 #define T_iconwidth(s0,l) BuildTree(T_Co_iconwidth,1,UnionNum(0),l,s0)
1541 #define T_anchorpoints(s0,l) BuildTree(T_Co_anchorpoints,1,UnionNum(0),l,s0)
1542 #define T_iconfile(s0,l) BuildTree(T_Co_iconfile,1,UnionNum(0),l,s0)
1543 #define T_bordercolor(s0,l) BuildTree(T_Co_bordercolor,1,UnionNum(0),l,s0)
1544 #define T_fontname(s0,l) BuildTree(T_Co_fontname,1,UnionNum(0),l,s0)
1545 #define T_constraint_attribute(s0,s1,l) BuildTree(T_Co_constraint_attribute,2,UnionNum(0),l,s0,s1)
1546 #define T_edge_attribute(s0,s1,l) BuildTree(T_Co_edge_attribute,2,UnionNum(0),l,s0,s1)
1547 #define T_node_attribute(s0,s1,l) BuildTree(T_Co_node_attribute,2,UnionNum(0),l,s0,s1)
1548 #define T_free(l) BuildCont(T_Co_free,UnionNum(0),l)
1549 #define T_fixed(l) BuildCont(T_Co_fixed,UnionNum(0),l)
1550 #define T_fpfish(l) BuildCont(T_Co_fpfish,UnionNum(0),l)
1551 #define T_pfish(l) BuildCont(T_Co_pfish,UnionNum(0),l)
1552 #define T_fcfish(l) BuildCont(T_Co_fcfish,UnionNum(0),l)
1553 #define T_cfish(l) BuildCont(T_Co_cfish,UnionNum(0),l)
1554 #define T_medianbary(l) BuildCont(T_Co_medianbary,UnionNum(0),l)
1555 #define T_barymedian(l) BuildCont(T_Co_barymedian,UnionNum(0),l)
1556 #define T_median(l) BuildCont(T_Co_median,UnionNum(0),l)
1557 #define T_bary(l) BuildCont(T_Co_bary,UnionNum(0),l)
1558 #define T_no(l) BuildCont(T_Co_no,UnionNum(0),l)
1559 #define T_yes(l) BuildCont(T_Co_yes,UnionNum(0),l)
1560 #define T_grey(l) BuildCont(T_Co_grey,UnionNum(0),l)
1561 #define T_manual(l) BuildCont(T_Co_manual,UnionNum(0),l)
1562 #define T_every(l) BuildCont(T_Co_every,UnionNum(0),l)
1563 #define T_depthfirst(l) BuildCont(T_Co_depthfirst,UnionNum(0),l)
1564 #define T_minbackwards(l) BuildCont(T_Co_minbackwards,UnionNum(0),l)
1565 #define T_minoutdegree(l) BuildCont(T_Co_minoutdegree,UnionNum(0),l)
1566 #define T_maxoutdegree(l) BuildCont(T_Co_maxoutdegree,UnionNum(0),l)
1567 #define T_minindegree(l) BuildCont(T_Co_minindegree,UnionNum(0),l)
1568 #define T_maxindegree(l) BuildCont(T_Co_maxindegree,UnionNum(0),l)
1569 #define T_mindegree(l) BuildCont(T_Co_mindegree,UnionNum(0),l)
1570 #define T_maxdegree(l) BuildCont(T_Co_maxdegree,UnionNum(0),l)
1571 #define T_mindepthslow(l) BuildCont(T_Co_mindepthslow,UnionNum(0),l)
1572 #define T_maxdepthslow(l) BuildCont(T_Co_maxdepthslow,UnionNum(0),l)
1573 #define T_mindepth(l) BuildCont(T_Co_mindepth,UnionNum(0),l)
1574 #define T_maxdepth(l) BuildCont(T_Co_maxdepth,UnionNum(0),l)
1575 #define T_tree(l) BuildCont(T_Co_tree,UnionNum(0),l)
1576 #define T_constaints(l) BuildCont(T_Co_constaints,UnionNum(0),l)
1577 #define T_planar(l) BuildCont(T_Co_planar,UnionNum(0),l)
1578 #define T_isi(l) BuildCont(T_Co_isi,UnionNum(0),l)
1579 #define T_barycenter(l) BuildCont(T_Co_barycenter,UnionNum(0),l)
1580 #define T_right_to_left(l) BuildCont(T_Co_right_to_left,UnionNum(0),l)
1581 #define T_left_to_right(l) BuildCont(T_Co_left_to_right,UnionNum(0),l)
1582 #define T_bottom_to_top(l) BuildCont(T_Co_bottom_to_top,UnionNum(0),l)
1583 #define T_top_to_bottom(l) BuildCont(T_Co_top_to_bottom,UnionNum(0),l)
1584 #define T_low(l) BuildCont(T_Co_low,UnionNum(0),l)
1585 #define T_high(l) BuildCont(T_Co_high,UnionNum(0),l)
1586 #define T_colindex(s0,l) BuildTree(T_Co_colindex,1,UnionNum(0),l,s0)
1587 #define T_yellowgreen(l) BuildCont(T_Co_yellowgreen,UnionNum(0),l)
1588 #define T_yellow(l) BuildCont(T_Co_yellow,UnionNum(0),l)
1589 #define T_white(l) BuildCont(T_Co_white,UnionNum(0),l)
1590 #define T_turquoise(l) BuildCont(T_Co_turquoise,UnionNum(0),l)
1591 #define T_red(l) BuildCont(T_Co_red,UnionNum(0),l)
1592 #define T_purple(l) BuildCont(T_Co_purple,UnionNum(0),l)
1593 #define T_pink(l) BuildCont(T_Co_pink,UnionNum(0),l)
1594 #define T_orchid(l) BuildCont(T_Co_orchid,UnionNum(0),l)
1595 #define T_orange(l) BuildCont(T_Co_orange,UnionNum(0),l)
1596 #define T_magenta(l) BuildCont(T_Co_magenta,UnionNum(0),l)
1597 #define T_lilac(l) BuildCont(T_Co_lilac,UnionNum(0),l)
1598 #define T_lightyellow(l) BuildCont(T_Co_lightyellow,UnionNum(0),l)
1599 #define T_lightred(l) BuildCont(T_Co_lightred,UnionNum(0),l)
1600 #define T_lightmagenta(l) BuildCont(T_Co_lightmagenta,UnionNum(0),l)
1601 #define T_lightgrey(l) BuildCont(T_Co_lightgrey,UnionNum(0),l)
1602 #define T_lightgreen(l) BuildCont(T_Co_lightgreen,UnionNum(0),l)
1603 #define T_lightcyan(l) BuildCont(T_Co_lightcyan,UnionNum(0),l)
1604 #define T_lightblue(l) BuildCont(T_Co_lightblue,UnionNum(0),l)
1605 #define T_khaki(l) BuildCont(T_Co_khaki,UnionNum(0),l)
1606 #define T_green(l) BuildCont(T_Co_green,UnionNum(0),l)
1607 #define T_gold(l) BuildCont(T_Co_gold,UnionNum(0),l)
1608 #define T_darkyellow(l) BuildCont(T_Co_darkyellow,UnionNum(0),l)
1609 #define T_darkred(l) BuildCont(T_Co_darkred,UnionNum(0),l)
1610 #define T_darkmagenta(l) BuildCont(T_Co_darkmagenta,UnionNum(0),l)
1611 #define T_darkgrey(l) BuildCont(T_Co_darkgrey,UnionNum(0),l)
1612 #define T_darkgreen(l) BuildCont(T_Co_darkgreen,UnionNum(0),l)
1613 #define T_darkcyan(l) BuildCont(T_Co_darkcyan,UnionNum(0),l)
1614 #define T_darkblue(l) BuildCont(T_Co_darkblue,UnionNum(0),l)
1615 #define T_cyan(l) BuildCont(T_Co_cyan,UnionNum(0),l)
1616 #define T_blue(l) BuildCont(T_Co_blue,UnionNum(0),l)
1617 #define T_black(l) BuildCont(T_Co_black,UnionNum(0),l)
1618 #define T_aquamarine(l) BuildCont(T_Co_aquamarine,UnionNum(0),l)
1619 #define T_yscrollbar(s0,l) BuildTree(T_Co_yscrollbar,1,UnionNum(0),l,s0)
1620 #define T_xscrollbar(s0,l) BuildTree(T_Co_xscrollbar,1,UnionNum(0),l,s0)
1621 #define T_outputfunction(s0,l) BuildTree(T_Co_outputfunction,1,UnionNum(0),l,s0)
1622 #define T_inputfunction(s0,l) BuildTree(T_Co_inputfunction,1,UnionNum(0),l,s0)
1623 #define T_topsort(s0,l) BuildTree(T_Co_topsort,1,UnionNum(0),l,s0)
1624 #define T_layoutparameter(s0,l) BuildTree(T_Co_layoutparameter,1,UnionNum(0),l,s0)
1625 #define T_include(s0,l) BuildTree(T_Co_include,1,UnionNum(0),l,s0)
1626 #define T_typename(s0,l) BuildTree(T_Co_typename,1,UnionNum(0),l,s0)
1627 #define T_straight_max(s0,l) BuildTree(T_Co_straight_max,1,UnionNum(0),l,s0)
1628 #define T_rubber_min(s0,l) BuildTree(T_Co_rubber_min,1,UnionNum(0),l,s0)
1629 #define T_rubber_max(s0,l) BuildTree(T_Co_rubber_max,1,UnionNum(0),l,s0)
1630 #define T_pendel_min(s0,l) BuildTree(T_Co_pendel_min,1,UnionNum(0),l,s0)
1631 #define T_pendel_max(s0,l) BuildTree(T_Co_pendel_max,1,UnionNum(0),l,s0)
1632 #define T_cross_min(s0,l) BuildTree(T_Co_cross_min,1,UnionNum(0),l,s0)
1633 #define T_cross_max(s0,l) BuildTree(T_Co_cross_max,1,UnionNum(0),l,s0)
1634 #define T_bend_max(s0,l) BuildTree(T_Co_bend_max,1,UnionNum(0),l,s0)
1635 #define T_view_splines(s0,l) BuildTree(T_Co_view_splines,1,UnionNum(0),l,s0)
1636 #define T_view_nodes(s0,l) BuildTree(T_Co_view_nodes,1,UnionNum(0),l,s0)
1637 #define T_view_edges(s0,l) BuildTree(T_Co_view_edges,1,UnionNum(0),l,s0)
1638 #define T_view_method(s0,l) BuildTree(T_Co_view_method,1,UnionNum(0),l,s0)
1639 #define T_crossing_weight(s0,l) BuildTree(T_Co_crossing_weight,1,UnionNum(0),l,s0)
1640 #define T_crossing_opt(s0,l) BuildTree(T_Co_crossing_opt,1,UnionNum(0),l,s0)
1641 #define T_crossing_phase2(s0,l) BuildTree(T_Co_crossing_phase2,1,UnionNum(0),l,s0)
1642 #define T_treefactor(s0,l) BuildTree(T_Co_treefactor,1,UnionNum(0),l,s0)
1643 #define T_spreadlevel(s0,l) BuildTree(T_Co_spreadlevel,1,UnionNum(0),l,s0)
1644 #define T_arrow_mode(s0,l) BuildTree(T_Co_arrow_mode,1,UnionNum(0),l,s0)
1645 #define T_port_sharing(s0,l) BuildTree(T_Co_port_sharing,1,UnionNum(0),l,s0)
1646 #define T_node_alignment(s0,l) BuildTree(T_Co_node_alignment,1,UnionNum(0),l,s0)
1647 #define T_orientation(s0,l) BuildTree(T_Co_orientation,1,UnionNum(0),l,s0)
1648 #define T_dummy(l) BuildCont(T_Co_dummy,UnionNum(0),l)
1649 #define T_nonearedges(l) BuildCont(T_Co_nonearedges,UnionNum(0),l)
1650 #define T_smanhatten(s0,l) BuildTree(T_Co_smanhatten,1,UnionNum(0),l,s0)
1651 #define T_manhatten(s0,l) BuildTree(T_Co_manhatten,1,UnionNum(0),l,s0)
1652 #define T_priophase(s0,l) BuildTree(T_Co_priophase,1,UnionNum(0),l,s0)
1653 #define T_straightphase(s0,l) BuildTree(T_Co_straightphase,1,UnionNum(0),l,s0)
1654 #define T_hidesingles(s0,l) BuildTree(T_Co_hidesingles,1,UnionNum(0),l,s0)
1655 #define T_finetuning(s0,l) BuildTree(T_Co_finetuning,1,UnionNum(0),l,s0)
1656 #define T_dirty_edge_label(s0,l) BuildTree(T_Co_dirty_edge_label,1,UnionNum(0),l,s0)
1657 #define T_display_edge_label(s0,l) BuildTree(T_Co_display_edge_label,1,UnionNum(0),l,s0)
1658 #define T_late_edge_label(s0,l) BuildTree(T_Co_late_edge_label,1,UnionNum(0),l,s0)
1659 #define T_splinefactor(s0,l) BuildTree(T_Co_splinefactor,1,UnionNum(0),l,s0)
1660 #define T_nearfactor(s0,l) BuildTree(T_Co_nearfactor,1,UnionNum(0),l,s0)
1661 #define T_upfactor(s0,l) BuildTree(T_Co_upfactor,1,UnionNum(0),l,s0)
1662 #define T_downfactor(s0,l) BuildTree(T_Co_downfactor,1,UnionNum(0),l,s0)
1663 #define T_layoutfrequency(s0,l) BuildTree(T_Co_layoutfrequency,1,UnionNum(0),l,s0)
1664 #define T_layoutalgorithm(s0,l) BuildTree(T_Co_layoutalgorithm,1,UnionNum(0),l,s0)
1665 #define T_colentry(s0,s1,s2,s3,l) BuildTree(T_Co_colentry,4,UnionNum(0),l,s0,s1,s2,s3)
1666 #define T_infoname(s0,s1,l) BuildTree(T_Co_infoname,2,UnionNum(0),l,s0,s1)
1667 #define T_classname(s0,s1,l) BuildTree(T_Co_classname,2,UnionNum(0),l,s0,s1)
1668 #define T_hidden(s0,l) BuildTree(T_Co_hidden,1,UnionNum(0),l,s0)
1669 #define T_yraster(s0,l) BuildTree(T_Co_yraster,1,UnionNum(0),l,s0)
1670 #define T_xlraster(s0,l) BuildTree(T_Co_xlraster,1,UnionNum(0),l,s0)
1671 #define T_xraster(s0,l) BuildTree(T_Co_xraster,1,UnionNum(0),l,s0)
1672 #define T_yspace(s0,l) BuildTree(T_Co_yspace,1,UnionNum(0),l,s0)
1673 #define T_xlspace(s0,l) BuildTree(T_Co_xlspace,1,UnionNum(0),l,s0)
1674 #define T_xspace(s0,l) BuildTree(T_Co_xspace,1,UnionNum(0),l,s0)
1675 #define T_ybase(s0,l) BuildTree(T_Co_ybase,1,UnionNum(0),l,s0)
1676 #define T_xbase(s0,l) BuildTree(T_Co_xbase,1,UnionNum(0),l,s0)
1677 #define T_ymax(s0,l) BuildTree(T_Co_ymax,1,UnionNum(0),l,s0)
1678 #define T_xmax(s0,l) BuildTree(T_Co_xmax,1,UnionNum(0),l,s0)
1679 #define T_status(s0,l) BuildTree(T_Co_status,1,UnionNum(0),l,s0)
1680 #define T_horizontal_order(s0,l) BuildTree(T_Co_horizontal_order,1,UnionNum(0),l,s0)
1681 #define T_level(s0,l) BuildTree(T_Co_level,1,UnionNum(0),l,s0)
1682 #define T_shape(s0,l) BuildTree(T_Co_shape,1,UnionNum(0),l,s0)
1683 #define T_textmode(s0,l) BuildTree(T_Co_textmode,1,UnionNum(0),l,s0)
1684 #define T_stretch(s0,l) BuildTree(T_Co_stretch,1,UnionNum(0),l,s0)
1685 #define T_shrink(s0,l) BuildTree(T_Co_shrink,1,UnionNum(0),l,s0)
1686 #define T_scaling(s0,l) BuildTree(T_Co_scaling,1,UnionNum(0),l,s0)
1687 #define T_folding(s0,l) BuildTree(T_Co_folding,1,UnionNum(0),l,s0)
1688 #define T_loc(s0,s1,l) BuildTree(T_Co_loc,2,UnionNum(0),l,s0,s1)
1689 #define T_ydef(s0,l) BuildTree(T_Co_ydef,1,UnionNum(0),l,s0)
1690 #define T_xdef(s0,l) BuildTree(T_Co_xdef,1,UnionNum(0),l,s0)
1691 #define T_borderwidth(s0,l) BuildTree(T_Co_borderwidth,1,UnionNum(0),l,s0)
1692 #define T_height(s0,l) BuildTree(T_Co_height,1,UnionNum(0),l,s0)
1693 #define T_width(s0,l) BuildTree(T_Co_width,1,UnionNum(0),l,s0)
1694 #define T_colorborder(s0,l) BuildTree(T_Co_colorborder,1,UnionNum(0),l,s0)
1695 #define T_textcolor(s0,l) BuildTree(T_Co_textcolor,1,UnionNum(0),l,s0)
1696 #define T_color(s0,l) BuildTree(T_Co_color,1,UnionNum(0),l,s0)
1697 #define T_info3(s0,l) BuildTree(T_Co_info3,1,UnionNum(0),l,s0)
1698 #define T_info2(s0,l) BuildTree(T_Co_info2,1,UnionNum(0),l,s0)
1699 #define T_info1(s0,l) BuildTree(T_Co_info1,1,UnionNum(0),l,s0)
1700 #define T_label(s0,l) BuildTree(T_Co_label,1,UnionNum(0),l,s0)
1701 #define T_title(s0,l) BuildTree(T_Co_title,1,UnionNum(0),l,s0)
1702 #define T_constraint(s0,l) BuildTree(T_Co_constraint,1,UnionNum(0),l,s0)
1703 #define T_back_edge(s0,l) BuildTree(T_Co_back_edge,1,UnionNum(0),l,s0)
1704 #define T_bent_near_edge(s0,l) BuildTree(T_Co_bent_near_edge,1,UnionNum(0),l,s0)
1705 #define T_near_edge(s0,l) BuildTree(T_Co_near_edge,1,UnionNum(0),l,s0)
1706 #define T_edge(s0,l) BuildTree(T_Co_edge,1,UnionNum(0),l,s0)
1707 #define T_node(s0,l) BuildTree(T_Co_node,1,UnionNum(0),l,s0)
1708 #define T_graph(s0,l) BuildTree(T_Co_graph,1,UnionNum(0),l,s0)
1709 #define T_foldedge_defaults(s0,l) BuildTree(T_Co_foldedge_defaults,1,UnionNum(0),l,s0)
1710 #define T_foldnode_defaults(s0,l) BuildTree(T_Co_foldnode_defaults,1,UnionNum(0),l,s0)
1711 #define T_edge_defaults(s0,l) BuildTree(T_Co_edge_defaults,1,UnionNum(0),l,s0)
1712 #define T_node_defaults(s0,l) BuildTree(T_Co_node_defaults,1,UnionNum(0),l,s0)
1713 #define T_graph_attribute(s0,l) BuildTree(T_Co_graph_attribute,1,UnionNum(0),l,s0)
1714 #define T_graph_entry(s0,s1,l) BuildTree(T_Co_graph_entry,2,UnionNum(0),l,s0,s1)
1715 
1716 
1717 #line 60 "/RW/esprit/users/sander/src/PARSEGEN/parse.skel"
1718 
1719 
1720 /* from scanner */
1721 
1722 #ifdef ANSI_C
1723 void init_lex(void);
1724 int yylex(void);
1725 #else
1726 void init_lex();
1727 int yylex();
1728 #endif
1729 
1730 static char message[1024];
1731 
1732 /* for error messages */
1733 
1734 
1735 
1736 #line 1441 "grammar.pgs"
1737 static const char * const yytokname[] = {
1738 "<start/end of input>$"
1739 	,"error"
1740 	,"$illegal."
1741 	,"lexem ABOVE"
1742 	,"lexem ANCHORPOINTS"
1743 	,"lexem ANCHOR"
1744 	,"lexem AQUAMARINE"
1745 	,"lexem AROUND"
1746 	,"lexem ARROWMODE"
1747 	,"lexem ARROWHEIGHT"
1748 	,"lexem ARROWWIDTH"
1749 	,"lexem ARROWCOLOR"
1750 	,"lexem ARROWSTYLE"
1751 	,"lexem ARROWSIZE"
1752 	,"lexem BARROWCOLOR"
1753 	,"lexem BARROWSTYLE"
1754 	,"lexem BARROWSIZE"
1755 	,"lexem BACKEDGE"
1756 	,"lexem BARYCENTER"
1757 	,"lexem BARY"
1758 	,"lexem BARYMEDIAN"
1759 	,"lexem BEHIND"
1760 	,"lexem BELOW"
1761 	,"lexem BLACK"
1762 	,"lexem BLUE"
1763 	,"lexem BMAX"
1764 	,"lexem BORDERCOLOR"
1765 	,"lexem BORDERWIDTH"
1766 	,"lexem BOTTOM_MARGIN"
1767 	,"lexem BOTTOM_TO_TOP"
1768 	,"lexem BOTTOM"
1769 	,"lexem BOX"
1770 	,"lexem BENTNEAREDGE"
1771 	,"lexem CENTER"
1772 	,"lexem CFISH"
1773 	,"lexem CLASSNAME"
1774 	,"lexem CLASS"
1775 	,"lexem CLUSTER"
1776 	,"lexem CMIN"
1777 	,"lexem CMAX"
1778 	,"lexem COLORENTRY"
1779 	,"lexem COLOR"
1780 	,"lexem CONSTRAINTS"
1781 	,"lexem CONSTRAINT"
1782 	,"lexem CONTINUOUS"
1783 	,"lexem CROSSING_WEIGHT"
1784 	,"lexem CROSSING_OPT"
1785 	,"lexem CROSSING_P2"
1786 	,"lexem CYAN"
1787 	,"lexem DARKBLUE"
1788 	,"lexem DARKCYAN"
1789 	,"lexem DARKGREEN"
1790 	,"lexem DARKGREY"
1791 	,"lexem DARKMAGENTA"
1792 	,"lexem DARKRED"
1793 	,"lexem DARKYELLOW"
1794 	,"lexem DASHED"
1795 	,"lexem DFS"
1796 	,"lexem DIMENSION"
1797 	,"lexem DIRTY_EDGE_LABELS"
1798 	,"lexem DISPLAY_EDGE_LABELS"
1799 	,"lexem DOTTED"
1800 	,"lexem EDGE1"
1801 	,"lexem EDGE2"
1802 	,"lexem EDGES"
1803 	,"lexem ELLIPSE"
1804 	,"lexem EQUAL_COLUMN"
1805 	,"lexem EQUAL_POSITION"
1806 	,"lexem EQUAL_ROW"
1807 	,"lexem EQUAL"
1808 	,"lexem EVERY"
1809 	,"lexem FCFISH"
1810 	,"lexem FPFISH"
1811 	,"lexem FIXED"
1812 	,"lexem FREE"
1813 	,"lexem FINETUNING"
1814 	,"lexem FOLDEDGE"
1815 	,"lexem FOLDNODE"
1816 	,"lexem FOLDING"
1817 	,"lexem FONTNAME"
1818 	,"lexem GOLD"
1819 	,"lexem GRAPH"
1820 	,"lexem GREATER"
1821 	,"lexem GREEN"
1822 	,"lexem GREY"
1823 	,"lexem HEIGHT"
1824 	,"lexem HIDESINGLES"
1825 	,"lexem HIGH_MARGIN"
1826 	,"lexem HIGH"
1827 	,"lexem HIDDEN"
1828 	,"lexem HORDER"
1829 	,"lexem ICONFILE"
1830 	,"lexem ICONHEIGHT"
1831 	,"lexem ICONSTYLE"
1832 	,"lexem ICONWIDTH"
1833 	,"lexem INCLUDE"
1834 	,"lexem INFONAME"
1835 	,"lexem INFO1"
1836 	,"lexem INFO2"
1837 	,"lexem INFO3"
1838 	,"lexem INPUTFUNCTION"
1839 	,"lexem INTERVAL"
1840 	,"lexem INVISIBLE"
1841 	,"lexem IN_FRONT"
1842 	,"lexem ISI"
1843 	,"lexem KHAKI"
1844 	,"lexem TEXTCOLOR"
1845 	,"lexem LABEL"
1846 	,"lexem LATE_LABELS"
1847 	,"lexem LAYOUTALGORITHM"
1848 	,"lexem LAYOUTFREQUENCY"
1849 	,"lexem LAYOUTPARAMETER"
1850 	,"lexem LAYOUTDOWNFACTOR"
1851 	,"lexem LAYOUTUPFACTOR"
1852 	,"lexem LAYOUTNEARFACTOR"
1853 	,"lexem LAYOUTSPLINEFACTOR"
1854 	,"lexem LEFT_JUSTIFY"
1855 	,"lexem LEFT_MARGIN"
1856 	,"lexem LEFT_NEIGHBOR"
1857 	,"lexem LEFT_TO_RIGHT"
1858 	,"lexem LEFT"
1859 	,"lexem LEVEL"
1860 	,"lexem VORDER"
1861 	,"lexem LIGHTBLUE"
1862 	,"lexem LIGHTCYAN"
1863 	,"lexem LIGHTGREEN"
1864 	,"lexem LIGHTGREY"
1865 	,"lexem LIGHTMAGENTA"
1866 	,"lexem LIGHTRED"
1867 	,"lexem LIGHTYELLOW"
1868 	,"lexem LILAC"
1869 	,"lexem LIMIT"
1870 	,"lexem LINE"
1871 	,"lexem LINESTYLE"
1872 	,"lexem LOC"
1873 	,"lexem LOWER_NEIGHBOR"
1874 	,"lexem LOW_MARGIN"
1875 	,"lexem LOW"
1876 	,"lexem MAGENTA"
1877 	,"lexem MANHATTEN"
1878 	,"lexem MANUAL"
1879 	,"lexem MAXDEPTHSLOW"
1880 	,"lexem MAXDEPTH"
1881 	,"lexem MAXDEGREE"
1882 	,"lexem MAXINDEGREE"
1883 	,"lexem MAXOUTDEGREE"
1884 	,"lexem MEDIAN"
1885 	,"lexem MEDIANBARY"
1886 	,"lexem MINDEPTHSLOW"
1887 	,"lexem MINDEPTH"
1888 	,"lexem MINDEGREE"
1889 	,"lexem MININDEGREE"
1890 	,"lexem MINOUTDEGREE"
1891 	,"lexem MINBACK"
1892 	,"lexem NAME"
1893 	,"lexem NEAREDGE"
1894 	,"lexem NEIGHBORS"
1895 	,"lexem NEAREDGES"
1896 	,"lexem NONEAREDGES"
1897 	,"lexem NODE1"
1898 	,"lexem NODE2"
1899 	,"lexem NODES"
1900 	,"lexem NODE_ALIGN"
1901 	,"lexem NONE"
1902 	,"lexem NO"
1903 	,"lexem ORANGE"
1904 	,"lexem ORCHID"
1905 	,"lexem ORIENTATION"
1906 	,"lexem OUTPUTFUNCTION"
1907 	,"lexem PFISH"
1908 	,"lexem PINK"
1909 	,"lexem PLANAR"
1910 	,"lexem PMIN"
1911 	,"lexem PMAX"
1912 	,"lexem PORTSHARING"
1913 	,"lexem PRIORITYPHASE"
1914 	,"lexem PRIORITY"
1915 	,"lexem PURPLE"
1916 	,"lexem RANGE"
1917 	,"lexem RED"
1918 	,"lexem RHOMB"
1919 	,"lexem RIGHT_JUSTIFY"
1920 	,"lexem RIGHT_MARGIN"
1921 	,"lexem RIGHT_NEIGHBOR"
1922 	,"lexem RIGHT_TO_LEFT"
1923 	,"lexem RIGHT"
1924 	,"lexem RMIN"
1925 	,"lexem RMAX"
1926 	,"lexem SCALING"
1927 	,"lexem SHAPE"
1928 	,"lexem SHRINK"
1929 	,"lexem SMAX"
1930 	,"lexem SMANHATTEN"
1931 	,"lexem SIZE"
1932 	,"lexem SMALLER"
1933 	,"lexem SOLID"
1934 	,"lexem SOURCENAME"
1935 	,"lexem SPLINES"
1936 	,"lexem SPREADLEVEL"
1937 	,"lexem STATUS"
1938 	,"lexem STRETCH"
1939 	,"lexem STRAIGHTPHASE"
1940 	,"lexem TARGETNAME"
1941 	,"lexem TEXTMODE"
1942 	,"lexem THICKNESS"
1943 	,"lexem TITLE"
1944 	,"lexem TOPSORT"
1945 	,"lexem TOP_MARGIN"
1946 	,"lexem TOP_TO_BOTTOM"
1947 	,"lexem TOP"
1948 	,"lexem TREE"
1949 	,"lexem TREEFACTOR"
1950 	,"lexem TRIANGLE"
1951 	,"lexem TURQUOISE"
1952 	,"lexem TYPENAME"
1953 	,"lexem UPPER_NEIGHBOR"
1954 	,"lexem VIEW"
1955 	,"lexem WHITE"
1956 	,"lexem WIDTH"
1957 	,"lexem XBASE"
1958 	,"lexem XMAX"
1959 	,"lexem XRASTER"
1960 	,"lexem XLRASTER"
1961 	,"lexem XSCROLLBAR"
1962 	,"lexem XSPACE"
1963 	,"lexem XLSPACE"
1964 	,"lexem YBASE"
1965 	,"lexem YELLOWGREEN"
1966 	,"lexem YELLOW"
1967 	,"lexem YES"
1968 	,"lexem YMAX"
1969 	,"lexem YRASTER"
1970 	,"lexem YSCROLLBAR"
1971 	,"lexem YSPACE"
1972 	,"lexem INT"
1973 	,"lexem FLOAT"
1974 	,"lexem CHAR"
1975 	,"lexem STRING"
1976 	,"'{'"
1977 	,"'}'"
1978 	,"':'"
1979 	,"'x'"
1980 	,"'y'"
1981 	,"'z'"
1982 	,"'*'"
1983 	,"'['"
1984 	,"'-'"
1985 	,"']'"
1986 	,"graph"
1987 	,"graph_entry_list"
1988 	,"graph_entry"
1989 	,"graph_attribute"
1990 	,"enum_color"
1991 	,"enum_topsort"
1992 	,"enum_orientation"
1993 	,"enum_layoutalgorithm"
1994 	,"enum_layoutfrequency"
1995 	,"enum_status"
1996 	,"enum_yes_no"
1997 	,"enum_cross_weight"
1998 	,"enum_view"
1999 	,"enum_arrow_mode"
2000 	,"foldnode_defaults"
2001 	,"foldedge_defaults"
2002 	,"node_defaults"
2003 	,"edge_defaults"
2004 	,"node"
2005 	,"node_attribute_list"
2006 	,"edge"
2007 	,"nearedge"
2008 	,"bentnearedge"
2009 	,"backedge"
2010 	,"edge_attribute_list"
2011 	,"constraint"
2012 	,"constraint_attribute_list"
2013 	,"node_attribute"
2014 	,"enum_textmode"
2015 	,"enum_shape"
2016 	,"enum_node_align"
2017 	,"enum_iconstyle"
2018 	,"edge_attribute"
2019 	,"enum_linestyle"
2020 	,"enum_arrowstyle"
2021 	,"constraint_attribute"
2022 	,"string_array"
2023 	,"enum_name"
2024 	,"enum_dimension"
2025 	,"attribute_value"
2026 	,"array_value"
2027 	,"index_value_list"
2028 	,"index_value"
2029 	,"range"
2030 	,"index"
2031 	,"int_const"
2032 	,"float_const"
2033 	,"str_const"
2034 	,""
2035 };
2036 
2037 
2038 #line 77 "/RW/esprit/users/sander/src/PARSEGEN/parse.skel"
2039 
2040 #ifndef yyerror
2041 #define yyerror(x) { \
2042 	(void)sprintf(message,"unexpected %s (%s)", \
2043 		 ((yychar<0)?"(?)":yytokname[YYTRANSLATE(yychar)]),x);  \
2044 	(void)printf("Line %d Pos %d: %s !\n",line_nr,pos_nr,message);\
2045 	nr_errors++;\
2046     }
2047 #endif
2048 
2049 #ifdef BISONGEN
2050 #ifndef yylocate
2051 #define yylocate(x) (&(x))
2052 #endif
2053 #endif
2054 
2055 #ifdef YACCGEN
2056 static YYLTYPE yystdlocation;
2057 
yystdloc(void)2058 static YYLTYPE *yystdloc(void)
2059 {   yystdlocation->first_line = yystdlocation->last_line = line_nr;
2060     yystdlocation->first_column = yystdlocation->last_column = pos_nr;
2061     return(&yystdlocation);
2062 }
2063 #ifndef yylocate
2064 #define yylocate(x) (yystdloc())
2065 #endif
2066 #endif /* YACCGEN */
2067 
2068 #ifndef yysyntaxtree
2069 #define yysyntaxtree char*
2070 #endif
2071 
2072 #define YY_NEVERNEEDED (@1)
2073 #undef  YY_NEVERNEEDED
2074 
2075 /*-------------------------------------------------------------*/
2076 /*               YACC or BISON Specification                   */
2077 /*-------------------------------------------------------------*/
2078 
2079 
2080 
2081 #line 1441 "grammar.pgs"
2082 
2083 
2084 #line 2079 "grammar.y"
2085 typedef union {
2086 	unsigned char      byte;
2087 	short int          snum;
2088 	unsigned short int usnum;
2089 	int                num;
2090 	unsigned int       unum;
2091 	long int           lnum;
2092 	unsigned long int  ulnum;
2093 	float              realnum;
2094 	double             lrealnum;
2095 	char              *string;
2096 	yysyntaxtree       tree;
2097 } YYSTYPE;
2098 
2099 #ifndef YYLTYPE
2100 typedef
2101   struct yyltype
2102     {
2103       int timestamp;
2104       int first_line;
2105       int first_column;
2106       int last_line;
2107       int last_column;
2108       char *text;
2109    }
2110   yyltype;
2111 
2112 #define YYLTYPE yyltype
2113 #endif
2114 
2115 #ifndef YYDEBUG
2116 #define YYDEBUG 1
2117 #endif
2118 
2119 #include <stdio.h>
2120 
2121 #ifndef __cplusplus
2122 #ifndef __STDC__
2123 #define const
2124 #endif
2125 #endif
2126 
2127 
2128 
2129 #define	YYFINAL		654
2130 #define	YYFLAG		-32768
2131 #define	YYNTBASE	248
2132 
2133 #define YYTRANSLATE(x) ((unsigned)(x) <= 492 ? yytranslate[x] : 296)
2134 
2135 static const short yytranslate[] = {     0,
2136      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2137      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2138      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2139      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2140      2,   244,     2,     2,   246,     2,     2,     2,     2,     2,
2141      2,     2,     2,     2,     2,     2,     2,   240,     2,     2,
2142      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2143      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2144      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2145    245,     2,   247,     2,     2,     2,     2,     2,     2,     2,
2146      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2147      2,     2,     2,     2,     2,     2,     2,     2,     2,   241,
2148    242,   243,   238,     2,   239,     2,     2,     2,     2,     2,
2149      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2150      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2151      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2152      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2153      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2154      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2155      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2156      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2157      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2158      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2159      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2160      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2161      2,     2,     2,     2,     2,     1,     2,     3,     4,     5,
2162      6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
2163     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2164     26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
2165     36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
2166     46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
2167     56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
2168     66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
2169     76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
2170     86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
2171     96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
2172    106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
2173    116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
2174    126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
2175    136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
2176    146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2177    156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
2178    166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
2179    176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
2180    186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
2181    196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2182    206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2183    216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
2184    226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
2185    236,   237
2186 };
2187 
2188 #if YYDEBUG != 0
2189 static const short yyprhs[] = {     0,
2190      0,     5,     8,    10,    12,    14,    16,    18,    20,    22,
2191     24,    26,    28,    30,    32,    34,    38,    42,    46,    50,
2192     54,    58,    62,    66,    70,    74,    78,    82,    86,    96,
2193    100,   104,   108,   112,   116,   120,   124,   128,   132,   136,
2194    140,   144,   148,   152,   156,   160,   164,   168,   172,   176,
2195    180,   184,   189,   194,   201,   205,   209,   213,   217,   221,
2196    225,   229,   233,   237,   241,   245,   249,   253,   257,   261,
2197    263,   267,   271,   275,   279,   283,   287,   291,   295,   299,
2198    303,   307,   311,   315,   319,   323,   327,   331,   335,   339,
2199    343,   347,   351,   355,   359,   363,   367,   371,   375,   379,
2200    383,   387,   389,   391,   393,   395,   397,   399,   401,   403,
2201    405,   407,   409,   411,   413,   415,   417,   419,   421,   423,
2202    425,   427,   429,   431,   433,   435,   437,   439,   441,   443,
2203    445,   447,   449,   451,   453,   455,   457,   459,   461,   463,
2204    465,   467,   469,   471,   473,   475,   477,   479,   481,   483,
2205    485,   487,   489,   491,   493,   495,   497,   499,   501,   503,
2206    505,   507,   509,   511,   513,   515,   517,   519,   521,   523,
2207    525,   527,   529,   531,   533,   536,   539,   542,   545,   550,
2208    553,   555,   560,   565,   570,   575,   578,   580,   585,   588,
2209    590,   594,   598,   602,   606,   610,   614,   618,   622,   626,
2210    630,   634,   638,   642,   646,   650,   660,   664,   668,   672,
2211    676,   680,   684,   688,   692,   696,   700,   704,   708,   710,
2212    712,   714,   716,   718,   720,   722,   724,   726,   728,   730,
2213    732,   734,   738,   742,   746,   750,   754,   758,   762,   766,
2214    770,   774,   778,   782,   786,   790,   794,   798,   802,   806,
2215    810,   814,   818,   820,   822,   824,   826,   828,   830,   832,
2216    834,   838,   842,   846,   852,   856,   860,   864,   867,   869,
2217    871,   873,   875,   877,   879,   881,   883,   885,   887,   889,
2218    891,   893,   895,   897,   899,   901,   903,   905,   907,   909,
2219    911,   913,   915,   917,   919,   921,   923,   925,   927,   929,
2220    931,   933,   935,   937,   941,   944,   946,   948,   952,   956,
2221    960,   966,   968,   970,   972
2222 };
2223 
2224 static const short yyrhs[] = {    81,
2225    238,   249,   239,     0,   249,   250,     0,   250,     0,   251,
2226      0,   264,     0,   265,     0,   262,     0,   263,     0,   248,
2227      0,   266,     0,   268,     0,   269,     0,   270,     0,   271,
2228      0,   273,     0,   205,   240,   295,     0,   107,   240,   295,
2229      0,    97,   240,   295,     0,    98,   240,   295,     0,    99,
2230    240,   295,     0,    41,   240,   252,     0,   106,   240,   252,
2231      0,    26,   240,   252,     0,   218,   240,   293,     0,    85,
2232    240,   293,     0,    27,   240,   293,     0,   241,   240,   293,
2233      0,   242,   240,   293,     0,   134,   238,   241,   240,   293,
2234    242,   240,   293,   239,     0,    78,   240,   293,     0,   188,
2235    240,   294,     0,   190,   240,   293,     0,   200,   240,   293,
2236      0,   203,   240,   276,     0,   189,   240,   277,     0,   121,
2237    240,   293,     0,   122,   240,   293,     0,    90,   240,   293,
2238      0,   199,   240,   257,     0,   220,   240,   293,     0,   230,
2239    240,   293,     0,   219,   240,   293,     0,   226,   240,   293,
2240      0,   224,   240,   293,     0,   225,   240,   293,     0,   233,
2241    240,   293,     0,   221,   240,   293,     0,   222,   240,   293,
2242      0,   231,   240,   293,     0,   102,   240,   293,     0,    89,
2243    240,   293,     0,    35,   293,   240,   295,     0,    96,   293,
2244    240,   295,     0,    40,   293,   240,   293,   293,   293,     0,
2245    109,   240,   255,     0,   110,   240,   256,     0,   112,   240,
2246    293,     0,   113,   240,   293,     0,   114,   240,   293,     0,
2247    115,   240,   293,     0,   108,   240,   258,     0,    60,   240,
2248    258,     0,    59,   240,   258,     0,    75,   240,   258,     0,
2249     86,   240,   258,     0,   201,   240,   258,     0,   175,   240,
2250    258,     0,   139,   240,   258,     0,   192,   240,   258,     0,
2251    158,     0,   157,   240,   164,     0,   157,   240,   229,     0,
2252    167,   240,   254,     0,   162,   240,   278,     0,   174,   240,
2253    258,     0,     8,   240,   261,     0,   198,   240,   293,     0,
2254    211,   240,   294,     0,    47,   240,   258,     0,    46,   240,
2255    258,     0,    45,   240,   259,     0,   216,   240,   260,     0,
2256     64,   240,   258,     0,   161,   240,   258,     0,   197,   240,
2257    258,     0,    25,   240,   293,     0,    39,   240,   293,     0,
2258     38,   240,   293,     0,   173,   240,   293,     0,   172,   240,
2259    293,     0,   187,   240,   293,     0,   186,   240,   293,     0,
2260    191,   240,   293,     0,   214,   240,   295,     0,    95,   240,
2261    295,     0,   111,   240,   288,     0,   206,   240,   253,     0,
2262    100,   240,   295,     0,   168,   240,   295,     0,   223,   240,
2263    293,     0,   232,   240,   293,     0,     6,     0,    23,     0,
2264     24,     0,    48,     0,    49,     0,    50,     0,    51,     0,
2265     52,     0,    53,     0,    54,     0,    55,     0,    80,     0,
2266     83,     0,   105,     0,   123,     0,   124,     0,   125,     0,
2267    126,     0,   127,     0,   128,     0,   129,     0,   130,     0,
2268    138,     0,   165,     0,   166,     0,   170,     0,   177,     0,
2269    179,     0,   213,     0,   217,     0,   228,     0,   227,     0,
2270    293,     0,    88,     0,   137,     0,   208,     0,    29,     0,
2271    119,     0,   184,     0,    18,     0,   104,     0,   171,     0,
2272     42,     0,   210,     0,   142,     0,   149,     0,   141,     0,
2273    148,     0,   143,     0,   150,     0,   144,     0,   151,     0,
2274    145,     0,   152,     0,   153,     0,    57,     0,    70,     0,
2275    140,     0,    23,     0,    84,     0,   217,     0,   229,     0,
2276    164,     0,    19,     0,   146,     0,    20,     0,   147,     0,
2277     34,     0,    71,     0,   169,     0,    72,     0,    73,     0,
2278     74,     0,    77,   275,     0,    76,   280,     0,   159,   275,
2279      0,    62,   280,     0,   160,   238,   267,   239,     0,   267,
2280    275,     0,   275,     0,    63,   238,   272,   239,     0,   155,
2281    238,   272,   239,     0,    32,   238,   272,   239,     0,    17,
2282    238,   272,   239,     0,   272,   280,     0,   280,     0,    43,
2283    238,   274,   239,     0,   274,   283,     0,   283,     0,   205,
2284    240,   295,     0,   107,   240,   295,     0,    97,   240,   295,
2285      0,    98,   240,   295,     0,    99,   240,   295,     0,    79,
2286    240,   295,     0,    41,   240,   252,     0,   106,   240,   252,
2287      0,    26,   240,   252,     0,    91,   240,   295,     0,     4,
2288    240,   295,     0,   214,   240,   295,     0,   218,   240,   293,
2289      0,    85,   240,   293,     0,    27,   240,   293,     0,   134,
2290    238,   241,   240,   293,   242,   240,   293,   239,     0,    78,
2291    240,   293,     0,   188,   240,   294,     0,   190,   240,   293,
2292      0,   200,   240,   293,     0,    94,   240,   293,     0,    92,
2293    240,   293,     0,   203,   240,   276,     0,    93,   240,   279,
2294      0,   189,   240,   277,     0,   121,   240,   293,     0,   122,
2295    240,   293,     0,    90,   240,   293,     0,    33,     0,   116,
2296      0,   181,     0,    31,     0,   180,     0,    65,     0,   212,
2297      0,    30,     0,   209,     0,    33,     0,    30,     0,   209,
2298      0,     7,     0,   196,   240,   295,     0,   202,   240,   295,
2299      0,   107,   240,   295,     0,   106,   240,   252,     0,    79,
2300    240,   295,     0,    41,   240,   252,     0,   214,   240,   295,
2301      0,   204,   240,   293,     0,    36,   240,   293,     0,   176,
2302    240,   293,     0,    10,   240,   293,     0,     9,   240,   293,
2303      0,    11,   240,   252,     0,    14,   240,   252,     0,    13,
2304    240,   293,     0,    16,   240,   293,     0,    12,   240,   282,
2305      0,    15,   240,   282,     0,   133,   240,   281,     0,     5,
2306    240,   293,     0,    90,   240,   293,     0,    44,     0,   195,
2307      0,    61,     0,    56,     0,   102,     0,   163,     0,   132,
2308      0,   195,     0,   205,   240,   295,     0,   176,   240,   293,
2309      0,   193,   240,   293,     0,   161,   240,   238,   284,   239,
2310      0,   101,   240,   288,     0,   154,   240,   285,     0,    58,
2311    240,   286,     0,   284,   295,     0,   295,     0,    69,     0,
2312    194,     0,    82,     0,   156,     0,   136,     0,    87,     0,
2313    178,     0,    37,     0,   131,     0,     3,     0,    22,     0,
2314    120,     0,   185,     0,   103,     0,    21,     0,    67,     0,
2315     68,     0,    66,     0,   207,     0,    28,     0,   117,     0,
2316    182,     0,   215,     0,   135,     0,   118,     0,   183,     0,
2317    241,     0,   242,     0,   243,     0,   234,     0,   235,     0,
2318    236,     0,   237,     0,   288,     0,   238,   289,   239,     0,
2319    289,   290,     0,   290,     0,   287,     0,   292,   240,   287,
2320      0,   291,   240,   287,     0,   244,   240,   287,     0,   245,
2321    293,   246,   293,   247,     0,   234,     0,   234,     0,   235,
2322      0,   237,     0
2323 };
2324 
2325 #endif
2326 
2327 #if YYDEBUG != 0
2328 static const short yyrline[] = { 0,
2329   2155,  2162,  2166,  2173,  2176,  2179,  2182,  2185,  2188,  2191,
2330   2194,  2197,  2200,  2203,  2206,  2212,  2216,  2220,  2224,  2228,
2331   2232,  2236,  2240,  2244,  2248,  2252,  2256,  2259,  2262,  2266,
2332   2270,  2274,  2278,  2282,  2286,  2290,  2294,  2298,  2302,  2307,
2333   2311,  2315,  2319,  2323,  2327,  2331,  2335,  2339,  2343,  2347,
2334   2351,  2355,  2359,  2363,  2368,  2372,  2376,  2380,  2384,  2388,
2335   2393,  2397,  2401,  2405,  2409,  2413,  2417,  2421,  2425,  2429,
2336   2432,  2436,  2440,  2444,  2448,  2452,  2457,  2461,  2466,  2470,
2337   2474,  2479,  2483,  2487,  2491,  2496,  2500,  2504,  2508,  2512,
2338   2516,  2520,  2524,  2529,  2533,  2537,  2541,  2545,  2549,  2553,
2339   2557,  2564,  2567,  2570,  2573,  2576,  2579,  2582,  2585,  2588,
2340   2591,  2594,  2597,  2600,  2603,  2606,  2609,  2612,  2615,  2618,
2341   2621,  2624,  2627,  2630,  2633,  2636,  2639,  2642,  2645,  2648,
2342   2651,  2654,  2657,  2660,  2666,  2669,  2675,  2678,  2681,  2684,
2343   2690,  2694,  2697,  2700,  2704,  2707,  2710,  2713,  2716,  2719,
2344   2722,  2725,  2728,  2731,  2734,  2737,  2740,  2746,  2750,  2756,
2345   2759,  2762,  2768,  2771,  2776,  2779,  2782,  2785,  2790,  2793,
2346   2796,  2799,  2804,  2807,  2812,  2818,  2824,  2830,  2837,  2844,
2347   2848,  2855,  2861,  2867,  2873,  2880,  2884,  2891,  2898,  2903,
2348   2910,  2914,  2918,  2922,  2926,  2930,  2934,  2938,  2942,  2946,
2349   2950,  2954,  2958,  2962,  2966,  2970,  2974,  2978,  2982,  2986,
2350   2990,  2994,  2998,  3002,  3006,  3010,  3014,  3018,  3024,  3027,
2351   3030,  3035,  3038,  3041,  3044,  3049,  3052,  3055,  3060,  3063,
2352   3066,  3072,  3076,  3080,  3084,  3088,  3092,  3096,  3100,  3104,
2353   3108,  3112,  3116,  3120,  3124,  3128,  3132,  3136,  3140,  3144,
2354   3148,  3152,  3159,  3162,  3165,  3168,  3171,  3177,  3180,  3183,
2355   3188,  3192,  3196,  3200,  3204,  3208,  3212,  3218,  3222,  3227,
2356   3230,  3233,  3236,  3239,  3242,  3245,  3248,  3251,  3254,  3257,
2357   3260,  3263,  3266,  3269,  3272,  3275,  3278,  3281,  3284,  3287,
2358   3290,  3293,  3296,  3299,  3302,  3307,  3310,  3313,  3318,  3321,
2359   3324,  3327,  3330,  3335,  3341,  3345,  3350,  3353,  3357,  3361,
2360   3367,  3373,  3378,  3383,  3388
2361 };
2362 
2363 static const char * const yytname[] = {   "$","error","$illegal.","LEXWORD_ABOVE",
2364 "LEXWORD_ANCHORPOINTS","LEXWORD_ANCHOR","LEXWORD_AQUAMARINE","LEXWORD_AROUND",
2365 "LEXWORD_ARROWMODE","LEXWORD_ARROWHEIGHT","LEXWORD_ARROWWIDTH","LEXWORD_ARROWCOLOR",
2366 "LEXWORD_ARROWSTYLE","LEXWORD_ARROWSIZE","LEXWORD_BARROWCOLOR","LEXWORD_BARROWSTYLE",
2367 "LEXWORD_BARROWSIZE","LEXWORD_BACKEDGE","LEXWORD_BARYCENTER","LEXWORD_BARY",
2368 "LEXWORD_BARYMEDIAN","LEXWORD_BEHIND","LEXWORD_BELOW","LEXWORD_BLACK","LEXWORD_BLUE",
2369 "LEXWORD_BMAX","LEXWORD_BORDERCOLOR","LEXWORD_BORDERWIDTH","LEXWORD_BOTTOM_MARGIN",
2370 "LEXWORD_BOTTOM_TO_TOP","LEXWORD_BOTTOM","LEXWORD_BOX","LEXWORD_BENTNEAREDGE",
2371 "LEXWORD_CENTER","LEXWORD_CFISH","LEXWORD_CLASSNAME","LEXWORD_CLASS","LEXWORD_CLUSTER",
2372 "LEXWORD_CMIN","LEXWORD_CMAX","LEXWORD_COLORENTRY","LEXWORD_COLOR","LEXWORD_CONSTRAINTS",
2373 "LEXWORD_CONSTRAINT","LEXWORD_CONTINUOUS","LEXWORD_CROSSING_WEIGHT","LEXWORD_CROSSING_OPT",
2374 "LEXWORD_CROSSING_P2","LEXWORD_CYAN","LEXWORD_DARKBLUE","LEXWORD_DARKCYAN","LEXWORD_DARKGREEN",
2375 "LEXWORD_DARKGREY","LEXWORD_DARKMAGENTA","LEXWORD_DARKRED","LEXWORD_DARKYELLOW",
2376 "LEXWORD_DASHED","LEXWORD_DFS","LEXWORD_DIMENSION","LEXWORD_DIRTY_EDGE_LABELS",
2377 "LEXWORD_DISPLAY_EDGE_LABELS","LEXWORD_DOTTED","LEXWORD_EDGE1","LEXWORD_EDGE2",
2378 "LEXWORD_EDGES","LEXWORD_ELLIPSE","LEXWORD_EQUAL_COLUMN","LEXWORD_EQUAL_POSITION",
2379 "LEXWORD_EQUAL_ROW","LEXWORD_EQUAL","LEXWORD_EVERY","LEXWORD_FCFISH","LEXWORD_FPFISH",
2380 "LEXWORD_FIXED","LEXWORD_FREE","LEXWORD_FINETUNING","LEXWORD_FOLDEDGE","LEXWORD_FOLDNODE",
2381 "LEXWORD_FOLDING","LEXWORD_FONTNAME","LEXWORD_GOLD","LEXWORD_GRAPH","LEXWORD_GREATER",
2382 "LEXWORD_GREEN","LEXWORD_GREY","LEXWORD_HEIGHT","LEXWORD_HIDESINGLES","LEXWORD_HIGH_MARGIN",
2383 "LEXWORD_HIGH","LEXWORD_HIDDEN","LEXWORD_HORDER","LEXWORD_ICONFILE","LEXWORD_ICONHEIGHT",
2384 "LEXWORD_ICONSTYLE","LEXWORD_ICONWIDTH","LEXWORD_INCLUDE","LEXWORD_INFONAME",
2385 "LEXWORD_INFO1","LEXWORD_INFO2","LEXWORD_INFO3","LEXWORD_INPUTFUNCTION","LEXWORD_INTERVAL",
2386 "LEXWORD_INVISIBLE","LEXWORD_IN_FRONT","LEXWORD_ISI","LEXWORD_KHAKI","LEXWORD_TEXTCOLOR",
2387 "LEXWORD_LABEL","LEXWORD_LATE_LABELS","LEXWORD_LAYOUTALGORITHM","LEXWORD_LAYOUTFREQUENCY",
2388 "LEXWORD_LAYOUTPARAMETER","LEXWORD_LAYOUTDOWNFACTOR","LEXWORD_LAYOUTUPFACTOR",
2389 "LEXWORD_LAYOUTNEARFACTOR","LEXWORD_LAYOUTSPLINEFACTOR","LEXWORD_LEFT_JUSTIFY",
2390 "LEXWORD_LEFT_MARGIN","LEXWORD_LEFT_NEIGHBOR","LEXWORD_LEFT_TO_RIGHT","LEXWORD_LEFT",
2391 "LEXWORD_LEVEL","LEXWORD_VORDER","LEXWORD_LIGHTBLUE","LEXWORD_LIGHTCYAN","LEXWORD_LIGHTGREEN",
2392 "LEXWORD_LIGHTGREY","LEXWORD_LIGHTMAGENTA","LEXWORD_LIGHTRED","LEXWORD_LIGHTYELLOW",
2393 "LEXWORD_LILAC","LEXWORD_LIMIT","LEXWORD_LINE","LEXWORD_LINESTYLE","LEXWORD_LOC",
2394 "LEXWORD_LOWER_NEIGHBOR","LEXWORD_LOW_MARGIN","LEXWORD_LOW","LEXWORD_MAGENTA",
2395 "LEXWORD_MANHATTEN","LEXWORD_MANUAL","LEXWORD_MAXDEPTHSLOW","LEXWORD_MAXDEPTH",
2396 "LEXWORD_MAXDEGREE","LEXWORD_MAXINDEGREE","LEXWORD_MAXOUTDEGREE","LEXWORD_MEDIAN",
2397 "LEXWORD_MEDIANBARY","LEXWORD_MINDEPTHSLOW","LEXWORD_MINDEPTH","LEXWORD_MINDEGREE",
2398 "LEXWORD_MININDEGREE","LEXWORD_MINOUTDEGREE","LEXWORD_MINBACK","LEXWORD_NAME",
2399 "LEXWORD_NEAREDGE","LEXWORD_NEIGHBORS","LEXWORD_NEAREDGES","LEXWORD_NONEAREDGES",
2400 "LEXWORD_NODE1","LEXWORD_NODE2","LEXWORD_NODES","LEXWORD_NODE_ALIGN","LEXWORD_NONE",
2401 "LEXWORD_NO","LEXWORD_ORANGE","LEXWORD_ORCHID","LEXWORD_ORIENTATION","LEXWORD_OUTPUTFUNCTION",
2402 "LEXWORD_PFISH","LEXWORD_PINK","LEXWORD_PLANAR","LEXWORD_PMIN","LEXWORD_PMAX",
2403 "LEXWORD_PORTSHARING","LEXWORD_PRIORITYPHASE","LEXWORD_PRIORITY","LEXWORD_PURPLE",
2404 "LEXWORD_RANGE","LEXWORD_RED","LEXWORD_RHOMB","LEXWORD_RIGHT_JUSTIFY","LEXWORD_RIGHT_MARGIN",
2405 "LEXWORD_RIGHT_NEIGHBOR","LEXWORD_RIGHT_TO_LEFT","LEXWORD_RIGHT","LEXWORD_RMIN",
2406 "LEXWORD_RMAX","LEXWORD_SCALING","LEXWORD_SHAPE","LEXWORD_SHRINK","LEXWORD_SMAX",
2407 "LEXWORD_SMANHATTEN","LEXWORD_SIZE","LEXWORD_SMALLER","LEXWORD_SOLID","LEXWORD_SOURCENAME",
2408 "LEXWORD_SPLINES","LEXWORD_SPREADLEVEL","LEXWORD_STATUS","LEXWORD_STRETCH","LEXWORD_STRAIGHTPHASE",
2409 "LEXWORD_TARGETNAME","LEXWORD_TEXTMODE","LEXWORD_THICKNESS","LEXWORD_TITLE",
2410 "LEXWORD_TOPSORT","LEXWORD_TOP_MARGIN","LEXWORD_TOP_TO_BOTTOM","LEXWORD_TOP",
2411 "LEXWORD_TREE","LEXWORD_TREEFACTOR","LEXWORD_TRIANGLE","LEXWORD_TURQUOISE","LEXWORD_TYPENAME",
2412 "LEXWORD_UPPER_NEIGHBOR","LEXWORD_VIEW","LEXWORD_WHITE","LEXWORD_WIDTH","LEXWORD_XBASE",
2413 "LEXWORD_XMAX","LEXWORD_XRASTER","LEXWORD_XLRASTER","LEXWORD_XSCROLLBAR","LEXWORD_XSPACE",
2414 "LEXWORD_XLSPACE","LEXWORD_YBASE","LEXWORD_YELLOWGREEN","LEXWORD_YELLOW","LEXWORD_YES",
2415 "LEXWORD_YMAX","LEXWORD_YRASTER","LEXWORD_YSCROLLBAR","LEXWORD_YSPACE","LEX_INT",
2416 "LEX_FLOAT","LEX_CHAR","LEX_STRING","'{'","'}'","':'","'x'","'y'","'z'","'*'",
2417 "'['","'-'","']'","graph","graph_entry_list","graph_entry","graph_attribute",
2418 "enum_color","enum_topsort","enum_orientation","enum_layoutalgorithm","enum_layoutfrequency",
2419 "enum_status","enum_yes_no","enum_cross_weight","enum_view","enum_arrow_mode",
2420 "foldnode_defaults","foldedge_defaults","node_defaults","edge_defaults","node",
2421 "node_attribute_list","edge","nearedge","bentnearedge","backedge","edge_attribute_list",
2422 "constraint","constraint_attribute_list","node_attribute","enum_textmode","enum_shape",
2423 "enum_node_align","enum_iconstyle","edge_attribute","enum_linestyle","enum_arrowstyle",
2424 "constraint_attribute","string_array","enum_name","enum_dimension","attribute_value",
2425 "array_value","index_value_list","index_value","range","index","int_const","float_const",
2426 "str_const",""
2427 };
2428 #endif
2429 
2430 static const short yyr1[] = {     0,
2431    248,   249,   249,   250,   250,   250,   250,   250,   250,   250,
2432    250,   250,   250,   250,   250,   251,   251,   251,   251,   251,
2433    251,   251,   251,   251,   251,   251,   251,   251,   251,   251,
2434    251,   251,   251,   251,   251,   251,   251,   251,   251,   251,
2435    251,   251,   251,   251,   251,   251,   251,   251,   251,   251,
2436    251,   251,   251,   251,   251,   251,   251,   251,   251,   251,
2437    251,   251,   251,   251,   251,   251,   251,   251,   251,   251,
2438    251,   251,   251,   251,   251,   251,   251,   251,   251,   251,
2439    251,   251,   251,   251,   251,   251,   251,   251,   251,   251,
2440    251,   251,   251,   251,   251,   251,   251,   251,   251,   251,
2441    251,   252,   252,   252,   252,   252,   252,   252,   252,   252,
2442    252,   252,   252,   252,   252,   252,   252,   252,   252,   252,
2443    252,   252,   252,   252,   252,   252,   252,   252,   252,   252,
2444    252,   252,   252,   252,   253,   253,   254,   254,   254,   254,
2445    255,   255,   255,   255,   255,   255,   255,   255,   255,   255,
2446    255,   255,   255,   255,   255,   255,   255,   256,   256,   257,
2447    257,   257,   258,   258,   259,   259,   259,   259,   260,   260,
2448    260,   260,   261,   261,   262,   263,   264,   265,   266,   267,
2449    267,   268,   269,   270,   271,   272,   272,   273,   274,   274,
2450    275,   275,   275,   275,   275,   275,   275,   275,   275,   275,
2451    275,   275,   275,   275,   275,   275,   275,   275,   275,   275,
2452    275,   275,   275,   275,   275,   275,   275,   275,   276,   276,
2453    276,   277,   277,   277,   277,   278,   278,   278,   279,   279,
2454    279,   280,   280,   280,   280,   280,   280,   280,   280,   280,
2455    280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
2456    280,   280,   281,   281,   281,   281,   281,   282,   282,   282,
2457    283,   283,   283,   283,   283,   283,   283,   284,   284,   285,
2458    285,   285,   285,   285,   285,   285,   285,   285,   285,   285,
2459    285,   285,   285,   285,   285,   285,   285,   285,   285,   285,
2460    285,   285,   285,   285,   285,   286,   286,   286,   287,   287,
2461    287,   287,   287,   288,   289,   289,   290,   290,   290,   290,
2462    291,   292,   293,   294,   295
2463 };
2464 
2465 static const short yyr2[] = {     0,
2466      4,     2,     1,     1,     1,     1,     1,     1,     1,     1,
2467      1,     1,     1,     1,     1,     3,     3,     3,     3,     3,
2468      3,     3,     3,     3,     3,     3,     3,     3,     9,     3,
2469      3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
2470      3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
2471      3,     4,     4,     6,     3,     3,     3,     3,     3,     3,
2472      3,     3,     3,     3,     3,     3,     3,     3,     3,     1,
2473      3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
2474      3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
2475      3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
2476      3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2477      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2478      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2479      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2480      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2481      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2482      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2483      1,     1,     1,     1,     2,     2,     2,     2,     4,     2,
2484      1,     4,     4,     4,     4,     2,     1,     4,     2,     1,
2485      3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
2486      3,     3,     3,     3,     3,     9,     3,     3,     3,     3,
2487      3,     3,     3,     3,     3,     3,     3,     3,     1,     1,
2488      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2489      1,     3,     3,     3,     3,     3,     3,     3,     3,     3,
2490      3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
2491      3,     3,     1,     1,     1,     1,     1,     1,     1,     1,
2492      3,     3,     3,     5,     3,     3,     3,     2,     1,     1,
2493      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2494      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2495      1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2496      1,     1,     1,     3,     2,     1,     1,     3,     3,     3,
2497      5,     1,     1,     1,     1
2498 };
2499 
2500 static const short yydefact[] = {     0,
2501      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2502      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2503      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2504      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2505      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2506      0,     0,     0,    70,     0,     0,     0,     0,     0,     0,
2507      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2508      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2509      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2510      0,     0,     0,     0,     0,     0,     0,     9,     0,     3,
2511      4,     7,     8,     5,     6,    10,    11,    12,    13,    14,
2512     15,     0,     0,     0,     0,     0,     0,   313,     0,     0,
2513      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2514      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2515      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2516    178,     0,     0,     0,   176,     0,     0,     0,     0,     0,
2517      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2518      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2519      0,     0,     0,   175,     0,     0,     0,     0,     0,     0,
2520      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2521      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2522      0,     0,   177,     0,     0,     0,     0,     0,     0,     0,
2523      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2524      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2525      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2526      0,     0,     0,     0,     0,     1,     2,   173,   174,    76,
2527      0,   187,    86,   102,   103,   104,   105,   106,   107,   108,
2528    109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
2529    119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
2530    129,   130,   131,   133,   132,    23,   134,    26,     0,     0,
2531     88,    87,     0,    21,     0,     0,     0,     0,     0,     0,
2532      0,     0,   190,   165,   167,   166,   168,    81,   164,   163,
2533     80,    79,    63,    62,     0,     0,     0,     0,     0,     0,
2534      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2535      0,     0,     0,     0,     0,     0,    83,    64,     0,     0,
2536      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2537      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2538      0,     0,     0,     0,     0,     0,    30,    25,    65,    51,
2539     38,   315,    95,     0,    18,    19,    20,    98,    50,    22,
2540     17,    61,   141,   144,   157,   142,   148,   146,   150,   152,
2541    154,   149,   147,   151,   153,   155,   156,   143,   145,    55,
2542    158,   159,    56,     0,    96,    57,    58,    59,    60,    36,
2543     37,     0,    68,     0,    71,    72,     0,   181,    84,   226,
2544    228,   227,    74,   138,   139,   140,   137,    73,    99,    90,
2545     89,    75,    67,    92,    91,   314,    31,   222,   224,   223,
2546    225,    35,    32,    93,    69,    85,    77,   160,   161,   162,
2547     39,    33,    66,   219,   220,   221,    34,    16,   135,   136,
2548     97,    78,    94,   169,   170,   172,   171,    82,    24,    42,
2549     40,    47,    48,   100,    44,    45,    43,    41,    49,   101,
2550     46,    27,    28,   185,   186,   184,    52,     0,     0,     0,
2551      0,     0,     0,     0,     0,   188,   189,   251,   243,   242,
2552    244,   259,   258,   260,   248,   246,   245,   249,   247,   240,
2553    237,   236,   252,   235,   234,   253,   256,   255,   257,   254,
2554    250,   241,   232,   233,   239,   238,   182,   201,   199,   205,
2555    197,   207,   196,   204,   218,   200,   212,   231,   229,   230,
2556    214,   211,   193,   194,   195,   198,   192,   216,   217,     0,
2557    208,   215,   209,   210,   213,   191,   202,   203,    53,   299,
2558    300,   301,   302,     0,     0,   307,   303,     0,   306,     0,
2559      0,     0,   183,   179,   180,     0,   296,   297,   298,   267,
2560    265,   279,   284,   280,   289,   277,   287,   285,   286,   270,
2561    272,   275,   283,   290,   294,   281,   278,   293,   274,   273,
2562    276,   291,   295,   282,   271,   288,   292,   266,     0,   262,
2563    263,   261,     0,     0,     0,   304,   305,     0,     0,     0,
2564     54,     0,   269,     0,   299,   310,     0,   309,   308,     0,
2565    264,   268,     0,     0,     0,     0,   311,     0,     0,    29,
2566    206,     0,     0,     0
2567 };
2568 
2569 static const short yydefgoto[] = {    98,
2570     99,   100,   101,   296,   471,   438,   410,   413,   461,   321,
2571    318,   478,   260,   102,   103,   104,   105,   106,   427,   107,
2572    108,   109,   110,   261,   111,   312,   184,   467,   452,   433,
2573    551,   262,   531,   515,   313,   632,   618,   590,   576,   577,
2574    578,   579,   580,   581,   297,   447,   383
2575 };
2576 
2577 static const short yypact[] = {   -45,
2578   -200,   763,  -198,  -194,  -190,  -185,  -182,  -179,  -174,  -171,
2579   -155,  -174,  -154,  -150,  -149,  -143,  -138,  -134,  -123,  1275,
2580   -148,  -122,  -120,  1275,     2,  -118,  -114,  -108,  -105,   -95,
2581    -85,  -174,   -84,   -82,   -81,   -78,   -75,   -74,   -73,   -72,
2582    -66,   -65,   -59,   -58,   -57,   -56,   -52,   -37,   -36,  -104,
2583    -32,   -25,   -28,-32768,     2,   -13,   -17,   -14,     7,     8,
2584     10,    11,    13,    14,    16,    18,    21,    25,    27,    28,
2585     29,    31,    32,    37,    39,    40,    41,    45,    49,    50,
2586     51,    52,    53,    57,    58,    60,    61,    62,    63,    64,
2587     66,    67,    68,    69,    70,    71,    72,-32768,   544,-32768,
2588 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
2589 -32768,   -49,  1275,  -174,  1214,  -174,  1275,-32768,    73,  -174,
2590   -174,    74,  1214,    24,    26,  -146,  -146,  -146,  -146,    79,
2591     80,    82,    83,    87,    89,    90,    91,    96,    99,   100,
2592    101,   103,   105,   110,   116,   119,   120,   121,   124,   126,
2593 -32768,  1275,  -146,  -146,-32768,   128,   129,   130,   131,   132,
2594    133,   135,   136,   138,   141,   142,   143,   144,   145,   146,
2595    147,   148,   151,   152,   -11,   153,   154,   155,   157,   158,
2596    159,   160,   166,-32768,  -174,  -174,  -146,  -174,  -174,  -197,
2597    167,  -197,  -197,  -197,  -197,  -174,  1214,  -197,  -146,    -1,
2598    -61,   -10,  -174,  -174,  -174,  -174,  -174,  -174,   -77,  -146,
2599   1275,  -145,-32768,     2,  -146,   -20,   -15,  -197,  -174,  -174,
2600   -146,  -146,  -174,  -174,  -168,   -26,  -174,  -174,  -146,  -146,
2601   -174,   -16,  -174,  -146,   -18,  -197,   -67,  -168,  -197,   -23,
2602   -174,  -174,  -174,  -174,  -174,  -174,  -174,  -174,  -174,  -174,
2603   -174,  -174,  -174,  -174,  -174,-32768,-32768,-32768,-32768,-32768,
2604    997,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
2605 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
2606 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
2607 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  1010,  -197,
2608 -32768,-32768,  -174,-32768,   174,   175,   176,   179,   180,   181,
2609    182,   172,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
2610 -32768,-32768,-32768,-32768,  -174,  -174,  -174,  1214,  -106,  -174,
2611   1214,  -106,  -174,  -174,  1214,  -197,  -174,  1214,  -197,   -24,
2612   -174,  -197,  -197,  -174,  -197,  1043,-32768,-32768,  -197,  1214,
2613   -174,  1214,  -174,  -197,  -174,  -174,  -197,  -174,    -3,  -174,
2614   -197,  -197,  -197,  1214,  -197,  -174,  -174,   183,  -168,   -26,
2615   -174,  -174,   -18,  -197,  -197,  -174,-32768,-32768,-32768,-32768,
2616 -32768,-32768,-32768,  -197,-32768,-32768,-32768,-32768,-32768,-32768,
2617 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
2618 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
2619 -32768,-32768,-32768,  -107,-32768,-32768,-32768,-32768,-32768,-32768,
2620 -32768,   187,-32768,  1056,-32768,-32768,   311,-32768,-32768,-32768,
2621 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
2622 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
2623 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
2624 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
2625 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
2626 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
2627 -32768,-32768,-32768,-32768,-32768,-32768,-32768,  -174,  -189,   -10,
2628   1280,    -7,  -174,  -174,  -197,-32768,-32768,-32768,-32768,-32768,
2629 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
2630 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
2631 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
2632 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
2633 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   188,
2634 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   189,
2635 -32768,-32768,-32768,   190,  -174,-32768,-32768,  -173,-32768,   191,
2636    194,  -174,-32768,-32768,-32768,  -174,-32768,-32768,-32768,-32768,
2637 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
2638 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
2639 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  -197,-32768,
2640 -32768,-32768,  -174,  -161,  -113,-32768,-32768,  -161,  -161,   193,
2641 -32768,  -206,-32768,   195,-32768,-32768,  -174,-32768,-32768,   198,
2642 -32768,-32768,   199,   196,  -174,  -174,-32768,   184,   201,-32768,
2643 -32768,   442,   444,-32768
2644 };
2645 
2646 static const short yypgoto[] = {   446,
2647 -32768,   350,-32768,   -76,-32768,-32768,-32768,-32768,-32768,   226,
2648 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
2649 -32768,-32768,-32768,  -101,-32768,-32768,   -53,    77,    81,-32768,
2650 -32768,   -12,-32768,   122,   140,-32768,-32768,-32768,  -594,  -201,
2651 -32768,  -125,-32768,-32768,    -9,  -216,   -79
2652 };
2653 
2654 
2655 #define	YYLAST		1495
2656 
2657 
2658 static const short yytable[] = {   119,
2659    415,   213,   122,   548,   448,   156,   458,   151,   411,   430,
2660    474,   155,   431,   434,   464,   299,   393,   319,   425,   526,
2661    469,   472,   191,   258,   259,   512,   549,   157,   158,   636,
2662    382,   527,   641,   638,   639,     1,   528,     2,   449,   382,
2663    394,   112,   159,   113,   314,   315,   304,   475,   476,   114,
2664    346,   587,   588,   589,   115,   395,   513,   116,   117,   118,
2665    570,   571,   572,   573,   414,   626,   446,   459,   120,   470,
2666    574,   575,   635,   571,   572,   573,   414,   529,   412,   160,
2667    161,   305,   320,   426,   121,   123,   162,   124,   514,   152,
2668    125,   163,   164,   165,   166,   167,   126,   465,   168,   169,
2669    170,   127,   396,   435,   263,   128,   298,   171,   172,   424,
2670    301,   302,   385,   386,   387,   388,   129,   153,   391,   154,
2671    390,   185,   173,   174,   306,   186,   570,   571,   572,   573,
2672    414,   187,   637,   209,   188,   175,   574,   575,   439,   397,
2673    398,   399,   400,   401,   189,   477,   402,   403,   404,   405,
2674    406,   407,   561,   450,   190,   192,   468,   193,   194,   473,
2675    428,   195,   466,   422,   196,   197,   198,   199,   436,   408,
2676    530,   316,   317,   200,   201,   377,   378,   307,   380,   381,
2677    202,   203,   204,   205,   308,   451,   389,   206,   432,   176,
2678    177,   178,   437,   416,   417,   418,   419,   420,   421,   309,
2679    460,   179,   207,   208,   180,   550,   181,   210,   409,   440,
2680    441,   212,   211,   444,   445,   182,   310,   453,   454,   183,
2681    497,   457,   215,   462,   214,   216,   368,   414,   311,   305,
2682    619,   479,   480,   481,   482,   483,   484,   485,   486,   487,
2683    488,   489,   490,   491,   492,   493,   217,   218,   495,   219,
2684    220,   511,   221,   222,   517,   223,   522,   224,   521,   525,
2685    225,   524,   533,   534,   226,   536,   227,   228,   229,   538,
2686    230,   231,   306,   539,   543,   541,   232,   546,   233,   234,
2687    235,   553,   554,   555,   236,   557,   495,   556,   237,   238,
2688    239,   240,   241,   498,   566,   567,   242,   243,   591,   244,
2689    245,   246,   247,   248,   569,   249,   250,   251,   252,   253,
2690    254,   255,   300,   303,   156,   508,   509,   510,   325,   326,
2691    516,   327,   328,   519,   520,   307,   329,   523,   330,   331,
2692    332,   532,   308,   495,   535,   333,   157,   158,   334,   335,
2693    336,   540,   337,   542,   338,   544,   545,   309,   547,   339,
2694    552,   159,   322,   323,   324,   340,   558,   559,   341,   342,
2695    343,   563,   564,   344,   310,   345,   568,   349,   350,   351,
2696    352,   353,   354,   585,   355,   356,   311,   357,   347,   348,
2697    358,   359,   360,   361,   362,   363,   364,   365,   160,   161,
2698    366,   367,   369,   370,   371,   162,   372,   373,   374,   375,
2699    163,   164,   165,   166,   167,   376,   384,   168,   169,   170,
2700    506,   495,   379,   499,   500,   501,   171,   172,   502,   503,
2701    504,   505,   650,   560,   392,   622,   582,   623,  -312,   624,
2702    628,   173,   174,   629,   640,   423,   643,   645,   646,   651,
2703    429,   653,   647,   654,   175,   652,   442,   443,   257,   565,
2704    562,   507,   627,   518,   455,   456,     0,     0,     0,   463,
2705      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2706      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2707      0,     0,     0,     0,     0,     0,     0,     0,   586,     0,
2708      0,     0,     0,   620,   621,     0,     0,     0,   176,   177,
2709    178,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2710    179,     0,     0,   180,     0,   181,     0,     0,     0,     0,
2711      0,     0,     0,     0,   182,     0,     0,     0,   183,     0,
2712      0,     0,     0,     0,     0,     0,     0,     0,     0,   633,
2713      0,     0,     0,     0,     0,     0,     0,     0,     0,   584,
2714      0,     3,   642,     0,     0,     0,     0,     0,     0,     0,
2715      4,     0,     0,     0,     0,   625,     0,     0,     5,     6,
2716      7,     0,   630,     0,     0,     8,   631,     0,     9,     0,
2717      0,    10,    11,    12,    13,     0,    14,     0,    15,    16,
2718     17,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2719      0,     0,    18,    19,     0,    20,    21,    22,     0,     0,
2720      0,     0,     0,   634,     0,     0,     0,     0,    23,    24,
2721     25,    26,     0,     0,     1,     0,     0,   644,    27,    28,
2722      0,     0,    29,    30,     0,   648,   649,     0,    31,    32,
2723     33,    34,    35,    36,     0,    37,     0,     0,     0,    38,
2724     39,    40,    41,    42,    43,    44,    45,    46,    47,     0,
2725      0,     0,     0,     0,    48,    49,     0,     0,     0,     0,
2726      0,     0,     0,     0,     0,     0,     0,    50,     0,     0,
2727      0,     0,    51,     0,     0,     0,     0,     0,     0,     0,
2728      0,     0,     0,     0,     0,     0,     0,     0,    52,     0,
2729     53,    54,    55,    56,    57,    58,     0,     0,     0,     0,
2730     59,    60,     0,     0,     0,    61,    62,    63,    64,     0,
2731      0,     0,     0,     0,     0,     0,     0,     0,     0,    65,
2732     66,    67,    68,    69,    70,    71,     0,     0,     0,     0,
2733     72,    73,    74,    75,    76,     0,    77,     0,    78,    79,
2734      0,     0,     0,     0,    80,     0,     0,    81,     0,    82,
2735      0,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2736      3,     0,     0,    92,    93,    94,    95,     0,     0,     4,
2737      0,     0,   256,     0,    96,    97,     0,     5,     6,     7,
2738      0,     0,     0,     0,     8,     0,     0,     9,     0,     0,
2739     10,    11,    12,    13,     0,    14,     0,    15,    16,    17,
2740      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2741      0,    18,    19,     0,    20,    21,    22,     0,     0,     0,
2742      0,     0,     0,     0,     0,     0,     0,    23,    24,    25,
2743     26,     0,     0,     1,     0,     0,     0,    27,    28,     0,
2744      0,    29,    30,     0,     0,     0,     0,    31,    32,    33,
2745     34,    35,    36,     0,    37,     0,     0,     0,    38,    39,
2746     40,    41,    42,    43,    44,    45,    46,    47,     0,     0,
2747      0,     0,     0,    48,    49,     0,     0,     0,     0,     0,
2748      0,     0,     0,     0,     0,     0,    50,     0,     0,     0,
2749      0,    51,     0,     0,     0,     0,     0,     0,     0,     0,
2750      0,     0,     0,     0,     0,     0,     0,    52,     0,    53,
2751     54,    55,    56,    57,    58,     0,     0,     0,     0,    59,
2752     60,     0,     0,     0,    61,    62,    63,    64,     0,     0,
2753      0,     0,     0,     0,     0,     0,     0,     0,    65,    66,
2754     67,    68,    69,    70,    71,     0,     0,     0,     0,    72,
2755     73,    74,    75,    76,     0,    77,     0,    78,    79,     0,
2756      0,     0,     0,    80,     0,     0,    81,     0,    82,     0,
2757     83,    84,    85,    86,    87,    88,    89,    90,    91,     0,
2758      0,     0,    92,    93,    94,    95,     0,     0,     0,     0,
2759      0,   130,     0,    96,    97,   131,   132,   133,   134,   135,
2760    136,   137,   138,     0,   130,     0,     0,     0,   131,   132,
2761    133,   134,   135,   136,   137,   138,     0,     0,     0,     0,
2762      0,     0,   139,     0,     0,     0,     0,   140,     0,     0,
2763      0,     0,     0,     0,     0,   139,     0,   130,     0,     0,
2764    140,   131,   132,   133,   134,   135,   136,   137,   138,     0,
2765    130,     0,     0,     0,   131,   132,   133,   134,   135,   136,
2766    137,   138,     0,     0,     0,   141,     0,     0,   139,     0,
2767      0,     0,     0,   140,     0,     0,   142,     0,   141,     0,
2768      0,   139,     0,     0,     0,     0,   140,     0,     0,   142,
2769      0,     0,   143,   144,     0,     0,     0,     0,     0,     0,
2770      0,     0,     0,     0,     0,   143,   144,     0,     0,     0,
2771      0,   141,     0,     0,     0,     0,     0,     0,     0,   145,
2772      0,     0,   142,     0,   141,     0,     0,     0,     0,     0,
2773      0,     0,   145,     0,     0,   142,     0,     0,   143,   144,
2774      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2775      0,   143,   144,     0,     0,     0,     0,     0,     0,     0,
2776      0,     0,   146,     0,     0,   145,     0,     0,     0,     0,
2777      0,     0,     0,     0,     0,   146,     0,     0,   145,     0,
2778      0,     0,   147,     0,     0,     0,     0,     0,   148,     0,
2779    149,     0,     0,     0,     0,   147,     0,     0,     0,     0,
2780    150,   148,     0,   149,     0,     0,     0,     0,   146,   264,
2781      0,     0,     0,   150,     0,     0,     0,     0,     0,     0,
2782      0,   146,     0,     0,     0,   494,   265,   266,   147,     0,
2783      0,     0,     0,     0,   148,     0,   149,     0,   496,     0,
2784      0,   147,     0,     0,     0,     0,   150,   148,     0,   149,
2785      0,   267,   268,   269,   270,   271,   272,   273,   274,   150,
2786      0,     0,     0,     0,     0,     0,     0,     0,     0,   130,
2787      0,   537,   592,   131,   132,   133,   134,   135,   136,   137,
2788    138,     0,     0,   275,   583,     0,   276,     0,     0,     0,
2789    593,   594,     0,     0,     0,     0,     0,   595,     0,     0,
2790    139,     0,     0,     0,     0,   140,   596,     0,   277,     0,
2791      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2792      0,     0,     0,     0,     0,     0,   278,   279,   280,   281,
2793    282,   283,   284,   285,     0,   597,   598,   599,   600,     0,
2794      0,   286,     0,   141,     0,     0,     0,     0,     0,     0,
2795      0,   601,     0,     0,   142,     0,   602,     0,     0,     0,
2796      0,     0,     0,     0,     0,     0,     0,     0,   287,   288,
2797    143,   144,   603,   289,     0,     0,     0,     0,     0,     0,
2798    290,     0,   291,     0,     0,     0,   604,   605,     0,   606,
2799      0,     0,     0,     0,     0,     0,     0,   145,     0,     0,
2800    607,     0,     0,     0,   608,   609,     0,     0,     0,     0,
2801      0,     0,     0,     0,     0,     0,   292,     0,     0,     0,
2802    293,     0,     0,     0,     0,   610,     0,     0,     0,     0,
2803    294,   295,     0,     0,     0,     0,     0,   118,     0,     0,
2804    146,     0,     0,     0,     0,     0,     0,   611,     0,     0,
2805      0,   612,   613,     0,   614,     0,     0,     0,     0,     0,
2806    147,     0,     0,   615,     0,     0,   148,     0,   149,     0,
2807      0,     0,     0,     0,     0,     0,   616,     0,   150,     0,
2808      0,     0,     0,     0,   617
2809 };
2810 
2811 static const short yycheck[] = {     9,
2812    202,    55,    12,     7,    31,     4,    23,    20,    70,    30,
2813     34,    24,    33,    29,    33,   117,    18,   164,   164,    44,
2814     88,   238,    32,    73,    74,   132,    30,    26,    27,   624,
2815    237,    56,   239,   628,   629,    81,    61,   238,    65,   237,
2816     42,   240,    41,   238,    19,    20,   123,    71,    72,   240,
2817    152,   241,   242,   243,   240,    57,   163,   240,   238,   234,
2818    234,   235,   236,   237,   238,   239,   235,    84,   240,   137,
2819    244,   245,   234,   235,   236,   237,   238,   102,   140,    78,
2820     79,    58,   229,   229,   240,   240,    85,   238,   195,   238,
2821    240,    90,    91,    92,    93,    94,   240,   116,    97,    98,
2822     99,   240,   104,   119,   114,   240,   116,   106,   107,   211,
2823    120,   121,   192,   193,   194,   195,   240,   240,   198,   240,
2824    197,   240,   121,   122,   101,   240,   234,   235,   236,   237,
2825    238,   240,   246,   238,   240,   134,   244,   245,   218,   141,
2826    142,   143,   144,   145,   240,   169,   148,   149,   150,   151,
2827    152,   153,   369,   180,   240,   240,   236,   240,   240,   239,
2828    214,   240,   181,   241,   240,   240,   240,   240,   184,   171,
2829    195,   146,   147,   240,   240,   185,   186,   154,   188,   189,
2830    240,   240,   240,   240,   161,   212,   196,   240,   209,   188,
2831    189,   190,   208,   203,   204,   205,   206,   207,   208,   176,
2832    217,   200,   240,   240,   203,   209,   205,   240,   210,   219,
2833    220,   240,   238,   223,   224,   214,   193,   227,   228,   218,
2834    300,   231,   240,   233,   238,   240,   238,   238,   205,    58,
2835    238,   241,   242,   243,   244,   245,   246,   247,   248,   249,
2836    250,   251,   252,   253,   254,   255,   240,   240,   261,   240,
2837    240,   328,   240,   240,   331,   240,   336,   240,   335,   339,
2838    240,   338,   342,   343,   240,   345,   240,   240,   240,   349,
2839    240,   240,   101,   350,   354,   352,   240,   357,   240,   240,
2840    240,   361,   362,   363,   240,   365,   299,   364,   240,   240,
2841    240,   240,   240,   303,   374,   375,   240,   240,   500,   240,
2842    240,   240,   240,   240,   384,   240,   240,   240,   240,   240,
2843    240,   240,   240,   240,     4,   325,   326,   327,   240,   240,
2844    330,   240,   240,   333,   334,   154,   240,   337,   240,   240,
2845    240,   341,   161,   346,   344,   240,    26,    27,   240,   240,
2846    240,   351,   240,   353,   240,   355,   356,   176,   358,   240,
2847    360,    41,   127,   128,   129,   240,   366,   367,   240,   240,
2848    240,   371,   372,   240,   193,   240,   376,   240,   240,   240,
2849    240,   240,   240,   427,   240,   240,   205,   240,   153,   154,
2850    240,   240,   240,   240,   240,   240,   240,   240,    78,    79,
2851    240,   240,   240,   240,   240,    85,   240,   240,   240,   240,
2852     90,    91,    92,    93,    94,   240,   240,    97,    98,    99,
2853    239,   424,   187,   240,   240,   240,   106,   107,   240,   240,
2854    240,   240,   239,   241,   199,   505,   240,   240,   240,   240,
2855    240,   121,   122,   240,   242,   210,   242,   240,   240,   239,
2856    215,     0,   247,     0,   134,     0,   221,   222,    99,   373,
2857    370,   312,   578,   332,   229,   230,    -1,    -1,    -1,   234,
2858     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2859     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2860     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   498,    -1,
2861     -1,    -1,    -1,   503,   504,    -1,    -1,    -1,   188,   189,
2862    190,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2863    200,    -1,    -1,   203,    -1,   205,    -1,    -1,    -1,    -1,
2864     -1,    -1,    -1,    -1,   214,    -1,    -1,    -1,   218,    -1,
2865     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   619,
2866     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   239,
2867     -1,     8,   632,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2868     17,    -1,    -1,    -1,    -1,   575,    -1,    -1,    25,    26,
2869     27,    -1,   582,    -1,    -1,    32,   586,    -1,    35,    -1,
2870     -1,    38,    39,    40,    41,    -1,    43,    -1,    45,    46,
2871     47,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2872     -1,    -1,    59,    60,    -1,    62,    63,    64,    -1,    -1,
2873     -1,    -1,    -1,   623,    -1,    -1,    -1,    -1,    75,    76,
2874     77,    78,    -1,    -1,    81,    -1,    -1,   637,    85,    86,
2875     -1,    -1,    89,    90,    -1,   645,   646,    -1,    95,    96,
2876     97,    98,    99,   100,    -1,   102,    -1,    -1,    -1,   106,
2877    107,   108,   109,   110,   111,   112,   113,   114,   115,    -1,
2878     -1,    -1,    -1,    -1,   121,   122,    -1,    -1,    -1,    -1,
2879     -1,    -1,    -1,    -1,    -1,    -1,    -1,   134,    -1,    -1,
2880     -1,    -1,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2881     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   155,    -1,
2882    157,   158,   159,   160,   161,   162,    -1,    -1,    -1,    -1,
2883    167,   168,    -1,    -1,    -1,   172,   173,   174,   175,    -1,
2884     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   186,
2885    187,   188,   189,   190,   191,   192,    -1,    -1,    -1,    -1,
2886    197,   198,   199,   200,   201,    -1,   203,    -1,   205,   206,
2887     -1,    -1,    -1,    -1,   211,    -1,    -1,   214,    -1,   216,
2888     -1,   218,   219,   220,   221,   222,   223,   224,   225,   226,
2889      8,    -1,    -1,   230,   231,   232,   233,    -1,    -1,    17,
2890     -1,    -1,   239,    -1,   241,   242,    -1,    25,    26,    27,
2891     -1,    -1,    -1,    -1,    32,    -1,    -1,    35,    -1,    -1,
2892     38,    39,    40,    41,    -1,    43,    -1,    45,    46,    47,
2893     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2894     -1,    59,    60,    -1,    62,    63,    64,    -1,    -1,    -1,
2895     -1,    -1,    -1,    -1,    -1,    -1,    -1,    75,    76,    77,
2896     78,    -1,    -1,    81,    -1,    -1,    -1,    85,    86,    -1,
2897     -1,    89,    90,    -1,    -1,    -1,    -1,    95,    96,    97,
2898     98,    99,   100,    -1,   102,    -1,    -1,    -1,   106,   107,
2899    108,   109,   110,   111,   112,   113,   114,   115,    -1,    -1,
2900     -1,    -1,    -1,   121,   122,    -1,    -1,    -1,    -1,    -1,
2901     -1,    -1,    -1,    -1,    -1,    -1,   134,    -1,    -1,    -1,
2902     -1,   139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2903     -1,    -1,    -1,    -1,    -1,    -1,    -1,   155,    -1,   157,
2904    158,   159,   160,   161,   162,    -1,    -1,    -1,    -1,   167,
2905    168,    -1,    -1,    -1,   172,   173,   174,   175,    -1,    -1,
2906     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   186,   187,
2907    188,   189,   190,   191,   192,    -1,    -1,    -1,    -1,   197,
2908    198,   199,   200,   201,    -1,   203,    -1,   205,   206,    -1,
2909     -1,    -1,    -1,   211,    -1,    -1,   214,    -1,   216,    -1,
2910    218,   219,   220,   221,   222,   223,   224,   225,   226,    -1,
2911     -1,    -1,   230,   231,   232,   233,    -1,    -1,    -1,    -1,
2912     -1,     5,    -1,   241,   242,     9,    10,    11,    12,    13,
2913     14,    15,    16,    -1,     5,    -1,    -1,    -1,     9,    10,
2914     11,    12,    13,    14,    15,    16,    -1,    -1,    -1,    -1,
2915     -1,    -1,    36,    -1,    -1,    -1,    -1,    41,    -1,    -1,
2916     -1,    -1,    -1,    -1,    -1,    36,    -1,     5,    -1,    -1,
2917     41,     9,    10,    11,    12,    13,    14,    15,    16,    -1,
2918      5,    -1,    -1,    -1,     9,    10,    11,    12,    13,    14,
2919     15,    16,    -1,    -1,    -1,    79,    -1,    -1,    36,    -1,
2920     -1,    -1,    -1,    41,    -1,    -1,    90,    -1,    79,    -1,
2921     -1,    36,    -1,    -1,    -1,    -1,    41,    -1,    -1,    90,
2922     -1,    -1,   106,   107,    -1,    -1,    -1,    -1,    -1,    -1,
2923     -1,    -1,    -1,    -1,    -1,   106,   107,    -1,    -1,    -1,
2924     -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   133,
2925     -1,    -1,    90,    -1,    79,    -1,    -1,    -1,    -1,    -1,
2926     -1,    -1,   133,    -1,    -1,    90,    -1,    -1,   106,   107,
2927     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2928     -1,   106,   107,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2929     -1,    -1,   176,    -1,    -1,   133,    -1,    -1,    -1,    -1,
2930     -1,    -1,    -1,    -1,    -1,   176,    -1,    -1,   133,    -1,
2931     -1,    -1,   196,    -1,    -1,    -1,    -1,    -1,   202,    -1,
2932    204,    -1,    -1,    -1,    -1,   196,    -1,    -1,    -1,    -1,
2933    214,   202,    -1,   204,    -1,    -1,    -1,    -1,   176,     6,
2934     -1,    -1,    -1,   214,    -1,    -1,    -1,    -1,    -1,    -1,
2935     -1,   176,    -1,    -1,    -1,   239,    23,    24,   196,    -1,
2936     -1,    -1,    -1,    -1,   202,    -1,   204,    -1,   239,    -1,
2937     -1,   196,    -1,    -1,    -1,    -1,   214,   202,    -1,   204,
2938     -1,    48,    49,    50,    51,    52,    53,    54,    55,   214,
2939     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,
2940     -1,   239,     3,     9,    10,    11,    12,    13,    14,    15,
2941     16,    -1,    -1,    80,   239,    -1,    83,    -1,    -1,    -1,
2942     21,    22,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,
2943     36,    -1,    -1,    -1,    -1,    41,    37,    -1,   105,    -1,
2944     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2945     -1,    -1,    -1,    -1,    -1,    -1,   123,   124,   125,   126,
2946    127,   128,   129,   130,    -1,    66,    67,    68,    69,    -1,
2947     -1,   138,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,
2948     -1,    82,    -1,    -1,    90,    -1,    87,    -1,    -1,    -1,
2949     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   165,   166,
2950    106,   107,   103,   170,    -1,    -1,    -1,    -1,    -1,    -1,
2951    177,    -1,   179,    -1,    -1,    -1,   117,   118,    -1,   120,
2952     -1,    -1,    -1,    -1,    -1,    -1,    -1,   133,    -1,    -1,
2953    131,    -1,    -1,    -1,   135,   136,    -1,    -1,    -1,    -1,
2954     -1,    -1,    -1,    -1,    -1,    -1,   213,    -1,    -1,    -1,
2955    217,    -1,    -1,    -1,    -1,   156,    -1,    -1,    -1,    -1,
2956    227,   228,    -1,    -1,    -1,    -1,    -1,   234,    -1,    -1,
2957    176,    -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    -1,
2958     -1,   182,   183,    -1,   185,    -1,    -1,    -1,    -1,    -1,
2959    196,    -1,    -1,   194,    -1,    -1,   202,    -1,   204,    -1,
2960     -1,    -1,    -1,    -1,    -1,    -1,   207,    -1,   214,    -1,
2961     -1,    -1,    -1,    -1,   215
2962 };
2963 /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
2964 #line 3 "/usr/local/lib/bison.simple"
2965 
2966 /* Skeleton output parser for bison,
2967    Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
2968 
2969    This program is free software; you can redistribute it and/or modify
2970    it under the terms of the GNU General Public License as published by
2971    the Free Software Foundation; either version 1, or (at your option)
2972    any later version.
2973 
2974    This program is distributed in the hope that it will be useful,
2975    but WITHOUT ANY WARRANTY; without even the implied warranty of
2976    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2977    GNU General Public License for more details.
2978 
2979    You should have received a copy of the GNU General Public License
2980    along with this program; if not, write to the Free Software
2981    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
2982 
2983 
2984 #ifndef alloca
2985 #ifdef __GNUC__
2986 #define alloca __builtin_alloca
2987 #else /* not GNU C.  */
2988 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
2989 #include <alloca.h>
2990 #else /* not sparc */
2991 #if defined (MSDOS) && !defined (__TURBOC__)
2992 #include <malloc.h>
2993 #else /* not MSDOS, or __TURBOC__ */
2994 #if defined(_AIX)
2995 #include <malloc.h>
2996  #pragma alloca
2997 #else /* not MSDOS, __TURBOC__, or _AIX */
2998 #ifdef __hpux
2999 #ifdef __cplusplus
3000 extern "C" {
3001 void *alloca (unsigned int);
3002 };
3003 #else /* not __cplusplus */
3004 void *alloca (unsigned int);
3005 #endif /* not __cplusplus */
3006 #endif /* __hpux */
3007 #endif /* not _AIX */
3008 #endif /* not MSDOS, or __TURBOC__ */
3009 #endif /* not sparc.  */
3010 #endif /* not GNU C.  */
3011 #endif /* alloca not defined.  */
3012 
3013 /* This is the parser code that is written into each bison parser
3014   when the %semantic_parser declaration is not specified in the grammar.
3015   It was written by Richard Stallman by simplifying the hairy parser
3016   used when %semantic_parser is specified.  */
3017 
3018 /* Note: there must be only one dollar sign in this file.
3019    It is replaced by the list of actions, each action
3020    as one case of the switch.  */
3021 
3022 #define yyerrok		(yyerrstatus = 0)
3023 #define yyclearin	(yychar = YYEMPTY)
3024 #define YYEMPTY		-2
3025 #define YYEOF		0
3026 #define YYACCEPT	return(0)
3027 #define YYABORT 	return(1)
3028 #define YYERROR		goto yyerrlab1
3029 /* Like YYERROR except do call yyerror.
3030    This remains here temporarily to ease the
3031    transition to the new meaning of YYERROR, for GCC.
3032    Once GCC version 2 has supplanted version 1, this can go.  */
3033 #define YYFAIL		goto yyerrlab
3034 #define YYRECOVERING()  (!!yyerrstatus)
3035 #define YYBACKUP(token, value) \
3036 do								\
3037   if (yychar == YYEMPTY && yylen == 1)				\
3038     { yychar = (token), yylval = (value);			\
3039       yychar1 = YYTRANSLATE (yychar);				\
3040       YYPOPSTACK;						\
3041       goto yybackup;						\
3042     }								\
3043   else								\
3044     { yyerror ("syntax error: cannot back up"); YYERROR; }	\
3045 while (0)
3046 
3047 #define YYTERROR	1
3048 #define YYERRCODE	256
3049 
3050 #ifndef YYPURE
3051 #define YYLEX		yylex()
3052 #endif
3053 
3054 #ifdef YYPURE
3055 #ifdef YYLSP_NEEDED
3056 #define YYLEX		yylex(&yylval, &yylloc)
3057 #else
3058 #define YYLEX		yylex(&yylval)
3059 #endif
3060 #endif
3061 
3062 /* If nonreentrant, generate the variables here */
3063 
3064 #ifndef YYPURE
3065 
3066 int	yychar;			/*  the lookahead symbol		*/
3067 YYSTYPE	yylval;			/*  the semantic value of the		*/
3068 				/*  lookahead symbol			*/
3069 
3070 #ifdef YYLSP_NEEDED
3071 YYLTYPE yylloc;			/*  location data for the lookahead	*/
3072 				/*  symbol				*/
3073 #endif
3074 
3075 int yynerrs;			/*  number of parse errors so far       */
3076 #endif  /* not YYPURE */
3077 
3078 #if YYDEBUG != 0
3079 int yydebug;			/*  nonzero means print parse trace	*/
3080 /* Since this is uninitialized, it does not stop multiple parsers
3081    from coexisting.  */
3082 #endif
3083 
3084 /*  YYINITDEPTH indicates the initial size of the parser's stacks	*/
3085 
3086 #ifndef	YYINITDEPTH
3087 #define YYINITDEPTH 200
3088 #endif
3089 
3090 /*  YYMAXDEPTH is the maximum size the stacks can grow to
3091     (effective only if the built-in stack extension method is used).  */
3092 
3093 #if YYMAXDEPTH == 0
3094 #undef YYMAXDEPTH
3095 #endif
3096 
3097 #ifndef YYMAXDEPTH
3098 #define YYMAXDEPTH 10000
3099 #endif
3100 
3101 /* Prevent warning if -Wstrict-prototypes.  */
3102 #ifdef __GNUC__
3103 int yyparse (void);
3104 #endif
3105 
3106 #if __GNUC__ > 1		/* GNU C and GNU C++ define this.  */
3107 #define __yy_bcopy(FROM,TO,COUNT)	__builtin_memcpy(TO,FROM,COUNT)
3108 #else				/* not GNU C or C++ */
3109 #ifndef __cplusplus
3110 
3111 /* This is the most reliable way to avoid incompatibilities
3112    in available built-in functions on various systems.  */
3113 static void
__yy_bcopy(from,to,count)3114 __yy_bcopy (from, to, count)
3115      char *from;
3116      char *to;
3117      int count;
3118 {
3119   register char *f = from;
3120   register char *t = to;
3121   register int i = count;
3122 
3123   while (i-- > 0)
3124     *t++ = *f++;
3125 }
3126 
3127 #else /* __cplusplus */
3128 
3129 /* This is the most reliable way to avoid incompatibilities
3130    in available built-in functions on various systems.  */
3131 static void
__yy_bcopy(char * from,char * to,int count)3132 __yy_bcopy (char *from, char *to, int count)
3133 {
3134   register char *f = from;
3135   register char *t = to;
3136   register int i = count;
3137 
3138   while (i-- > 0)
3139     *t++ = *f++;
3140 }
3141 
3142 #endif
3143 #endif
3144 
3145 #line 184 "/usr/local/lib/bison.simple"
3146 int
yyparse()3147 yyparse()
3148 {
3149   register int yystate;
3150   register int yyn;
3151   register short *yyssp;
3152   register YYSTYPE *yyvsp;
3153   int yyerrstatus;	/*  number of tokens to shift before error messages enabled */
3154   int yychar1;		/*  lookahead token as an internal (translated) token number */
3155 
3156   short	yyssa[YYINITDEPTH];	/*  the state stack			*/
3157   YYSTYPE yyvsa[YYINITDEPTH];	/*  the semantic value stack		*/
3158 
3159   short *yyss = yyssa;		/*  refer to the stacks thru separate pointers */
3160   YYSTYPE *yyvs = yyvsa;	/*  to allow yyoverflow to reallocate them elsewhere */
3161 
3162 #ifdef YYLSP_NEEDED
3163   YYLTYPE yylsa[YYINITDEPTH];	/*  the location stack			*/
3164   YYLTYPE *yyls = yylsa;
3165   YYLTYPE *yylsp;
3166 
3167 #define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
3168 #else
3169 #define YYPOPSTACK   (yyvsp--, yyssp--)
3170 #endif
3171 
3172   int yystacksize = YYINITDEPTH;
3173 
3174 #ifdef YYPURE
3175   int yychar;
3176   YYSTYPE yylval;
3177   int yynerrs;
3178 #ifdef YYLSP_NEEDED
3179   YYLTYPE yylloc;
3180 #endif
3181 #endif
3182 
3183   YYSTYPE yyval;		/*  the variable used to return		*/
3184 				/*  semantic values from the action	*/
3185 				/*  routines				*/
3186 
3187   int yylen;
3188 
3189 #if YYDEBUG != 0
3190   if (yydebug)
3191     fprintf(stderr, "Starting parse\n");
3192 #endif
3193 
3194   yystate = 0;
3195   yyerrstatus = 0;
3196   yynerrs = 0;
3197   yychar = YYEMPTY;		/* Cause a token to be read.  */
3198 
3199   /* Initialize stack pointers.
3200      Waste one element of value and location stack
3201      so that they stay on the same level as the state stack.
3202      The wasted elements are never initialized.  */
3203 
3204   yyssp = yyss - 1;
3205   yyvsp = yyvs;
3206 #ifdef YYLSP_NEEDED
3207   yylsp = yyls;
3208 #endif
3209 
3210 /* Push a new state, which is found in  yystate  .  */
3211 /* In all cases, when you get here, the value and location stacks
3212    have just been pushed. so pushing a state here evens the stacks.  */
3213 yynewstate:
3214 
3215   *++yyssp = yystate;
3216 
3217   if (yyssp >= yyss + yystacksize - 1)
3218     {
3219       /* Give user a chance to reallocate the stack */
3220       /* Use copies of these so that the &'s don't force the real ones into memory. */
3221       YYSTYPE *yyvs1 = yyvs;
3222       short *yyss1 = yyss;
3223 #ifdef YYLSP_NEEDED
3224       YYLTYPE *yyls1 = yyls;
3225 #endif
3226 
3227       /* Get the current used size of the three stacks, in elements.  */
3228       int size = yyssp - yyss + 1;
3229 
3230 #ifdef yyoverflow
3231       /* Each stack pointer address is followed by the size of
3232 	 the data in use in that stack, in bytes.  */
3233       yyoverflow("parser stack overflow",
3234 		 &yyss1, size * sizeof (*yyssp),
3235 		 &yyvs1, size * sizeof (*yyvsp),
3236 #ifdef YYLSP_NEEDED
3237 		 &yyls1, size * sizeof (*yylsp),
3238 #endif
3239 		 &yystacksize);
3240 
3241       yyss = yyss1; yyvs = yyvs1;
3242 #ifdef YYLSP_NEEDED
3243       yyls = yyls1;
3244 #endif
3245 #else /* no yyoverflow */
3246       /* Extend the stack our own way.  */
3247       if (yystacksize >= YYMAXDEPTH)
3248 	{
3249 	  yyerror("parser stack overflow");
3250 	  return 2;
3251 	}
3252       yystacksize *= 2;
3253       if (yystacksize > YYMAXDEPTH)
3254 	yystacksize = YYMAXDEPTH;
3255       yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
3256       __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
3257       yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
3258       __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
3259 #ifdef YYLSP_NEEDED
3260       yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
3261       __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
3262 #endif
3263 #endif /* no yyoverflow */
3264 
3265       yyssp = yyss + size - 1;
3266       yyvsp = yyvs + size - 1;
3267 #ifdef YYLSP_NEEDED
3268       yylsp = yyls + size - 1;
3269 #endif
3270 
3271 #if YYDEBUG != 0
3272       if (yydebug)
3273 	fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3274 #endif
3275 
3276       if (yyssp >= yyss + yystacksize - 1)
3277 	YYABORT;
3278     }
3279 
3280 #if YYDEBUG != 0
3281   if (yydebug)
3282     fprintf(stderr, "Entering state %d\n", yystate);
3283 #endif
3284 
3285   goto yybackup;
3286  yybackup:
3287 
3288 /* Do appropriate processing given the current state.  */
3289 /* Read a lookahead token if we need one and don't already have one.  */
3290 /* yyresume: */
3291 
3292   /* First try to decide what to do without reference to lookahead token.  */
3293 
3294   yyn = yypact[yystate];
3295   if (yyn == YYFLAG)
3296     goto yydefault;
3297 
3298   /* Not known => get a lookahead token if don't already have one.  */
3299 
3300   /* yychar is either YYEMPTY or YYEOF
3301      or a valid token in external form.  */
3302 
3303   if (yychar == YYEMPTY)
3304     {
3305 #if YYDEBUG != 0
3306       if (yydebug)
3307 	fprintf(stderr, "Reading a token: ");
3308 #endif
3309       yychar = YYLEX;
3310     }
3311 
3312   /* Convert token to internal form (in yychar1) for indexing tables with */
3313 
3314   if (yychar <= 0)		/* This means end of input. */
3315     {
3316       yychar1 = 0;
3317       yychar = YYEOF;		/* Don't call YYLEX any more */
3318 
3319 #if YYDEBUG != 0
3320       if (yydebug)
3321 	fprintf(stderr, "Now at end of input.\n");
3322 #endif
3323     }
3324   else
3325     {
3326       yychar1 = YYTRANSLATE(yychar);
3327 
3328 #if YYDEBUG != 0
3329       if (yydebug)
3330 	{
3331 	  fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
3332 	  /* Give the individual parser a way to print the precise meaning
3333 	     of a token, for further debugging info.  */
3334 #ifdef YYPRINT
3335 	  YYPRINT (stderr, yychar, yylval);
3336 #endif
3337 	  fprintf (stderr, ")\n");
3338 	}
3339 #endif
3340     }
3341 
3342   yyn += yychar1;
3343   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3344     goto yydefault;
3345 
3346   yyn = yytable[yyn];
3347 
3348   /* yyn is what to do for this token type in this state.
3349      Negative => reduce, -yyn is rule number.
3350      Positive => shift, yyn is new state.
3351        New state is final state => don't bother to shift,
3352        just return success.
3353      0, or most negative number => error.  */
3354 
3355   if (yyn < 0)
3356     {
3357       if (yyn == YYFLAG)
3358 	goto yyerrlab;
3359       yyn = -yyn;
3360       goto yyreduce;
3361     }
3362   else if (yyn == 0)
3363     goto yyerrlab;
3364 
3365   if (yyn == YYFINAL)
3366     YYACCEPT;
3367 
3368   /* Shift the lookahead token.  */
3369 
3370 #if YYDEBUG != 0
3371   if (yydebug)
3372     fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
3373 #endif
3374 
3375   /* Discard the token being shifted unless it is eof.  */
3376   if (yychar != YYEOF)
3377     yychar = YYEMPTY;
3378 
3379   *++yyvsp = yylval;
3380 #ifdef YYLSP_NEEDED
3381   *++yylsp = yylloc;
3382 #endif
3383 
3384   /* count tokens shifted since error; after three, turn off error status.  */
3385   if (yyerrstatus) yyerrstatus--;
3386 
3387   yystate = yyn;
3388   goto yynewstate;
3389 
3390 /* Do the default action for the current state.  */
3391 yydefault:
3392 
3393   yyn = yydefact[yystate];
3394   if (yyn == 0)
3395     goto yyerrlab;
3396 
3397 /* Do a reduction.  yyn is the number of a rule to reduce with.  */
3398 yyreduce:
3399   yylen = yyr2[yyn];
3400   yyval = yyvsp[1-yylen]; /* implement default value of the action */
3401 
3402 #if YYDEBUG != 0
3403   if (yydebug)
3404     {
3405       int i;
3406 
3407       fprintf (stderr, "Reducing via rule %d (line %d), ",
3408 	       yyn, yyrline[yyn]);
3409 
3410       /* Print the symbols being reduced, and their result.  */
3411       for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
3412 	fprintf (stderr, "%s ", yytname[yyrhs[i]]);
3413       fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
3414     }
3415 #endif
3416 
3417 
3418   switch (yyn) {
3419 
3420 case 1:
3421 #line 2156 "grammar.y"
3422 {
3423 #line 833 "grammar.pgs"
3424 		 yyval.tree = REVERT(yyvsp[-1].tree); Syntax_Tree = yyval.tree; ;
3425     break;}
3426 case 2:
3427 #line 2163 "grammar.y"
3428 {
3429 #line 838 "grammar.pgs"
3430 		 yyval.tree = T_graph_entry(yyvsp[0].tree,yyvsp[-1].tree,yylocate(yylsp[-1]));   ;
3431     break;}
3432 case 3:
3433 #line 2167 "grammar.y"
3434 {
3435 #line 840 "grammar.pgs"
3436 		 yyval.tree = T_graph_entry(yyvsp[0].tree,NULL,yylocate(yylsp[0])); ;
3437     break;}
3438 case 4:
3439 #line 2173 "grammar.y"
3440 {
3441 #line 844 "grammar.pgs"
3442 		 yyval.tree = T_graph_attribute(yyvsp[0].tree,yylocate(yylsp[0])); ;
3443     break;}
3444 case 5:
3445 #line 2176 "grammar.y"
3446 {
3447 #line 845 "grammar.pgs"
3448 		 yyval.tree = T_node_defaults(yyvsp[0].tree,yylocate(yylsp[0]));   ;
3449     break;}
3450 case 6:
3451 #line 2179 "grammar.y"
3452 {
3453 #line 846 "grammar.pgs"
3454 		 yyval.tree = T_edge_defaults(yyvsp[0].tree,yylocate(yylsp[0]));   ;
3455     break;}
3456 case 7:
3457 #line 2182 "grammar.y"
3458 {
3459 #line 847 "grammar.pgs"
3460 		 yyval.tree = T_foldnode_defaults(yyvsp[0].tree,yylocate(yylsp[0]));;
3461     break;}
3462 case 8:
3463 #line 2185 "grammar.y"
3464 {
3465 #line 848 "grammar.pgs"
3466 		 yyval.tree = T_foldedge_defaults(yyvsp[0].tree,yylocate(yylsp[0]));;
3467     break;}
3468 case 9:
3469 #line 2188 "grammar.y"
3470 {
3471 #line 849 "grammar.pgs"
3472 		 yyval.tree = T_graph(yyvsp[0].tree,yylocate(yylsp[0]));           ;
3473     break;}
3474 case 10:
3475 #line 2191 "grammar.y"
3476 {
3477 #line 850 "grammar.pgs"
3478 		 yyval.tree = T_node(yyvsp[0].tree,yylocate(yylsp[0]));            ;
3479     break;}
3480 case 11:
3481 #line 2194 "grammar.y"
3482 {
3483 #line 851 "grammar.pgs"
3484 		 yyval.tree = T_edge(yyvsp[0].tree,yylocate(yylsp[0]));            ;
3485     break;}
3486 case 12:
3487 #line 2197 "grammar.y"
3488 {
3489 #line 852 "grammar.pgs"
3490 		 yyval.tree = T_near_edge(yyvsp[0].tree,yylocate(yylsp[0]));       ;
3491     break;}
3492 case 13:
3493 #line 2200 "grammar.y"
3494 {
3495 #line 853 "grammar.pgs"
3496 		 yyval.tree = T_bent_near_edge(yyvsp[0].tree,yylocate(yylsp[0]));  ;
3497     break;}
3498 case 14:
3499 #line 2203 "grammar.y"
3500 {
3501 #line 854 "grammar.pgs"
3502 		 yyval.tree = T_back_edge(yyvsp[0].tree,yylocate(yylsp[0]));       ;
3503     break;}
3504 case 15:
3505 #line 2206 "grammar.y"
3506 {
3507 #line 855 "grammar.pgs"
3508 		 yyval.tree = T_constraint(yyvsp[0].tree,yylocate(yylsp[0]));      ;
3509     break;}
3510 case 16:
3511 #line 2213 "grammar.y"
3512 {
3513 #line 860 "grammar.pgs"
3514 		 yyval.tree = T_title(yyvsp[0].tree,yylocate(yylsp[-2]));              ;
3515     break;}
3516 case 17:
3517 #line 2217 "grammar.y"
3518 {
3519 #line 862 "grammar.pgs"
3520 		 yyval.tree = T_label(yyvsp[0].tree,yylocate(yylsp[-2]));              ;
3521     break;}
3522 case 18:
3523 #line 2221 "grammar.y"
3524 {
3525 #line 864 "grammar.pgs"
3526 		 yyval.tree = T_info1(yyvsp[0].tree,yylocate(yylsp[-2]));              ;
3527     break;}
3528 case 19:
3529 #line 2225 "grammar.y"
3530 {
3531 #line 866 "grammar.pgs"
3532 		 yyval.tree = T_info2(yyvsp[0].tree,yylocate(yylsp[-2]));              ;
3533     break;}
3534 case 20:
3535 #line 2229 "grammar.y"
3536 {
3537 #line 868 "grammar.pgs"
3538 		 yyval.tree = T_info3(yyvsp[0].tree,yylocate(yylsp[-2]));              ;
3539     break;}
3540 case 21:
3541 #line 2233 "grammar.y"
3542 {
3543 #line 870 "grammar.pgs"
3544 		 yyval.tree = T_color(yyvsp[0].tree,yylocate(yylsp[-2]));              ;
3545     break;}
3546 case 22:
3547 #line 2237 "grammar.y"
3548 {
3549 #line 872 "grammar.pgs"
3550 		 yyval.tree = T_textcolor(yyvsp[0].tree,yylocate(yylsp[-2]));          ;
3551     break;}
3552 case 23:
3553 #line 2241 "grammar.y"
3554 {
3555 #line 874 "grammar.pgs"
3556 		 yyval.tree = T_colorborder(yyvsp[0].tree,yylocate(yylsp[-2]));        ;
3557     break;}
3558 case 24:
3559 #line 2245 "grammar.y"
3560 {
3561 #line 876 "grammar.pgs"
3562 		 yyval.tree = T_width(yyvsp[0].tree,yylocate(yylsp[-2]));              ;
3563     break;}
3564 case 25:
3565 #line 2249 "grammar.y"
3566 {
3567 #line 878 "grammar.pgs"
3568 		 yyval.tree = T_height(yyvsp[0].tree,yylocate(yylsp[-2]));             ;
3569     break;}
3570 case 26:
3571 #line 2253 "grammar.y"
3572 {
3573 #line 880 "grammar.pgs"
3574 		 yyval.tree = T_borderwidth(yyvsp[0].tree,yylocate(yylsp[-2]));        ;
3575     break;}
3576 case 27:
3577 #line 2256 "grammar.y"
3578 {
3579 #line 881 "grammar.pgs"
3580 		 yyval.tree = T_xdef(yyvsp[0].tree,yylocate(yylsp[-2]));               ;
3581     break;}
3582 case 28:
3583 #line 2259 "grammar.y"
3584 {
3585 #line 882 "grammar.pgs"
3586 		 yyval.tree = T_ydef(yyvsp[0].tree,yylocate(yylsp[-2]));               ;
3587     break;}
3588 case 29:
3589 #line 2263 "grammar.y"
3590 {
3591 #line 884 "grammar.pgs"
3592 		 yyval.tree = T_loc(yyvsp[-4].tree,yyvsp[-1].tree,yylocate(yylsp[-8]));       ;
3593     break;}
3594 case 30:
3595 #line 2267 "grammar.y"
3596 {
3597 #line 886 "grammar.pgs"
3598 		 yyval.tree = T_folding(yyvsp[0].tree,yylocate(yylsp[-2]));            ;
3599     break;}
3600 case 31:
3601 #line 2271 "grammar.y"
3602 {
3603 #line 888 "grammar.pgs"
3604 		 yyval.tree = T_scaling(yyvsp[0].tree,yylocate(yylsp[-2]));            ;
3605     break;}
3606 case 32:
3607 #line 2275 "grammar.y"
3608 {
3609 #line 890 "grammar.pgs"
3610 		 yyval.tree = T_shrink(yyvsp[0].tree,yylocate(yylsp[-2]));             ;
3611     break;}
3612 case 33:
3613 #line 2279 "grammar.y"
3614 {
3615 #line 892 "grammar.pgs"
3616 		 yyval.tree = T_stretch(yyvsp[0].tree,yylocate(yylsp[-2]));            ;
3617     break;}
3618 case 34:
3619 #line 2283 "grammar.y"
3620 {
3621 #line 894 "grammar.pgs"
3622 		 yyval.tree = T_textmode(yyvsp[0].tree,yylocate(yylsp[-2]));           ;
3623     break;}
3624 case 35:
3625 #line 2287 "grammar.y"
3626 {
3627 #line 896 "grammar.pgs"
3628 		 yyval.tree = T_shape(yyvsp[0].tree,yylocate(yylsp[-2]));    	       ;
3629     break;}
3630 case 36:
3631 #line 2291 "grammar.y"
3632 {
3633 #line 898 "grammar.pgs"
3634 		 yyval.tree = T_level(yyvsp[0].tree,yylocate(yylsp[-2]));              ;
3635     break;}
3636 case 37:
3637 #line 2295 "grammar.y"
3638 {
3639 #line 900 "grammar.pgs"
3640 		 yyval.tree = T_level(yyvsp[0].tree,yylocate(yylsp[-2]));              ;
3641     break;}
3642 case 38:
3643 #line 2299 "grammar.y"
3644 {
3645 #line 902 "grammar.pgs"
3646 		 yyval.tree = T_horizontal_order(yyvsp[0].tree,yylocate(yylsp[-2]));   ;
3647     break;}
3648 case 39:
3649 #line 2303 "grammar.y"
3650 {
3651 #line 904 "grammar.pgs"
3652 		 yyval.tree = T_status(yyvsp[0].tree,yylocate(yylsp[-2]));             ;
3653     break;}
3654 case 40:
3655 #line 2308 "grammar.y"
3656 {
3657 #line 907 "grammar.pgs"
3658 		 yyval.tree = T_xmax(yyvsp[0].tree,yylocate(yylsp[-2]));               ;
3659     break;}
3660 case 41:
3661 #line 2312 "grammar.y"
3662 {
3663 #line 909 "grammar.pgs"
3664 		 yyval.tree = T_ymax(yyvsp[0].tree,yylocate(yylsp[-2]));               ;
3665     break;}
3666 case 42:
3667 #line 2316 "grammar.y"
3668 {
3669 #line 911 "grammar.pgs"
3670 		 yyval.tree = T_xbase(yyvsp[0].tree,yylocate(yylsp[-2]));              ;
3671     break;}
3672 case 43:
3673 #line 2320 "grammar.y"
3674 {
3675 #line 913 "grammar.pgs"
3676 		 yyval.tree = T_ybase(yyvsp[0].tree,yylocate(yylsp[-2]));              ;
3677     break;}
3678 case 44:
3679 #line 2324 "grammar.y"
3680 {
3681 #line 915 "grammar.pgs"
3682 		 yyval.tree = T_xspace(yyvsp[0].tree,yylocate(yylsp[-2]));             ;
3683     break;}
3684 case 45:
3685 #line 2328 "grammar.y"
3686 {
3687 #line 917 "grammar.pgs"
3688 		 yyval.tree = T_xlspace(yyvsp[0].tree,yylocate(yylsp[-2]));            ;
3689     break;}
3690 case 46:
3691 #line 2332 "grammar.y"
3692 {
3693 #line 919 "grammar.pgs"
3694 		 yyval.tree = T_yspace(yyvsp[0].tree,yylocate(yylsp[-2]));             ;
3695     break;}
3696 case 47:
3697 #line 2336 "grammar.y"
3698 {
3699 #line 921 "grammar.pgs"
3700 		 yyval.tree = T_xraster(yyvsp[0].tree,yylocate(yylsp[-2]));            ;
3701     break;}
3702 case 48:
3703 #line 2340 "grammar.y"
3704 {
3705 #line 923 "grammar.pgs"
3706 		 yyval.tree = T_xlraster(yyvsp[0].tree,yylocate(yylsp[-2]));           ;
3707     break;}
3708 case 49:
3709 #line 2344 "grammar.y"
3710 {
3711 #line 925 "grammar.pgs"
3712 		 yyval.tree = T_yraster(yyvsp[0].tree,yylocate(yylsp[-2]));            ;
3713     break;}
3714 case 50:
3715 #line 2348 "grammar.y"
3716 {
3717 #line 927 "grammar.pgs"
3718 		 yyval.tree = T_hidden(yyvsp[0].tree,yylocate(yylsp[-2])); 	       ;
3719     break;}
3720 case 51:
3721 #line 2352 "grammar.y"
3722 {
3723 #line 929 "grammar.pgs"
3724 		 yyval.tree = T_hidden(yyvsp[0].tree,yylocate(yylsp[-2])); 	       ;
3725     break;}
3726 case 52:
3727 #line 2356 "grammar.y"
3728 {
3729 #line 931 "grammar.pgs"
3730 		 yyval.tree = T_classname(yyvsp[-2].tree,yyvsp[0].tree,yylocate(yylsp[-3]));       ;
3731     break;}
3732 case 53:
3733 #line 2360 "grammar.y"
3734 {
3735 #line 933 "grammar.pgs"
3736 		 yyval.tree = T_infoname(yyvsp[-2].tree,yyvsp[0].tree,yylocate(yylsp[-3]));        ;
3737     break;}
3738 case 54:
3739 #line 2364 "grammar.y"
3740 {
3741 #line 935 "grammar.pgs"
3742 		 yyval.tree = T_colentry(yyvsp[-4].tree,yyvsp[-2].tree,yyvsp[-1].tree,yyvsp[0].tree,yylocate(yylsp[-5]));   ;
3743     break;}
3744 case 55:
3745 #line 2369 "grammar.y"
3746 {
3747 #line 938 "grammar.pgs"
3748 		 yyval.tree = T_layoutalgorithm(yyvsp[0].tree,yylocate(yylsp[-2]));    ;
3749     break;}
3750 case 56:
3751 #line 2373 "grammar.y"
3752 {
3753 #line 940 "grammar.pgs"
3754 		 yyval.tree = T_layoutfrequency(yyvsp[0].tree,yylocate(yylsp[-2]));    ;
3755     break;}
3756 case 57:
3757 #line 2377 "grammar.y"
3758 {
3759 #line 942 "grammar.pgs"
3760 		 yyval.tree = T_downfactor(yyvsp[0].tree,yylocate(yylsp[-2]));         ;
3761     break;}
3762 case 58:
3763 #line 2381 "grammar.y"
3764 {
3765 #line 944 "grammar.pgs"
3766 		 yyval.tree = T_upfactor(yyvsp[0].tree,yylocate(yylsp[-2]));           ;
3767     break;}
3768 case 59:
3769 #line 2385 "grammar.y"
3770 {
3771 #line 946 "grammar.pgs"
3772 		 yyval.tree = T_nearfactor(yyvsp[0].tree,yylocate(yylsp[-2]));         ;
3773     break;}
3774 case 60:
3775 #line 2389 "grammar.y"
3776 {
3777 #line 948 "grammar.pgs"
3778 		 yyval.tree = T_splinefactor(yyvsp[0].tree,yylocate(yylsp[-2]));       ;
3779     break;}
3780 case 61:
3781 #line 2394 "grammar.y"
3782 {
3783 #line 951 "grammar.pgs"
3784 		 yyval.tree = T_late_edge_label(yyvsp[0].tree,yylocate(yylsp[-2]));    ;
3785     break;}
3786 case 62:
3787 #line 2398 "grammar.y"
3788 {
3789 #line 953 "grammar.pgs"
3790 		 yyval.tree = T_display_edge_label(yyvsp[0].tree,yylocate(yylsp[-2])); ;
3791     break;}
3792 case 63:
3793 #line 2402 "grammar.y"
3794 {
3795 #line 955 "grammar.pgs"
3796 		 yyval.tree = T_dirty_edge_label(yyvsp[0].tree,yylocate(yylsp[-2]));   ;
3797     break;}
3798 case 64:
3799 #line 2406 "grammar.y"
3800 {
3801 #line 957 "grammar.pgs"
3802 		 yyval.tree = T_finetuning(yyvsp[0].tree,yylocate(yylsp[-2]));	       ;
3803     break;}
3804 case 65:
3805 #line 2410 "grammar.y"
3806 {
3807 #line 959 "grammar.pgs"
3808 		 yyval.tree = T_hidesingles(yyvsp[0].tree,yylocate(yylsp[-2]));        ;
3809     break;}
3810 case 66:
3811 #line 2414 "grammar.y"
3812 {
3813 #line 961 "grammar.pgs"
3814 		 yyval.tree = T_straightphase(yyvsp[0].tree,yylocate(yylsp[-2]));	       ;
3815     break;}
3816 case 67:
3817 #line 2418 "grammar.y"
3818 {
3819 #line 963 "grammar.pgs"
3820 		 yyval.tree = T_priophase(yyvsp[0].tree,yylocate(yylsp[-2]));	       ;
3821     break;}
3822 case 68:
3823 #line 2422 "grammar.y"
3824 {
3825 #line 965 "grammar.pgs"
3826 		 yyval.tree = T_manhatten(yyvsp[0].tree,yylocate(yylsp[-2]));	       ;
3827     break;}
3828 case 69:
3829 #line 2426 "grammar.y"
3830 {
3831 #line 967 "grammar.pgs"
3832 		 yyval.tree = T_smanhatten(yyvsp[0].tree,yylocate(yylsp[-2]));	       ;
3833     break;}
3834 case 70:
3835 #line 2429 "grammar.y"
3836 {
3837 #line 968 "grammar.pgs"
3838 		 yyval.tree = T_nonearedges(yylocate(yylsp[0]));	       ;
3839     break;}
3840 case 71:
3841 #line 2433 "grammar.y"
3842 {
3843 #line 970 "grammar.pgs"
3844 		 yyval.tree = T_nonearedges(yylocate(yylsp[-2]));	       ;
3845     break;}
3846 case 72:
3847 #line 2437 "grammar.y"
3848 {
3849 #line 972 "grammar.pgs"
3850 		 yyval.tree = T_dummy(yylocate(yylsp[-2]));	     	       ;
3851     break;}
3852 case 73:
3853 #line 2441 "grammar.y"
3854 {
3855 #line 974 "grammar.pgs"
3856 		 yyval.tree = T_orientation(yyvsp[0].tree,yylocate(yylsp[-2]));        ;
3857     break;}
3858 case 74:
3859 #line 2445 "grammar.y"
3860 {
3861 #line 976 "grammar.pgs"
3862 		 yyval.tree = T_node_alignment(yyvsp[0].tree,yylocate(yylsp[-2]));     ;
3863     break;}
3864 case 75:
3865 #line 2449 "grammar.y"
3866 {
3867 #line 978 "grammar.pgs"
3868 		 yyval.tree = T_port_sharing(yyvsp[0].tree,yylocate(yylsp[-2]));       ;
3869     break;}
3870 case 76:
3871 #line 2453 "grammar.y"
3872 {
3873 #line 980 "grammar.pgs"
3874 		 yyval.tree = T_arrow_mode(yyvsp[0].tree,yylocate(yylsp[-2]));         ;
3875     break;}
3876 case 77:
3877 #line 2458 "grammar.y"
3878 {
3879 #line 983 "grammar.pgs"
3880 		 yyval.tree = T_spreadlevel(yyvsp[0].tree,yylocate(yylsp[-2]));        ;
3881     break;}
3882 case 78:
3883 #line 2462 "grammar.y"
3884 {
3885 #line 985 "grammar.pgs"
3886 		 yyval.tree = T_treefactor(yyvsp[0].tree,yylocate(yylsp[-2]));         ;
3887     break;}
3888 case 79:
3889 #line 2467 "grammar.y"
3890 {
3891 #line 988 "grammar.pgs"
3892 		 yyval.tree = T_crossing_phase2(yyvsp[0].tree,yylocate(yylsp[-2]));    ;
3893     break;}
3894 case 80:
3895 #line 2471 "grammar.y"
3896 {
3897 #line 990 "grammar.pgs"
3898 		 yyval.tree = T_crossing_opt(yyvsp[0].tree,yylocate(yylsp[-2]));       ;
3899     break;}
3900 case 81:
3901 #line 2475 "grammar.y"
3902 {
3903 #line 992 "grammar.pgs"
3904 		 yyval.tree = T_crossing_weight(yyvsp[0].tree,yylocate(yylsp[-2]));    ;
3905     break;}
3906 case 82:
3907 #line 2480 "grammar.y"
3908 {
3909 #line 995 "grammar.pgs"
3910 		 yyval.tree = T_view_method(yyvsp[0].tree,yylocate(yylsp[-2]));       	;
3911     break;}
3912 case 83:
3913 #line 2484 "grammar.y"
3914 {
3915 #line 997 "grammar.pgs"
3916 		 yyval.tree = T_view_edges(yyvsp[0].tree,yylocate(yylsp[-2]));       	;
3917     break;}
3918 case 84:
3919 #line 2488 "grammar.y"
3920 {
3921 #line 999 "grammar.pgs"
3922 		 yyval.tree = T_view_nodes(yyvsp[0].tree,yylocate(yylsp[-2]));       	;
3923     break;}
3924 case 85:
3925 #line 2492 "grammar.y"
3926 {
3927 #line 1001 "grammar.pgs"
3928 		 yyval.tree = T_view_splines(yyvsp[0].tree,yylocate(yylsp[-2]));  	;
3929     break;}
3930 case 86:
3931 #line 2497 "grammar.y"
3932 {
3933 #line 1004 "grammar.pgs"
3934 		 yyval.tree = T_bend_max(yyvsp[0].tree,yylocate(yylsp[-2]));   		;
3935     break;}
3936 case 87:
3937 #line 2501 "grammar.y"
3938 {
3939 #line 1006 "grammar.pgs"
3940 		 yyval.tree = T_cross_max(yyvsp[0].tree,yylocate(yylsp[-2]));  		;
3941     break;}
3942 case 88:
3943 #line 2505 "grammar.y"
3944 {
3945 #line 1008 "grammar.pgs"
3946 		 yyval.tree = T_cross_min(yyvsp[0].tree,yylocate(yylsp[-2]));  		;
3947     break;}
3948 case 89:
3949 #line 2509 "grammar.y"
3950 {
3951 #line 1010 "grammar.pgs"
3952 		 yyval.tree = T_pendel_max(yyvsp[0].tree,yylocate(yylsp[-2])); 		;
3953     break;}
3954 case 90:
3955 #line 2513 "grammar.y"
3956 {
3957 #line 1012 "grammar.pgs"
3958 		 yyval.tree = T_pendel_min(yyvsp[0].tree,yylocate(yylsp[-2]));  	;
3959     break;}
3960 case 91:
3961 #line 2517 "grammar.y"
3962 {
3963 #line 1014 "grammar.pgs"
3964 		 yyval.tree = T_rubber_max(yyvsp[0].tree,yylocate(yylsp[-2])); 		;
3965     break;}
3966 case 92:
3967 #line 2521 "grammar.y"
3968 {
3969 #line 1016 "grammar.pgs"
3970 		 yyval.tree = T_rubber_min(yyvsp[0].tree,yylocate(yylsp[-2]));  	;
3971     break;}
3972 case 93:
3973 #line 2525 "grammar.y"
3974 {
3975 #line 1018 "grammar.pgs"
3976 		 yyval.tree = T_straight_max(yyvsp[0].tree,yylocate(yylsp[-2])); 	;
3977     break;}
3978 case 94:
3979 #line 2530 "grammar.y"
3980 {
3981 #line 1021 "grammar.pgs"
3982 		 yyval.tree = T_typename(yyvsp[0].tree,yylocate(yylsp[-2]));           ;
3983     break;}
3984 case 95:
3985 #line 2534 "grammar.y"
3986 {
3987 #line 1023 "grammar.pgs"
3988 		 yyval.tree = T_include(yyvsp[0].tree,yylocate(yylsp[-2]));            ;
3989     break;}
3990 case 96:
3991 #line 2538 "grammar.y"
3992 {
3993 #line 1025 "grammar.pgs"
3994 		 yyval.tree = T_layoutparameter(yyvsp[0].tree,yylocate(yylsp[-2]));    ;
3995     break;}
3996 case 97:
3997 #line 2542 "grammar.y"
3998 {
3999 #line 1027 "grammar.pgs"
4000 		 yyval.tree = T_topsort(yyvsp[0].tree,yylocate(yylsp[-2]));            ;
4001     break;}
4002 case 98:
4003 #line 2546 "grammar.y"
4004 {
4005 #line 1029 "grammar.pgs"
4006 		 yyval.tree = T_inputfunction(yyvsp[0].tree,yylocate(yylsp[-2]));      ;
4007     break;}
4008 case 99:
4009 #line 2550 "grammar.y"
4010 {
4011 #line 1031 "grammar.pgs"
4012 		 yyval.tree = T_outputfunction(yyvsp[0].tree,yylocate(yylsp[-2]));     ;
4013     break;}
4014 case 100:
4015 #line 2554 "grammar.y"
4016 {
4017 #line 1033 "grammar.pgs"
4018 		 yyval.tree = T_xscrollbar(yyvsp[0].tree,yylocate(yylsp[-2]));         ;
4019     break;}
4020 case 101:
4021 #line 2558 "grammar.y"
4022 {
4023 #line 1035 "grammar.pgs"
4024 		 yyval.tree = T_yscrollbar(yyvsp[0].tree,yylocate(yylsp[-2]));         ;
4025     break;}
4026 case 102:
4027 #line 2564 "grammar.y"
4028 {
4029 #line 1039 "grammar.pgs"
4030 		 yyval.tree = T_aquamarine(yylocate(yylsp[0]));   ;
4031     break;}
4032 case 103:
4033 #line 2567 "grammar.y"
4034 {
4035 #line 1040 "grammar.pgs"
4036 		 yyval.tree = T_black(yylocate(yylsp[0]));        ;
4037     break;}
4038 case 104:
4039 #line 2570 "grammar.y"
4040 {
4041 #line 1041 "grammar.pgs"
4042 		 yyval.tree = T_blue(yylocate(yylsp[0]));         ;
4043     break;}
4044 case 105:
4045 #line 2573 "grammar.y"
4046 {
4047 #line 1042 "grammar.pgs"
4048 		 yyval.tree = T_cyan(yylocate(yylsp[0]));         ;
4049     break;}
4050 case 106:
4051 #line 2576 "grammar.y"
4052 {
4053 #line 1043 "grammar.pgs"
4054 		 yyval.tree = T_darkblue(yylocate(yylsp[0]));     ;
4055     break;}
4056 case 107:
4057 #line 2579 "grammar.y"
4058 {
4059 #line 1044 "grammar.pgs"
4060 		 yyval.tree = T_darkcyan(yylocate(yylsp[0]));     ;
4061     break;}
4062 case 108:
4063 #line 2582 "grammar.y"
4064 {
4065 #line 1045 "grammar.pgs"
4066 		 yyval.tree = T_darkgreen(yylocate(yylsp[0]));    ;
4067     break;}
4068 case 109:
4069 #line 2585 "grammar.y"
4070 {
4071 #line 1046 "grammar.pgs"
4072 		 yyval.tree = T_darkgrey(yylocate(yylsp[0]));     ;
4073     break;}
4074 case 110:
4075 #line 2588 "grammar.y"
4076 {
4077 #line 1047 "grammar.pgs"
4078 		 yyval.tree = T_darkmagenta(yylocate(yylsp[0]));  ;
4079     break;}
4080 case 111:
4081 #line 2591 "grammar.y"
4082 {
4083 #line 1048 "grammar.pgs"
4084 		 yyval.tree = T_darkred(yylocate(yylsp[0]));      ;
4085     break;}
4086 case 112:
4087 #line 2594 "grammar.y"
4088 {
4089 #line 1049 "grammar.pgs"
4090 		 yyval.tree = T_darkyellow(yylocate(yylsp[0]));   ;
4091     break;}
4092 case 113:
4093 #line 2597 "grammar.y"
4094 {
4095 #line 1050 "grammar.pgs"
4096 		 yyval.tree = T_gold(yylocate(yylsp[0]));         ;
4097     break;}
4098 case 114:
4099 #line 2600 "grammar.y"
4100 {
4101 #line 1051 "grammar.pgs"
4102 		 yyval.tree = T_green(yylocate(yylsp[0]));        ;
4103     break;}
4104 case 115:
4105 #line 2603 "grammar.y"
4106 {
4107 #line 1052 "grammar.pgs"
4108 		 yyval.tree = T_khaki(yylocate(yylsp[0]));        ;
4109     break;}
4110 case 116:
4111 #line 2606 "grammar.y"
4112 {
4113 #line 1053 "grammar.pgs"
4114 		 yyval.tree = T_lightblue(yylocate(yylsp[0]));    ;
4115     break;}
4116 case 117:
4117 #line 2609 "grammar.y"
4118 {
4119 #line 1054 "grammar.pgs"
4120 		 yyval.tree = T_lightcyan(yylocate(yylsp[0]));    ;
4121     break;}
4122 case 118:
4123 #line 2612 "grammar.y"
4124 {
4125 #line 1055 "grammar.pgs"
4126 		 yyval.tree = T_lightgreen(yylocate(yylsp[0]));   ;
4127     break;}
4128 case 119:
4129 #line 2615 "grammar.y"
4130 {
4131 #line 1056 "grammar.pgs"
4132 		 yyval.tree = T_lightgrey(yylocate(yylsp[0]));    ;
4133     break;}
4134 case 120:
4135 #line 2618 "grammar.y"
4136 {
4137 #line 1057 "grammar.pgs"
4138 		 yyval.tree = T_lightmagenta(yylocate(yylsp[0])); ;
4139     break;}
4140 case 121:
4141 #line 2621 "grammar.y"
4142 {
4143 #line 1058 "grammar.pgs"
4144 		 yyval.tree = T_lightred(yylocate(yylsp[0]));     ;
4145     break;}
4146 case 122:
4147 #line 2624 "grammar.y"
4148 {
4149 #line 1059 "grammar.pgs"
4150 		 yyval.tree = T_lightyellow(yylocate(yylsp[0]));  ;
4151     break;}
4152 case 123:
4153 #line 2627 "grammar.y"
4154 {
4155 #line 1060 "grammar.pgs"
4156 		 yyval.tree = T_lilac(yylocate(yylsp[0]));        ;
4157     break;}
4158 case 124:
4159 #line 2630 "grammar.y"
4160 {
4161 #line 1061 "grammar.pgs"
4162 		 yyval.tree = T_magenta(yylocate(yylsp[0]));      ;
4163     break;}
4164 case 125:
4165 #line 2633 "grammar.y"
4166 {
4167 #line 1062 "grammar.pgs"
4168 		 yyval.tree = T_orange(yylocate(yylsp[0]));       ;
4169     break;}
4170 case 126:
4171 #line 2636 "grammar.y"
4172 {
4173 #line 1063 "grammar.pgs"
4174 		 yyval.tree = T_orchid(yylocate(yylsp[0]));       ;
4175     break;}
4176 case 127:
4177 #line 2639 "grammar.y"
4178 {
4179 #line 1064 "grammar.pgs"
4180 		 yyval.tree = T_pink(yylocate(yylsp[0]));         ;
4181     break;}
4182 case 128:
4183 #line 2642 "grammar.y"
4184 {
4185 #line 1065 "grammar.pgs"
4186 		 yyval.tree = T_purple(yylocate(yylsp[0]));       ;
4187     break;}
4188 case 129:
4189 #line 2645 "grammar.y"
4190 {
4191 #line 1066 "grammar.pgs"
4192 		 yyval.tree = T_red(yylocate(yylsp[0]));          ;
4193     break;}
4194 case 130:
4195 #line 2648 "grammar.y"
4196 {
4197 #line 1067 "grammar.pgs"
4198 		 yyval.tree = T_turquoise(yylocate(yylsp[0]));    ;
4199     break;}
4200 case 131:
4201 #line 2651 "grammar.y"
4202 {
4203 #line 1068 "grammar.pgs"
4204 		 yyval.tree = T_white(yylocate(yylsp[0]));        ;
4205     break;}
4206 case 132:
4207 #line 2654 "grammar.y"
4208 {
4209 #line 1069 "grammar.pgs"
4210 		 yyval.tree = T_yellow(yylocate(yylsp[0]));       ;
4211     break;}
4212 case 133:
4213 #line 2657 "grammar.y"
4214 {
4215 #line 1070 "grammar.pgs"
4216 		 yyval.tree = T_yellowgreen(yylocate(yylsp[0]));  ;
4217     break;}
4218 case 134:
4219 #line 2660 "grammar.y"
4220 {
4221 #line 1071 "grammar.pgs"
4222 		 yyval.tree = T_colindex(yyvsp[0].tree,yylocate(yylsp[0]));   ;
4223     break;}
4224 case 135:
4225 #line 2666 "grammar.y"
4226 {
4227 #line 1075 "grammar.pgs"
4228 		 yyval.tree = T_high(yylocate(yylsp[0])); 	       ;
4229     break;}
4230 case 136:
4231 #line 2669 "grammar.y"
4232 {
4233 #line 1076 "grammar.pgs"
4234 		 yyval.tree = T_low(yylocate(yylsp[0]));          ;
4235     break;}
4236 case 137:
4237 #line 2675 "grammar.y"
4238 {
4239 #line 1080 "grammar.pgs"
4240 		 yyval.tree = T_top_to_bottom(yylocate(yylsp[0])); ;
4241     break;}
4242 case 138:
4243 #line 2678 "grammar.y"
4244 {
4245 #line 1081 "grammar.pgs"
4246 		 yyval.tree = T_bottom_to_top(yylocate(yylsp[0])); ;
4247     break;}
4248 case 139:
4249 #line 2681 "grammar.y"
4250 {
4251 #line 1082 "grammar.pgs"
4252 		 yyval.tree = T_left_to_right(yylocate(yylsp[0])); ;
4253     break;}
4254 case 140:
4255 #line 2684 "grammar.y"
4256 {
4257 #line 1083 "grammar.pgs"
4258 		 yyval.tree = T_right_to_left(yylocate(yylsp[0])); ;
4259     break;}
4260 case 141:
4261 #line 2691 "grammar.y"
4262 {
4263 #line 1088 "grammar.pgs"
4264 		 yyval.tree = T_barycenter(yylocate(yylsp[0]));    ;
4265     break;}
4266 case 142:
4267 #line 2694 "grammar.y"
4268 {
4269 #line 1089 "grammar.pgs"
4270 		 yyval.tree = T_isi(yylocate(yylsp[0]));           ;
4271     break;}
4272 case 143:
4273 #line 2697 "grammar.y"
4274 {
4275 #line 1090 "grammar.pgs"
4276 		 yyval.tree = T_planar(yylocate(yylsp[0]));        ;
4277     break;}
4278 case 144:
4279 #line 2700 "grammar.y"
4280 {
4281 #line 1091 "grammar.pgs"
4282 		 yyval.tree = T_constaints(yylocate(yylsp[0]));    ;
4283     break;}
4284 case 145:
4285 #line 2704 "grammar.y"
4286 {
4287 #line 1093 "grammar.pgs"
4288 		 yyval.tree = T_tree(yylocate(yylsp[0]));          ;
4289     break;}
4290 case 146:
4291 #line 2707 "grammar.y"
4292 {
4293 #line 1094 "grammar.pgs"
4294 		 yyval.tree = T_maxdepth(yylocate(yylsp[0]));      ;
4295     break;}
4296 case 147:
4297 #line 2710 "grammar.y"
4298 {
4299 #line 1095 "grammar.pgs"
4300 		 yyval.tree = T_mindepth(yylocate(yylsp[0]));      ;
4301     break;}
4302 case 148:
4303 #line 2713 "grammar.y"
4304 {
4305 #line 1096 "grammar.pgs"
4306 		 yyval.tree = T_maxdepthslow(yylocate(yylsp[0]));  ;
4307     break;}
4308 case 149:
4309 #line 2716 "grammar.y"
4310 {
4311 #line 1097 "grammar.pgs"
4312 		 yyval.tree = T_mindepthslow(yylocate(yylsp[0]));  ;
4313     break;}
4314 case 150:
4315 #line 2719 "grammar.y"
4316 {
4317 #line 1098 "grammar.pgs"
4318 		 yyval.tree = T_maxdegree(yylocate(yylsp[0]));     ;
4319     break;}
4320 case 151:
4321 #line 2722 "grammar.y"
4322 {
4323 #line 1099 "grammar.pgs"
4324 		 yyval.tree = T_mindegree(yylocate(yylsp[0]));     ;
4325     break;}
4326 case 152:
4327 #line 2725 "grammar.y"
4328 {
4329 #line 1100 "grammar.pgs"
4330 		 yyval.tree = T_maxindegree(yylocate(yylsp[0]));   ;
4331     break;}
4332 case 153:
4333 #line 2728 "grammar.y"
4334 {
4335 #line 1101 "grammar.pgs"
4336 		 yyval.tree = T_minindegree(yylocate(yylsp[0]));   ;
4337     break;}
4338 case 154:
4339 #line 2731 "grammar.y"
4340 {
4341 #line 1102 "grammar.pgs"
4342 		 yyval.tree = T_maxoutdegree(yylocate(yylsp[0]));  ;
4343     break;}
4344 case 155:
4345 #line 2734 "grammar.y"
4346 {
4347 #line 1103 "grammar.pgs"
4348 		 yyval.tree = T_minoutdegree(yylocate(yylsp[0]));  ;
4349     break;}
4350 case 156:
4351 #line 2737 "grammar.y"
4352 {
4353 #line 1104 "grammar.pgs"
4354 		 yyval.tree = T_minbackwards(yylocate(yylsp[0]));  ;
4355     break;}
4356 case 157:
4357 #line 2740 "grammar.y"
4358 {
4359 #line 1105 "grammar.pgs"
4360 		 yyval.tree = T_depthfirst(yylocate(yylsp[0]));    ;
4361     break;}
4362 case 158:
4363 #line 2747 "grammar.y"
4364 {
4365 #line 1110 "grammar.pgs"
4366 		 yyval.tree = T_every(yylocate(yylsp[0])); 	;
4367     break;}
4368 case 159:
4369 #line 2750 "grammar.y"
4370 {
4371 #line 1111 "grammar.pgs"
4372 		 yyval.tree = T_manual(yylocate(yylsp[0])); 	;
4373     break;}
4374 case 160:
4375 #line 2756 "grammar.y"
4376 {
4377 #line 1115 "grammar.pgs"
4378 		 yyval.tree = T_black(yylocate(yylsp[0])); 	;
4379     break;}
4380 case 161:
4381 #line 2759 "grammar.y"
4382 {
4383 #line 1116 "grammar.pgs"
4384 		 yyval.tree = T_grey(yylocate(yylsp[0])); 		;
4385     break;}
4386 case 162:
4387 #line 2762 "grammar.y"
4388 {
4389 #line 1117 "grammar.pgs"
4390 		 yyval.tree = T_white(yylocate(yylsp[0])); 	;
4391     break;}
4392 case 163:
4393 #line 2768 "grammar.y"
4394 {
4395 #line 1121 "grammar.pgs"
4396 		 yyval.tree = T_yes(yylocate(yylsp[0])); 		;
4397     break;}
4398 case 164:
4399 #line 2771 "grammar.y"
4400 {
4401 #line 1122 "grammar.pgs"
4402 		 yyval.tree = T_no(yylocate(yylsp[0])); 		;
4403     break;}
4404 case 165:
4405 #line 2776 "grammar.y"
4406 {
4407 #line 1125 "grammar.pgs"
4408 		 yyval.tree = T_bary(yylocate(yylsp[0])); 	       ;
4409     break;}
4410 case 166:
4411 #line 2779 "grammar.y"
4412 {
4413 #line 1126 "grammar.pgs"
4414 		 yyval.tree = T_median(yylocate(yylsp[0]));       ;
4415     break;}
4416 case 167:
4417 #line 2782 "grammar.y"
4418 {
4419 #line 1127 "grammar.pgs"
4420 		 yyval.tree = T_barymedian(yylocate(yylsp[0]));   ;
4421     break;}
4422 case 168:
4423 #line 2785 "grammar.y"
4424 {
4425 #line 1128 "grammar.pgs"
4426 		 yyval.tree = T_medianbary(yylocate(yylsp[0]));   ;
4427     break;}
4428 case 169:
4429 #line 2790 "grammar.y"
4430 {
4431 #line 1131 "grammar.pgs"
4432 		 yyval.tree = T_cfish(yylocate(yylsp[0])); 	;
4433     break;}
4434 case 170:
4435 #line 2793 "grammar.y"
4436 {
4437 #line 1132 "grammar.pgs"
4438 		 yyval.tree = T_fcfish(yylocate(yylsp[0]));	;
4439     break;}
4440 case 171:
4441 #line 2796 "grammar.y"
4442 {
4443 #line 1133 "grammar.pgs"
4444 		 yyval.tree = T_pfish(yylocate(yylsp[0])); 	;
4445     break;}
4446 case 172:
4447 #line 2799 "grammar.y"
4448 {
4449 #line 1134 "grammar.pgs"
4450 		 yyval.tree = T_fpfish(yylocate(yylsp[0]));	;
4451     break;}
4452 case 173:
4453 #line 2804 "grammar.y"
4454 {
4455 #line 1137 "grammar.pgs"
4456 		 yyval.tree = T_fixed(yylocate(yylsp[0]));         ;
4457     break;}
4458 case 174:
4459 #line 2807 "grammar.y"
4460 {
4461 #line 1138 "grammar.pgs"
4462 		 yyval.tree = T_free(yylocate(yylsp[0]));          ;
4463     break;}
4464 case 175:
4465 #line 2813 "grammar.y"
4466 {
4467 #line 1142 "grammar.pgs"
4468 		 yyval.tree = yyvsp[0].tree;              ;
4469     break;}
4470 case 176:
4471 #line 2819 "grammar.y"
4472 {
4473 #line 1146 "grammar.pgs"
4474 		 yyval.tree = yyvsp[0].tree;              ;
4475     break;}
4476 case 177:
4477 #line 2825 "grammar.y"
4478 {
4479 #line 1150 "grammar.pgs"
4480 		 yyval.tree = yyvsp[0].tree;              ;
4481     break;}
4482 case 178:
4483 #line 2831 "grammar.y"
4484 {
4485 #line 1154 "grammar.pgs"
4486 		 yyval.tree = yyvsp[0].tree;              ;
4487     break;}
4488 case 179:
4489 #line 2838 "grammar.y"
4490 {
4491 #line 1159 "grammar.pgs"
4492 		 yyval.tree = REVERT(yyvsp[-1].tree); ;
4493     break;}
4494 case 180:
4495 #line 2845 "grammar.y"
4496 {
4497 #line 1164 "grammar.pgs"
4498 		 yyval.tree = T_node_attribute(yyvsp[0].tree,yyvsp[-1].tree,yylocate(yylsp[-1]));   ;
4499     break;}
4500 case 181:
4501 #line 2849 "grammar.y"
4502 {
4503 #line 1166 "grammar.pgs"
4504 		 yyval.tree = T_node_attribute(yyvsp[0].tree,NULL,yylocate(yylsp[0])); ;
4505     break;}
4506 case 182:
4507 #line 2856 "grammar.y"
4508 {
4509 #line 1171 "grammar.pgs"
4510 		 yyval.tree = REVERT(yyvsp[-1].tree); ;
4511     break;}
4512 case 183:
4513 #line 2862 "grammar.y"
4514 {
4515 #line 1175 "grammar.pgs"
4516 		 yyval.tree = REVERT(yyvsp[-1].tree); ;
4517     break;}
4518 case 184:
4519 #line 2868 "grammar.y"
4520 {
4521 #line 1179 "grammar.pgs"
4522 		 yyval.tree = REVERT(yyvsp[-1].tree); ;
4523     break;}
4524 case 185:
4525 #line 2874 "grammar.y"
4526 {
4527 #line 1183 "grammar.pgs"
4528 		 yyval.tree = REVERT(yyvsp[-1].tree); ;
4529     break;}
4530 case 186:
4531 #line 2881 "grammar.y"
4532 {
4533 #line 1188 "grammar.pgs"
4534 		 yyval.tree = T_edge_attribute(yyvsp[0].tree,yyvsp[-1].tree,yylocate(yylsp[-1]));   ;
4535     break;}
4536 case 187:
4537 #line 2885 "grammar.y"
4538 {
4539 #line 1190 "grammar.pgs"
4540 		 yyval.tree = T_edge_attribute(yyvsp[0].tree,NULL,yylocate(yylsp[0])); ;
4541     break;}
4542 case 188:
4543 #line 2892 "grammar.y"
4544 {
4545 #line 1195 "grammar.pgs"
4546 		 yyval.tree = REVERT(yyvsp[-1].tree); ;
4547     break;}
4548 case 189:
4549 #line 2900 "grammar.y"
4550 {
4551 #line 1201 "grammar.pgs"
4552 		 yyval.tree = T_constraint_attribute(yyvsp[0].tree,yyvsp[-1].tree,yylocate(yylsp[-1]));   ;
4553     break;}
4554 case 190:
4555 #line 2904 "grammar.y"
4556 {
4557 #line 1203 "grammar.pgs"
4558 		 yyval.tree = T_constraint_attribute(yyvsp[0].tree,NULL,yylocate(yylsp[0])); ;
4559     break;}
4560 case 191:
4561 #line 2911 "grammar.y"
4562 {
4563 #line 1208 "grammar.pgs"
4564 		 yyval.tree = T_title(yyvsp[0].tree,yylocate(yylsp[-2]));        ;
4565     break;}
4566 case 192:
4567 #line 2915 "grammar.y"
4568 {
4569 #line 1210 "grammar.pgs"
4570 		 yyval.tree = T_label(yyvsp[0].tree,yylocate(yylsp[-2]));        ;
4571     break;}
4572 case 193:
4573 #line 2919 "grammar.y"
4574 {
4575 #line 1212 "grammar.pgs"
4576 		 yyval.tree = T_info1(yyvsp[0].tree,yylocate(yylsp[-2]));        ;
4577     break;}
4578 case 194:
4579 #line 2923 "grammar.y"
4580 {
4581 #line 1214 "grammar.pgs"
4582 		 yyval.tree = T_info2(yyvsp[0].tree,yylocate(yylsp[-2]));        ;
4583     break;}
4584 case 195:
4585 #line 2927 "grammar.y"
4586 {
4587 #line 1216 "grammar.pgs"
4588 		 yyval.tree = T_info3(yyvsp[0].tree,yylocate(yylsp[-2]));        ;
4589     break;}
4590 case 196:
4591 #line 2931 "grammar.y"
4592 {
4593 #line 1218 "grammar.pgs"
4594 		 yyval.tree = T_fontname(yyvsp[0].tree,yylocate(yylsp[-2]));     ;
4595     break;}
4596 case 197:
4597 #line 2935 "grammar.y"
4598 {
4599 #line 1220 "grammar.pgs"
4600 		 yyval.tree = T_color(yyvsp[0].tree,yylocate(yylsp[-2]));        ;
4601     break;}
4602 case 198:
4603 #line 2939 "grammar.y"
4604 {
4605 #line 1222 "grammar.pgs"
4606 		 yyval.tree = T_textcolor(yyvsp[0].tree,yylocate(yylsp[-2]));    ;
4607     break;}
4608 case 199:
4609 #line 2943 "grammar.y"
4610 {
4611 #line 1224 "grammar.pgs"
4612 		 yyval.tree = T_bordercolor(yyvsp[0].tree,yylocate(yylsp[-2]));  ;
4613     break;}
4614 case 200:
4615 #line 2947 "grammar.y"
4616 {
4617 #line 1226 "grammar.pgs"
4618 		 yyval.tree = T_iconfile(yyvsp[0].tree,yylocate(yylsp[-2]));     ;
4619     break;}
4620 case 201:
4621 #line 2951 "grammar.y"
4622 {
4623 #line 1228 "grammar.pgs"
4624 		 yyval.tree = T_anchorpoints(yyvsp[0].tree,yylocate(yylsp[-2])); ;
4625     break;}
4626 case 202:
4627 #line 2955 "grammar.y"
4628 {
4629 #line 1230 "grammar.pgs"
4630 		 yyval.tree = T_typename(yyvsp[0].tree,yylocate(yylsp[-2]));     ;
4631     break;}
4632 case 203:
4633 #line 2959 "grammar.y"
4634 {
4635 #line 1232 "grammar.pgs"
4636 		 yyval.tree = T_width(yyvsp[0].tree,yylocate(yylsp[-2]));        ;
4637     break;}
4638 case 204:
4639 #line 2963 "grammar.y"
4640 {
4641 #line 1234 "grammar.pgs"
4642 		 yyval.tree = T_height(yyvsp[0].tree,yylocate(yylsp[-2]));       ;
4643     break;}
4644 case 205:
4645 #line 2967 "grammar.y"
4646 {
4647 #line 1236 "grammar.pgs"
4648 		 yyval.tree = T_borderwidth(yyvsp[0].tree,yylocate(yylsp[-2]));  ;
4649     break;}
4650 case 206:
4651 #line 2971 "grammar.y"
4652 {
4653 #line 1238 "grammar.pgs"
4654 		 yyval.tree = T_loc(yyvsp[-4].tree,yyvsp[-1].tree,yylocate(yylsp[-8]));       ;
4655     break;}
4656 case 207:
4657 #line 2975 "grammar.y"
4658 {
4659 #line 1240 "grammar.pgs"
4660 		 yyval.tree = T_folding(yyvsp[0].tree,yylocate(yylsp[-2]));      ;
4661     break;}
4662 case 208:
4663 #line 2979 "grammar.y"
4664 {
4665 #line 1242 "grammar.pgs"
4666 		 yyval.tree = T_scaling(yyvsp[0].tree,yylocate(yylsp[-2]));            ;
4667     break;}
4668 case 209:
4669 #line 2983 "grammar.y"
4670 {
4671 #line 1244 "grammar.pgs"
4672 		 yyval.tree = T_shrink(yyvsp[0].tree,yylocate(yylsp[-2]));       ;
4673     break;}
4674 case 210:
4675 #line 2987 "grammar.y"
4676 {
4677 #line 1246 "grammar.pgs"
4678 		 yyval.tree = T_stretch(yyvsp[0].tree,yylocate(yylsp[-2]));      ;
4679     break;}
4680 case 211:
4681 #line 2991 "grammar.y"
4682 {
4683 #line 1248 "grammar.pgs"
4684 		 yyval.tree = T_iconwidth(yyvsp[0].tree,yylocate(yylsp[-2]));    ;
4685     break;}
4686 case 212:
4687 #line 2995 "grammar.y"
4688 {
4689 #line 1250 "grammar.pgs"
4690 		 yyval.tree = T_iconheight(yyvsp[0].tree,yylocate(yylsp[-2]));   ;
4691     break;}
4692 case 213:
4693 #line 2999 "grammar.y"
4694 {
4695 #line 1252 "grammar.pgs"
4696 		 yyval.tree = T_textmode(yyvsp[0].tree,yylocate(yylsp[-2]));     ;
4697     break;}
4698 case 214:
4699 #line 3003 "grammar.y"
4700 {
4701 #line 1254 "grammar.pgs"
4702 		 yyval.tree = T_iconstyle(yyvsp[0].tree,yylocate(yylsp[-2]));    ;
4703     break;}
4704 case 215:
4705 #line 3007 "grammar.y"
4706 {
4707 #line 1256 "grammar.pgs"
4708 		 yyval.tree = T_shape(yyvsp[0].tree,yylocate(yylsp[-2]));    	 ;
4709     break;}
4710 case 216:
4711 #line 3011 "grammar.y"
4712 {
4713 #line 1258 "grammar.pgs"
4714 		 yyval.tree = T_level(yyvsp[0].tree,yylocate(yylsp[-2]));        ;
4715     break;}
4716 case 217:
4717 #line 3015 "grammar.y"
4718 {
4719 #line 1260 "grammar.pgs"
4720 		 yyval.tree = T_level(yyvsp[0].tree,yylocate(yylsp[-2]));            ;
4721     break;}
4722 case 218:
4723 #line 3019 "grammar.y"
4724 {
4725 #line 1262 "grammar.pgs"
4726 		 yyval.tree = T_horizontal_order(yyvsp[0].tree,yylocate(yylsp[-2])); ;
4727     break;}
4728 case 219:
4729 #line 3024 "grammar.y"
4730 {
4731 #line 1265 "grammar.pgs"
4732 		 yyval.tree = T_center(yylocate(yylsp[0]));        ;
4733     break;}
4734 case 220:
4735 #line 3027 "grammar.y"
4736 {
4737 #line 1266 "grammar.pgs"
4738 		 yyval.tree = T_left_justify(yylocate(yylsp[0]));  ;
4739     break;}
4740 case 221:
4741 #line 3030 "grammar.y"
4742 {
4743 #line 1267 "grammar.pgs"
4744 		 yyval.tree = T_right_justify(yylocate(yylsp[0])); ;
4745     break;}
4746 case 222:
4747 #line 3035 "grammar.y"
4748 {
4749 #line 1270 "grammar.pgs"
4750 		 yyval.tree = T_box(yylocate(yylsp[0])); 		;
4751     break;}
4752 case 223:
4753 #line 3038 "grammar.y"
4754 {
4755 #line 1271 "grammar.pgs"
4756 		 yyval.tree = T_rhomb(yylocate(yylsp[0]));		;
4757     break;}
4758 case 224:
4759 #line 3041 "grammar.y"
4760 {
4761 #line 1272 "grammar.pgs"
4762 		 yyval.tree = T_ellipse(yylocate(yylsp[0]));	;
4763     break;}
4764 case 225:
4765 #line 3044 "grammar.y"
4766 {
4767 #line 1273 "grammar.pgs"
4768 		 yyval.tree = T_triangle(yylocate(yylsp[0]));	;
4769     break;}
4770 case 226:
4771 #line 3049 "grammar.y"
4772 {
4773 #line 1276 "grammar.pgs"
4774 		 yyval.tree = T_bottom(yylocate(yylsp[0])); ;
4775     break;}
4776 case 227:
4777 #line 3052 "grammar.y"
4778 {
4779 #line 1277 "grammar.pgs"
4780 		 yyval.tree = T_top(yylocate(yylsp[0]));    ;
4781     break;}
4782 case 228:
4783 #line 3055 "grammar.y"
4784 {
4785 #line 1278 "grammar.pgs"
4786 		 yyval.tree = T_center(yylocate(yylsp[0])); ;
4787     break;}
4788 case 229:
4789 #line 3060 "grammar.y"
4790 {
4791 #line 1281 "grammar.pgs"
4792 		 yyval.tree = T_bottom(yylocate(yylsp[0])); ;
4793     break;}
4794 case 230:
4795 #line 3063 "grammar.y"
4796 {
4797 #line 1282 "grammar.pgs"
4798 		 yyval.tree = T_top(yylocate(yylsp[0]));    ;
4799     break;}
4800 case 231:
4801 #line 3066 "grammar.y"
4802 {
4803 #line 1283 "grammar.pgs"
4804 		 yyval.tree = T_around(yylocate(yylsp[0])); ;
4805     break;}
4806 case 232:
4807 #line 3073 "grammar.y"
4808 {
4809 #line 1288 "grammar.pgs"
4810 		 yyval.tree = T_sourcename(yyvsp[0].tree,yylocate(yylsp[-2]));    ;
4811     break;}
4812 case 233:
4813 #line 3077 "grammar.y"
4814 {
4815 #line 1290 "grammar.pgs"
4816 		 yyval.tree = T_targetname(yyvsp[0].tree,yylocate(yylsp[-2]));    ;
4817     break;}
4818 case 234:
4819 #line 3081 "grammar.y"
4820 {
4821 #line 1292 "grammar.pgs"
4822 		 yyval.tree = T_label(yyvsp[0].tree,yylocate(yylsp[-2]));         ;
4823     break;}
4824 case 235:
4825 #line 3085 "grammar.y"
4826 {
4827 #line 1294 "grammar.pgs"
4828 		 yyval.tree = T_textcolor(yyvsp[0].tree,yylocate(yylsp[-2]));          ;
4829     break;}
4830 case 236:
4831 #line 3089 "grammar.y"
4832 {
4833 #line 1296 "grammar.pgs"
4834 		 yyval.tree = T_fontname(yyvsp[0].tree,yylocate(yylsp[-2]));      ;
4835     break;}
4836 case 237:
4837 #line 3093 "grammar.y"
4838 {
4839 #line 1298 "grammar.pgs"
4840 		 yyval.tree = T_color(yyvsp[0].tree,yylocate(yylsp[-2]));         ;
4841     break;}
4842 case 238:
4843 #line 3097 "grammar.y"
4844 {
4845 #line 1300 "grammar.pgs"
4846 		 yyval.tree = T_typename(yyvsp[0].tree,yylocate(yylsp[-2]));      ;
4847     break;}
4848 case 239:
4849 #line 3101 "grammar.y"
4850 {
4851 #line 1302 "grammar.pgs"
4852 		 yyval.tree = T_thickness(yyvsp[0].tree,yylocate(yylsp[-2]));     ;
4853     break;}
4854 case 240:
4855 #line 3105 "grammar.y"
4856 {
4857 #line 1304 "grammar.pgs"
4858 		 yyval.tree = T_class(yyvsp[0].tree,yylocate(yylsp[-2]));         ;
4859     break;}
4860 case 241:
4861 #line 3109 "grammar.y"
4862 {
4863 #line 1306 "grammar.pgs"
4864 		 yyval.tree = T_priority(yyvsp[0].tree,yylocate(yylsp[-2]));      ;
4865     break;}
4866 case 242:
4867 #line 3113 "grammar.y"
4868 {
4869 #line 1308 "grammar.pgs"
4870 		 yyval.tree = T_arrowwidth(yyvsp[0].tree,yylocate(yylsp[-2]));    ;
4871     break;}
4872 case 243:
4873 #line 3117 "grammar.y"
4874 {
4875 #line 1310 "grammar.pgs"
4876 		 yyval.tree = T_arrowheight(yyvsp[0].tree,yylocate(yylsp[-2]));   ;
4877     break;}
4878 case 244:
4879 #line 3121 "grammar.y"
4880 {
4881 #line 1312 "grammar.pgs"
4882 		 yyval.tree = T_arrowcolor(yyvsp[0].tree,yylocate(yylsp[-2]));    ;
4883     break;}
4884 case 245:
4885 #line 3125 "grammar.y"
4886 {
4887 #line 1314 "grammar.pgs"
4888 		 yyval.tree = T_barrowcolor(yyvsp[0].tree,yylocate(yylsp[-2]));    ;
4889     break;}
4890 case 246:
4891 #line 3129 "grammar.y"
4892 {
4893 #line 1316 "grammar.pgs"
4894 		 yyval.tree = T_arrowsize(yyvsp[0].tree,yylocate(yylsp[-2]));     ;
4895     break;}
4896 case 247:
4897 #line 3133 "grammar.y"
4898 {
4899 #line 1318 "grammar.pgs"
4900 		 yyval.tree = T_barrowsize(yyvsp[0].tree,yylocate(yylsp[-2]));     ;
4901     break;}
4902 case 248:
4903 #line 3137 "grammar.y"
4904 {
4905 #line 1320 "grammar.pgs"
4906 		 yyval.tree = T_arrowstyle(yyvsp[0].tree,yylocate(yylsp[-2]));    ;
4907     break;}
4908 case 249:
4909 #line 3141 "grammar.y"
4910 {
4911 #line 1322 "grammar.pgs"
4912 		 yyval.tree = T_barrowstyle(yyvsp[0].tree,yylocate(yylsp[-2]));    ;
4913     break;}
4914 case 250:
4915 #line 3145 "grammar.y"
4916 {
4917 #line 1324 "grammar.pgs"
4918 		 yyval.tree = T_linestyle(yyvsp[0].tree,yylocate(yylsp[-2]));     ;
4919     break;}
4920 case 251:
4921 #line 3149 "grammar.y"
4922 {
4923 #line 1326 "grammar.pgs"
4924 		 yyval.tree = T_anchor(yyvsp[0].tree,yylocate(yylsp[-2]));        ;
4925     break;}
4926 case 252:
4927 #line 3153 "grammar.y"
4928 {
4929 #line 1328 "grammar.pgs"
4930 		 yyval.tree = T_horizontal_order(yyvsp[0].tree,yylocate(yylsp[-2])); ;
4931     break;}
4932 case 253:
4933 #line 3159 "grammar.y"
4934 {
4935 #line 1332 "grammar.pgs"
4936 		 yyval.tree = T_continuous(yylocate(yylsp[0])); ;
4937     break;}
4938 case 254:
4939 #line 3162 "grammar.y"
4940 {
4941 #line 1333 "grammar.pgs"
4942 		 yyval.tree = T_continuous(yylocate(yylsp[0])); ;
4943     break;}
4944 case 255:
4945 #line 3165 "grammar.y"
4946 {
4947 #line 1334 "grammar.pgs"
4948 		 yyval.tree = T_dotted(yylocate(yylsp[0]));     ;
4949     break;}
4950 case 256:
4951 #line 3168 "grammar.y"
4952 {
4953 #line 1335 "grammar.pgs"
4954 		 yyval.tree = T_dashed(yylocate(yylsp[0]));     ;
4955     break;}
4956 case 257:
4957 #line 3171 "grammar.y"
4958 {
4959 #line 1336 "grammar.pgs"
4960 		 yyval.tree = T_invisible(yylocate(yylsp[0]));  ;
4961     break;}
4962 case 258:
4963 #line 3177 "grammar.y"
4964 {
4965 #line 1340 "grammar.pgs"
4966 		 yyval.tree = T_none(yylocate(yylsp[0]));      ;
4967     break;}
4968 case 259:
4969 #line 3180 "grammar.y"
4970 {
4971 #line 1341 "grammar.pgs"
4972 		 yyval.tree = T_line(yylocate(yylsp[0]));      ;
4973     break;}
4974 case 260:
4975 #line 3183 "grammar.y"
4976 {
4977 #line 1342 "grammar.pgs"
4978 		 yyval.tree = T_solid(yylocate(yylsp[0]));     ;
4979     break;}
4980 case 261:
4981 #line 3189 "grammar.y"
4982 {
4983 #line 1346 "grammar.pgs"
4984 		 yyval.tree = T_title(yyvsp[0].tree,yylocate(yylsp[-2]));     ;
4985     break;}
4986 case 262:
4987 #line 3193 "grammar.y"
4988 {
4989 #line 1348 "grammar.pgs"
4990 		 yyval.tree = T_priority(yyvsp[0].tree,yylocate(yylsp[-2]));  ;
4991     break;}
4992 case 263:
4993 #line 3197 "grammar.y"
4994 {
4995 #line 1350 "grammar.pgs"
4996 		 yyval.tree = T_size(yyvsp[0].tree,yylocate(yylsp[-2]));      ;
4997     break;}
4998 case 264:
4999 #line 3201 "grammar.y"
5000 {
5001 #line 1352 "grammar.pgs"
5002 		 yyval.tree = T_nodes(yyvsp[-1].tree,yylocate(yylsp[-4]));     ;
5003     break;}
5004 case 265:
5005 #line 3205 "grammar.y"
5006 {
5007 #line 1354 "grammar.pgs"
5008 		 yyval.tree = T_interval(yyvsp[0].tree,yylocate(yylsp[-2]));  ;
5009     break;}
5010 case 266:
5011 #line 3209 "grammar.y"
5012 {
5013 #line 1356 "grammar.pgs"
5014 		 yyval.tree = T_name(yyvsp[0].tree,yylocate(yylsp[-2]));      ;
5015     break;}
5016 case 267:
5017 #line 3213 "grammar.y"
5018 {
5019 #line 1358 "grammar.pgs"
5020 		 yyval.tree = T_dimension(yyvsp[0].tree,yylocate(yylsp[-2])); ;
5021     break;}
5022 case 268:
5023 #line 3219 "grammar.y"
5024 {
5025 #line 1362 "grammar.pgs"
5026 		 yyval.tree = T_string_array(yyvsp[-1].tree,yyvsp[0].tree,yylocate(yylsp[-1]));    ;
5027     break;}
5028 case 269:
5029 #line 3222 "grammar.y"
5030 {
5031 #line 1363 "grammar.pgs"
5032 		 yyval.tree = T_string_array(NULL,yyvsp[0].tree,yylocate(yylsp[0]));  ;
5033     break;}
5034 case 270:
5035 #line 3227 "grammar.y"
5036 {
5037 #line 1366 "grammar.pgs"
5038 		 yyval.tree = T_equal(yylocate(yylsp[0]));            ;
5039     break;}
5040 case 271:
5041 #line 3230 "grammar.y"
5042 {
5043 #line 1367 "grammar.pgs"
5044 		 yyval.tree = T_smaller(yylocate(yylsp[0]));          ;
5045     break;}
5046 case 272:
5047 #line 3233 "grammar.y"
5048 {
5049 #line 1368 "grammar.pgs"
5050 		 yyval.tree = T_greater(yylocate(yylsp[0]));          ;
5051     break;}
5052 case 273:
5053 #line 3236 "grammar.y"
5054 {
5055 #line 1369 "grammar.pgs"
5056 		 yyval.tree = T_neighbors(yylocate(yylsp[0]));        ;
5057     break;}
5058 case 274:
5059 #line 3239 "grammar.y"
5060 {
5061 #line 1370 "grammar.pgs"
5062 		 yyval.tree = T_low_margin(yylocate(yylsp[0]));       ;
5063     break;}
5064 case 275:
5065 #line 3242 "grammar.y"
5066 {
5067 #line 1371 "grammar.pgs"
5068 		 yyval.tree = T_high_margin(yylocate(yylsp[0]));      ;
5069     break;}
5070 case 276:
5071 #line 3245 "grammar.y"
5072 {
5073 #line 1372 "grammar.pgs"
5074 		 yyval.tree = T_xrange(yylocate(yylsp[0]));           ;
5075     break;}
5076 case 277:
5077 #line 3248 "grammar.y"
5078 {
5079 #line 1373 "grammar.pgs"
5080 		 yyval.tree = T_cluster(yylocate(yylsp[0]));          ;
5081     break;}
5082 case 278:
5083 #line 3251 "grammar.y"
5084 {
5085 #line 1374 "grammar.pgs"
5086 		 yyval.tree = T_limit(yylocate(yylsp[0]));            ;
5087     break;}
5088 case 279:
5089 #line 3254 "grammar.y"
5090 {
5091 #line 1375 "grammar.pgs"
5092 		 yyval.tree = T_above(yylocate(yylsp[0]));            ;
5093     break;}
5094 case 280:
5095 #line 3257 "grammar.y"
5096 {
5097 #line 1376 "grammar.pgs"
5098 		 yyval.tree = T_below(yylocate(yylsp[0]));            ;
5099     break;}
5100 case 281:
5101 #line 3260 "grammar.y"
5102 {
5103 #line 1377 "grammar.pgs"
5104 		 yyval.tree = T_left(yylocate(yylsp[0]));             ;
5105     break;}
5106 case 282:
5107 #line 3263 "grammar.y"
5108 {
5109 #line 1378 "grammar.pgs"
5110 		 yyval.tree = T_right(yylocate(yylsp[0]));            ;
5111     break;}
5112 case 283:
5113 #line 3266 "grammar.y"
5114 {
5115 #line 1379 "grammar.pgs"
5116 		 yyval.tree = T_in_font(yylocate(yylsp[0]));          ;
5117     break;}
5118 case 284:
5119 #line 3269 "grammar.y"
5120 {
5121 #line 1380 "grammar.pgs"
5122 		 yyval.tree = T_behind(yylocate(yylsp[0]));           ;
5123     break;}
5124 case 285:
5125 #line 3272 "grammar.y"
5126 {
5127 #line 1381 "grammar.pgs"
5128 		 yyval.tree = T_equal_position(yylocate(yylsp[0]));   ;
5129     break;}
5130 case 286:
5131 #line 3275 "grammar.y"
5132 {
5133 #line 1382 "grammar.pgs"
5134 		 yyval.tree = T_equal_row(yylocate(yylsp[0]));        ;
5135     break;}
5136 case 287:
5137 #line 3278 "grammar.y"
5138 {
5139 #line 1383 "grammar.pgs"
5140 		 yyval.tree = T_equal_column(yylocate(yylsp[0]));     ;
5141     break;}
5142 case 288:
5143 #line 3281 "grammar.y"
5144 {
5145 #line 1384 "grammar.pgs"
5146 		 yyval.tree = T_top_margin(yylocate(yylsp[0]));       ;
5147     break;}
5148 case 289:
5149 #line 3284 "grammar.y"
5150 {
5151 #line 1385 "grammar.pgs"
5152 		 yyval.tree = T_bottom_margin(yylocate(yylsp[0]));    ;
5153     break;}
5154 case 290:
5155 #line 3287 "grammar.y"
5156 {
5157 #line 1386 "grammar.pgs"
5158 		 yyval.tree = T_left_margin(yylocate(yylsp[0]));      ;
5159     break;}
5160 case 291:
5161 #line 3290 "grammar.y"
5162 {
5163 #line 1387 "grammar.pgs"
5164 		 yyval.tree = T_right_margin(yylocate(yylsp[0]));     ;
5165     break;}
5166 case 292:
5167 #line 3293 "grammar.y"
5168 {
5169 #line 1388 "grammar.pgs"
5170 		 yyval.tree = T_upper_neighbor(yylocate(yylsp[0]));   ;
5171     break;}
5172 case 293:
5173 #line 3296 "grammar.y"
5174 {
5175 #line 1389 "grammar.pgs"
5176 		 yyval.tree = T_lower_neighbor(yylocate(yylsp[0]));   ;
5177     break;}
5178 case 294:
5179 #line 3299 "grammar.y"
5180 {
5181 #line 1390 "grammar.pgs"
5182 		 yyval.tree = T_left_neighbor(yylocate(yylsp[0]));    ;
5183     break;}
5184 case 295:
5185 #line 3302 "grammar.y"
5186 {
5187 #line 1391 "grammar.pgs"
5188 		 yyval.tree = T_right_neighbor(yylocate(yylsp[0]));   ;
5189     break;}
5190 case 296:
5191 #line 3307 "grammar.y"
5192 {
5193 #line 1394 "grammar.pgs"
5194 		 yyval.tree = T_x(yylocate(yylsp[0])); ;
5195     break;}
5196 case 297:
5197 #line 3310 "grammar.y"
5198 {
5199 #line 1395 "grammar.pgs"
5200 		 yyval.tree = T_y(yylocate(yylsp[0])); ;
5201     break;}
5202 case 298:
5203 #line 3313 "grammar.y"
5204 {
5205 #line 1396 "grammar.pgs"
5206 		 yyval.tree = T_z(yylocate(yylsp[0])); ;
5207     break;}
5208 case 299:
5209 #line 3318 "grammar.y"
5210 {
5211 #line 1399 "grammar.pgs"
5212 		 yyval.tree = T_integer(yyvsp[0].lnum,yylocate(yylsp[0])); ;
5213     break;}
5214 case 300:
5215 #line 3321 "grammar.y"
5216 {
5217 #line 1400 "grammar.pgs"
5218 		 yyval.tree = T_float(yyvsp[0].lrealnum,yylocate(yylsp[0]));   ;
5219     break;}
5220 case 301:
5221 #line 3324 "grammar.y"
5222 {
5223 #line 1401 "grammar.pgs"
5224 		 yyval.tree = T_char(yyvsp[0].byte,yylocate(yylsp[0]));    ;
5225     break;}
5226 case 302:
5227 #line 3327 "grammar.y"
5228 {
5229 #line 1402 "grammar.pgs"
5230 		 yyval.tree = T_string(yyvsp[0].lnum,yylocate(yylsp[0]));  ;
5231     break;}
5232 case 303:
5233 #line 3330 "grammar.y"
5234 {
5235 #line 1403 "grammar.pgs"
5236 		 yyval.tree = yyvsp[0].tree; ;
5237     break;}
5238 case 304:
5239 #line 3336 "grammar.y"
5240 {
5241 #line 1407 "grammar.pgs"
5242 		 yyval.tree = REVERT(yyvsp[-1].tree); ;
5243     break;}
5244 case 305:
5245 #line 3342 "grammar.y"
5246 {
5247 #line 1411 "grammar.pgs"
5248 		 yyval.tree = T_index_value(yyvsp[0].tree,yyvsp[-1].tree,yylocate(yylsp[-1]));   ;
5249     break;}
5250 case 306:
5251 #line 3345 "grammar.y"
5252 {
5253 #line 1412 "grammar.pgs"
5254 		 yyval.tree = T_index_value(yyvsp[0].tree,NULL,yylocate(yylsp[0])); ;
5255     break;}
5256 case 307:
5257 #line 3350 "grammar.y"
5258 {
5259 #line 1415 "grammar.pgs"
5260 		 yyval.tree = yyvsp[0].tree;           ;
5261     break;}
5262 case 308:
5263 #line 3354 "grammar.y"
5264 {
5265 #line 1417 "grammar.pgs"
5266 		 yyval.tree = T_index(yyvsp[-2].tree,yyvsp[0].tree,yylocate(yylsp[-2])); ;
5267     break;}
5268 case 309:
5269 #line 3358 "grammar.y"
5270 {
5271 #line 1419 "grammar.pgs"
5272 		 yyval.tree = T_range(yyvsp[-2].tree,yyvsp[0].tree,yylocate(yylsp[-2])); ;
5273     break;}
5274 case 310:
5275 #line 3362 "grammar.y"
5276 {
5277 #line 1421 "grammar.pgs"
5278 		 yyval.tree = T_stern(yyvsp[0].tree,yylocate(yylsp[-2]));    ;
5279     break;}
5280 case 311:
5281 #line 3368 "grammar.y"
5282 {
5283 #line 1425 "grammar.pgs"
5284 		 yyval.tree = T_range(yyvsp[-3].tree,yyvsp[-1].tree,yylocate(yylsp[-4])); ;
5285     break;}
5286 case 312:
5287 #line 3373 "grammar.y"
5288 {
5289 #line 1428 "grammar.pgs"
5290 		 yyval.tree = T_index_val(yyvsp[0].lnum,yylocate(yylsp[0]));    ;
5291     break;}
5292 case 313:
5293 #line 3378 "grammar.y"
5294 {
5295 #line 1431 "grammar.pgs"
5296 		 yyval.tree = T_integer(yyvsp[0].lnum,yylocate(yylsp[0]));  ;
5297     break;}
5298 case 314:
5299 #line 3383 "grammar.y"
5300 {
5301 #line 1434 "grammar.pgs"
5302 		 yyval.tree = T_float(yyvsp[0].lrealnum,yylocate(yylsp[0]));    ;
5303     break;}
5304 case 315:
5305 #line 3388 "grammar.y"
5306 {
5307 #line 1437 "grammar.pgs"
5308 		 yyval.tree = T_string(yyvsp[0].lnum,yylocate(yylsp[0]));   ;
5309     break;}
5310 }
5311    /* the action file gets copied in in place of this dollarsign */
5312 #line 457 "/usr/local/lib/bison.simple"
5313 
5314   yyvsp -= yylen;
5315   yyssp -= yylen;
5316 #ifdef YYLSP_NEEDED
5317   yylsp -= yylen;
5318 #endif
5319 
5320 #if YYDEBUG != 0
5321   if (yydebug)
5322     {
5323       short *ssp1 = yyss - 1;
5324       fprintf (stderr, "state stack now");
5325       while (ssp1 != yyssp)
5326 	fprintf (stderr, " %d", *++ssp1);
5327       fprintf (stderr, "\n");
5328     }
5329 #endif
5330 
5331   *++yyvsp = yyval;
5332 
5333 #ifdef YYLSP_NEEDED
5334   yylsp++;
5335   if (yylen == 0)
5336     {
5337       yylsp->first_line = yylloc.first_line;
5338       yylsp->first_column = yylloc.first_column;
5339       yylsp->last_line = (yylsp-1)->last_line;
5340       yylsp->last_column = (yylsp-1)->last_column;
5341       yylsp->text = 0;
5342     }
5343   else
5344     {
5345       yylsp->last_line = (yylsp+yylen-1)->last_line;
5346       yylsp->last_column = (yylsp+yylen-1)->last_column;
5347     }
5348 #endif
5349 
5350   /* Now "shift" the result of the reduction.
5351      Determine what state that goes to,
5352      based on the state we popped back to
5353      and the rule number reduced by.  */
5354 
5355   yyn = yyr1[yyn];
5356 
5357   yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
5358   if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
5359     yystate = yytable[yystate];
5360   else
5361     yystate = yydefgoto[yyn - YYNTBASE];
5362 
5363   goto yynewstate;
5364 
5365 yyerrlab:   /* here on detecting error */
5366 
5367   if (! yyerrstatus)
5368     /* If not already recovering from an error, report this error.  */
5369     {
5370       ++yynerrs;
5371 
5372 #ifdef YYERROR_VERBOSE
5373       yyn = yypact[yystate];
5374 
5375       if (yyn > YYFLAG && yyn < YYLAST)
5376 	{
5377 	  int size = 0;
5378 	  char *msg;
5379 	  int x, count;
5380 
5381 	  count = 0;
5382 	  /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */
5383 	  for (x = (yyn < 0 ? -yyn : 0);
5384 	       x < (sizeof(yytname) / sizeof(char *)); x++)
5385 	    if (yycheck[x + yyn] == x)
5386 	      size += strlen(yytname[x]) + 15, count++;
5387 	  msg = (char *) malloc(size + 15);
5388 	  if (msg != 0)
5389 	    {
5390 	      strcpy(msg, "parse error");
5391 
5392 	      if (count < 5)
5393 		{
5394 		  count = 0;
5395 		  for (x = (yyn < 0 ? -yyn : 0);
5396 		       x < (sizeof(yytname) / sizeof(char *)); x++)
5397 		    if (yycheck[x + yyn] == x)
5398 		      {
5399 			strcat(msg, count == 0 ? ", expecting `" : " or `");
5400 			strcat(msg, yytname[x]);
5401 			strcat(msg, "'");
5402 			count++;
5403 		      }
5404 		}
5405 	      yyerror(msg);
5406 	      free(msg);
5407 	    }
5408 	  else
5409 	    yyerror ("parse error; also virtual memory exceeded");
5410 	}
5411       else
5412 #endif /* YYERROR_VERBOSE */
5413 	yyerror("parse error");
5414     }
5415 
5416   goto yyerrlab1;
5417 yyerrlab1:   /* here on error raised explicitly by an action */
5418 
5419   if (yyerrstatus == 3)
5420     {
5421       /* if just tried and failed to reuse lookahead token after an error, discard it.  */
5422 
5423       /* return failure if at end of input */
5424       if (yychar == YYEOF)
5425 	YYABORT;
5426 
5427 #if YYDEBUG != 0
5428       if (yydebug)
5429 	fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
5430 #endif
5431 
5432       yychar = YYEMPTY;
5433     }
5434 
5435   /* Else will try to reuse lookahead token
5436      after shifting the error token.  */
5437 
5438   yyerrstatus = 3;		/* Each real token shifted decrements this */
5439 
5440   goto yyerrhandle;
5441 
5442 yyerrdefault:  /* current state does not do anything special for the error token. */
5443 
5444 #if 0
5445   /* This is wrong; only states that explicitly want error tokens
5446      should shift them.  */
5447   yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
5448   if (yyn) goto yydefault;
5449 #endif
5450 
5451 yyerrpop:   /* pop the current state because it cannot handle the error token */
5452 
5453   if (yyssp == yyss) YYABORT;
5454   yyvsp--;
5455   yystate = *--yyssp;
5456 #ifdef YYLSP_NEEDED
5457   yylsp--;
5458 #endif
5459 
5460 #if YYDEBUG != 0
5461   if (yydebug)
5462     {
5463       short *ssp1 = yyss - 1;
5464       fprintf (stderr, "Error: state stack now");
5465       while (ssp1 != yyssp)
5466 	fprintf (stderr, " %d", *++ssp1);
5467       fprintf (stderr, "\n");
5468     }
5469 #endif
5470 
5471 yyerrhandle:
5472 
5473   yyn = yypact[yystate];
5474   if (yyn == YYFLAG)
5475     goto yyerrdefault;
5476 
5477   yyn += YYTERROR;
5478   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
5479     goto yyerrdefault;
5480 
5481   yyn = yytable[yyn];
5482   if (yyn < 0)
5483     {
5484       if (yyn == YYFLAG)
5485 	goto yyerrpop;
5486       yyn = -yyn;
5487       goto yyreduce;
5488     }
5489   else if (yyn == 0)
5490     goto yyerrpop;
5491 
5492   if (yyn == YYFINAL)
5493     YYACCEPT;
5494 
5495 #if YYDEBUG != 0
5496   if (yydebug)
5497     fprintf(stderr, "Shifting error token, ");
5498 #endif
5499 
5500   *++yyvsp = yylval;
5501 #ifdef YYLSP_NEEDED
5502   *++yylsp = yylloc;
5503 #endif
5504 
5505   yystate = yyn;
5506   goto yynewstate;
5507 }
5508 #line 3395 "grammar.y"
5509 
5510 
5511 
5512 
5513 #line 147 "/RW/esprit/users/sander/src/PARSEGEN/parse.skel"
5514 
5515 /*----------------------------*/
5516 /* Main entry point of parser */
5517 /*----------------------------*/
5518 
5519 #ifndef yyparseinit
5520 #define yyparseinit() /*NOTHING*/
5521 #endif
5522 
5523 yysyntaxtree  Syntax_Tree;
5524 
5525 /*   returns the number of detected errors and binds the syntaxtree
5526  *   to the variable syntaxtree.
5527  */
5528 
5529 #ifdef ANSI_C
parse(void)5530 int parse(void)
5531 #else
5532 int parse()
5533 #endif
5534 {
5535 	nr_errors=0;
5536         init_lex();
5537 	line_nr = 1;
5538 	pos_nr = 0;
5539 	yyparseinit();
5540         yyparse();
5541 #ifdef YYVALGLOBAL
5542         Syntax_Tree = yyval.tree;
5543 #endif
5544         return(nr_errors);
5545 }
5546 
5547 
5548 
5549 
5550 #line 580 "grammar.pgs"
5551 
5552 
5553 /*--------------------------------------------------------------*/
5554 /*   Line directives                                            */
5555 /*--------------------------------------------------------------*/
5556 
5557 /*  Handle directive left by the C preprocessor, i.e.
5558  *
5559  *    # line 123 "foo.h"
5560  *    # line 125
5561  *    # 126 "foo.h" 2
5562  *
5563  *  et cetera.
5564  */
5565 
5566 
5567 #ifdef ANSI_C
line_directive(char * text)5568 void line_directive(char *text)
5569 #else
5570 void line_directive(text)
5571 char *text;
5572 #endif
5573 {
5574         char *c,*d;
5575 
5576         c = d = text;
5577         while ((*c) && (*c!='"')) c++;
5578         while ((*d) && ((*d<'0') || (*d>'9'))) d++;
5579 
5580         if (d<c) { line_nr = atoi(d); pos_nr = 0; }
5581 
5582         if (*c) {
5583                 c++;
5584                 d = c;
5585                 while ((*d) && (*d!='"')) d++;
5586                 *d=0;
5587                 strcpy(filename, c);
5588         }
5589 }
5590 
5591 
5592 /*--------------------------------------------------------------*/
5593 /*   Translate escape sequences in strings                      */
5594 /*--------------------------------------------------------------*/
5595 
5596 /*  Translate escape sequences in strings. The result remains
5597  *  in text, because the result is shorter !
5598  *
5599  *   \\ -> \        \" -> "     \n -> CR
5600  *
5601  *  et cetera.
5602  */
5603 
5604 #ifdef ANSI_C
escape_transl(char * text)5605 void escape_transl(char *text)
5606 #else
5607 void escape_transl(text)
5608 char *text;
5609 #endif
5610 {
5611         char *c,*d;
5612 	int i;
5613 
5614         c = d = text;
5615 	while (*c) {
5616 		if (*c == '\\') {
5617 			c++;
5618 			switch (*c) {
5619 #ifdef ANSI_C
5620 			case 'a' : *d++ = '\a'; break;
5621 #endif
5622 			case 'b' : *d++ = '\b'; break;
5623 			case 'f' : *d++ = '\f'; break;
5624 			case 'n' : *d++ = '\n'; break;
5625 			case 'r' : *d++ = '\r'; break;
5626 			case 't' : *d++ = '\t'; break;
5627 			case 'v' : *d++ = '\v'; break;
5628 			case 'x' :
5629 				   c++;
5630 				   i = 0;
5631 				   while (  ((*c>='0')&&(*c<='9'))
5632 					  ||((*c>='A')&&(*c<='F'))
5633 					  ||((*c>='a')&&(*c<='f')) ) {
5634 					if ((*c>='0')&&(*c<='9'))
5635 						i = i*16 + (*c)-'0';
5636 					else if ((*c>='A')&&(*c<='F'))
5637 						i = i*16 + (*c)-'A'+10;
5638 					else if ((*c>='a')&&(*c<='f'))
5639 						i = i*16 + (*c)-'a'+10;
5640 					c++;
5641 				   }
5642 				   c--;
5643 				   *d++ = i;
5644 				   break;
5645 			case '0' :
5646 			case '1' :
5647 			case '2' :
5648 			case '3' :
5649 			case '4' :
5650 			case '5' :
5651 			case '6' :
5652 			case '7' :
5653 				  i = (*c) - '0';
5654 				  c++;
5655 				  if ((*c>='0') && (*c<='7')) {
5656 					i = i*8 +(*c)-'0';
5657 				  	c++;
5658 				  	if ((*c>='0') && (*c<='7')) {
5659 						i = i*8 +(*c)-'0';
5660 						c++;
5661 					}
5662 				  }
5663 				  c--;
5664 				  *d++ = i;
5665 				  break;
5666 			default : *d++ = *c; break;
5667 			}
5668 		}
5669 		else *d++ = *c;
5670 		c++;
5671 	}
5672 	*d = 0;
5673 }
5674 
5675 
5676 /*--------------------------------------------------------------*/
5677 /*   Type conversions                                           */
5678 /*--------------------------------------------------------------*/
5679 
5680 /*
5681  *  Translate integer into string.
5682  */
5683 
5684 static char myprivmessage[16000];  /* Please DON'T reuse this */
5685 
5686 #ifdef ANSI_C
my_itoa(int x)5687 char  *my_itoa(int x)
5688 #else
5689 char  *my_itoa(x)
5690 int x;
5691 #endif
5692 {
5693 	SPRINTF(myprivmessage,"%d",x);
5694 	return(myprivmessage);
5695 }
5696 
5697 /*
5698  *  Translate integer into string.
5699  *  This is a little bit overcomplex, but in this way, it is more compatible.
5700  */
5701 
5702 #ifdef ANSI_C
long_atoi(char * c)5703 long 	long_atoi(char *c)
5704 #else
5705 long	long_atoi(c)
5706 char *c;
5707 #endif
5708 {
5709 	long res, sign;
5710 
5711 	res = 0;
5712 	if (!c) return(0L);
5713 	if (*c=='-')  { sign = -1L; c++; }
5714 	else sign = 1L;
5715 	while (*c) {
5716 		switch (*c) {
5717 		case '0': res = res * 10L;      break;
5718 		case '1': res = res * 10L + 1L; break;
5719 		case '2': res = res * 10L + 2L; break;
5720 		case '3': res = res * 10L + 3L; break;
5721 		case '4': res = res * 10L + 4L; break;
5722 		case '5': res = res * 10L + 5L; break;
5723 		case '6': res = res * 10L + 6L; break;
5724 		case '7': res = res * 10L + 7L; break;
5725 		case '8': res = res * 10L + 8L; break;
5726 		case '9': res = res * 10L + 9L; break;
5727 		default: return(sign * res);
5728 		}
5729 		c++;
5730 	}
5731 	return(sign * res);
5732 }
5733 
5734 
5735 /*====================================================================*/
5736 /*   Errors and Warnings                                              */
5737 /*====================================================================*/
5738 
5739 /*
5740  *   syntaxerror prints an error message with position of the
5741  *   error place in the specification, and increments the counter of
5742  *   errors.
5743  */
5744 
5745 static void fatal_error _PP((char *));
5746 
5747 #ifdef ANSI_C
syntaxerror(int line,int pos,char * mesge)5748 void syntaxerror(int line, int pos, char *mesge)
5749 #else
5750 void syntaxerror(line,pos,mesge)
5751 int line;
5752 int pos;
5753 char *mesge;
5754 #endif
5755 {
5756         strcpy(myprivmessage,mesge);
5757         if (islower(*myprivmessage))
5758                 *myprivmessage = toupper(*myprivmessage);
5759         FPRINTF(stderr,"Syntax error (%s: l:%d p:%d): %s !\n",
5760                 filename,line,pos,myprivmessage);
5761         nr_errors++;
5762         if (nr_errors>nr_max_errors)
5763                 fatal_error("Too many syntax errors");
5764 }
5765 
5766 
5767 /*
5768  *   warning prints a warning with position of the problematic place
5769  *   in the specification, but does not increment the counter of
5770  *   errors.
5771  */
5772 
5773 #ifdef ANSI_C
warning(int line,int pos,char * mesge)5774 void warning(int line, int pos, char *mesge)
5775 #else
5776 void warning(line,pos,mesge)
5777 int line;
5778 int pos;
5779 char *mesge;
5780 #endif
5781 {
5782         strcpy(myprivmessage,mesge);
5783         if (islower(*myprivmessage))
5784                 *myprivmessage = toupper(*myprivmessage);
5785         FPRINTF(stderr,"Warning (%s: l:%d p:%d): %s !\n",
5786                 filename,line,pos,myprivmessage);
5787 }
5788 
5789 
5790 /*--------------------------------------------------------------*/
5791 
5792 
5793 
5794 
5795 
5796 #line 182 "/RW/esprit/users/sander/src/PARSEGEN/parse.skel"
5797 
5798 
5799 
5800 #line 1 "/RW/esprit/users/sander/src/PARSEGEN/stdpc.skel"
5801 
5802 /*--------------------------------------------------------------------*/
5803 /*  Standard Tree Construction Routines                               */
5804 /*--------------------------------------------------------------------*/
5805 
5806 #ifdef PARSEGENSTD
5807 
5808 #ifndef lint
5809 static char *stdpc_id_string="$Id: stdpc.skel,v 1.12 1994/12/05 13:54:37 sander Exp sander $";
5810 #endif
5811 
5812 
5813 #include <stdio.h>
5814 #include <stdlib.h>
5815 #ifdef ANSI_C
5816 #include <stdarg.h>
5817 #else
5818 #include <varargs.h>
5819 #endif
5820 
5821 /*--------------------------------------------------------------------*/
5822 /* Fatal error: exit with message                                     */
5823 /*--------------------------------------------------------------------*/
5824 
5825 #ifdef ANSI_C
fatal_error(char * message)5826 static void fatal_error(char *message)
5827 #else
5828 static void fatal_error(message)
5829 char *message;
5830 #endif
5831 {
5832         (void)fprintf(stderr,"Fatal error: %s !\n",message);
5833         (void)fprintf(stderr,"Aborted !\n");
5834         exit(-1);
5835 }
5836 
5837 /*--------------------------------------------------------------------*/
5838 /* Memory allocation for syntax tree nodes                            */
5839 /*--------------------------------------------------------------------*/
5840 
5841 #ifndef ALIGN
5842 #define ALIGN 8
5843 #define IALIGN (ALIGN-1)
5844 #endif
5845 
5846 #ifndef PARSEBLOCKSIZE
5847 #define PARSEBLOCKSIZE 10000
5848 #endif
5849 
5850 
5851 /*   The following in invisible from outside:
5852  *   The heap consists of a list of memory blocks of size parseheapsize.
5853  *   The parseheap is the actual memory block.
5854  */
5855 
5856 static yysyntaxtree parseheap = (yysyntaxtree)0;  /* the heap */
5857 static yysyntaxtree parseheapstart;               /* the base */
5858 static yysyntaxtree parseheaptop;                 /* the top  */
5859 static yysyntaxtree parseheapend;                 /* the end  */
5860 static int parseheapsize = PARSEBLOCKSIZE;     /* the size of one block */
5861 
5862 
5863 #ifdef ANSI_C
alloc_block(void)5864 static void alloc_block(void)
5865 #else
5866 static void alloc_block()
5867 #endif
5868 {
5869         yysyntaxtree help, *help2;
5870 
5871 	help =(yysyntaxtree)malloc(parseheapsize*sizeof(struct stree_node));
5872         if (!help) fatal_error("memory exhausted");
5873 	help2  = (yysyntaxtree *)help;
5874 	*help2 = (yysyntaxtree)parseheap;
5875 	parseheap = help;
5876 	parseheapstart = parseheaptop =
5877 		(yysyntaxtree)((long)parseheap + (long)sizeof(yysyntaxtree));
5878 	parseheapend = parseheap;
5879 	parseheapend += (parseheapsize-2);
5880         if ((long)parseheaptop&IALIGN)
5881 		parseheaptop = (yysyntaxtree)
5882 			(((long)parseheaptop+(long)IALIGN)&(long)(~IALIGN));
5883 }
5884 
5885 
5886 /*  allocate x bytes */
5887 
5888 #ifdef ANSI_C
parsemalloc(int x)5889 static yysyntaxtree parsemalloc(int x)
5890 #else
5891 static yysyntaxtree parsemalloc(x)
5892 int x;
5893 #endif
5894 {
5895         yysyntaxtree help;
5896         int  y;
5897 
5898 	if (!parseheap) alloc_block();
5899 
5900         y = x;
5901         if (y&IALIGN) y = (y+IALIGN)&(~IALIGN);
5902 
5903         help = parseheaptop;
5904         parseheaptop = (yysyntaxtree)((long)parseheaptop+(long)y);
5905 
5906         if (parseheaptop > parseheapend) {
5907 
5908 		/* heap too small -> allocate new heap block */
5909 
5910 		alloc_block();
5911                 help = parseheaptop;
5912                 parseheaptop = (yysyntaxtree)((long)parseheaptop+(long)y);
5913         	if (parseheaptop > parseheapend)
5914 			fatal_error("syntax tree node too large");
5915         }
5916         return (help);
5917 }
5918 
5919 
5920 /* allocate yysyntaxtree node with x sons */
5921 
5922 #ifdef ANSI_C
st_malloc(int x)5923 static yysyntaxtree st_malloc(int x)
5924 #else
5925 static yysyntaxtree st_malloc(x)
5926 int x;
5927 #endif
5928 {
5929         yysyntaxtree help;
5930 
5931         help =parsemalloc(sizeof(struct stree_node)+x*sizeof(yysyntaxtree));
5932         return (help);
5933 }
5934 
5935 
5936 /* global allocate x bytes */
5937 
5938 #ifdef ANSI_C
ParseMalloc(int x)5939 char * ParseMalloc(int x)
5940 #else
5941 char * ParseMalloc(x)
5942 int x;
5943 #endif
5944 {
5945 	return((char *)parsemalloc(x));
5946 }
5947 
5948 /* global deallocate the complete syntax tree heap */
5949 
5950 static union special *stdunion = 0;
5951 
5952 #ifdef ANSI_C
ParseFree(void)5953 void ParseFree(void)
5954 #else
5955 void ParseFree()
5956 #endif
5957 {
5958         yysyntaxtree help, help2;
5959 
5960 	help = parseheap;
5961 	while (help) {
5962 		help2 = *(yysyntaxtree *)help;
5963 		(void)free((char *)help);
5964 		help = help2;
5965 	}
5966 
5967 	parseheap = (yysyntaxtree)0;
5968 	stdunion = 0;
5969 }
5970 
5971 /*--------------------------------------------------------------------*/
5972 /* Create unions for syntax tree nodes                                */
5973 /*--------------------------------------------------------------------*/
5974 
5975 
5976 #ifdef ANSI_C
freeunion(union special * x)5977 static void freeunion(union special *x)
5978 #else
5979 static void freeunion(x)
5980 union special *x;
5981 #endif
5982 {
5983 	x->string = (char *)stdunion;
5984 	stdunion = x;
5985 }
5986 
5987 #ifdef ANSI_C
nextunion(void)5988 static union special *nextunion(void)
5989 #else
5990 static union special *nextunion()
5991 #endif
5992 {
5993 	union special *help;
5994 	if (!stdunion) {
5995         	stdunion = (union special *)
5996 				parsemalloc(sizeof(union special));
5997 		stdunion->string = 0;
5998 	}
5999 	help = stdunion;
6000 	stdunion = (union special *)stdunion->string;
6001 	return(help);
6002 }
6003 
6004 #ifdef ANSI_C
UnionByte(unsigned char x)6005 union special *UnionByte(unsigned char x)
6006 #else
6007 union special *UnionByte(x)
6008 unsigned char x;
6009 #endif
6010 {
6011 	union special *help;
6012 
6013 	help = nextunion();
6014 	help->byte = x;
6015 	return(help);
6016 }
6017 
6018 #ifdef ANSI_C
UnionSnum(short int x)6019 union special *UnionSnum(short int x)
6020 #else
6021 union special *UnionSnum(x)
6022 short int x;
6023 #endif
6024 {
6025 	union special *help;
6026 
6027 	help = nextunion();
6028 	help->snum = x;
6029 	return(help);
6030 }
6031 
6032 #ifdef ANSI_C
UnionUsnum(unsigned short int x)6033 union special *UnionUsnum(unsigned short int x)
6034 #else
6035 union special *UnionUsnum(x)
6036 unsigned short int x;
6037 #endif
6038 {
6039 	union special *help;
6040 
6041 	help = nextunion();
6042 	help->usnum = x;
6043 	return(help);
6044 }
6045 
6046 #ifdef ANSI_C
UnionNum(int x)6047 union special *UnionNum(int x)
6048 #else
6049 union special *UnionNum(x)
6050 int x;
6051 #endif
6052 {
6053 	union special *help;
6054 
6055 	help = nextunion();
6056 	help->num = x;
6057 	return(help);
6058 }
6059 
6060 #ifdef ANSI_C
UnionUnum(unsigned int x)6061 union special *UnionUnum(unsigned int x)
6062 #else
6063 union special *UnionUnum(x)
6064 unsigned int x;
6065 #endif
6066 {
6067 	union special *help;
6068 
6069 	help = nextunion();
6070 	help->unum = x;
6071 	return(help);
6072 }
6073 
6074 #ifdef ANSI_C
UnionLnum(long int x)6075 union special *UnionLnum(long int x)
6076 #else
6077 union special *UnionLnum(x)
6078 long int x;
6079 #endif
6080 {
6081 	union special *help;
6082 
6083 	help = nextunion();
6084 	help->lnum = x;
6085 	return(help);
6086 }
6087 
6088 #ifdef ANSI_C
UnionUlnum(unsigned long int x)6089 union special *UnionUlnum(unsigned long int x)
6090 #else
6091 union special *UnionUlnum(x)
6092 unsigned long int x;
6093 #endif
6094 {
6095 	union special *help;
6096 
6097 	help = nextunion();
6098 	help->ulnum = x;
6099 	return(help);
6100 }
6101 
6102 #ifdef ANSI_C
UnionRealnum(float x)6103 union special *UnionRealnum(float x)
6104 #else
6105 union special *UnionRealnum(x)
6106 float x;
6107 #endif
6108 {
6109 	union special *help;
6110 
6111 	help = nextunion();
6112 	help->realnum = x;
6113 	return(help);
6114 }
6115 
6116 #ifdef ANSI_C
UnionLrealnum(double x)6117 union special *UnionLrealnum(double x)
6118 #else
6119 union special *UnionLrealnum(x)
6120 double x;
6121 #endif
6122 {
6123 	union special *help;
6124 
6125 	help = nextunion();
6126 	help->lrealnum = x;
6127 	return(help);
6128 }
6129 
6130 #ifdef ANSI_C
UnionString(char * x)6131 union special *UnionString(char *x)
6132 #else
6133 union special *UnionString(x)
6134 char *x;
6135 #endif
6136 {
6137 	union special *help;
6138 
6139 	help = nextunion();
6140 	help->string = x;
6141 	return(help);
6142 }
6143 
6144 
6145 /*--------------------------------------------------------------------*/
6146 /* Build syntax tree nodes                                            */
6147 /*--------------------------------------------------------------------*/
6148 
6149 /* Table for varargs */
6150 
6151 static yysyntaxtree TreeTab[1024];
6152 
6153 #ifdef USERFTYPE
6154 #ifndef USERFINIT
6155 #define USERFINIT ((USERFTYPE)0)
6156 #endif
6157 #endif
6158 
6159 /* without sons */
6160 
6161 #ifdef ANSI_C
BuildCont(int mtag,union special * x,YYLTYPE * l)6162 syntaxtree BuildCont(int mtag,union special *x,YYLTYPE *l)
6163 #else
6164 syntaxtree BuildCont(mtag,x,l)
6165 int mtag;
6166 union special *x;
6167 YYLTYPE *l;
6168 #endif
6169 {
6170         yysyntaxtree help;
6171         help = st_malloc(1);
6172 
6173 	__yy_bcopy(x,&help->contents, sizeof(union special));
6174 	freeunion(x);
6175 	tag(help)          = mtag;
6176 	xfirst_line(help)   =l->first_line;
6177 	xfirst_column(help) =l->first_column;
6178 	xlast_line(help)    =l->last_line;
6179 	xlast_column(help)  =l->last_column;
6180 	xfather(help)       =(yysyntaxtree)0;
6181 #ifdef USERFTYPE
6182 	user_field(help)    =USERFINIT;
6183 #endif
6184 
6185 	son1(help) = (yysyntaxtree)0;
6186 
6187         return(help);
6188 }
6189 
6190 /* with sons */
6191 
6192 #ifdef ANSI_C
BuildTree(int mtag,int len,union special * x,YYLTYPE * l,...)6193 yysyntaxtree BuildTree(int mtag,int len,union special *x,YYLTYPE *l, ...)
6194 #else
6195 yysyntaxtree BuildTree(va_alist)
6196 va_dcl
6197 #endif
6198 {
6199 	int i,j;
6200 	va_list pvar;
6201         yysyntaxtree help;
6202 
6203 #ifndef ANSI_C
6204 	int mtag;
6205 	int len;
6206 	union special *x;
6207 	YYLTYPE *l;
6208 	va_start(pvar);
6209 #endif
6210 
6211 #ifdef ANSI_C
6212 	va_start(pvar,l);
6213 #endif
6214 
6215 #ifndef ANSI_C
6216 	mtag = va_arg(pvar, int);
6217 	len = va_arg(pvar, int);
6218 	x   = va_arg(pvar, union special *);
6219 	l   = va_arg(pvar, YYLTYPE *);
6220 #endif
6221 
6222 	i = 0;
6223 	help = va_arg(pvar, yysyntaxtree);
6224 	while (i < len) {
6225 		TreeTab[i++] = help;
6226 		help = va_arg(pvar, yysyntaxtree);
6227 	}
6228 	va_end(pvar);
6229 
6230         help = st_malloc((i<1?1:i));
6231 
6232 	__yy_bcopy(x,&help->contents, sizeof(union special));
6233 	freeunion(x);
6234 	tag(help)          = mtag;
6235 	xfirst_line(help)   =l->first_line;
6236 	xfirst_column(help) =l->first_column;
6237 	xlast_line(help)    =l->last_line;
6238 	xlast_column(help)  =l->last_column;
6239 	xfather(help)       =(yysyntaxtree)0;
6240 #ifdef USERFTYPE
6241 	user_field(help)    =USERFINIT;
6242 #endif
6243 
6244 	for (j=1; j<=i; j++) {
6245 		son(help,j) = TreeTab[j-1];
6246 		if (TreeTab[j-1]!=(yysyntaxtree)0)
6247 			xfather(TreeTab[j-1]) = help;
6248 	}
6249         return(help);
6250 }
6251 
6252 
6253 /* copy syntax tree */
6254 
6255 #ifdef ANSI_C
Copy(yysyntaxtree x)6256 yysyntaxtree Copy(yysyntaxtree x)
6257 #else
6258 yysyntaxtree Copy(x)
6259 yysyntaxtree x;
6260 #endif
6261 {
6262 	register int j,len;
6263         yysyntaxtree help;
6264 
6265 	if (!x) return(x);
6266 	len = nr_of_sons(x);
6267         help = st_malloc((len<1?1:len));
6268 
6269 	__yy_bcopy(&x->contents,&help->contents, sizeof(union special));
6270 	tag(help)          = tag(x);
6271 	xfirst_line(help)   = xfirst_line(x);
6272 	xfirst_column(help) = xfirst_column(x);
6273 	xlast_line(help)    = xlast_line(x);
6274 	xlast_column(help)  = xlast_column(x);
6275 	xfather(help)       = (yysyntaxtree)0;
6276 #ifdef USERFTYPE
6277 	user_field(help)    =user_field(x);
6278 #endif
6279 	son1(help) = (yysyntaxtree)0;
6280 
6281 	for (j=1; j<=len; j++) {
6282 		son(help,j) = Copy(son(x,j));
6283 		if (son(help,j))
6284 			xfather(son(help,j)) = help;
6285 	}
6286         return(help);
6287 }
6288 
6289 /* revert list */
6290 
6291 #ifdef ANSI_C
Revert(yysyntaxtree list)6292 yysyntaxtree Revert(yysyntaxtree list)
6293 #else
6294 yysyntaxtree Revert(list)
6295 yysyntaxtree list;
6296 #endif
6297 {
6298         yysyntaxtree last, act, next;
6299 
6300 	last = (yysyntaxtree)0;
6301 	act  = list;
6302 	while (act) {
6303 		next = son2(act);
6304 		son2(act) = last;
6305 		if (last) xfather(last)=act;
6306 		last = act;
6307 		act = next;
6308 	}
6309 	if (last) xfather(last)=(yysyntaxtree)0;
6310         return(last);
6311 }
6312 
6313 /*--------------------------------------------------------------------*/
6314 /* yield constructor name                                             */
6315 /*--------------------------------------------------------------------*/
6316 
6317 #ifdef ANSI_C
ConstructorName(int i)6318 const char *ConstructorName(int i)
6319 #else
6320 const char *ConstructorName(i)
6321 int i;
6322 #endif
6323 {
6324 	return(yyconst_name[i]);
6325 }
6326 
6327 /*--------------------------------------------------------------------*/
6328 /* yield constructor arity                                            */
6329 /*--------------------------------------------------------------------*/
6330 
6331 #ifdef ANSI_C
ConstructorArity(int i)6332 int ConstructorArity(int i)
6333 #else
6334 int ConstructorArity(i)
6335 int i;
6336 #endif
6337 {
6338 	return(yyconst_arity[i]);
6339 }
6340 
6341 
6342 #endif /* PARSEGENSTD */
6343 
6344 /*--------------------------------------------------------------------*/
6345 
6346 
6347 
6348 #line 1441 "grammar.pgs"
6349