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