/* A Bison parser, made from grammar.y with Bison version GNU Bison version 1.21 */ #define YYBISON 1 /* Identify Bison output. */ #define YYLSP_NEEDED #define LEXWORD_ABOVE 258 #define LEXWORD_ANCHORPOINTS 259 #define LEXWORD_ANCHOR 260 #define LEXWORD_AQUAMARINE 261 #define LEXWORD_AROUND 262 #define LEXWORD_ARROWMODE 263 #define LEXWORD_ARROWHEIGHT 264 #define LEXWORD_ARROWWIDTH 265 #define LEXWORD_ARROWCOLOR 266 #define LEXWORD_ARROWSTYLE 267 #define LEXWORD_ARROWSIZE 268 #define LEXWORD_BARROWCOLOR 269 #define LEXWORD_BARROWSTYLE 270 #define LEXWORD_BARROWSIZE 271 #define LEXWORD_BACKEDGE 272 #define LEXWORD_BARYCENTER 273 #define LEXWORD_BARY 274 #define LEXWORD_BARYMEDIAN 275 #define LEXWORD_BEHIND 276 #define LEXWORD_BELOW 277 #define LEXWORD_BLACK 278 #define LEXWORD_BLUE 279 #define LEXWORD_BMAX 280 #define LEXWORD_BORDERCOLOR 281 #define LEXWORD_BORDERWIDTH 282 #define LEXWORD_BOTTOM_MARGIN 283 #define LEXWORD_BOTTOM_TO_TOP 284 #define LEXWORD_BOTTOM 285 #define LEXWORD_BOX 286 #define LEXWORD_BENTNEAREDGE 287 #define LEXWORD_CENTER 288 #define LEXWORD_CFISH 289 #define LEXWORD_CLASSNAME 290 #define LEXWORD_CLASS 291 #define LEXWORD_CLUSTER 292 #define LEXWORD_CMIN 293 #define LEXWORD_CMAX 294 #define LEXWORD_COLORENTRY 295 #define LEXWORD_COLOR 296 #define LEXWORD_CONSTRAINTS 297 #define LEXWORD_CONSTRAINT 298 #define LEXWORD_CONTINUOUS 299 #define LEXWORD_CROSSING_WEIGHT 300 #define LEXWORD_CROSSING_OPT 301 #define LEXWORD_CROSSING_P2 302 #define LEXWORD_CYAN 303 #define LEXWORD_DARKBLUE 304 #define LEXWORD_DARKCYAN 305 #define LEXWORD_DARKGREEN 306 #define LEXWORD_DARKGREY 307 #define LEXWORD_DARKMAGENTA 308 #define LEXWORD_DARKRED 309 #define LEXWORD_DARKYELLOW 310 #define LEXWORD_DASHED 311 #define LEXWORD_DFS 312 #define LEXWORD_DIMENSION 313 #define LEXWORD_DIRTY_EDGE_LABELS 314 #define LEXWORD_DISPLAY_EDGE_LABELS 315 #define LEXWORD_DOTTED 316 #define LEXWORD_EDGE1 317 #define LEXWORD_EDGE2 318 #define LEXWORD_EDGES 319 #define LEXWORD_ELLIPSE 320 #define LEXWORD_EQUAL_COLUMN 321 #define LEXWORD_EQUAL_POSITION 322 #define LEXWORD_EQUAL_ROW 323 #define LEXWORD_EQUAL 324 #define LEXWORD_EVERY 325 #define LEXWORD_FCFISH 326 #define LEXWORD_FPFISH 327 #define LEXWORD_FIXED 328 #define LEXWORD_FREE 329 #define LEXWORD_FINETUNING 330 #define LEXWORD_FOLDEDGE 331 #define LEXWORD_FOLDNODE 332 #define LEXWORD_FOLDING 333 #define LEXWORD_FONTNAME 334 #define LEXWORD_GOLD 335 #define LEXWORD_GRAPH 336 #define LEXWORD_GREATER 337 #define LEXWORD_GREEN 338 #define LEXWORD_GREY 339 #define LEXWORD_HEIGHT 340 #define LEXWORD_HIDESINGLES 341 #define LEXWORD_HIGH_MARGIN 342 #define LEXWORD_HIGH 343 #define LEXWORD_HIDDEN 344 #define LEXWORD_HORDER 345 #define LEXWORD_ICONFILE 346 #define LEXWORD_ICONHEIGHT 347 #define LEXWORD_ICONSTYLE 348 #define LEXWORD_ICONWIDTH 349 #define LEXWORD_INCLUDE 350 #define LEXWORD_INFONAME 351 #define LEXWORD_INFO1 352 #define LEXWORD_INFO2 353 #define LEXWORD_INFO3 354 #define LEXWORD_INPUTFUNCTION 355 #define LEXWORD_INTERVAL 356 #define LEXWORD_INVISIBLE 357 #define LEXWORD_IN_FRONT 358 #define LEXWORD_ISI 359 #define LEXWORD_KHAKI 360 #define LEXWORD_TEXTCOLOR 361 #define LEXWORD_LABEL 362 #define LEXWORD_LATE_LABELS 363 #define LEXWORD_LAYOUTALGORITHM 364 #define LEXWORD_LAYOUTFREQUENCY 365 #define LEXWORD_LAYOUTPARAMETER 366 #define LEXWORD_LAYOUTDOWNFACTOR 367 #define LEXWORD_LAYOUTUPFACTOR 368 #define LEXWORD_LAYOUTNEARFACTOR 369 #define LEXWORD_LAYOUTSPLINEFACTOR 370 #define LEXWORD_LEFT_JUSTIFY 371 #define LEXWORD_LEFT_MARGIN 372 #define LEXWORD_LEFT_NEIGHBOR 373 #define LEXWORD_LEFT_TO_RIGHT 374 #define LEXWORD_LEFT 375 #define LEXWORD_LEVEL 376 #define LEXWORD_VORDER 377 #define LEXWORD_LIGHTBLUE 378 #define LEXWORD_LIGHTCYAN 379 #define LEXWORD_LIGHTGREEN 380 #define LEXWORD_LIGHTGREY 381 #define LEXWORD_LIGHTMAGENTA 382 #define LEXWORD_LIGHTRED 383 #define LEXWORD_LIGHTYELLOW 384 #define LEXWORD_LILAC 385 #define LEXWORD_LIMIT 386 #define LEXWORD_LINE 387 #define LEXWORD_LINESTYLE 388 #define LEXWORD_LOC 389 #define LEXWORD_LOWER_NEIGHBOR 390 #define LEXWORD_LOW_MARGIN 391 #define LEXWORD_LOW 392 #define LEXWORD_MAGENTA 393 #define LEXWORD_MANHATTEN 394 #define LEXWORD_MANUAL 395 #define LEXWORD_MAXDEPTHSLOW 396 #define LEXWORD_MAXDEPTH 397 #define LEXWORD_MAXDEGREE 398 #define LEXWORD_MAXINDEGREE 399 #define LEXWORD_MAXOUTDEGREE 400 #define LEXWORD_MEDIAN 401 #define LEXWORD_MEDIANBARY 402 #define LEXWORD_MINDEPTHSLOW 403 #define LEXWORD_MINDEPTH 404 #define LEXWORD_MINDEGREE 405 #define LEXWORD_MININDEGREE 406 #define LEXWORD_MINOUTDEGREE 407 #define LEXWORD_MINBACK 408 #define LEXWORD_NAME 409 #define LEXWORD_NEAREDGE 410 #define LEXWORD_NEIGHBORS 411 #define LEXWORD_NEAREDGES 412 #define LEXWORD_NONEAREDGES 413 #define LEXWORD_NODE1 414 #define LEXWORD_NODE2 415 #define LEXWORD_NODES 416 #define LEXWORD_NODE_ALIGN 417 #define LEXWORD_NONE 418 #define LEXWORD_NO 419 #define LEXWORD_ORANGE 420 #define LEXWORD_ORCHID 421 #define LEXWORD_ORIENTATION 422 #define LEXWORD_OUTPUTFUNCTION 423 #define LEXWORD_PFISH 424 #define LEXWORD_PINK 425 #define LEXWORD_PLANAR 426 #define LEXWORD_PMIN 427 #define LEXWORD_PMAX 428 #define LEXWORD_PORTSHARING 429 #define LEXWORD_PRIORITYPHASE 430 #define LEXWORD_PRIORITY 431 #define LEXWORD_PURPLE 432 #define LEXWORD_RANGE 433 #define LEXWORD_RED 434 #define LEXWORD_RHOMB 435 #define LEXWORD_RIGHT_JUSTIFY 436 #define LEXWORD_RIGHT_MARGIN 437 #define LEXWORD_RIGHT_NEIGHBOR 438 #define LEXWORD_RIGHT_TO_LEFT 439 #define LEXWORD_RIGHT 440 #define LEXWORD_RMIN 441 #define LEXWORD_RMAX 442 #define LEXWORD_SCALING 443 #define LEXWORD_SHAPE 444 #define LEXWORD_SHRINK 445 #define LEXWORD_SMAX 446 #define LEXWORD_SMANHATTEN 447 #define LEXWORD_SIZE 448 #define LEXWORD_SMALLER 449 #define LEXWORD_SOLID 450 #define LEXWORD_SOURCENAME 451 #define LEXWORD_SPLINES 452 #define LEXWORD_SPREADLEVEL 453 #define LEXWORD_STATUS 454 #define LEXWORD_STRETCH 455 #define LEXWORD_STRAIGHTPHASE 456 #define LEXWORD_TARGETNAME 457 #define LEXWORD_TEXTMODE 458 #define LEXWORD_THICKNESS 459 #define LEXWORD_TITLE 460 #define LEXWORD_TOPSORT 461 #define LEXWORD_TOP_MARGIN 462 #define LEXWORD_TOP_TO_BOTTOM 463 #define LEXWORD_TOP 464 #define LEXWORD_TREE 465 #define LEXWORD_TREEFACTOR 466 #define LEXWORD_TRIANGLE 467 #define LEXWORD_TURQUOISE 468 #define LEXWORD_TYPENAME 469 #define LEXWORD_UPPER_NEIGHBOR 470 #define LEXWORD_VIEW 471 #define LEXWORD_WHITE 472 #define LEXWORD_WIDTH 473 #define LEXWORD_XBASE 474 #define LEXWORD_XMAX 475 #define LEXWORD_XRASTER 476 #define LEXWORD_XLRASTER 477 #define LEXWORD_XSCROLLBAR 478 #define LEXWORD_XSPACE 479 #define LEXWORD_XLSPACE 480 #define LEXWORD_YBASE 481 #define LEXWORD_YELLOWGREEN 482 #define LEXWORD_YELLOW 483 #define LEXWORD_YES 484 #define LEXWORD_YMAX 485 #define LEXWORD_YRASTER 486 #define LEXWORD_YSCROLLBAR 487 #define LEXWORD_YSPACE 488 #define LEX_INT 489 #define LEX_FLOAT 490 #define LEX_CHAR 491 #define LEX_STRING 492 #line 1 "grammar.y" #line 2 "/RW/esprit/users/sander/src/PARSEGEN/parse.skel" /*--------------------------------------------------------------------*/ /* A bison parser specification made by parsegen */ /*--------------------------------------------------------------------*/ #ifndef lint static char *parseskel_id_string="$Id: parse.skel,v 1.5 1994/01/20 23:44:31 sander Exp sander $"; #endif /*--------------------------------------------------------------------*/ /* Prototypes and Externals */ /*--------------------------------------------------------------------*/ extern int line_nr; extern int pos_nr; /* Error messages */ int nr_errors; /*--------------------------------------------------------------------*/ /* Tokens from scanner */ /*--------------------------------------------------------------------*/ #line 1441 "grammar.pgs" #line 272 "grammar.y" #line 34 "/RW/esprit/users/sander/src/PARSEGEN/parse.skel" /*--------------------------------------------------------------------*/ /* Includes */ /*--------------------------------------------------------------------*/ #define Y_TAB_H #ifdef __cplusplus #include #else #include #endif /* __cplusplus */ #ifndef YYLTYPE typedef struct yyltype { int timestamp; int first_line; int first_column; int last_line; int last_column; char *text; } yyltype; #define YYLTYPE yyltype #endif #line 32000 "/RW/esprit/users/sander/src/PARSEGEN/parse.skel" typedef struct stree_node *syntaxtree; #undef yysyntaxtree #define yysyntaxtree syntaxtree #define BISONGEN #undef YACCGEN #define YYVALGLOBAL #line 24 "grammar.pgs" #ifndef lint static char *id_string="$Id: grammar.pgs,v 3.17 1995/02/08 18:35:02 sander Exp $"; #endif /* * Copyright (C) 1993-2005 Saarland University * * This program and documentation is free software; you can redistribute * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * The software is available per anonymous ftp at ftp.cs.uni-sb.de. * Contact sander@cs.uni-sb.de for additional information. */ /* $Log: grammar.pgs,v $ # Revision 3.17 1995/02/08 18:35:02 sander # Small bug for K&R C corrected. # # Revision 3.16 1995/02/08 11:11:14 sander # Distribution version 1.3. # # Revision 3.15 1994/12/23 18:12:45 sander # Manhatten layout added. # # Revision 3.14 1994/11/23 14:50:47 sander # Hash table to 22079 expanded. Better string hash function implemented. # # Revision 3.13 1994/08/08 16:01:47 sander # Attributes xraster, xlraster, yraster added. # # Revision 3.12 1994/08/05 12:13:25 sander # Treelayout added. Attributes "treefactor" and "spreadlevel" added. # Scaling as abbreviation of "stretch/shrink" added. # # Revision 3.11 1994/08/04 08:58:20 sander # Attributes crossing_weight and crossing_optimization added. # # Revision 3.10 1994/08/03 13:58:44 sander # Horizontal order mechanism changed. # Attribute horizontal_order for edges added. # # Revision 3.9 1994/06/07 14:09:59 sander # Splines implemented. # HP-UX, Linux, AIX, Sun-Os, IRIX compatibility tested. # The tool is now ready to be distributed. # # Revision 3.8 1994/05/17 16:35:59 sander # attribute node_align added to allow nodes to be centered in the levels. # # Revision 3.7 1994/05/16 08:56:03 sander # shape attribute (boxes, rhombs, ellipses, triangles) added. # # Revision 3.6 1994/05/05 08:20:30 sander # Algorithm late labels added: If labels are inserted # after partitioning, this may yield a better layout. # # Revision 3.5 1994/04/27 16:05:19 sander # attributes of graph nodes adapted to the of normal nodes. # # Revision 3.4 1994/03/04 19:11:24 sander # Specification of levels per node added. # X11 geometry behaviour (option -geometry) changed such # that the window is now opened automatically. # # Revision 3.3 1994/03/03 15:35:39 sander # Edge line style `invisible' added. # # Revision 3.2 1994/03/02 11:48:54 sander # Layoutalgoritms mindepthslow, maxdepthslow, minindegree, ... mandegree # added. # Anchors and nearedges are not anymore allowed to be intermixed. # Escapes in strings are now allowed. # # Revision 3.1 1994/03/01 10:59:55 sander # Copyright and Gnu Licence message added. # Problem with "nearedges: no" and "selfloops" solved. # # Revision 2.4 1994/02/13 17:25:54 sander # attribute 'finetuning' added. # # Revision 2.3 1994/01/21 19:33:46 sander # VCG Version tested on Silicon Graphics IRIX, IBM R6000 AIX and Sun 3/60. # Option handling improved. Option -grabinputfocus installed. # X11 Font selection scheme implemented. The user can now select a font # during installation. # Sun K&R C (a nonansi compiler) tested. Some portabitility problems solved. # # Revision 2.1 1993/12/08 21:19:21 sander # Reasonable fast and stable version # */ #include #include #include #include #include "globals.h" #include "main.h" #include "options.h" #ifndef YY_CHAR #define YY_CHAR char extern YY_CHAR *yytext; #endif /* the following is added for flex 2.4.6 */ #ifndef YY_MALLOC_DECL #define YY_MALLOC_DECL #include #endif #undef YYVALGLOBAL extern yysyntaxtree Syntax_Tree; #define exit(a) gs_exit(a) extern void gs_exit _PP((int x)); void line_directive _PP((char *text)); void escape_transl _PP((char *text)); char *my_itoa _PP((int x)); long long_atoi _PP((char *c)); void syntaxerror _PP((int line,int pos,char *mesge)); void warning _PP((int line,int pos,char *mesge)); #ifndef yysyntaxerror #define yysyntaxerror(l,p,m) syntaxerror(l,p,m) #endif #ifndef yyerror #define yyerror(x) { \ SPRINTF(message,"unexpected %s \"%s\" (%s)", \ ((yychar<0)?"(?)":yytokname[YYTRANSLATE(yychar)]), \ (strlen(yytext)<48?yytext:"(?)"),x); \ syntaxerror(line_nr,pos_nr,message);\ } #endif /* Memory Management */ #ifdef MEMBLOCKSIZE #define PARSEBLOCKSIZE (MEMBLOCKSIZE/sizeof(struct stree_node)+1) #endif /* Hash Table */ #define hash_size 22079 #ifndef NULL #define NULL 0 #endif #ifndef REVERT #define REVERT(x) Revert(x) #endif #ifndef COPY #define COPY(x) Copy(x) #endif #line 1 "/RW/esprit/users/sander/src/PARSEGEN/stdph.skel" #ifndef STDPARSER #define STDPARSER /* $Id: stdph.skel,v 1.8 1994/01/20 23:44:31 sander Exp sander $ */ #undef PARSEGENSTD #define PARSEGENSTD /*--------------------------------------------------------------------*/ /* Standard Tree Construction Interface */ /*--------------------------------------------------------------------*/ #ifndef ALIGN #define ALIGN 8 #define IALIGN (ALIGN-1) #endif #ifndef PARSEBLOCKSIZE #define PARSEBLOCKSIZE 10000 #endif /*-------------------*/ /* syntax tree nodes */ /*-------------------*/ union special { unsigned char byte; short int snum; unsigned short int usnum; int num; unsigned int unum; long int lnum; unsigned long int ulnum; float realnum; double lrealnum; char *string; }; struct stree_node { int tag_field; int first_line; int first_column; int last_line; int last_column; #ifdef USERFTYPE USERFTYPE user_field; #endif struct stree_node *father; union special contents; struct stree_node *xson[1]; }; /* typedef struct stree_node *syntaxtree; */ #undef yysyntaxtree #define yysyntaxtree syntaxtree #define tag(x) ((x)->tag_field) #define nr_of_sons(x) (ConstructorArity((x)->tag_field)) #define xfirst_line(x) ((x)->first_line) #define xfirst_column(x) ((x)->first_column) #define xlast_line(x) ((x)->last_line) #define xlast_column(x) ((x)->last_column) #define xfather(x) ((x)->father) #ifdef USERFTYPE #define user_field(x) ((x)->user_field) #endif #define get_byte(x) ((x)->contents.byte) #define get_snum(x) ((x)->contents.snum) #define get_usnum(x) ((x)->contents.usnum) #define get_num(x) ((x)->contents.num) #define get_unum(x) ((x)->contents.unum) #define get_lnum(x) ((x)->contents.lnum) #define get_ulnum(x) ((x)->contents.ulnum) #define get_realnum(x) ((x)->contents.realnum) #define get_lrealnum(x) ((x)->contents.lrealnum) #define get_string(x) ((x)->contents.string) #define son1(x) ((x)->xson[0]) #define son2(x) ((x)->xson[1]) #define son3(x) ((x)->xson[2]) #define son4(x) ((x)->xson[3]) #define son5(x) ((x)->xson[4]) #define son6(x) ((x)->xson[5]) #define son7(x) ((x)->xson[6]) #define son8(x) ((x)->xson[7]) #define son9(x) ((x)->xson[8]) #define son(x,i) ((x)->xson[i-1]) #ifndef Y_TAB_H #line 1441 "grammar.pgs" #include "y.tab.h" #line 97 "/RW/esprit/users/sander/src/PARSEGEN/stdph.skel" #define Y_TAB_H #endif /* Y_TAB_H */ /*------------*/ /* Prototypes */ /*------------*/ #ifdef ANSI_C char * ParseMalloc(int x); void ParseFree(void); union special *UnionByte(unsigned char x); union special *UnionSnum(short int x); union special *UnionUsnum(unsigned short int x); union special *UnionNum(int x); union special *UnionUnum(unsigned int x); union special *UnionLnum(long int x); union special *UnionUlnum(unsigned long int x); union special *UnionRealnum(float x); union special *UnionLrealnum(double x); union special *UnionString(char *x); syntaxtree BuildCont(int mtag,union special *x,YYLTYPE *l); yysyntaxtree BuildTree(int mtag,int len,union special *x,YYLTYPE *l, ...); syntaxtree Copy(syntaxtree x); syntaxtree Revert(syntaxtree list); const char *ConstructorName(int i); int ConstructorArity(int i); #else char * ParseMalloc(); void ParseFree(); union special *UnionByte(); union special *UnionSnum(); union special *UnionUsnum(); union special *UnionNum(); union special *UnionUnum(); union special *UnionLnum(); union special *UnionUlnum(); union special *UnionRealnum(); union special *UnionLrealnum(); union special *UnionString(); syntaxtree BuildCont(); yysyntaxtree BuildTree(); syntaxtree Copy(); syntaxtree Revert(); char *ConstructorName(); int ConstructorArity(); #ifndef const #define const #endif #endif /* ANSI_C */ #undef yyparseinit #define yyparseinit() /**/ #endif /* STDPARSER */ /*-- end of standard tree construction interface ---------------------*/ #line 1441 "grammar.pgs" /*--------------------------------------------------------------------*/ /* Static part */ /*--------------------------------------------------------------------*/ /* Static Global Variables */ /*-------------------------*/ /* Constructors: */ #define T_Co_index_val 0 #define T_Co_stern 1 #define T_Co_range 2 #define T_Co_index 3 #define T_Co_index_value 4 #define T_Co_string 5 #define T_Co_char 6 #define T_Co_float 7 #define T_Co_integer 8 #define T_Co_z 9 #define T_Co_y 10 #define T_Co_x 11 #define T_Co_right_neighbor 12 #define T_Co_left_neighbor 13 #define T_Co_lower_neighbor 14 #define T_Co_upper_neighbor 15 #define T_Co_right_margin 16 #define T_Co_left_margin 17 #define T_Co_bottom_margin 18 #define T_Co_top_margin 19 #define T_Co_equal_column 20 #define T_Co_equal_row 21 #define T_Co_equal_position 22 #define T_Co_behind 23 #define T_Co_in_font 24 #define T_Co_right 25 #define T_Co_left 26 #define T_Co_below 27 #define T_Co_above 28 #define T_Co_limit 29 #define T_Co_cluster 30 #define T_Co_xrange 31 #define T_Co_high_margin 32 #define T_Co_low_margin 33 #define T_Co_neighbors 34 #define T_Co_greater 35 #define T_Co_smaller 36 #define T_Co_equal 37 #define T_Co_string_array 38 #define T_Co_dimension 39 #define T_Co_name 40 #define T_Co_interval 41 #define T_Co_nodes 42 #define T_Co_size 43 #define T_Co_solid 44 #define T_Co_line 45 #define T_Co_none 46 #define T_Co_invisible 47 #define T_Co_dashed 48 #define T_Co_dotted 49 #define T_Co_continuous 50 #define T_Co_anchor 51 #define T_Co_linestyle 52 #define T_Co_barrowstyle 53 #define T_Co_arrowstyle 54 #define T_Co_barrowsize 55 #define T_Co_arrowsize 56 #define T_Co_barrowcolor 57 #define T_Co_arrowcolor 58 #define T_Co_arrowheight 59 #define T_Co_arrowwidth 60 #define T_Co_priority 61 #define T_Co_class 62 #define T_Co_thickness 63 #define T_Co_targetname 64 #define T_Co_sourcename 65 #define T_Co_around 66 #define T_Co_top 67 #define T_Co_bottom 68 #define T_Co_triangle 69 #define T_Co_ellipse 70 #define T_Co_rhomb 71 #define T_Co_box 72 #define T_Co_right_justify 73 #define T_Co_left_justify 74 #define T_Co_center 75 #define T_Co_iconstyle 76 #define T_Co_iconheight 77 #define T_Co_iconwidth 78 #define T_Co_anchorpoints 79 #define T_Co_iconfile 80 #define T_Co_bordercolor 81 #define T_Co_fontname 82 #define T_Co_constraint_attribute 83 #define T_Co_edge_attribute 84 #define T_Co_node_attribute 85 #define T_Co_free 86 #define T_Co_fixed 87 #define T_Co_fpfish 88 #define T_Co_pfish 89 #define T_Co_fcfish 90 #define T_Co_cfish 91 #define T_Co_medianbary 92 #define T_Co_barymedian 93 #define T_Co_median 94 #define T_Co_bary 95 #define T_Co_no 96 #define T_Co_yes 97 #define T_Co_grey 98 #define T_Co_manual 99 #define T_Co_every 100 #define T_Co_depthfirst 101 #define T_Co_minbackwards 102 #define T_Co_minoutdegree 103 #define T_Co_maxoutdegree 104 #define T_Co_minindegree 105 #define T_Co_maxindegree 106 #define T_Co_mindegree 107 #define T_Co_maxdegree 108 #define T_Co_mindepthslow 109 #define T_Co_maxdepthslow 110 #define T_Co_mindepth 111 #define T_Co_maxdepth 112 #define T_Co_tree 113 #define T_Co_constaints 114 #define T_Co_planar 115 #define T_Co_isi 116 #define T_Co_barycenter 117 #define T_Co_right_to_left 118 #define T_Co_left_to_right 119 #define T_Co_bottom_to_top 120 #define T_Co_top_to_bottom 121 #define T_Co_low 122 #define T_Co_high 123 #define T_Co_colindex 124 #define T_Co_yellowgreen 125 #define T_Co_yellow 126 #define T_Co_white 127 #define T_Co_turquoise 128 #define T_Co_red 129 #define T_Co_purple 130 #define T_Co_pink 131 #define T_Co_orchid 132 #define T_Co_orange 133 #define T_Co_magenta 134 #define T_Co_lilac 135 #define T_Co_lightyellow 136 #define T_Co_lightred 137 #define T_Co_lightmagenta 138 #define T_Co_lightgrey 139 #define T_Co_lightgreen 140 #define T_Co_lightcyan 141 #define T_Co_lightblue 142 #define T_Co_khaki 143 #define T_Co_green 144 #define T_Co_gold 145 #define T_Co_darkyellow 146 #define T_Co_darkred 147 #define T_Co_darkmagenta 148 #define T_Co_darkgrey 149 #define T_Co_darkgreen 150 #define T_Co_darkcyan 151 #define T_Co_darkblue 152 #define T_Co_cyan 153 #define T_Co_blue 154 #define T_Co_black 155 #define T_Co_aquamarine 156 #define T_Co_yscrollbar 157 #define T_Co_xscrollbar 158 #define T_Co_outputfunction 159 #define T_Co_inputfunction 160 #define T_Co_topsort 161 #define T_Co_layoutparameter 162 #define T_Co_include 163 #define T_Co_typename 164 #define T_Co_straight_max 165 #define T_Co_rubber_min 166 #define T_Co_rubber_max 167 #define T_Co_pendel_min 168 #define T_Co_pendel_max 169 #define T_Co_cross_min 170 #define T_Co_cross_max 171 #define T_Co_bend_max 172 #define T_Co_view_splines 173 #define T_Co_view_nodes 174 #define T_Co_view_edges 175 #define T_Co_view_method 176 #define T_Co_crossing_weight 177 #define T_Co_crossing_opt 178 #define T_Co_crossing_phase2 179 #define T_Co_treefactor 180 #define T_Co_spreadlevel 181 #define T_Co_arrow_mode 182 #define T_Co_port_sharing 183 #define T_Co_node_alignment 184 #define T_Co_orientation 185 #define T_Co_dummy 186 #define T_Co_nonearedges 187 #define T_Co_smanhatten 188 #define T_Co_manhatten 189 #define T_Co_priophase 190 #define T_Co_straightphase 191 #define T_Co_hidesingles 192 #define T_Co_finetuning 193 #define T_Co_dirty_edge_label 194 #define T_Co_display_edge_label 195 #define T_Co_late_edge_label 196 #define T_Co_splinefactor 197 #define T_Co_nearfactor 198 #define T_Co_upfactor 199 #define T_Co_downfactor 200 #define T_Co_layoutfrequency 201 #define T_Co_layoutalgorithm 202 #define T_Co_colentry 203 #define T_Co_infoname 204 #define T_Co_classname 205 #define T_Co_hidden 206 #define T_Co_yraster 207 #define T_Co_xlraster 208 #define T_Co_xraster 209 #define T_Co_yspace 210 #define T_Co_xlspace 211 #define T_Co_xspace 212 #define T_Co_ybase 213 #define T_Co_xbase 214 #define T_Co_ymax 215 #define T_Co_xmax 216 #define T_Co_status 217 #define T_Co_horizontal_order 218 #define T_Co_level 219 #define T_Co_shape 220 #define T_Co_textmode 221 #define T_Co_stretch 222 #define T_Co_shrink 223 #define T_Co_scaling 224 #define T_Co_folding 225 #define T_Co_loc 226 #define T_Co_ydef 227 #define T_Co_xdef 228 #define T_Co_borderwidth 229 #define T_Co_height 230 #define T_Co_width 231 #define T_Co_colorborder 232 #define T_Co_textcolor 233 #define T_Co_color 234 #define T_Co_info3 235 #define T_Co_info2 236 #define T_Co_info1 237 #define T_Co_label 238 #define T_Co_title 239 #define T_Co_constraint 240 #define T_Co_back_edge 241 #define T_Co_bent_near_edge 242 #define T_Co_near_edge 243 #define T_Co_edge 244 #define T_Co_node 245 #define T_Co_graph 246 #define T_Co_foldedge_defaults 247 #define T_Co_foldnode_defaults 248 #define T_Co_edge_defaults 249 #define T_Co_node_defaults 250 #define T_Co_graph_attribute 251 #define T_Co_graph_entry 252 /* Constructor Names */ static const char * const yyconst_name[] = { "T_Co_index_val", "T_Co_stern", "T_Co_range", "T_Co_index", "T_Co_index_value", "T_Co_string", "T_Co_char", "T_Co_float", "T_Co_integer", "T_Co_z", "T_Co_y", "T_Co_x", "T_Co_right_neighbor", "T_Co_left_neighbor", "T_Co_lower_neighbor", "T_Co_upper_neighbor", "T_Co_right_margin", "T_Co_left_margin", "T_Co_bottom_margin", "T_Co_top_margin", "T_Co_equal_column", "T_Co_equal_row", "T_Co_equal_position", "T_Co_behind", "T_Co_in_font", "T_Co_right", "T_Co_left", "T_Co_below", "T_Co_above", "T_Co_limit", "T_Co_cluster", "T_Co_xrange", "T_Co_high_margin", "T_Co_low_margin", "T_Co_neighbors", "T_Co_greater", "T_Co_smaller", "T_Co_equal", "T_Co_string_array", "T_Co_dimension", "T_Co_name", "T_Co_interval", "T_Co_nodes", "T_Co_size", "T_Co_solid", "T_Co_line", "T_Co_none", "T_Co_invisible", "T_Co_dashed", "T_Co_dotted", "T_Co_continuous", "T_Co_anchor", "T_Co_linestyle", "T_Co_barrowstyle", "T_Co_arrowstyle", "T_Co_barrowsize", "T_Co_arrowsize", "T_Co_barrowcolor", "T_Co_arrowcolor", "T_Co_arrowheight", "T_Co_arrowwidth", "T_Co_priority", "T_Co_class", "T_Co_thickness", "T_Co_targetname", "T_Co_sourcename", "T_Co_around", "T_Co_top", "T_Co_bottom", "T_Co_triangle", "T_Co_ellipse", "T_Co_rhomb", "T_Co_box", "T_Co_right_justify", "T_Co_left_justify", "T_Co_center", "T_Co_iconstyle", "T_Co_iconheight", "T_Co_iconwidth", "T_Co_anchorpoints", "T_Co_iconfile", "T_Co_bordercolor", "T_Co_fontname", "T_Co_constraint_attribute", "T_Co_edge_attribute", "T_Co_node_attribute", "T_Co_free", "T_Co_fixed", "T_Co_fpfish", "T_Co_pfish", "T_Co_fcfish", "T_Co_cfish", "T_Co_medianbary", "T_Co_barymedian", "T_Co_median", "T_Co_bary", "T_Co_no", "T_Co_yes", "T_Co_grey", "T_Co_manual", "T_Co_every", "T_Co_depthfirst", "T_Co_minbackwards", "T_Co_minoutdegree", "T_Co_maxoutdegree", "T_Co_minindegree", "T_Co_maxindegree", "T_Co_mindegree", "T_Co_maxdegree", "T_Co_mindepthslow", "T_Co_maxdepthslow", "T_Co_mindepth", "T_Co_maxdepth", "T_Co_tree", "T_Co_constaints", "T_Co_planar", "T_Co_isi", "T_Co_barycenter", "T_Co_right_to_left", "T_Co_left_to_right", "T_Co_bottom_to_top", "T_Co_top_to_bottom", "T_Co_low", "T_Co_high", "T_Co_colindex", "T_Co_yellowgreen", "T_Co_yellow", "T_Co_white", "T_Co_turquoise", "T_Co_red", "T_Co_purple", "T_Co_pink", "T_Co_orchid", "T_Co_orange", "T_Co_magenta", "T_Co_lilac", "T_Co_lightyellow", "T_Co_lightred", "T_Co_lightmagenta", "T_Co_lightgrey", "T_Co_lightgreen", "T_Co_lightcyan", "T_Co_lightblue", "T_Co_khaki", "T_Co_green", "T_Co_gold", "T_Co_darkyellow", "T_Co_darkred", "T_Co_darkmagenta", "T_Co_darkgrey", "T_Co_darkgreen", "T_Co_darkcyan", "T_Co_darkblue", "T_Co_cyan", "T_Co_blue", "T_Co_black", "T_Co_aquamarine", "T_Co_yscrollbar", "T_Co_xscrollbar", "T_Co_outputfunction", "T_Co_inputfunction", "T_Co_topsort", "T_Co_layoutparameter", "T_Co_include", "T_Co_typename", "T_Co_straight_max", "T_Co_rubber_min", "T_Co_rubber_max", "T_Co_pendel_min", "T_Co_pendel_max", "T_Co_cross_min", "T_Co_cross_max", "T_Co_bend_max", "T_Co_view_splines", "T_Co_view_nodes", "T_Co_view_edges", "T_Co_view_method", "T_Co_crossing_weight", "T_Co_crossing_opt", "T_Co_crossing_phase2", "T_Co_treefactor", "T_Co_spreadlevel", "T_Co_arrow_mode", "T_Co_port_sharing", "T_Co_node_alignment", "T_Co_orientation", "T_Co_dummy", "T_Co_nonearedges", "T_Co_smanhatten", "T_Co_manhatten", "T_Co_priophase", "T_Co_straightphase", "T_Co_hidesingles", "T_Co_finetuning", "T_Co_dirty_edge_label", "T_Co_display_edge_label", "T_Co_late_edge_label", "T_Co_splinefactor", "T_Co_nearfactor", "T_Co_upfactor", "T_Co_downfactor", "T_Co_layoutfrequency", "T_Co_layoutalgorithm", "T_Co_colentry", "T_Co_infoname", "T_Co_classname", "T_Co_hidden", "T_Co_yraster", "T_Co_xlraster", "T_Co_xraster", "T_Co_yspace", "T_Co_xlspace", "T_Co_xspace", "T_Co_ybase", "T_Co_xbase", "T_Co_ymax", "T_Co_xmax", "T_Co_status", "T_Co_horizontal_order", "T_Co_level", "T_Co_shape", "T_Co_textmode", "T_Co_stretch", "T_Co_shrink", "T_Co_scaling", "T_Co_folding", "T_Co_loc", "T_Co_ydef", "T_Co_xdef", "T_Co_borderwidth", "T_Co_height", "T_Co_width", "T_Co_colorborder", "T_Co_textcolor", "T_Co_color", "T_Co_info3", "T_Co_info2", "T_Co_info1", "T_Co_label", "T_Co_title", "T_Co_constraint", "T_Co_back_edge", "T_Co_bent_near_edge", "T_Co_near_edge", "T_Co_edge", "T_Co_node", "T_Co_graph", "T_Co_foldedge_defaults", "T_Co_foldnode_defaults", "T_Co_edge_defaults", "T_Co_node_defaults", "T_Co_graph_attribute", "T_Co_graph_entry", "" }; /* Constructor Arities */ static const int yyconst_arity[] = { 0 , /* index_val */ 1 , /* stern */ 2 , /* range */ 2 , /* index */ 2 , /* index_value */ 0 , /* string */ 0 , /* char */ 0 , /* float */ 0 , /* integer */ 0 , /* z */ 0 , /* y */ 0 , /* x */ 0 , /* right_neighbor */ 0 , /* left_neighbor */ 0 , /* lower_neighbor */ 0 , /* upper_neighbor */ 0 , /* right_margin */ 0 , /* left_margin */ 0 , /* bottom_margin */ 0 , /* top_margin */ 0 , /* equal_column */ 0 , /* equal_row */ 0 , /* equal_position */ 0 , /* behind */ 0 , /* in_font */ 0 , /* right */ 0 , /* left */ 0 , /* below */ 0 , /* above */ 0 , /* limit */ 0 , /* cluster */ 0 , /* xrange */ 0 , /* high_margin */ 0 , /* low_margin */ 0 , /* neighbors */ 0 , /* greater */ 0 , /* smaller */ 0 , /* equal */ 2 , /* string_array */ 1 , /* dimension */ 1 , /* name */ 1 , /* interval */ 1 , /* nodes */ 1 , /* size */ 0 , /* solid */ 0 , /* line */ 0 , /* none */ 0 , /* invisible */ 0 , /* dashed */ 0 , /* dotted */ 0 , /* continuous */ 1 , /* anchor */ 1 , /* linestyle */ 1 , /* barrowstyle */ 1 , /* arrowstyle */ 1 , /* barrowsize */ 1 , /* arrowsize */ 1 , /* barrowcolor */ 1 , /* arrowcolor */ 1 , /* arrowheight */ 1 , /* arrowwidth */ 1 , /* priority */ 1 , /* class */ 1 , /* thickness */ 1 , /* targetname */ 1 , /* sourcename */ 0 , /* around */ 0 , /* top */ 0 , /* bottom */ 0 , /* triangle */ 0 , /* ellipse */ 0 , /* rhomb */ 0 , /* box */ 0 , /* right_justify */ 0 , /* left_justify */ 0 , /* center */ 1 , /* iconstyle */ 1 , /* iconheight */ 1 , /* iconwidth */ 1 , /* anchorpoints */ 1 , /* iconfile */ 1 , /* bordercolor */ 1 , /* fontname */ 2 , /* constraint_attribute */ 2 , /* edge_attribute */ 2 , /* node_attribute */ 0 , /* free */ 0 , /* fixed */ 0 , /* fpfish */ 0 , /* pfish */ 0 , /* fcfish */ 0 , /* cfish */ 0 , /* medianbary */ 0 , /* barymedian */ 0 , /* median */ 0 , /* bary */ 0 , /* no */ 0 , /* yes */ 0 , /* grey */ 0 , /* manual */ 0 , /* every */ 0 , /* depthfirst */ 0 , /* minbackwards */ 0 , /* minoutdegree */ 0 , /* maxoutdegree */ 0 , /* minindegree */ 0 , /* maxindegree */ 0 , /* mindegree */ 0 , /* maxdegree */ 0 , /* mindepthslow */ 0 , /* maxdepthslow */ 0 , /* mindepth */ 0 , /* maxdepth */ 0 , /* tree */ 0 , /* constaints */ 0 , /* planar */ 0 , /* isi */ 0 , /* barycenter */ 0 , /* right_to_left */ 0 , /* left_to_right */ 0 , /* bottom_to_top */ 0 , /* top_to_bottom */ 0 , /* low */ 0 , /* high */ 1 , /* colindex */ 0 , /* yellowgreen */ 0 , /* yellow */ 0 , /* white */ 0 , /* turquoise */ 0 , /* red */ 0 , /* purple */ 0 , /* pink */ 0 , /* orchid */ 0 , /* orange */ 0 , /* magenta */ 0 , /* lilac */ 0 , /* lightyellow */ 0 , /* lightred */ 0 , /* lightmagenta */ 0 , /* lightgrey */ 0 , /* lightgreen */ 0 , /* lightcyan */ 0 , /* lightblue */ 0 , /* khaki */ 0 , /* green */ 0 , /* gold */ 0 , /* darkyellow */ 0 , /* darkred */ 0 , /* darkmagenta */ 0 , /* darkgrey */ 0 , /* darkgreen */ 0 , /* darkcyan */ 0 , /* darkblue */ 0 , /* cyan */ 0 , /* blue */ 0 , /* black */ 0 , /* aquamarine */ 1 , /* yscrollbar */ 1 , /* xscrollbar */ 1 , /* outputfunction */ 1 , /* inputfunction */ 1 , /* topsort */ 1 , /* layoutparameter */ 1 , /* include */ 1 , /* typename */ 1 , /* straight_max */ 1 , /* rubber_min */ 1 , /* rubber_max */ 1 , /* pendel_min */ 1 , /* pendel_max */ 1 , /* cross_min */ 1 , /* cross_max */ 1 , /* bend_max */ 1 , /* view_splines */ 1 , /* view_nodes */ 1 , /* view_edges */ 1 , /* view_method */ 1 , /* crossing_weight */ 1 , /* crossing_opt */ 1 , /* crossing_phase2 */ 1 , /* treefactor */ 1 , /* spreadlevel */ 1 , /* arrow_mode */ 1 , /* port_sharing */ 1 , /* node_alignment */ 1 , /* orientation */ 0 , /* dummy */ 0 , /* nonearedges */ 1 , /* smanhatten */ 1 , /* manhatten */ 1 , /* priophase */ 1 , /* straightphase */ 1 , /* hidesingles */ 1 , /* finetuning */ 1 , /* dirty_edge_label */ 1 , /* display_edge_label */ 1 , /* late_edge_label */ 1 , /* splinefactor */ 1 , /* nearfactor */ 1 , /* upfactor */ 1 , /* downfactor */ 1 , /* layoutfrequency */ 1 , /* layoutalgorithm */ 4 , /* colentry */ 2 , /* infoname */ 2 , /* classname */ 1 , /* hidden */ 1 , /* yraster */ 1 , /* xlraster */ 1 , /* xraster */ 1 , /* yspace */ 1 , /* xlspace */ 1 , /* xspace */ 1 , /* ybase */ 1 , /* xbase */ 1 , /* ymax */ 1 , /* xmax */ 1 , /* status */ 1 , /* horizontal_order */ 1 , /* level */ 1 , /* shape */ 1 , /* textmode */ 1 , /* stretch */ 1 , /* shrink */ 1 , /* scaling */ 1 , /* folding */ 2 , /* loc */ 1 , /* ydef */ 1 , /* xdef */ 1 , /* borderwidth */ 1 , /* height */ 1 , /* width */ 1 , /* colorborder */ 1 , /* textcolor */ 1 , /* color */ 1 , /* info3 */ 1 , /* info2 */ 1 , /* info1 */ 1 , /* label */ 1 , /* title */ 1 , /* constraint */ 1 , /* back_edge */ 1 , /* bent_near_edge */ 1 , /* near_edge */ 1 , /* edge */ 1 , /* node */ 1 , /* graph */ 1 , /* foldedge_defaults */ 1 , /* foldnode_defaults */ 1 , /* edge_defaults */ 1 , /* node_defaults */ 1 , /* graph_attribute */ 2 , /* graph_entry */ 0 }; /* Build Macros */ #define T_index_val(s0,l) BuildCont(T_Co_index_val,UnionLnum(s0),l) #define T_stern(s0,l) BuildTree(T_Co_stern,1,UnionNum(0),l,s0) #define T_range(s0,s1,l) BuildTree(T_Co_range,2,UnionNum(0),l,s0,s1) #define T_index(s0,s1,l) BuildTree(T_Co_index,2,UnionNum(0),l,s0,s1) #define T_index_value(s0,s1,l) BuildTree(T_Co_index_value,2,UnionNum(0),l,s0,s1) #define T_string(s0,l) BuildCont(T_Co_string,UnionLnum(s0),l) #define T_char(s0,l) BuildCont(T_Co_char,UnionByte(s0),l) #define T_float(s0,l) BuildCont(T_Co_float,UnionLrealnum(s0),l) #define T_integer(s0,l) BuildCont(T_Co_integer,UnionLnum(s0),l) #define T_z(l) BuildCont(T_Co_z,UnionNum(0),l) #define T_y(l) BuildCont(T_Co_y,UnionNum(0),l) #define T_x(l) BuildCont(T_Co_x,UnionNum(0),l) #define T_right_neighbor(l) BuildCont(T_Co_right_neighbor,UnionNum(0),l) #define T_left_neighbor(l) BuildCont(T_Co_left_neighbor,UnionNum(0),l) #define T_lower_neighbor(l) BuildCont(T_Co_lower_neighbor,UnionNum(0),l) #define T_upper_neighbor(l) BuildCont(T_Co_upper_neighbor,UnionNum(0),l) #define T_right_margin(l) BuildCont(T_Co_right_margin,UnionNum(0),l) #define T_left_margin(l) BuildCont(T_Co_left_margin,UnionNum(0),l) #define T_bottom_margin(l) BuildCont(T_Co_bottom_margin,UnionNum(0),l) #define T_top_margin(l) BuildCont(T_Co_top_margin,UnionNum(0),l) #define T_equal_column(l) BuildCont(T_Co_equal_column,UnionNum(0),l) #define T_equal_row(l) BuildCont(T_Co_equal_row,UnionNum(0),l) #define T_equal_position(l) BuildCont(T_Co_equal_position,UnionNum(0),l) #define T_behind(l) BuildCont(T_Co_behind,UnionNum(0),l) #define T_in_font(l) BuildCont(T_Co_in_font,UnionNum(0),l) #define T_right(l) BuildCont(T_Co_right,UnionNum(0),l) #define T_left(l) BuildCont(T_Co_left,UnionNum(0),l) #define T_below(l) BuildCont(T_Co_below,UnionNum(0),l) #define T_above(l) BuildCont(T_Co_above,UnionNum(0),l) #define T_limit(l) BuildCont(T_Co_limit,UnionNum(0),l) #define T_cluster(l) BuildCont(T_Co_cluster,UnionNum(0),l) #define T_xrange(l) BuildCont(T_Co_xrange,UnionNum(0),l) #define T_high_margin(l) BuildCont(T_Co_high_margin,UnionNum(0),l) #define T_low_margin(l) BuildCont(T_Co_low_margin,UnionNum(0),l) #define T_neighbors(l) BuildCont(T_Co_neighbors,UnionNum(0),l) #define T_greater(l) BuildCont(T_Co_greater,UnionNum(0),l) #define T_smaller(l) BuildCont(T_Co_smaller,UnionNum(0),l) #define T_equal(l) BuildCont(T_Co_equal,UnionNum(0),l) #define T_string_array(s0,s1,l) BuildTree(T_Co_string_array,2,UnionNum(0),l,s0,s1) #define T_dimension(s0,l) BuildTree(T_Co_dimension,1,UnionNum(0),l,s0) #define T_name(s0,l) BuildTree(T_Co_name,1,UnionNum(0),l,s0) #define T_interval(s0,l) BuildTree(T_Co_interval,1,UnionNum(0),l,s0) #define T_nodes(s0,l) BuildTree(T_Co_nodes,1,UnionNum(0),l,s0) #define T_size(s0,l) BuildTree(T_Co_size,1,UnionNum(0),l,s0) #define T_solid(l) BuildCont(T_Co_solid,UnionNum(0),l) #define T_line(l) BuildCont(T_Co_line,UnionNum(0),l) #define T_none(l) BuildCont(T_Co_none,UnionNum(0),l) #define T_invisible(l) BuildCont(T_Co_invisible,UnionNum(0),l) #define T_dashed(l) BuildCont(T_Co_dashed,UnionNum(0),l) #define T_dotted(l) BuildCont(T_Co_dotted,UnionNum(0),l) #define T_continuous(l) BuildCont(T_Co_continuous,UnionNum(0),l) #define T_anchor(s0,l) BuildTree(T_Co_anchor,1,UnionNum(0),l,s0) #define T_linestyle(s0,l) BuildTree(T_Co_linestyle,1,UnionNum(0),l,s0) #define T_barrowstyle(s0,l) BuildTree(T_Co_barrowstyle,1,UnionNum(0),l,s0) #define T_arrowstyle(s0,l) BuildTree(T_Co_arrowstyle,1,UnionNum(0),l,s0) #define T_barrowsize(s0,l) BuildTree(T_Co_barrowsize,1,UnionNum(0),l,s0) #define T_arrowsize(s0,l) BuildTree(T_Co_arrowsize,1,UnionNum(0),l,s0) #define T_barrowcolor(s0,l) BuildTree(T_Co_barrowcolor,1,UnionNum(0),l,s0) #define T_arrowcolor(s0,l) BuildTree(T_Co_arrowcolor,1,UnionNum(0),l,s0) #define T_arrowheight(s0,l) BuildTree(T_Co_arrowheight,1,UnionNum(0),l,s0) #define T_arrowwidth(s0,l) BuildTree(T_Co_arrowwidth,1,UnionNum(0),l,s0) #define T_priority(s0,l) BuildTree(T_Co_priority,1,UnionNum(0),l,s0) #define T_class(s0,l) BuildTree(T_Co_class,1,UnionNum(0),l,s0) #define T_thickness(s0,l) BuildTree(T_Co_thickness,1,UnionNum(0),l,s0) #define T_targetname(s0,l) BuildTree(T_Co_targetname,1,UnionNum(0),l,s0) #define T_sourcename(s0,l) BuildTree(T_Co_sourcename,1,UnionNum(0),l,s0) #define T_around(l) BuildCont(T_Co_around,UnionNum(0),l) #define T_top(l) BuildCont(T_Co_top,UnionNum(0),l) #define T_bottom(l) BuildCont(T_Co_bottom,UnionNum(0),l) #define T_triangle(l) BuildCont(T_Co_triangle,UnionNum(0),l) #define T_ellipse(l) BuildCont(T_Co_ellipse,UnionNum(0),l) #define T_rhomb(l) BuildCont(T_Co_rhomb,UnionNum(0),l) #define T_box(l) BuildCont(T_Co_box,UnionNum(0),l) #define T_right_justify(l) BuildCont(T_Co_right_justify,UnionNum(0),l) #define T_left_justify(l) BuildCont(T_Co_left_justify,UnionNum(0),l) #define T_center(l) BuildCont(T_Co_center,UnionNum(0),l) #define T_iconstyle(s0,l) BuildTree(T_Co_iconstyle,1,UnionNum(0),l,s0) #define T_iconheight(s0,l) BuildTree(T_Co_iconheight,1,UnionNum(0),l,s0) #define T_iconwidth(s0,l) BuildTree(T_Co_iconwidth,1,UnionNum(0),l,s0) #define T_anchorpoints(s0,l) BuildTree(T_Co_anchorpoints,1,UnionNum(0),l,s0) #define T_iconfile(s0,l) BuildTree(T_Co_iconfile,1,UnionNum(0),l,s0) #define T_bordercolor(s0,l) BuildTree(T_Co_bordercolor,1,UnionNum(0),l,s0) #define T_fontname(s0,l) BuildTree(T_Co_fontname,1,UnionNum(0),l,s0) #define T_constraint_attribute(s0,s1,l) BuildTree(T_Co_constraint_attribute,2,UnionNum(0),l,s0,s1) #define T_edge_attribute(s0,s1,l) BuildTree(T_Co_edge_attribute,2,UnionNum(0),l,s0,s1) #define T_node_attribute(s0,s1,l) BuildTree(T_Co_node_attribute,2,UnionNum(0),l,s0,s1) #define T_free(l) BuildCont(T_Co_free,UnionNum(0),l) #define T_fixed(l) BuildCont(T_Co_fixed,UnionNum(0),l) #define T_fpfish(l) BuildCont(T_Co_fpfish,UnionNum(0),l) #define T_pfish(l) BuildCont(T_Co_pfish,UnionNum(0),l) #define T_fcfish(l) BuildCont(T_Co_fcfish,UnionNum(0),l) #define T_cfish(l) BuildCont(T_Co_cfish,UnionNum(0),l) #define T_medianbary(l) BuildCont(T_Co_medianbary,UnionNum(0),l) #define T_barymedian(l) BuildCont(T_Co_barymedian,UnionNum(0),l) #define T_median(l) BuildCont(T_Co_median,UnionNum(0),l) #define T_bary(l) BuildCont(T_Co_bary,UnionNum(0),l) #define T_no(l) BuildCont(T_Co_no,UnionNum(0),l) #define T_yes(l) BuildCont(T_Co_yes,UnionNum(0),l) #define T_grey(l) BuildCont(T_Co_grey,UnionNum(0),l) #define T_manual(l) BuildCont(T_Co_manual,UnionNum(0),l) #define T_every(l) BuildCont(T_Co_every,UnionNum(0),l) #define T_depthfirst(l) BuildCont(T_Co_depthfirst,UnionNum(0),l) #define T_minbackwards(l) BuildCont(T_Co_minbackwards,UnionNum(0),l) #define T_minoutdegree(l) BuildCont(T_Co_minoutdegree,UnionNum(0),l) #define T_maxoutdegree(l) BuildCont(T_Co_maxoutdegree,UnionNum(0),l) #define T_minindegree(l) BuildCont(T_Co_minindegree,UnionNum(0),l) #define T_maxindegree(l) BuildCont(T_Co_maxindegree,UnionNum(0),l) #define T_mindegree(l) BuildCont(T_Co_mindegree,UnionNum(0),l) #define T_maxdegree(l) BuildCont(T_Co_maxdegree,UnionNum(0),l) #define T_mindepthslow(l) BuildCont(T_Co_mindepthslow,UnionNum(0),l) #define T_maxdepthslow(l) BuildCont(T_Co_maxdepthslow,UnionNum(0),l) #define T_mindepth(l) BuildCont(T_Co_mindepth,UnionNum(0),l) #define T_maxdepth(l) BuildCont(T_Co_maxdepth,UnionNum(0),l) #define T_tree(l) BuildCont(T_Co_tree,UnionNum(0),l) #define T_constaints(l) BuildCont(T_Co_constaints,UnionNum(0),l) #define T_planar(l) BuildCont(T_Co_planar,UnionNum(0),l) #define T_isi(l) BuildCont(T_Co_isi,UnionNum(0),l) #define T_barycenter(l) BuildCont(T_Co_barycenter,UnionNum(0),l) #define T_right_to_left(l) BuildCont(T_Co_right_to_left,UnionNum(0),l) #define T_left_to_right(l) BuildCont(T_Co_left_to_right,UnionNum(0),l) #define T_bottom_to_top(l) BuildCont(T_Co_bottom_to_top,UnionNum(0),l) #define T_top_to_bottom(l) BuildCont(T_Co_top_to_bottom,UnionNum(0),l) #define T_low(l) BuildCont(T_Co_low,UnionNum(0),l) #define T_high(l) BuildCont(T_Co_high,UnionNum(0),l) #define T_colindex(s0,l) BuildTree(T_Co_colindex,1,UnionNum(0),l,s0) #define T_yellowgreen(l) BuildCont(T_Co_yellowgreen,UnionNum(0),l) #define T_yellow(l) BuildCont(T_Co_yellow,UnionNum(0),l) #define T_white(l) BuildCont(T_Co_white,UnionNum(0),l) #define T_turquoise(l) BuildCont(T_Co_turquoise,UnionNum(0),l) #define T_red(l) BuildCont(T_Co_red,UnionNum(0),l) #define T_purple(l) BuildCont(T_Co_purple,UnionNum(0),l) #define T_pink(l) BuildCont(T_Co_pink,UnionNum(0),l) #define T_orchid(l) BuildCont(T_Co_orchid,UnionNum(0),l) #define T_orange(l) BuildCont(T_Co_orange,UnionNum(0),l) #define T_magenta(l) BuildCont(T_Co_magenta,UnionNum(0),l) #define T_lilac(l) BuildCont(T_Co_lilac,UnionNum(0),l) #define T_lightyellow(l) BuildCont(T_Co_lightyellow,UnionNum(0),l) #define T_lightred(l) BuildCont(T_Co_lightred,UnionNum(0),l) #define T_lightmagenta(l) BuildCont(T_Co_lightmagenta,UnionNum(0),l) #define T_lightgrey(l) BuildCont(T_Co_lightgrey,UnionNum(0),l) #define T_lightgreen(l) BuildCont(T_Co_lightgreen,UnionNum(0),l) #define T_lightcyan(l) BuildCont(T_Co_lightcyan,UnionNum(0),l) #define T_lightblue(l) BuildCont(T_Co_lightblue,UnionNum(0),l) #define T_khaki(l) BuildCont(T_Co_khaki,UnionNum(0),l) #define T_green(l) BuildCont(T_Co_green,UnionNum(0),l) #define T_gold(l) BuildCont(T_Co_gold,UnionNum(0),l) #define T_darkyellow(l) BuildCont(T_Co_darkyellow,UnionNum(0),l) #define T_darkred(l) BuildCont(T_Co_darkred,UnionNum(0),l) #define T_darkmagenta(l) BuildCont(T_Co_darkmagenta,UnionNum(0),l) #define T_darkgrey(l) BuildCont(T_Co_darkgrey,UnionNum(0),l) #define T_darkgreen(l) BuildCont(T_Co_darkgreen,UnionNum(0),l) #define T_darkcyan(l) BuildCont(T_Co_darkcyan,UnionNum(0),l) #define T_darkblue(l) BuildCont(T_Co_darkblue,UnionNum(0),l) #define T_cyan(l) BuildCont(T_Co_cyan,UnionNum(0),l) #define T_blue(l) BuildCont(T_Co_blue,UnionNum(0),l) #define T_black(l) BuildCont(T_Co_black,UnionNum(0),l) #define T_aquamarine(l) BuildCont(T_Co_aquamarine,UnionNum(0),l) #define T_yscrollbar(s0,l) BuildTree(T_Co_yscrollbar,1,UnionNum(0),l,s0) #define T_xscrollbar(s0,l) BuildTree(T_Co_xscrollbar,1,UnionNum(0),l,s0) #define T_outputfunction(s0,l) BuildTree(T_Co_outputfunction,1,UnionNum(0),l,s0) #define T_inputfunction(s0,l) BuildTree(T_Co_inputfunction,1,UnionNum(0),l,s0) #define T_topsort(s0,l) BuildTree(T_Co_topsort,1,UnionNum(0),l,s0) #define T_layoutparameter(s0,l) BuildTree(T_Co_layoutparameter,1,UnionNum(0),l,s0) #define T_include(s0,l) BuildTree(T_Co_include,1,UnionNum(0),l,s0) #define T_typename(s0,l) BuildTree(T_Co_typename,1,UnionNum(0),l,s0) #define T_straight_max(s0,l) BuildTree(T_Co_straight_max,1,UnionNum(0),l,s0) #define T_rubber_min(s0,l) BuildTree(T_Co_rubber_min,1,UnionNum(0),l,s0) #define T_rubber_max(s0,l) BuildTree(T_Co_rubber_max,1,UnionNum(0),l,s0) #define T_pendel_min(s0,l) BuildTree(T_Co_pendel_min,1,UnionNum(0),l,s0) #define T_pendel_max(s0,l) BuildTree(T_Co_pendel_max,1,UnionNum(0),l,s0) #define T_cross_min(s0,l) BuildTree(T_Co_cross_min,1,UnionNum(0),l,s0) #define T_cross_max(s0,l) BuildTree(T_Co_cross_max,1,UnionNum(0),l,s0) #define T_bend_max(s0,l) BuildTree(T_Co_bend_max,1,UnionNum(0),l,s0) #define T_view_splines(s0,l) BuildTree(T_Co_view_splines,1,UnionNum(0),l,s0) #define T_view_nodes(s0,l) BuildTree(T_Co_view_nodes,1,UnionNum(0),l,s0) #define T_view_edges(s0,l) BuildTree(T_Co_view_edges,1,UnionNum(0),l,s0) #define T_view_method(s0,l) BuildTree(T_Co_view_method,1,UnionNum(0),l,s0) #define T_crossing_weight(s0,l) BuildTree(T_Co_crossing_weight,1,UnionNum(0),l,s0) #define T_crossing_opt(s0,l) BuildTree(T_Co_crossing_opt,1,UnionNum(0),l,s0) #define T_crossing_phase2(s0,l) BuildTree(T_Co_crossing_phase2,1,UnionNum(0),l,s0) #define T_treefactor(s0,l) BuildTree(T_Co_treefactor,1,UnionNum(0),l,s0) #define T_spreadlevel(s0,l) BuildTree(T_Co_spreadlevel,1,UnionNum(0),l,s0) #define T_arrow_mode(s0,l) BuildTree(T_Co_arrow_mode,1,UnionNum(0),l,s0) #define T_port_sharing(s0,l) BuildTree(T_Co_port_sharing,1,UnionNum(0),l,s0) #define T_node_alignment(s0,l) BuildTree(T_Co_node_alignment,1,UnionNum(0),l,s0) #define T_orientation(s0,l) BuildTree(T_Co_orientation,1,UnionNum(0),l,s0) #define T_dummy(l) BuildCont(T_Co_dummy,UnionNum(0),l) #define T_nonearedges(l) BuildCont(T_Co_nonearedges,UnionNum(0),l) #define T_smanhatten(s0,l) BuildTree(T_Co_smanhatten,1,UnionNum(0),l,s0) #define T_manhatten(s0,l) BuildTree(T_Co_manhatten,1,UnionNum(0),l,s0) #define T_priophase(s0,l) BuildTree(T_Co_priophase,1,UnionNum(0),l,s0) #define T_straightphase(s0,l) BuildTree(T_Co_straightphase,1,UnionNum(0),l,s0) #define T_hidesingles(s0,l) BuildTree(T_Co_hidesingles,1,UnionNum(0),l,s0) #define T_finetuning(s0,l) BuildTree(T_Co_finetuning,1,UnionNum(0),l,s0) #define T_dirty_edge_label(s0,l) BuildTree(T_Co_dirty_edge_label,1,UnionNum(0),l,s0) #define T_display_edge_label(s0,l) BuildTree(T_Co_display_edge_label,1,UnionNum(0),l,s0) #define T_late_edge_label(s0,l) BuildTree(T_Co_late_edge_label,1,UnionNum(0),l,s0) #define T_splinefactor(s0,l) BuildTree(T_Co_splinefactor,1,UnionNum(0),l,s0) #define T_nearfactor(s0,l) BuildTree(T_Co_nearfactor,1,UnionNum(0),l,s0) #define T_upfactor(s0,l) BuildTree(T_Co_upfactor,1,UnionNum(0),l,s0) #define T_downfactor(s0,l) BuildTree(T_Co_downfactor,1,UnionNum(0),l,s0) #define T_layoutfrequency(s0,l) BuildTree(T_Co_layoutfrequency,1,UnionNum(0),l,s0) #define T_layoutalgorithm(s0,l) BuildTree(T_Co_layoutalgorithm,1,UnionNum(0),l,s0) #define T_colentry(s0,s1,s2,s3,l) BuildTree(T_Co_colentry,4,UnionNum(0),l,s0,s1,s2,s3) #define T_infoname(s0,s1,l) BuildTree(T_Co_infoname,2,UnionNum(0),l,s0,s1) #define T_classname(s0,s1,l) BuildTree(T_Co_classname,2,UnionNum(0),l,s0,s1) #define T_hidden(s0,l) BuildTree(T_Co_hidden,1,UnionNum(0),l,s0) #define T_yraster(s0,l) BuildTree(T_Co_yraster,1,UnionNum(0),l,s0) #define T_xlraster(s0,l) BuildTree(T_Co_xlraster,1,UnionNum(0),l,s0) #define T_xraster(s0,l) BuildTree(T_Co_xraster,1,UnionNum(0),l,s0) #define T_yspace(s0,l) BuildTree(T_Co_yspace,1,UnionNum(0),l,s0) #define T_xlspace(s0,l) BuildTree(T_Co_xlspace,1,UnionNum(0),l,s0) #define T_xspace(s0,l) BuildTree(T_Co_xspace,1,UnionNum(0),l,s0) #define T_ybase(s0,l) BuildTree(T_Co_ybase,1,UnionNum(0),l,s0) #define T_xbase(s0,l) BuildTree(T_Co_xbase,1,UnionNum(0),l,s0) #define T_ymax(s0,l) BuildTree(T_Co_ymax,1,UnionNum(0),l,s0) #define T_xmax(s0,l) BuildTree(T_Co_xmax,1,UnionNum(0),l,s0) #define T_status(s0,l) BuildTree(T_Co_status,1,UnionNum(0),l,s0) #define T_horizontal_order(s0,l) BuildTree(T_Co_horizontal_order,1,UnionNum(0),l,s0) #define T_level(s0,l) BuildTree(T_Co_level,1,UnionNum(0),l,s0) #define T_shape(s0,l) BuildTree(T_Co_shape,1,UnionNum(0),l,s0) #define T_textmode(s0,l) BuildTree(T_Co_textmode,1,UnionNum(0),l,s0) #define T_stretch(s0,l) BuildTree(T_Co_stretch,1,UnionNum(0),l,s0) #define T_shrink(s0,l) BuildTree(T_Co_shrink,1,UnionNum(0),l,s0) #define T_scaling(s0,l) BuildTree(T_Co_scaling,1,UnionNum(0),l,s0) #define T_folding(s0,l) BuildTree(T_Co_folding,1,UnionNum(0),l,s0) #define T_loc(s0,s1,l) BuildTree(T_Co_loc,2,UnionNum(0),l,s0,s1) #define T_ydef(s0,l) BuildTree(T_Co_ydef,1,UnionNum(0),l,s0) #define T_xdef(s0,l) BuildTree(T_Co_xdef,1,UnionNum(0),l,s0) #define T_borderwidth(s0,l) BuildTree(T_Co_borderwidth,1,UnionNum(0),l,s0) #define T_height(s0,l) BuildTree(T_Co_height,1,UnionNum(0),l,s0) #define T_width(s0,l) BuildTree(T_Co_width,1,UnionNum(0),l,s0) #define T_colorborder(s0,l) BuildTree(T_Co_colorborder,1,UnionNum(0),l,s0) #define T_textcolor(s0,l) BuildTree(T_Co_textcolor,1,UnionNum(0),l,s0) #define T_color(s0,l) BuildTree(T_Co_color,1,UnionNum(0),l,s0) #define T_info3(s0,l) BuildTree(T_Co_info3,1,UnionNum(0),l,s0) #define T_info2(s0,l) BuildTree(T_Co_info2,1,UnionNum(0),l,s0) #define T_info1(s0,l) BuildTree(T_Co_info1,1,UnionNum(0),l,s0) #define T_label(s0,l) BuildTree(T_Co_label,1,UnionNum(0),l,s0) #define T_title(s0,l) BuildTree(T_Co_title,1,UnionNum(0),l,s0) #define T_constraint(s0,l) BuildTree(T_Co_constraint,1,UnionNum(0),l,s0) #define T_back_edge(s0,l) BuildTree(T_Co_back_edge,1,UnionNum(0),l,s0) #define T_bent_near_edge(s0,l) BuildTree(T_Co_bent_near_edge,1,UnionNum(0),l,s0) #define T_near_edge(s0,l) BuildTree(T_Co_near_edge,1,UnionNum(0),l,s0) #define T_edge(s0,l) BuildTree(T_Co_edge,1,UnionNum(0),l,s0) #define T_node(s0,l) BuildTree(T_Co_node,1,UnionNum(0),l,s0) #define T_graph(s0,l) BuildTree(T_Co_graph,1,UnionNum(0),l,s0) #define T_foldedge_defaults(s0,l) BuildTree(T_Co_foldedge_defaults,1,UnionNum(0),l,s0) #define T_foldnode_defaults(s0,l) BuildTree(T_Co_foldnode_defaults,1,UnionNum(0),l,s0) #define T_edge_defaults(s0,l) BuildTree(T_Co_edge_defaults,1,UnionNum(0),l,s0) #define T_node_defaults(s0,l) BuildTree(T_Co_node_defaults,1,UnionNum(0),l,s0) #define T_graph_attribute(s0,l) BuildTree(T_Co_graph_attribute,1,UnionNum(0),l,s0) #define T_graph_entry(s0,s1,l) BuildTree(T_Co_graph_entry,2,UnionNum(0),l,s0,s1) #line 60 "/RW/esprit/users/sander/src/PARSEGEN/parse.skel" /* from scanner */ #ifdef ANSI_C void init_lex(void); int yylex(void); #else void init_lex(); int yylex(); #endif static char message[1024]; /* for error messages */ #line 1441 "grammar.pgs" static const char * const yytokname[] = { "$" ,"error" ,"$illegal." ,"lexem ABOVE" ,"lexem ANCHORPOINTS" ,"lexem ANCHOR" ,"lexem AQUAMARINE" ,"lexem AROUND" ,"lexem ARROWMODE" ,"lexem ARROWHEIGHT" ,"lexem ARROWWIDTH" ,"lexem ARROWCOLOR" ,"lexem ARROWSTYLE" ,"lexem ARROWSIZE" ,"lexem BARROWCOLOR" ,"lexem BARROWSTYLE" ,"lexem BARROWSIZE" ,"lexem BACKEDGE" ,"lexem BARYCENTER" ,"lexem BARY" ,"lexem BARYMEDIAN" ,"lexem BEHIND" ,"lexem BELOW" ,"lexem BLACK" ,"lexem BLUE" ,"lexem BMAX" ,"lexem BORDERCOLOR" ,"lexem BORDERWIDTH" ,"lexem BOTTOM_MARGIN" ,"lexem BOTTOM_TO_TOP" ,"lexem BOTTOM" ,"lexem BOX" ,"lexem BENTNEAREDGE" ,"lexem CENTER" ,"lexem CFISH" ,"lexem CLASSNAME" ,"lexem CLASS" ,"lexem CLUSTER" ,"lexem CMIN" ,"lexem CMAX" ,"lexem COLORENTRY" ,"lexem COLOR" ,"lexem CONSTRAINTS" ,"lexem CONSTRAINT" ,"lexem CONTINUOUS" ,"lexem CROSSING_WEIGHT" ,"lexem CROSSING_OPT" ,"lexem CROSSING_P2" ,"lexem CYAN" ,"lexem DARKBLUE" ,"lexem DARKCYAN" ,"lexem DARKGREEN" ,"lexem DARKGREY" ,"lexem DARKMAGENTA" ,"lexem DARKRED" ,"lexem DARKYELLOW" ,"lexem DASHED" ,"lexem DFS" ,"lexem DIMENSION" ,"lexem DIRTY_EDGE_LABELS" ,"lexem DISPLAY_EDGE_LABELS" ,"lexem DOTTED" ,"lexem EDGE1" ,"lexem EDGE2" ,"lexem EDGES" ,"lexem ELLIPSE" ,"lexem EQUAL_COLUMN" ,"lexem EQUAL_POSITION" ,"lexem EQUAL_ROW" ,"lexem EQUAL" ,"lexem EVERY" ,"lexem FCFISH" ,"lexem FPFISH" ,"lexem FIXED" ,"lexem FREE" ,"lexem FINETUNING" ,"lexem FOLDEDGE" ,"lexem FOLDNODE" ,"lexem FOLDING" ,"lexem FONTNAME" ,"lexem GOLD" ,"lexem GRAPH" ,"lexem GREATER" ,"lexem GREEN" ,"lexem GREY" ,"lexem HEIGHT" ,"lexem HIDESINGLES" ,"lexem HIGH_MARGIN" ,"lexem HIGH" ,"lexem HIDDEN" ,"lexem HORDER" ,"lexem ICONFILE" ,"lexem ICONHEIGHT" ,"lexem ICONSTYLE" ,"lexem ICONWIDTH" ,"lexem INCLUDE" ,"lexem INFONAME" ,"lexem INFO1" ,"lexem INFO2" ,"lexem INFO3" ,"lexem INPUTFUNCTION" ,"lexem INTERVAL" ,"lexem INVISIBLE" ,"lexem IN_FRONT" ,"lexem ISI" ,"lexem KHAKI" ,"lexem TEXTCOLOR" ,"lexem LABEL" ,"lexem LATE_LABELS" ,"lexem LAYOUTALGORITHM" ,"lexem LAYOUTFREQUENCY" ,"lexem LAYOUTPARAMETER" ,"lexem LAYOUTDOWNFACTOR" ,"lexem LAYOUTUPFACTOR" ,"lexem LAYOUTNEARFACTOR" ,"lexem LAYOUTSPLINEFACTOR" ,"lexem LEFT_JUSTIFY" ,"lexem LEFT_MARGIN" ,"lexem LEFT_NEIGHBOR" ,"lexem LEFT_TO_RIGHT" ,"lexem LEFT" ,"lexem LEVEL" ,"lexem VORDER" ,"lexem LIGHTBLUE" ,"lexem LIGHTCYAN" ,"lexem LIGHTGREEN" ,"lexem LIGHTGREY" ,"lexem LIGHTMAGENTA" ,"lexem LIGHTRED" ,"lexem LIGHTYELLOW" ,"lexem LILAC" ,"lexem LIMIT" ,"lexem LINE" ,"lexem LINESTYLE" ,"lexem LOC" ,"lexem LOWER_NEIGHBOR" ,"lexem LOW_MARGIN" ,"lexem LOW" ,"lexem MAGENTA" ,"lexem MANHATTEN" ,"lexem MANUAL" ,"lexem MAXDEPTHSLOW" ,"lexem MAXDEPTH" ,"lexem MAXDEGREE" ,"lexem MAXINDEGREE" ,"lexem MAXOUTDEGREE" ,"lexem MEDIAN" ,"lexem MEDIANBARY" ,"lexem MINDEPTHSLOW" ,"lexem MINDEPTH" ,"lexem MINDEGREE" ,"lexem MININDEGREE" ,"lexem MINOUTDEGREE" ,"lexem MINBACK" ,"lexem NAME" ,"lexem NEAREDGE" ,"lexem NEIGHBORS" ,"lexem NEAREDGES" ,"lexem NONEAREDGES" ,"lexem NODE1" ,"lexem NODE2" ,"lexem NODES" ,"lexem NODE_ALIGN" ,"lexem NONE" ,"lexem NO" ,"lexem ORANGE" ,"lexem ORCHID" ,"lexem ORIENTATION" ,"lexem OUTPUTFUNCTION" ,"lexem PFISH" ,"lexem PINK" ,"lexem PLANAR" ,"lexem PMIN" ,"lexem PMAX" ,"lexem PORTSHARING" ,"lexem PRIORITYPHASE" ,"lexem PRIORITY" ,"lexem PURPLE" ,"lexem RANGE" ,"lexem RED" ,"lexem RHOMB" ,"lexem RIGHT_JUSTIFY" ,"lexem RIGHT_MARGIN" ,"lexem RIGHT_NEIGHBOR" ,"lexem RIGHT_TO_LEFT" ,"lexem RIGHT" ,"lexem RMIN" ,"lexem RMAX" ,"lexem SCALING" ,"lexem SHAPE" ,"lexem SHRINK" ,"lexem SMAX" ,"lexem SMANHATTEN" ,"lexem SIZE" ,"lexem SMALLER" ,"lexem SOLID" ,"lexem SOURCENAME" ,"lexem SPLINES" ,"lexem SPREADLEVEL" ,"lexem STATUS" ,"lexem STRETCH" ,"lexem STRAIGHTPHASE" ,"lexem TARGETNAME" ,"lexem TEXTMODE" ,"lexem THICKNESS" ,"lexem TITLE" ,"lexem TOPSORT" ,"lexem TOP_MARGIN" ,"lexem TOP_TO_BOTTOM" ,"lexem TOP" ,"lexem TREE" ,"lexem TREEFACTOR" ,"lexem TRIANGLE" ,"lexem TURQUOISE" ,"lexem TYPENAME" ,"lexem UPPER_NEIGHBOR" ,"lexem VIEW" ,"lexem WHITE" ,"lexem WIDTH" ,"lexem XBASE" ,"lexem XMAX" ,"lexem XRASTER" ,"lexem XLRASTER" ,"lexem XSCROLLBAR" ,"lexem XSPACE" ,"lexem XLSPACE" ,"lexem YBASE" ,"lexem YELLOWGREEN" ,"lexem YELLOW" ,"lexem YES" ,"lexem YMAX" ,"lexem YRASTER" ,"lexem YSCROLLBAR" ,"lexem YSPACE" ,"lexem INT" ,"lexem FLOAT" ,"lexem CHAR" ,"lexem STRING" ,"'{'" ,"'}'" ,"':'" ,"'x'" ,"'y'" ,"'z'" ,"'*'" ,"'['" ,"'-'" ,"']'" ,"graph" ,"graph_entry_list" ,"graph_entry" ,"graph_attribute" ,"enum_color" ,"enum_topsort" ,"enum_orientation" ,"enum_layoutalgorithm" ,"enum_layoutfrequency" ,"enum_status" ,"enum_yes_no" ,"enum_cross_weight" ,"enum_view" ,"enum_arrow_mode" ,"foldnode_defaults" ,"foldedge_defaults" ,"node_defaults" ,"edge_defaults" ,"node" ,"node_attribute_list" ,"edge" ,"nearedge" ,"bentnearedge" ,"backedge" ,"edge_attribute_list" ,"constraint" ,"constraint_attribute_list" ,"node_attribute" ,"enum_textmode" ,"enum_shape" ,"enum_node_align" ,"enum_iconstyle" ,"edge_attribute" ,"enum_linestyle" ,"enum_arrowstyle" ,"constraint_attribute" ,"string_array" ,"enum_name" ,"enum_dimension" ,"attribute_value" ,"array_value" ,"index_value_list" ,"index_value" ,"range" ,"index" ,"int_const" ,"float_const" ,"str_const" ,"" }; #line 77 "/RW/esprit/users/sander/src/PARSEGEN/parse.skel" #ifndef yyerror #define yyerror(x) { \ (void)sprintf(message,"unexpected %s (%s)", \ ((yychar<0)?"(?)":yytokname[YYTRANSLATE(yychar)]),x); \ (void)printf("Line %d Pos %d: %s !\n",line_nr,pos_nr,message);\ nr_errors++;\ } #endif #ifdef BISONGEN #ifndef yylocate #define yylocate(x) (&(x)) #endif #endif #ifdef YACCGEN static YYLTYPE yystdlocation; static YYLTYPE *yystdloc(void) { yystdlocation->first_line = yystdlocation->last_line = line_nr; yystdlocation->first_column = yystdlocation->last_column = pos_nr; return(&yystdlocation); } #ifndef yylocate #define yylocate(x) (yystdloc()) #endif #endif /* YACCGEN */ #ifndef yysyntaxtree #define yysyntaxtree char* #endif #define YY_NEVERNEEDED (@1) #undef YY_NEVERNEEDED /*-------------------------------------------------------------*/ /* YACC or BISON Specification */ /*-------------------------------------------------------------*/ #line 1441 "grammar.pgs" #line 2079 "grammar.y" typedef union { unsigned char byte; short int snum; unsigned short int usnum; int num; unsigned int unum; long int lnum; unsigned long int ulnum; float realnum; double lrealnum; char *string; yysyntaxtree tree; } YYSTYPE; #ifndef YYLTYPE typedef struct yyltype { int timestamp; int first_line; int first_column; int last_line; int last_column; char *text; } yyltype; #define YYLTYPE yyltype #endif #ifndef YYDEBUG #define YYDEBUG 1 #endif #include #ifndef __cplusplus #ifndef __STDC__ #define const #endif #endif #define YYFINAL 654 #define YYFLAG -32768 #define YYNTBASE 248 #define YYTRANSLATE(x) ((unsigned)(x) <= 492 ? yytranslate[x] : 296) static const short yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 244, 2, 2, 246, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 240, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 245, 2, 247, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 241, 242, 243, 238, 2, 239, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237 }; #if YYDEBUG != 0 static const short yyprhs[] = { 0, 0, 5, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 38, 42, 46, 50, 54, 58, 62, 66, 70, 74, 78, 82, 86, 96, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168, 172, 176, 180, 184, 189, 194, 201, 205, 209, 213, 217, 221, 225, 229, 233, 237, 241, 245, 249, 253, 257, 261, 263, 267, 271, 275, 279, 283, 287, 291, 295, 299, 303, 307, 311, 315, 319, 323, 327, 331, 335, 339, 343, 347, 351, 355, 359, 363, 367, 371, 375, 379, 383, 387, 389, 391, 393, 395, 397, 399, 401, 403, 405, 407, 409, 411, 413, 415, 417, 419, 421, 423, 425, 427, 429, 431, 433, 435, 437, 439, 441, 443, 445, 447, 449, 451, 453, 455, 457, 459, 461, 463, 465, 467, 469, 471, 473, 475, 477, 479, 481, 483, 485, 487, 489, 491, 493, 495, 497, 499, 501, 503, 505, 507, 509, 511, 513, 515, 517, 519, 521, 523, 525, 527, 529, 531, 533, 536, 539, 542, 545, 550, 553, 555, 560, 565, 570, 575, 578, 580, 585, 588, 590, 594, 598, 602, 606, 610, 614, 618, 622, 626, 630, 634, 638, 642, 646, 650, 660, 664, 668, 672, 676, 680, 684, 688, 692, 696, 700, 704, 708, 710, 712, 714, 716, 718, 720, 722, 724, 726, 728, 730, 732, 734, 738, 742, 746, 750, 754, 758, 762, 766, 770, 774, 778, 782, 786, 790, 794, 798, 802, 806, 810, 814, 818, 820, 822, 824, 826, 828, 830, 832, 834, 838, 842, 846, 852, 856, 860, 864, 867, 869, 871, 873, 875, 877, 879, 881, 883, 885, 887, 889, 891, 893, 895, 897, 899, 901, 903, 905, 907, 909, 911, 913, 915, 917, 919, 921, 923, 925, 927, 929, 931, 933, 935, 937, 941, 944, 946, 948, 952, 956, 960, 966, 968, 970, 972 }; static const short yyrhs[] = { 81, 238, 249, 239, 0, 249, 250, 0, 250, 0, 251, 0, 264, 0, 265, 0, 262, 0, 263, 0, 248, 0, 266, 0, 268, 0, 269, 0, 270, 0, 271, 0, 273, 0, 205, 240, 295, 0, 107, 240, 295, 0, 97, 240, 295, 0, 98, 240, 295, 0, 99, 240, 295, 0, 41, 240, 252, 0, 106, 240, 252, 0, 26, 240, 252, 0, 218, 240, 293, 0, 85, 240, 293, 0, 27, 240, 293, 0, 241, 240, 293, 0, 242, 240, 293, 0, 134, 238, 241, 240, 293, 242, 240, 293, 239, 0, 78, 240, 293, 0, 188, 240, 294, 0, 190, 240, 293, 0, 200, 240, 293, 0, 203, 240, 276, 0, 189, 240, 277, 0, 121, 240, 293, 0, 122, 240, 293, 0, 90, 240, 293, 0, 199, 240, 257, 0, 220, 240, 293, 0, 230, 240, 293, 0, 219, 240, 293, 0, 226, 240, 293, 0, 224, 240, 293, 0, 225, 240, 293, 0, 233, 240, 293, 0, 221, 240, 293, 0, 222, 240, 293, 0, 231, 240, 293, 0, 102, 240, 293, 0, 89, 240, 293, 0, 35, 293, 240, 295, 0, 96, 293, 240, 295, 0, 40, 293, 240, 293, 293, 293, 0, 109, 240, 255, 0, 110, 240, 256, 0, 112, 240, 293, 0, 113, 240, 293, 0, 114, 240, 293, 0, 115, 240, 293, 0, 108, 240, 258, 0, 60, 240, 258, 0, 59, 240, 258, 0, 75, 240, 258, 0, 86, 240, 258, 0, 201, 240, 258, 0, 175, 240, 258, 0, 139, 240, 258, 0, 192, 240, 258, 0, 158, 0, 157, 240, 164, 0, 157, 240, 229, 0, 167, 240, 254, 0, 162, 240, 278, 0, 174, 240, 258, 0, 8, 240, 261, 0, 198, 240, 293, 0, 211, 240, 294, 0, 47, 240, 258, 0, 46, 240, 258, 0, 45, 240, 259, 0, 216, 240, 260, 0, 64, 240, 258, 0, 161, 240, 258, 0, 197, 240, 258, 0, 25, 240, 293, 0, 39, 240, 293, 0, 38, 240, 293, 0, 173, 240, 293, 0, 172, 240, 293, 0, 187, 240, 293, 0, 186, 240, 293, 0, 191, 240, 293, 0, 214, 240, 295, 0, 95, 240, 295, 0, 111, 240, 288, 0, 206, 240, 253, 0, 100, 240, 295, 0, 168, 240, 295, 0, 223, 240, 293, 0, 232, 240, 293, 0, 6, 0, 23, 0, 24, 0, 48, 0, 49, 0, 50, 0, 51, 0, 52, 0, 53, 0, 54, 0, 55, 0, 80, 0, 83, 0, 105, 0, 123, 0, 124, 0, 125, 0, 126, 0, 127, 0, 128, 0, 129, 0, 130, 0, 138, 0, 165, 0, 166, 0, 170, 0, 177, 0, 179, 0, 213, 0, 217, 0, 228, 0, 227, 0, 293, 0, 88, 0, 137, 0, 208, 0, 29, 0, 119, 0, 184, 0, 18, 0, 104, 0, 171, 0, 42, 0, 210, 0, 142, 0, 149, 0, 141, 0, 148, 0, 143, 0, 150, 0, 144, 0, 151, 0, 145, 0, 152, 0, 153, 0, 57, 0, 70, 0, 140, 0, 23, 0, 84, 0, 217, 0, 229, 0, 164, 0, 19, 0, 146, 0, 20, 0, 147, 0, 34, 0, 71, 0, 169, 0, 72, 0, 73, 0, 74, 0, 77, 275, 0, 76, 280, 0, 159, 275, 0, 62, 280, 0, 160, 238, 267, 239, 0, 267, 275, 0, 275, 0, 63, 238, 272, 239, 0, 155, 238, 272, 239, 0, 32, 238, 272, 239, 0, 17, 238, 272, 239, 0, 272, 280, 0, 280, 0, 43, 238, 274, 239, 0, 274, 283, 0, 283, 0, 205, 240, 295, 0, 107, 240, 295, 0, 97, 240, 295, 0, 98, 240, 295, 0, 99, 240, 295, 0, 79, 240, 295, 0, 41, 240, 252, 0, 106, 240, 252, 0, 26, 240, 252, 0, 91, 240, 295, 0, 4, 240, 295, 0, 214, 240, 295, 0, 218, 240, 293, 0, 85, 240, 293, 0, 27, 240, 293, 0, 134, 238, 241, 240, 293, 242, 240, 293, 239, 0, 78, 240, 293, 0, 188, 240, 294, 0, 190, 240, 293, 0, 200, 240, 293, 0, 94, 240, 293, 0, 92, 240, 293, 0, 203, 240, 276, 0, 93, 240, 279, 0, 189, 240, 277, 0, 121, 240, 293, 0, 122, 240, 293, 0, 90, 240, 293, 0, 33, 0, 116, 0, 181, 0, 31, 0, 180, 0, 65, 0, 212, 0, 30, 0, 209, 0, 33, 0, 30, 0, 209, 0, 7, 0, 196, 240, 295, 0, 202, 240, 295, 0, 107, 240, 295, 0, 106, 240, 252, 0, 79, 240, 295, 0, 41, 240, 252, 0, 214, 240, 295, 0, 204, 240, 293, 0, 36, 240, 293, 0, 176, 240, 293, 0, 10, 240, 293, 0, 9, 240, 293, 0, 11, 240, 252, 0, 14, 240, 252, 0, 13, 240, 293, 0, 16, 240, 293, 0, 12, 240, 282, 0, 15, 240, 282, 0, 133, 240, 281, 0, 5, 240, 293, 0, 90, 240, 293, 0, 44, 0, 195, 0, 61, 0, 56, 0, 102, 0, 163, 0, 132, 0, 195, 0, 205, 240, 295, 0, 176, 240, 293, 0, 193, 240, 293, 0, 161, 240, 238, 284, 239, 0, 101, 240, 288, 0, 154, 240, 285, 0, 58, 240, 286, 0, 284, 295, 0, 295, 0, 69, 0, 194, 0, 82, 0, 156, 0, 136, 0, 87, 0, 178, 0, 37, 0, 131, 0, 3, 0, 22, 0, 120, 0, 185, 0, 103, 0, 21, 0, 67, 0, 68, 0, 66, 0, 207, 0, 28, 0, 117, 0, 182, 0, 215, 0, 135, 0, 118, 0, 183, 0, 241, 0, 242, 0, 243, 0, 234, 0, 235, 0, 236, 0, 237, 0, 288, 0, 238, 289, 239, 0, 289, 290, 0, 290, 0, 287, 0, 292, 240, 287, 0, 291, 240, 287, 0, 244, 240, 287, 0, 245, 293, 246, 293, 247, 0, 234, 0, 234, 0, 235, 0, 237, 0 }; #endif #if YYDEBUG != 0 static const short yyrline[] = { 0, 2155, 2162, 2166, 2173, 2176, 2179, 2182, 2185, 2188, 2191, 2194, 2197, 2200, 2203, 2206, 2212, 2216, 2220, 2224, 2228, 2232, 2236, 2240, 2244, 2248, 2252, 2256, 2259, 2262, 2266, 2270, 2274, 2278, 2282, 2286, 2290, 2294, 2298, 2302, 2307, 2311, 2315, 2319, 2323, 2327, 2331, 2335, 2339, 2343, 2347, 2351, 2355, 2359, 2363, 2368, 2372, 2376, 2380, 2384, 2388, 2393, 2397, 2401, 2405, 2409, 2413, 2417, 2421, 2425, 2429, 2432, 2436, 2440, 2444, 2448, 2452, 2457, 2461, 2466, 2470, 2474, 2479, 2483, 2487, 2491, 2496, 2500, 2504, 2508, 2512, 2516, 2520, 2524, 2529, 2533, 2537, 2541, 2545, 2549, 2553, 2557, 2564, 2567, 2570, 2573, 2576, 2579, 2582, 2585, 2588, 2591, 2594, 2597, 2600, 2603, 2606, 2609, 2612, 2615, 2618, 2621, 2624, 2627, 2630, 2633, 2636, 2639, 2642, 2645, 2648, 2651, 2654, 2657, 2660, 2666, 2669, 2675, 2678, 2681, 2684, 2690, 2694, 2697, 2700, 2704, 2707, 2710, 2713, 2716, 2719, 2722, 2725, 2728, 2731, 2734, 2737, 2740, 2746, 2750, 2756, 2759, 2762, 2768, 2771, 2776, 2779, 2782, 2785, 2790, 2793, 2796, 2799, 2804, 2807, 2812, 2818, 2824, 2830, 2837, 2844, 2848, 2855, 2861, 2867, 2873, 2880, 2884, 2891, 2898, 2903, 2910, 2914, 2918, 2922, 2926, 2930, 2934, 2938, 2942, 2946, 2950, 2954, 2958, 2962, 2966, 2970, 2974, 2978, 2982, 2986, 2990, 2994, 2998, 3002, 3006, 3010, 3014, 3018, 3024, 3027, 3030, 3035, 3038, 3041, 3044, 3049, 3052, 3055, 3060, 3063, 3066, 3072, 3076, 3080, 3084, 3088, 3092, 3096, 3100, 3104, 3108, 3112, 3116, 3120, 3124, 3128, 3132, 3136, 3140, 3144, 3148, 3152, 3159, 3162, 3165, 3168, 3171, 3177, 3180, 3183, 3188, 3192, 3196, 3200, 3204, 3208, 3212, 3218, 3222, 3227, 3230, 3233, 3236, 3239, 3242, 3245, 3248, 3251, 3254, 3257, 3260, 3263, 3266, 3269, 3272, 3275, 3278, 3281, 3284, 3287, 3290, 3293, 3296, 3299, 3302, 3307, 3310, 3313, 3318, 3321, 3324, 3327, 3330, 3335, 3341, 3345, 3350, 3353, 3357, 3361, 3367, 3373, 3378, 3383, 3388 }; static const char * const yytname[] = { "$","error","$illegal.","LEXWORD_ABOVE", "LEXWORD_ANCHORPOINTS","LEXWORD_ANCHOR","LEXWORD_AQUAMARINE","LEXWORD_AROUND", "LEXWORD_ARROWMODE","LEXWORD_ARROWHEIGHT","LEXWORD_ARROWWIDTH","LEXWORD_ARROWCOLOR", "LEXWORD_ARROWSTYLE","LEXWORD_ARROWSIZE","LEXWORD_BARROWCOLOR","LEXWORD_BARROWSTYLE", "LEXWORD_BARROWSIZE","LEXWORD_BACKEDGE","LEXWORD_BARYCENTER","LEXWORD_BARY", "LEXWORD_BARYMEDIAN","LEXWORD_BEHIND","LEXWORD_BELOW","LEXWORD_BLACK","LEXWORD_BLUE", "LEXWORD_BMAX","LEXWORD_BORDERCOLOR","LEXWORD_BORDERWIDTH","LEXWORD_BOTTOM_MARGIN", "LEXWORD_BOTTOM_TO_TOP","LEXWORD_BOTTOM","LEXWORD_BOX","LEXWORD_BENTNEAREDGE", "LEXWORD_CENTER","LEXWORD_CFISH","LEXWORD_CLASSNAME","LEXWORD_CLASS","LEXWORD_CLUSTER", "LEXWORD_CMIN","LEXWORD_CMAX","LEXWORD_COLORENTRY","LEXWORD_COLOR","LEXWORD_CONSTRAINTS", "LEXWORD_CONSTRAINT","LEXWORD_CONTINUOUS","LEXWORD_CROSSING_WEIGHT","LEXWORD_CROSSING_OPT", "LEXWORD_CROSSING_P2","LEXWORD_CYAN","LEXWORD_DARKBLUE","LEXWORD_DARKCYAN","LEXWORD_DARKGREEN", "LEXWORD_DARKGREY","LEXWORD_DARKMAGENTA","LEXWORD_DARKRED","LEXWORD_DARKYELLOW", "LEXWORD_DASHED","LEXWORD_DFS","LEXWORD_DIMENSION","LEXWORD_DIRTY_EDGE_LABELS", "LEXWORD_DISPLAY_EDGE_LABELS","LEXWORD_DOTTED","LEXWORD_EDGE1","LEXWORD_EDGE2", "LEXWORD_EDGES","LEXWORD_ELLIPSE","LEXWORD_EQUAL_COLUMN","LEXWORD_EQUAL_POSITION", "LEXWORD_EQUAL_ROW","LEXWORD_EQUAL","LEXWORD_EVERY","LEXWORD_FCFISH","LEXWORD_FPFISH", "LEXWORD_FIXED","LEXWORD_FREE","LEXWORD_FINETUNING","LEXWORD_FOLDEDGE","LEXWORD_FOLDNODE", "LEXWORD_FOLDING","LEXWORD_FONTNAME","LEXWORD_GOLD","LEXWORD_GRAPH","LEXWORD_GREATER", "LEXWORD_GREEN","LEXWORD_GREY","LEXWORD_HEIGHT","LEXWORD_HIDESINGLES","LEXWORD_HIGH_MARGIN", "LEXWORD_HIGH","LEXWORD_HIDDEN","LEXWORD_HORDER","LEXWORD_ICONFILE","LEXWORD_ICONHEIGHT", "LEXWORD_ICONSTYLE","LEXWORD_ICONWIDTH","LEXWORD_INCLUDE","LEXWORD_INFONAME", "LEXWORD_INFO1","LEXWORD_INFO2","LEXWORD_INFO3","LEXWORD_INPUTFUNCTION","LEXWORD_INTERVAL", "LEXWORD_INVISIBLE","LEXWORD_IN_FRONT","LEXWORD_ISI","LEXWORD_KHAKI","LEXWORD_TEXTCOLOR", "LEXWORD_LABEL","LEXWORD_LATE_LABELS","LEXWORD_LAYOUTALGORITHM","LEXWORD_LAYOUTFREQUENCY", "LEXWORD_LAYOUTPARAMETER","LEXWORD_LAYOUTDOWNFACTOR","LEXWORD_LAYOUTUPFACTOR", "LEXWORD_LAYOUTNEARFACTOR","LEXWORD_LAYOUTSPLINEFACTOR","LEXWORD_LEFT_JUSTIFY", "LEXWORD_LEFT_MARGIN","LEXWORD_LEFT_NEIGHBOR","LEXWORD_LEFT_TO_RIGHT","LEXWORD_LEFT", "LEXWORD_LEVEL","LEXWORD_VORDER","LEXWORD_LIGHTBLUE","LEXWORD_LIGHTCYAN","LEXWORD_LIGHTGREEN", "LEXWORD_LIGHTGREY","LEXWORD_LIGHTMAGENTA","LEXWORD_LIGHTRED","LEXWORD_LIGHTYELLOW", "LEXWORD_LILAC","LEXWORD_LIMIT","LEXWORD_LINE","LEXWORD_LINESTYLE","LEXWORD_LOC", "LEXWORD_LOWER_NEIGHBOR","LEXWORD_LOW_MARGIN","LEXWORD_LOW","LEXWORD_MAGENTA", "LEXWORD_MANHATTEN","LEXWORD_MANUAL","LEXWORD_MAXDEPTHSLOW","LEXWORD_MAXDEPTH", "LEXWORD_MAXDEGREE","LEXWORD_MAXINDEGREE","LEXWORD_MAXOUTDEGREE","LEXWORD_MEDIAN", "LEXWORD_MEDIANBARY","LEXWORD_MINDEPTHSLOW","LEXWORD_MINDEPTH","LEXWORD_MINDEGREE", "LEXWORD_MININDEGREE","LEXWORD_MINOUTDEGREE","LEXWORD_MINBACK","LEXWORD_NAME", "LEXWORD_NEAREDGE","LEXWORD_NEIGHBORS","LEXWORD_NEAREDGES","LEXWORD_NONEAREDGES", "LEXWORD_NODE1","LEXWORD_NODE2","LEXWORD_NODES","LEXWORD_NODE_ALIGN","LEXWORD_NONE", "LEXWORD_NO","LEXWORD_ORANGE","LEXWORD_ORCHID","LEXWORD_ORIENTATION","LEXWORD_OUTPUTFUNCTION", "LEXWORD_PFISH","LEXWORD_PINK","LEXWORD_PLANAR","LEXWORD_PMIN","LEXWORD_PMAX", "LEXWORD_PORTSHARING","LEXWORD_PRIORITYPHASE","LEXWORD_PRIORITY","LEXWORD_PURPLE", "LEXWORD_RANGE","LEXWORD_RED","LEXWORD_RHOMB","LEXWORD_RIGHT_JUSTIFY","LEXWORD_RIGHT_MARGIN", "LEXWORD_RIGHT_NEIGHBOR","LEXWORD_RIGHT_TO_LEFT","LEXWORD_RIGHT","LEXWORD_RMIN", "LEXWORD_RMAX","LEXWORD_SCALING","LEXWORD_SHAPE","LEXWORD_SHRINK","LEXWORD_SMAX", "LEXWORD_SMANHATTEN","LEXWORD_SIZE","LEXWORD_SMALLER","LEXWORD_SOLID","LEXWORD_SOURCENAME", "LEXWORD_SPLINES","LEXWORD_SPREADLEVEL","LEXWORD_STATUS","LEXWORD_STRETCH","LEXWORD_STRAIGHTPHASE", "LEXWORD_TARGETNAME","LEXWORD_TEXTMODE","LEXWORD_THICKNESS","LEXWORD_TITLE", "LEXWORD_TOPSORT","LEXWORD_TOP_MARGIN","LEXWORD_TOP_TO_BOTTOM","LEXWORD_TOP", "LEXWORD_TREE","LEXWORD_TREEFACTOR","LEXWORD_TRIANGLE","LEXWORD_TURQUOISE","LEXWORD_TYPENAME", "LEXWORD_UPPER_NEIGHBOR","LEXWORD_VIEW","LEXWORD_WHITE","LEXWORD_WIDTH","LEXWORD_XBASE", "LEXWORD_XMAX","LEXWORD_XRASTER","LEXWORD_XLRASTER","LEXWORD_XSCROLLBAR","LEXWORD_XSPACE", "LEXWORD_XLSPACE","LEXWORD_YBASE","LEXWORD_YELLOWGREEN","LEXWORD_YELLOW","LEXWORD_YES", "LEXWORD_YMAX","LEXWORD_YRASTER","LEXWORD_YSCROLLBAR","LEXWORD_YSPACE","LEX_INT", "LEX_FLOAT","LEX_CHAR","LEX_STRING","'{'","'}'","':'","'x'","'y'","'z'","'*'", "'['","'-'","']'","graph","graph_entry_list","graph_entry","graph_attribute", "enum_color","enum_topsort","enum_orientation","enum_layoutalgorithm","enum_layoutfrequency", "enum_status","enum_yes_no","enum_cross_weight","enum_view","enum_arrow_mode", "foldnode_defaults","foldedge_defaults","node_defaults","edge_defaults","node", "node_attribute_list","edge","nearedge","bentnearedge","backedge","edge_attribute_list", "constraint","constraint_attribute_list","node_attribute","enum_textmode","enum_shape", "enum_node_align","enum_iconstyle","edge_attribute","enum_linestyle","enum_arrowstyle", "constraint_attribute","string_array","enum_name","enum_dimension","attribute_value", "array_value","index_value_list","index_value","range","index","int_const","float_const", "str_const","" }; #endif static const short yyr1[] = { 0, 248, 249, 249, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 253, 253, 254, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 256, 256, 257, 257, 257, 258, 258, 259, 259, 259, 259, 260, 260, 260, 260, 261, 261, 262, 263, 264, 265, 266, 267, 267, 268, 269, 270, 271, 272, 272, 273, 274, 274, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 276, 276, 276, 277, 277, 277, 277, 278, 278, 278, 279, 279, 279, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 281, 281, 281, 281, 281, 282, 282, 282, 283, 283, 283, 283, 283, 283, 283, 284, 284, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, 286, 286, 286, 287, 287, 287, 287, 287, 288, 289, 289, 290, 290, 290, 290, 291, 292, 293, 294, 295 }; static const short yyr2[] = { 0, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 9, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 2, 1, 4, 4, 4, 4, 2, 1, 4, 2, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 9, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 5, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 1, 1, 3, 3, 3, 5, 1, 1, 1, 1 }; static const short yydefact[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 3, 4, 7, 8, 5, 6, 10, 11, 12, 13, 14, 15, 0, 0, 0, 0, 0, 0, 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, 0, 0, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 173, 174, 76, 0, 187, 86, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 133, 132, 23, 134, 26, 0, 0, 88, 87, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 190, 165, 167, 166, 168, 81, 164, 163, 80, 79, 63, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 25, 65, 51, 38, 315, 95, 0, 18, 19, 20, 98, 50, 22, 17, 61, 141, 144, 157, 142, 148, 146, 150, 152, 154, 149, 147, 151, 153, 155, 156, 143, 145, 55, 158, 159, 56, 0, 96, 57, 58, 59, 60, 36, 37, 0, 68, 0, 71, 72, 0, 181, 84, 226, 228, 227, 74, 138, 139, 140, 137, 73, 99, 90, 89, 75, 67, 92, 91, 314, 31, 222, 224, 223, 225, 35, 32, 93, 69, 85, 77, 160, 161, 162, 39, 33, 66, 219, 220, 221, 34, 16, 135, 136, 97, 78, 94, 169, 170, 172, 171, 82, 24, 42, 40, 47, 48, 100, 44, 45, 43, 41, 49, 101, 46, 27, 28, 185, 186, 184, 52, 0, 0, 0, 0, 0, 0, 0, 0, 188, 189, 251, 243, 242, 244, 259, 258, 260, 248, 246, 245, 249, 247, 240, 237, 236, 252, 235, 234, 253, 256, 255, 257, 254, 250, 241, 232, 233, 239, 238, 182, 201, 199, 205, 197, 207, 196, 204, 218, 200, 212, 231, 229, 230, 214, 211, 193, 194, 195, 198, 192, 216, 217, 0, 208, 215, 209, 210, 213, 191, 202, 203, 53, 299, 300, 301, 302, 0, 0, 307, 303, 0, 306, 0, 0, 0, 183, 179, 180, 0, 296, 297, 298, 267, 265, 279, 284, 280, 289, 277, 287, 285, 286, 270, 272, 275, 283, 290, 294, 281, 278, 293, 274, 273, 276, 291, 295, 282, 271, 288, 292, 266, 0, 262, 263, 261, 0, 0, 0, 304, 305, 0, 0, 0, 54, 0, 269, 0, 299, 310, 0, 309, 308, 0, 264, 268, 0, 0, 0, 0, 311, 0, 0, 29, 206, 0, 0, 0 }; static const short yydefgoto[] = { 98, 99, 100, 101, 296, 471, 438, 410, 413, 461, 321, 318, 478, 260, 102, 103, 104, 105, 106, 427, 107, 108, 109, 110, 261, 111, 312, 184, 467, 452, 433, 551, 262, 531, 515, 313, 632, 618, 590, 576, 577, 578, 579, 580, 581, 297, 447, 383 }; static const short yypact[] = { -45, -200, 763, -198, -194, -190, -185, -182, -179, -174, -171, -155, -174, -154, -150, -149, -143, -138, -134, -123, 1275, -148, -122, -120, 1275, 2, -118, -114, -108, -105, -95, -85, -174, -84, -82, -81, -78, -75, -74, -73, -72, -66, -65, -59, -58, -57, -56, -52, -37, -36, -104, -32, -25, -28,-32768, 2, -13, -17, -14, 7, 8, 10, 11, 13, 14, 16, 18, 21, 25, 27, 28, 29, 31, 32, 37, 39, 40, 41, 45, 49, 50, 51, 52, 53, 57, 58, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72,-32768, 544,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768, -49, 1275, -174, 1214, -174, 1275,-32768, 73, -174, -174, 74, 1214, 24, 26, -146, -146, -146, -146, 79, 80, 82, 83, 87, 89, 90, 91, 96, 99, 100, 101, 103, 105, 110, 116, 119, 120, 121, 124, 126, -32768, 1275, -146, -146,-32768, 128, 129, 130, 131, 132, 133, 135, 136, 138, 141, 142, 143, 144, 145, 146, 147, 148, 151, 152, -11, 153, 154, 155, 157, 158, 159, 160, 166,-32768, -174, -174, -146, -174, -174, -197, 167, -197, -197, -197, -197, -174, 1214, -197, -146, -1, -61, -10, -174, -174, -174, -174, -174, -174, -77, -146, 1275, -145,-32768, 2, -146, -20, -15, -197, -174, -174, -146, -146, -174, -174, -168, -26, -174, -174, -146, -146, -174, -16, -174, -146, -18, -197, -67, -168, -197, -23, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,-32768,-32768,-32768,-32768,-32768, 997,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1010, -197, -32768,-32768, -174,-32768, 174, 175, 176, 179, 180, 181, 182, 172,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768, -174, -174, -174, 1214, -106, -174, 1214, -106, -174, -174, 1214, -197, -174, 1214, -197, -24, -174, -197, -197, -174, -197, 1043,-32768,-32768, -197, 1214, -174, 1214, -174, -197, -174, -174, -197, -174, -3, -174, -197, -197, -197, 1214, -197, -174, -174, 183, -168, -26, -174, -174, -18, -197, -197, -174,-32768,-32768,-32768,-32768, -32768,-32768,-32768, -197,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768, -107,-32768,-32768,-32768,-32768,-32768,-32768, -32768, 187,-32768, 1056,-32768,-32768, 311,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768, -174, -189, -10, 1280, -7, -174, -174, -197,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 188, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 189, -32768,-32768,-32768, 190, -174,-32768,-32768, -173,-32768, 191, 194, -174,-32768,-32768,-32768, -174,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -197,-32768, -32768,-32768, -174, -161, -113,-32768,-32768, -161, -161, 193, -32768, -206,-32768, 195,-32768,-32768, -174,-32768,-32768, 198, -32768,-32768, 199, 196, -174, -174,-32768, 184, 201,-32768, -32768, 442, 444,-32768 }; static const short yypgoto[] = { 446, -32768, 350,-32768, -76,-32768,-32768,-32768,-32768,-32768, 226, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768, -101,-32768,-32768, -53, 77, 81,-32768, -32768, -12,-32768, 122, 140,-32768,-32768,-32768, -594, -201, -32768, -125,-32768,-32768, -9, -216, -79 }; #define YYLAST 1495 static const short yytable[] = { 119, 415, 213, 122, 548, 448, 156, 458, 151, 411, 430, 474, 155, 431, 434, 464, 299, 393, 319, 425, 526, 469, 472, 191, 258, 259, 512, 549, 157, 158, 636, 382, 527, 641, 638, 639, 1, 528, 2, 449, 382, 394, 112, 159, 113, 314, 315, 304, 475, 476, 114, 346, 587, 588, 589, 115, 395, 513, 116, 117, 118, 570, 571, 572, 573, 414, 626, 446, 459, 120, 470, 574, 575, 635, 571, 572, 573, 414, 529, 412, 160, 161, 305, 320, 426, 121, 123, 162, 124, 514, 152, 125, 163, 164, 165, 166, 167, 126, 465, 168, 169, 170, 127, 396, 435, 263, 128, 298, 171, 172, 424, 301, 302, 385, 386, 387, 388, 129, 153, 391, 154, 390, 185, 173, 174, 306, 186, 570, 571, 572, 573, 414, 187, 637, 209, 188, 175, 574, 575, 439, 397, 398, 399, 400, 401, 189, 477, 402, 403, 404, 405, 406, 407, 561, 450, 190, 192, 468, 193, 194, 473, 428, 195, 466, 422, 196, 197, 198, 199, 436, 408, 530, 316, 317, 200, 201, 377, 378, 307, 380, 381, 202, 203, 204, 205, 308, 451, 389, 206, 432, 176, 177, 178, 437, 416, 417, 418, 419, 420, 421, 309, 460, 179, 207, 208, 180, 550, 181, 210, 409, 440, 441, 212, 211, 444, 445, 182, 310, 453, 454, 183, 497, 457, 215, 462, 214, 216, 368, 414, 311, 305, 619, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 217, 218, 495, 219, 220, 511, 221, 222, 517, 223, 522, 224, 521, 525, 225, 524, 533, 534, 226, 536, 227, 228, 229, 538, 230, 231, 306, 539, 543, 541, 232, 546, 233, 234, 235, 553, 554, 555, 236, 557, 495, 556, 237, 238, 239, 240, 241, 498, 566, 567, 242, 243, 591, 244, 245, 246, 247, 248, 569, 249, 250, 251, 252, 253, 254, 255, 300, 303, 156, 508, 509, 510, 325, 326, 516, 327, 328, 519, 520, 307, 329, 523, 330, 331, 332, 532, 308, 495, 535, 333, 157, 158, 334, 335, 336, 540, 337, 542, 338, 544, 545, 309, 547, 339, 552, 159, 322, 323, 324, 340, 558, 559, 341, 342, 343, 563, 564, 344, 310, 345, 568, 349, 350, 351, 352, 353, 354, 585, 355, 356, 311, 357, 347, 348, 358, 359, 360, 361, 362, 363, 364, 365, 160, 161, 366, 367, 369, 370, 371, 162, 372, 373, 374, 375, 163, 164, 165, 166, 167, 376, 384, 168, 169, 170, 506, 495, 379, 499, 500, 501, 171, 172, 502, 503, 504, 505, 650, 560, 392, 622, 582, 623, -312, 624, 628, 173, 174, 629, 640, 423, 643, 645, 646, 651, 429, 653, 647, 654, 175, 652, 442, 443, 257, 565, 562, 507, 627, 518, 455, 456, 0, 0, 0, 463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 586, 0, 0, 0, 0, 620, 621, 0, 0, 0, 176, 177, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 179, 0, 0, 180, 0, 181, 0, 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 633, 0, 0, 0, 0, 0, 0, 0, 0, 0, 584, 0, 3, 642, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 625, 0, 0, 5, 6, 7, 0, 630, 0, 0, 8, 631, 0, 9, 0, 0, 10, 11, 12, 13, 0, 14, 0, 15, 16, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 0, 20, 21, 22, 0, 0, 0, 0, 0, 634, 0, 0, 0, 0, 23, 24, 25, 26, 0, 0, 1, 0, 0, 644, 27, 28, 0, 0, 29, 30, 0, 648, 649, 0, 31, 32, 33, 34, 35, 36, 0, 37, 0, 0, 0, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 53, 54, 55, 56, 57, 58, 0, 0, 0, 0, 59, 60, 0, 0, 0, 61, 62, 63, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 66, 67, 68, 69, 70, 71, 0, 0, 0, 0, 72, 73, 74, 75, 76, 0, 77, 0, 78, 79, 0, 0, 0, 0, 80, 0, 0, 81, 0, 82, 0, 83, 84, 85, 86, 87, 88, 89, 90, 91, 3, 0, 0, 92, 93, 94, 95, 0, 0, 4, 0, 0, 256, 0, 96, 97, 0, 5, 6, 7, 0, 0, 0, 0, 8, 0, 0, 9, 0, 0, 10, 11, 12, 13, 0, 14, 0, 15, 16, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 0, 20, 21, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 24, 25, 26, 0, 0, 1, 0, 0, 0, 27, 28, 0, 0, 29, 30, 0, 0, 0, 0, 31, 32, 33, 34, 35, 36, 0, 37, 0, 0, 0, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 53, 54, 55, 56, 57, 58, 0, 0, 0, 0, 59, 60, 0, 0, 0, 61, 62, 63, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 66, 67, 68, 69, 70, 71, 0, 0, 0, 0, 72, 73, 74, 75, 76, 0, 77, 0, 78, 79, 0, 0, 0, 0, 80, 0, 0, 81, 0, 82, 0, 83, 84, 85, 86, 87, 88, 89, 90, 91, 0, 0, 0, 92, 93, 94, 95, 0, 0, 0, 0, 0, 130, 0, 96, 97, 131, 132, 133, 134, 135, 136, 137, 138, 0, 130, 0, 0, 0, 131, 132, 133, 134, 135, 136, 137, 138, 0, 0, 0, 0, 0, 0, 139, 0, 0, 0, 0, 140, 0, 0, 0, 0, 0, 0, 0, 139, 0, 130, 0, 0, 140, 131, 132, 133, 134, 135, 136, 137, 138, 0, 130, 0, 0, 0, 131, 132, 133, 134, 135, 136, 137, 138, 0, 0, 0, 141, 0, 0, 139, 0, 0, 0, 0, 140, 0, 0, 142, 0, 141, 0, 0, 139, 0, 0, 0, 0, 140, 0, 0, 142, 0, 0, 143, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 142, 0, 141, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 142, 0, 0, 143, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 145, 0, 0, 0, 147, 0, 0, 0, 0, 0, 148, 0, 149, 0, 0, 0, 0, 147, 0, 0, 0, 0, 150, 148, 0, 149, 0, 0, 0, 0, 146, 264, 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 494, 265, 266, 147, 0, 0, 0, 0, 0, 148, 0, 149, 0, 496, 0, 0, 147, 0, 0, 0, 0, 150, 148, 0, 149, 0, 267, 268, 269, 270, 271, 272, 273, 274, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 0, 537, 592, 131, 132, 133, 134, 135, 136, 137, 138, 0, 0, 275, 583, 0, 276, 0, 0, 0, 593, 594, 0, 0, 0, 0, 0, 595, 0, 0, 139, 0, 0, 0, 0, 140, 596, 0, 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 279, 280, 281, 282, 283, 284, 285, 0, 597, 598, 599, 600, 0, 0, 286, 0, 141, 0, 0, 0, 0, 0, 0, 0, 601, 0, 0, 142, 0, 602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 288, 143, 144, 603, 289, 0, 0, 0, 0, 0, 0, 290, 0, 291, 0, 0, 0, 604, 605, 0, 606, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 607, 0, 0, 0, 608, 609, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 292, 0, 0, 0, 293, 0, 0, 0, 0, 610, 0, 0, 0, 0, 294, 295, 0, 0, 0, 0, 0, 118, 0, 0, 146, 0, 0, 0, 0, 0, 0, 611, 0, 0, 0, 612, 613, 0, 614, 0, 0, 0, 0, 0, 147, 0, 0, 615, 0, 0, 148, 0, 149, 0, 0, 0, 0, 0, 0, 0, 616, 0, 150, 0, 0, 0, 0, 0, 617 }; static const short yycheck[] = { 9, 202, 55, 12, 7, 31, 4, 23, 20, 70, 30, 34, 24, 33, 29, 33, 117, 18, 164, 164, 44, 88, 238, 32, 73, 74, 132, 30, 26, 27, 624, 237, 56, 239, 628, 629, 81, 61, 238, 65, 237, 42, 240, 41, 238, 19, 20, 123, 71, 72, 240, 152, 241, 242, 243, 240, 57, 163, 240, 238, 234, 234, 235, 236, 237, 238, 239, 235, 84, 240, 137, 244, 245, 234, 235, 236, 237, 238, 102, 140, 78, 79, 58, 229, 229, 240, 240, 85, 238, 195, 238, 240, 90, 91, 92, 93, 94, 240, 116, 97, 98, 99, 240, 104, 119, 114, 240, 116, 106, 107, 211, 120, 121, 192, 193, 194, 195, 240, 240, 198, 240, 197, 240, 121, 122, 101, 240, 234, 235, 236, 237, 238, 240, 246, 238, 240, 134, 244, 245, 218, 141, 142, 143, 144, 145, 240, 169, 148, 149, 150, 151, 152, 153, 369, 180, 240, 240, 236, 240, 240, 239, 214, 240, 181, 241, 240, 240, 240, 240, 184, 171, 195, 146, 147, 240, 240, 185, 186, 154, 188, 189, 240, 240, 240, 240, 161, 212, 196, 240, 209, 188, 189, 190, 208, 203, 204, 205, 206, 207, 208, 176, 217, 200, 240, 240, 203, 209, 205, 240, 210, 219, 220, 240, 238, 223, 224, 214, 193, 227, 228, 218, 300, 231, 240, 233, 238, 240, 238, 238, 205, 58, 238, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 240, 240, 261, 240, 240, 328, 240, 240, 331, 240, 336, 240, 335, 339, 240, 338, 342, 343, 240, 345, 240, 240, 240, 349, 240, 240, 101, 350, 354, 352, 240, 357, 240, 240, 240, 361, 362, 363, 240, 365, 299, 364, 240, 240, 240, 240, 240, 303, 374, 375, 240, 240, 500, 240, 240, 240, 240, 240, 384, 240, 240, 240, 240, 240, 240, 240, 240, 240, 4, 325, 326, 327, 240, 240, 330, 240, 240, 333, 334, 154, 240, 337, 240, 240, 240, 341, 161, 346, 344, 240, 26, 27, 240, 240, 240, 351, 240, 353, 240, 355, 356, 176, 358, 240, 360, 41, 127, 128, 129, 240, 366, 367, 240, 240, 240, 371, 372, 240, 193, 240, 376, 240, 240, 240, 240, 240, 240, 427, 240, 240, 205, 240, 153, 154, 240, 240, 240, 240, 240, 240, 240, 240, 78, 79, 240, 240, 240, 240, 240, 85, 240, 240, 240, 240, 90, 91, 92, 93, 94, 240, 240, 97, 98, 99, 239, 424, 187, 240, 240, 240, 106, 107, 240, 240, 240, 240, 239, 241, 199, 505, 240, 240, 240, 240, 240, 121, 122, 240, 242, 210, 242, 240, 240, 239, 215, 0, 247, 0, 134, 0, 221, 222, 99, 373, 370, 312, 578, 332, 229, 230, -1, -1, -1, 234, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 498, -1, -1, -1, -1, 503, 504, -1, -1, -1, 188, 189, 190, -1, -1, -1, -1, -1, -1, -1, -1, -1, 200, -1, -1, 203, -1, 205, -1, -1, -1, -1, -1, -1, -1, -1, 214, -1, -1, -1, 218, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 619, -1, -1, -1, -1, -1, -1, -1, -1, -1, 239, -1, 8, 632, -1, -1, -1, -1, -1, -1, -1, 17, -1, -1, -1, -1, 575, -1, -1, 25, 26, 27, -1, 582, -1, -1, 32, 586, -1, 35, -1, -1, 38, 39, 40, 41, -1, 43, -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, 62, 63, 64, -1, -1, -1, -1, -1, 623, -1, -1, -1, -1, 75, 76, 77, 78, -1, -1, 81, -1, -1, 637, 85, 86, -1, -1, 89, 90, -1, 645, 646, -1, 95, 96, 97, 98, 99, 100, -1, 102, -1, -1, -1, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, -1, -1, -1, -1, -1, 121, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, -1, -1, -1, -1, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 155, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, 167, 168, -1, -1, -1, 172, 173, 174, 175, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, 197, 198, 199, 200, 201, -1, 203, -1, 205, 206, -1, -1, -1, -1, 211, -1, -1, 214, -1, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, 8, -1, -1, 230, 231, 232, 233, -1, -1, 17, -1, -1, 239, -1, 241, 242, -1, 25, 26, 27, -1, -1, -1, -1, 32, -1, -1, 35, -1, -1, 38, 39, 40, 41, -1, 43, -1, 45, 46, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, 60, -1, 62, 63, 64, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, 76, 77, 78, -1, -1, 81, -1, -1, -1, 85, 86, -1, -1, 89, 90, -1, -1, -1, -1, 95, 96, 97, 98, 99, 100, -1, 102, -1, -1, -1, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, -1, -1, -1, -1, -1, 121, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, -1, -1, -1, -1, 139, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 155, -1, 157, 158, 159, 160, 161, 162, -1, -1, -1, -1, 167, 168, -1, -1, -1, 172, 173, 174, 175, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 186, 187, 188, 189, 190, 191, 192, -1, -1, -1, -1, 197, 198, 199, 200, 201, -1, 203, -1, 205, 206, -1, -1, -1, -1, 211, -1, -1, 214, -1, 216, -1, 218, 219, 220, 221, 222, 223, 224, 225, 226, -1, -1, -1, 230, 231, 232, 233, -1, -1, -1, -1, -1, 5, -1, 241, 242, 9, 10, 11, 12, 13, 14, 15, 16, -1, 5, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, -1, -1, -1, -1, -1, -1, 36, -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, 36, -1, 5, -1, -1, 41, 9, 10, 11, 12, 13, 14, 15, 16, -1, 5, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, -1, -1, -1, 79, -1, -1, 36, -1, -1, -1, -1, 41, -1, -1, 90, -1, 79, -1, -1, 36, -1, -1, -1, -1, 41, -1, -1, 90, -1, -1, 106, 107, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 106, 107, -1, -1, -1, -1, 79, -1, -1, -1, -1, -1, -1, -1, 133, -1, -1, 90, -1, 79, -1, -1, -1, -1, -1, -1, -1, 133, -1, -1, 90, -1, -1, 106, 107, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 106, 107, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, -1, -1, 133, -1, -1, -1, -1, -1, -1, -1, -1, -1, 176, -1, -1, 133, -1, -1, -1, 196, -1, -1, -1, -1, -1, 202, -1, 204, -1, -1, -1, -1, 196, -1, -1, -1, -1, 214, 202, -1, 204, -1, -1, -1, -1, 176, 6, -1, -1, -1, 214, -1, -1, -1, -1, -1, -1, -1, 176, -1, -1, -1, 239, 23, 24, 196, -1, -1, -1, -1, -1, 202, -1, 204, -1, 239, -1, -1, 196, -1, -1, -1, -1, 214, 202, -1, 204, -1, 48, 49, 50, 51, 52, 53, 54, 55, 214, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, -1, 239, 3, 9, 10, 11, 12, 13, 14, 15, 16, -1, -1, 80, 239, -1, 83, -1, -1, -1, 21, 22, -1, -1, -1, -1, -1, 28, -1, -1, 36, -1, -1, -1, -1, 41, 37, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, 124, 125, 126, 127, 128, 129, 130, -1, 66, 67, 68, 69, -1, -1, 138, -1, 79, -1, -1, -1, -1, -1, -1, -1, 82, -1, -1, 90, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 165, 166, 106, 107, 103, 170, -1, -1, -1, -1, -1, -1, 177, -1, 179, -1, -1, -1, 117, 118, -1, 120, -1, -1, -1, -1, -1, -1, -1, 133, -1, -1, 131, -1, -1, -1, 135, 136, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 213, -1, -1, -1, 217, -1, -1, -1, -1, 156, -1, -1, -1, -1, 227, 228, -1, -1, -1, -1, -1, 234, -1, -1, 176, -1, -1, -1, -1, -1, -1, 178, -1, -1, -1, 182, 183, -1, 185, -1, -1, -1, -1, -1, 196, -1, -1, 194, -1, -1, 202, -1, 204, -1, -1, -1, -1, -1, -1, -1, 207, -1, 214, -1, -1, -1, -1, -1, 215 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ #line 3 "/usr/local/lib/bison.simple" /* Skeleton output parser for bison, Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef alloca #ifdef __GNUC__ #define alloca __builtin_alloca #else /* not GNU C. */ #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) #include #else /* not sparc */ #if defined (MSDOS) && !defined (__TURBOC__) #include #else /* not MSDOS, or __TURBOC__ */ #if defined(_AIX) #include #pragma alloca #else /* not MSDOS, __TURBOC__, or _AIX */ #ifdef __hpux #ifdef __cplusplus extern "C" { void *alloca (unsigned int); }; #else /* not __cplusplus */ void *alloca (unsigned int); #endif /* not __cplusplus */ #endif /* __hpux */ #endif /* not _AIX */ #endif /* not MSDOS, or __TURBOC__ */ #endif /* not sparc. */ #endif /* not GNU C. */ #endif /* alloca not defined. */ /* This is the parser code that is written into each bison parser when the %semantic_parser declaration is not specified in the grammar. It was written by Richard Stallman by simplifying the hairy parser used when %semantic_parser is specified. */ /* Note: there must be only one dollar sign in this file. It is replaced by the list of actions, each action as one case of the switch. */ #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #define YYEMPTY -2 #define YYEOF 0 #define YYACCEPT return(0) #define YYABORT return(1) #define YYERROR goto yyerrlab1 /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ #define YYFAIL goto yyerrlab #define YYRECOVERING() (!!yyerrstatus) #define YYBACKUP(token, value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ { yychar = (token), yylval = (value); \ yychar1 = YYTRANSLATE (yychar); \ YYPOPSTACK; \ goto yybackup; \ } \ else \ { yyerror ("syntax error: cannot back up"); YYERROR; } \ while (0) #define YYTERROR 1 #define YYERRCODE 256 #ifndef YYPURE #define YYLEX yylex() #endif #ifdef YYPURE #ifdef YYLSP_NEEDED #define YYLEX yylex(&yylval, &yylloc) #else #define YYLEX yylex(&yylval) #endif #endif /* If nonreentrant, generate the variables here */ #ifndef YYPURE int yychar; /* the lookahead symbol */ YYSTYPE yylval; /* the semantic value of the */ /* lookahead symbol */ #ifdef YYLSP_NEEDED YYLTYPE yylloc; /* location data for the lookahead */ /* symbol */ #endif int yynerrs; /* number of parse errors so far */ #endif /* not YYPURE */ #if YYDEBUG != 0 int yydebug; /* nonzero means print parse trace */ /* Since this is uninitialized, it does not stop multiple parsers from coexisting. */ #endif /* YYINITDEPTH indicates the initial size of the parser's stacks */ #ifndef YYINITDEPTH #define YYINITDEPTH 200 #endif /* YYMAXDEPTH is the maximum size the stacks can grow to (effective only if the built-in stack extension method is used). */ #if YYMAXDEPTH == 0 #undef YYMAXDEPTH #endif #ifndef YYMAXDEPTH #define YYMAXDEPTH 10000 #endif /* Prevent warning if -Wstrict-prototypes. */ #ifdef __GNUC__ int yyparse (void); #endif #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ #define __yy_bcopy(FROM,TO,COUNT) __builtin_memcpy(TO,FROM,COUNT) #else /* not GNU C or C++ */ #ifndef __cplusplus /* This is the most reliable way to avoid incompatibilities in available built-in functions on various systems. */ static void __yy_bcopy (from, to, count) char *from; char *to; int count; { register char *f = from; register char *t = to; register int i = count; while (i-- > 0) *t++ = *f++; } #else /* __cplusplus */ /* This is the most reliable way to avoid incompatibilities in available built-in functions on various systems. */ static void __yy_bcopy (char *from, char *to, int count) { register char *f = from; register char *t = to; register int i = count; while (i-- > 0) *t++ = *f++; } #endif #endif #line 184 "/usr/local/lib/bison.simple" int yyparse() { register int yystate; register int yyn; register short *yyssp; register YYSTYPE *yyvsp; int yyerrstatus; /* number of tokens to shift before error messages enabled */ int yychar1; /* lookahead token as an internal (translated) token number */ short yyssa[YYINITDEPTH]; /* the state stack */ YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */ short *yyss = yyssa; /* refer to the stacks thru separate pointers */ YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */ #ifdef YYLSP_NEEDED YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */ YYLTYPE *yyls = yylsa; YYLTYPE *yylsp; #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) #else #define YYPOPSTACK (yyvsp--, yyssp--) #endif int yystacksize = YYINITDEPTH; #ifdef YYPURE int yychar; YYSTYPE yylval; int yynerrs; #ifdef YYLSP_NEEDED YYLTYPE yylloc; #endif #endif YYSTYPE yyval; /* the variable used to return */ /* semantic values from the action */ /* routines */ int yylen; #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Starting parse\n"); #endif yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ /* Initialize stack pointers. Waste one element of value and location stack so that they stay on the same level as the state stack. The wasted elements are never initialized. */ yyssp = yyss - 1; yyvsp = yyvs; #ifdef YYLSP_NEEDED yylsp = yyls; #endif /* Push a new state, which is found in yystate . */ /* In all cases, when you get here, the value and location stacks have just been pushed. so pushing a state here evens the stacks. */ yynewstate: *++yyssp = yystate; if (yyssp >= yyss + yystacksize - 1) { /* Give user a chance to reallocate the stack */ /* Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; short *yyss1 = yyss; #ifdef YYLSP_NEEDED YYLTYPE *yyls1 = yyls; #endif /* Get the current used size of the three stacks, in elements. */ int size = yyssp - yyss + 1; #ifdef yyoverflow /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. */ yyoverflow("parser stack overflow", &yyss1, size * sizeof (*yyssp), &yyvs1, size * sizeof (*yyvsp), #ifdef YYLSP_NEEDED &yyls1, size * sizeof (*yylsp), #endif &yystacksize); yyss = yyss1; yyvs = yyvs1; #ifdef YYLSP_NEEDED yyls = yyls1; #endif #else /* no yyoverflow */ /* Extend the stack our own way. */ if (yystacksize >= YYMAXDEPTH) { yyerror("parser stack overflow"); return 2; } yystacksize *= 2; if (yystacksize > YYMAXDEPTH) yystacksize = YYMAXDEPTH; yyss = (short *) alloca (yystacksize * sizeof (*yyssp)); __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp)); yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp)); __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp)); #ifdef YYLSP_NEEDED yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp)); __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp)); #endif #endif /* no yyoverflow */ yyssp = yyss + size - 1; yyvsp = yyvs + size - 1; #ifdef YYLSP_NEEDED yylsp = yyls + size - 1; #endif #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Stack size increased to %d\n", yystacksize); #endif if (yyssp >= yyss + yystacksize - 1) YYABORT; } #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Entering state %d\n", yystate); #endif goto yybackup; yybackup: /* Do appropriate processing given the current state. */ /* Read a lookahead token if we need one and don't already have one. */ /* yyresume: */ /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yyn == YYFLAG) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ /* yychar is either YYEMPTY or YYEOF or a valid token in external form. */ if (yychar == YYEMPTY) { #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Reading a token: "); #endif yychar = YYLEX; } /* Convert token to internal form (in yychar1) for indexing tables with */ if (yychar <= 0) /* This means end of input. */ { yychar1 = 0; yychar = YYEOF; /* Don't call YYLEX any more */ #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Now at end of input.\n"); #endif } else { yychar1 = YYTRANSLATE(yychar); #if YYDEBUG != 0 if (yydebug) { fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); /* Give the individual parser a way to print the precise meaning of a token, for further debugging info. */ #ifdef YYPRINT YYPRINT (stderr, yychar, yylval); #endif fprintf (stderr, ")\n"); } #endif } yyn += yychar1; if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) goto yydefault; yyn = yytable[yyn]; /* yyn is what to do for this token type in this state. Negative => reduce, -yyn is rule number. Positive => shift, yyn is new state. New state is final state => don't bother to shift, just return success. 0, or most negative number => error. */ if (yyn < 0) { if (yyn == YYFLAG) goto yyerrlab; yyn = -yyn; goto yyreduce; } else if (yyn == 0) goto yyerrlab; if (yyn == YYFINAL) YYACCEPT; /* Shift the lookahead token. */ #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]); #endif /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) yychar = YYEMPTY; *++yyvsp = yylval; #ifdef YYLSP_NEEDED *++yylsp = yylloc; #endif /* count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; yystate = yyn; goto yynewstate; /* Do the default action for the current state. */ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; /* Do a reduction. yyn is the number of a rule to reduce with. */ yyreduce: yylen = yyr2[yyn]; yyval = yyvsp[1-yylen]; /* implement default value of the action */ #if YYDEBUG != 0 if (yydebug) { int i; fprintf (stderr, "Reducing via rule %d (line %d), ", yyn, yyrline[yyn]); /* Print the symbols being reduced, and their result. */ for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) fprintf (stderr, "%s ", yytname[yyrhs[i]]); fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); } #endif switch (yyn) { case 1: #line 2156 "grammar.y" { #line 833 "grammar.pgs" yyval.tree = REVERT(yyvsp[-1].tree); Syntax_Tree = yyval.tree; ; break;} case 2: #line 2163 "grammar.y" { #line 838 "grammar.pgs" yyval.tree = T_graph_entry(yyvsp[0].tree,yyvsp[-1].tree,yylocate(yylsp[-1])); ; break;} case 3: #line 2167 "grammar.y" { #line 840 "grammar.pgs" yyval.tree = T_graph_entry(yyvsp[0].tree,NULL,yylocate(yylsp[0])); ; break;} case 4: #line 2173 "grammar.y" { #line 844 "grammar.pgs" yyval.tree = T_graph_attribute(yyvsp[0].tree,yylocate(yylsp[0])); ; break;} case 5: #line 2176 "grammar.y" { #line 845 "grammar.pgs" yyval.tree = T_node_defaults(yyvsp[0].tree,yylocate(yylsp[0])); ; break;} case 6: #line 2179 "grammar.y" { #line 846 "grammar.pgs" yyval.tree = T_edge_defaults(yyvsp[0].tree,yylocate(yylsp[0])); ; break;} case 7: #line 2182 "grammar.y" { #line 847 "grammar.pgs" yyval.tree = T_foldnode_defaults(yyvsp[0].tree,yylocate(yylsp[0]));; break;} case 8: #line 2185 "grammar.y" { #line 848 "grammar.pgs" yyval.tree = T_foldedge_defaults(yyvsp[0].tree,yylocate(yylsp[0]));; break;} case 9: #line 2188 "grammar.y" { #line 849 "grammar.pgs" yyval.tree = T_graph(yyvsp[0].tree,yylocate(yylsp[0])); ; break;} case 10: #line 2191 "grammar.y" { #line 850 "grammar.pgs" yyval.tree = T_node(yyvsp[0].tree,yylocate(yylsp[0])); ; break;} case 11: #line 2194 "grammar.y" { #line 851 "grammar.pgs" yyval.tree = T_edge(yyvsp[0].tree,yylocate(yylsp[0])); ; break;} case 12: #line 2197 "grammar.y" { #line 852 "grammar.pgs" yyval.tree = T_near_edge(yyvsp[0].tree,yylocate(yylsp[0])); ; break;} case 13: #line 2200 "grammar.y" { #line 853 "grammar.pgs" yyval.tree = T_bent_near_edge(yyvsp[0].tree,yylocate(yylsp[0])); ; break;} case 14: #line 2203 "grammar.y" { #line 854 "grammar.pgs" yyval.tree = T_back_edge(yyvsp[0].tree,yylocate(yylsp[0])); ; break;} case 15: #line 2206 "grammar.y" { #line 855 "grammar.pgs" yyval.tree = T_constraint(yyvsp[0].tree,yylocate(yylsp[0])); ; break;} case 16: #line 2213 "grammar.y" { #line 860 "grammar.pgs" yyval.tree = T_title(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 17: #line 2217 "grammar.y" { #line 862 "grammar.pgs" yyval.tree = T_label(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 18: #line 2221 "grammar.y" { #line 864 "grammar.pgs" yyval.tree = T_info1(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 19: #line 2225 "grammar.y" { #line 866 "grammar.pgs" yyval.tree = T_info2(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 20: #line 2229 "grammar.y" { #line 868 "grammar.pgs" yyval.tree = T_info3(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 21: #line 2233 "grammar.y" { #line 870 "grammar.pgs" yyval.tree = T_color(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 22: #line 2237 "grammar.y" { #line 872 "grammar.pgs" yyval.tree = T_textcolor(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 23: #line 2241 "grammar.y" { #line 874 "grammar.pgs" yyval.tree = T_colorborder(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 24: #line 2245 "grammar.y" { #line 876 "grammar.pgs" yyval.tree = T_width(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 25: #line 2249 "grammar.y" { #line 878 "grammar.pgs" yyval.tree = T_height(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 26: #line 2253 "grammar.y" { #line 880 "grammar.pgs" yyval.tree = T_borderwidth(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 27: #line 2256 "grammar.y" { #line 881 "grammar.pgs" yyval.tree = T_xdef(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 28: #line 2259 "grammar.y" { #line 882 "grammar.pgs" yyval.tree = T_ydef(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 29: #line 2263 "grammar.y" { #line 884 "grammar.pgs" yyval.tree = T_loc(yyvsp[-4].tree,yyvsp[-1].tree,yylocate(yylsp[-8])); ; break;} case 30: #line 2267 "grammar.y" { #line 886 "grammar.pgs" yyval.tree = T_folding(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 31: #line 2271 "grammar.y" { #line 888 "grammar.pgs" yyval.tree = T_scaling(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 32: #line 2275 "grammar.y" { #line 890 "grammar.pgs" yyval.tree = T_shrink(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 33: #line 2279 "grammar.y" { #line 892 "grammar.pgs" yyval.tree = T_stretch(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 34: #line 2283 "grammar.y" { #line 894 "grammar.pgs" yyval.tree = T_textmode(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 35: #line 2287 "grammar.y" { #line 896 "grammar.pgs" yyval.tree = T_shape(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 36: #line 2291 "grammar.y" { #line 898 "grammar.pgs" yyval.tree = T_level(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 37: #line 2295 "grammar.y" { #line 900 "grammar.pgs" yyval.tree = T_level(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 38: #line 2299 "grammar.y" { #line 902 "grammar.pgs" yyval.tree = T_horizontal_order(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 39: #line 2303 "grammar.y" { #line 904 "grammar.pgs" yyval.tree = T_status(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 40: #line 2308 "grammar.y" { #line 907 "grammar.pgs" yyval.tree = T_xmax(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 41: #line 2312 "grammar.y" { #line 909 "grammar.pgs" yyval.tree = T_ymax(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 42: #line 2316 "grammar.y" { #line 911 "grammar.pgs" yyval.tree = T_xbase(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 43: #line 2320 "grammar.y" { #line 913 "grammar.pgs" yyval.tree = T_ybase(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 44: #line 2324 "grammar.y" { #line 915 "grammar.pgs" yyval.tree = T_xspace(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 45: #line 2328 "grammar.y" { #line 917 "grammar.pgs" yyval.tree = T_xlspace(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 46: #line 2332 "grammar.y" { #line 919 "grammar.pgs" yyval.tree = T_yspace(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 47: #line 2336 "grammar.y" { #line 921 "grammar.pgs" yyval.tree = T_xraster(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 48: #line 2340 "grammar.y" { #line 923 "grammar.pgs" yyval.tree = T_xlraster(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 49: #line 2344 "grammar.y" { #line 925 "grammar.pgs" yyval.tree = T_yraster(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 50: #line 2348 "grammar.y" { #line 927 "grammar.pgs" yyval.tree = T_hidden(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 51: #line 2352 "grammar.y" { #line 929 "grammar.pgs" yyval.tree = T_hidden(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 52: #line 2356 "grammar.y" { #line 931 "grammar.pgs" yyval.tree = T_classname(yyvsp[-2].tree,yyvsp[0].tree,yylocate(yylsp[-3])); ; break;} case 53: #line 2360 "grammar.y" { #line 933 "grammar.pgs" yyval.tree = T_infoname(yyvsp[-2].tree,yyvsp[0].tree,yylocate(yylsp[-3])); ; break;} case 54: #line 2364 "grammar.y" { #line 935 "grammar.pgs" yyval.tree = T_colentry(yyvsp[-4].tree,yyvsp[-2].tree,yyvsp[-1].tree,yyvsp[0].tree,yylocate(yylsp[-5])); ; break;} case 55: #line 2369 "grammar.y" { #line 938 "grammar.pgs" yyval.tree = T_layoutalgorithm(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 56: #line 2373 "grammar.y" { #line 940 "grammar.pgs" yyval.tree = T_layoutfrequency(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 57: #line 2377 "grammar.y" { #line 942 "grammar.pgs" yyval.tree = T_downfactor(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 58: #line 2381 "grammar.y" { #line 944 "grammar.pgs" yyval.tree = T_upfactor(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 59: #line 2385 "grammar.y" { #line 946 "grammar.pgs" yyval.tree = T_nearfactor(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 60: #line 2389 "grammar.y" { #line 948 "grammar.pgs" yyval.tree = T_splinefactor(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 61: #line 2394 "grammar.y" { #line 951 "grammar.pgs" yyval.tree = T_late_edge_label(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 62: #line 2398 "grammar.y" { #line 953 "grammar.pgs" yyval.tree = T_display_edge_label(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 63: #line 2402 "grammar.y" { #line 955 "grammar.pgs" yyval.tree = T_dirty_edge_label(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 64: #line 2406 "grammar.y" { #line 957 "grammar.pgs" yyval.tree = T_finetuning(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 65: #line 2410 "grammar.y" { #line 959 "grammar.pgs" yyval.tree = T_hidesingles(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 66: #line 2414 "grammar.y" { #line 961 "grammar.pgs" yyval.tree = T_straightphase(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 67: #line 2418 "grammar.y" { #line 963 "grammar.pgs" yyval.tree = T_priophase(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 68: #line 2422 "grammar.y" { #line 965 "grammar.pgs" yyval.tree = T_manhatten(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 69: #line 2426 "grammar.y" { #line 967 "grammar.pgs" yyval.tree = T_smanhatten(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 70: #line 2429 "grammar.y" { #line 968 "grammar.pgs" yyval.tree = T_nonearedges(yylocate(yylsp[0])); ; break;} case 71: #line 2433 "grammar.y" { #line 970 "grammar.pgs" yyval.tree = T_nonearedges(yylocate(yylsp[-2])); ; break;} case 72: #line 2437 "grammar.y" { #line 972 "grammar.pgs" yyval.tree = T_dummy(yylocate(yylsp[-2])); ; break;} case 73: #line 2441 "grammar.y" { #line 974 "grammar.pgs" yyval.tree = T_orientation(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 74: #line 2445 "grammar.y" { #line 976 "grammar.pgs" yyval.tree = T_node_alignment(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 75: #line 2449 "grammar.y" { #line 978 "grammar.pgs" yyval.tree = T_port_sharing(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 76: #line 2453 "grammar.y" { #line 980 "grammar.pgs" yyval.tree = T_arrow_mode(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 77: #line 2458 "grammar.y" { #line 983 "grammar.pgs" yyval.tree = T_spreadlevel(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 78: #line 2462 "grammar.y" { #line 985 "grammar.pgs" yyval.tree = T_treefactor(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 79: #line 2467 "grammar.y" { #line 988 "grammar.pgs" yyval.tree = T_crossing_phase2(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 80: #line 2471 "grammar.y" { #line 990 "grammar.pgs" yyval.tree = T_crossing_opt(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 81: #line 2475 "grammar.y" { #line 992 "grammar.pgs" yyval.tree = T_crossing_weight(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 82: #line 2480 "grammar.y" { #line 995 "grammar.pgs" yyval.tree = T_view_method(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 83: #line 2484 "grammar.y" { #line 997 "grammar.pgs" yyval.tree = T_view_edges(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 84: #line 2488 "grammar.y" { #line 999 "grammar.pgs" yyval.tree = T_view_nodes(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 85: #line 2492 "grammar.y" { #line 1001 "grammar.pgs" yyval.tree = T_view_splines(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 86: #line 2497 "grammar.y" { #line 1004 "grammar.pgs" yyval.tree = T_bend_max(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 87: #line 2501 "grammar.y" { #line 1006 "grammar.pgs" yyval.tree = T_cross_max(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 88: #line 2505 "grammar.y" { #line 1008 "grammar.pgs" yyval.tree = T_cross_min(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 89: #line 2509 "grammar.y" { #line 1010 "grammar.pgs" yyval.tree = T_pendel_max(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 90: #line 2513 "grammar.y" { #line 1012 "grammar.pgs" yyval.tree = T_pendel_min(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 91: #line 2517 "grammar.y" { #line 1014 "grammar.pgs" yyval.tree = T_rubber_max(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 92: #line 2521 "grammar.y" { #line 1016 "grammar.pgs" yyval.tree = T_rubber_min(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 93: #line 2525 "grammar.y" { #line 1018 "grammar.pgs" yyval.tree = T_straight_max(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 94: #line 2530 "grammar.y" { #line 1021 "grammar.pgs" yyval.tree = T_typename(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 95: #line 2534 "grammar.y" { #line 1023 "grammar.pgs" yyval.tree = T_include(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 96: #line 2538 "grammar.y" { #line 1025 "grammar.pgs" yyval.tree = T_layoutparameter(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 97: #line 2542 "grammar.y" { #line 1027 "grammar.pgs" yyval.tree = T_topsort(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 98: #line 2546 "grammar.y" { #line 1029 "grammar.pgs" yyval.tree = T_inputfunction(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 99: #line 2550 "grammar.y" { #line 1031 "grammar.pgs" yyval.tree = T_outputfunction(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 100: #line 2554 "grammar.y" { #line 1033 "grammar.pgs" yyval.tree = T_xscrollbar(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 101: #line 2558 "grammar.y" { #line 1035 "grammar.pgs" yyval.tree = T_yscrollbar(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 102: #line 2564 "grammar.y" { #line 1039 "grammar.pgs" yyval.tree = T_aquamarine(yylocate(yylsp[0])); ; break;} case 103: #line 2567 "grammar.y" { #line 1040 "grammar.pgs" yyval.tree = T_black(yylocate(yylsp[0])); ; break;} case 104: #line 2570 "grammar.y" { #line 1041 "grammar.pgs" yyval.tree = T_blue(yylocate(yylsp[0])); ; break;} case 105: #line 2573 "grammar.y" { #line 1042 "grammar.pgs" yyval.tree = T_cyan(yylocate(yylsp[0])); ; break;} case 106: #line 2576 "grammar.y" { #line 1043 "grammar.pgs" yyval.tree = T_darkblue(yylocate(yylsp[0])); ; break;} case 107: #line 2579 "grammar.y" { #line 1044 "grammar.pgs" yyval.tree = T_darkcyan(yylocate(yylsp[0])); ; break;} case 108: #line 2582 "grammar.y" { #line 1045 "grammar.pgs" yyval.tree = T_darkgreen(yylocate(yylsp[0])); ; break;} case 109: #line 2585 "grammar.y" { #line 1046 "grammar.pgs" yyval.tree = T_darkgrey(yylocate(yylsp[0])); ; break;} case 110: #line 2588 "grammar.y" { #line 1047 "grammar.pgs" yyval.tree = T_darkmagenta(yylocate(yylsp[0])); ; break;} case 111: #line 2591 "grammar.y" { #line 1048 "grammar.pgs" yyval.tree = T_darkred(yylocate(yylsp[0])); ; break;} case 112: #line 2594 "grammar.y" { #line 1049 "grammar.pgs" yyval.tree = T_darkyellow(yylocate(yylsp[0])); ; break;} case 113: #line 2597 "grammar.y" { #line 1050 "grammar.pgs" yyval.tree = T_gold(yylocate(yylsp[0])); ; break;} case 114: #line 2600 "grammar.y" { #line 1051 "grammar.pgs" yyval.tree = T_green(yylocate(yylsp[0])); ; break;} case 115: #line 2603 "grammar.y" { #line 1052 "grammar.pgs" yyval.tree = T_khaki(yylocate(yylsp[0])); ; break;} case 116: #line 2606 "grammar.y" { #line 1053 "grammar.pgs" yyval.tree = T_lightblue(yylocate(yylsp[0])); ; break;} case 117: #line 2609 "grammar.y" { #line 1054 "grammar.pgs" yyval.tree = T_lightcyan(yylocate(yylsp[0])); ; break;} case 118: #line 2612 "grammar.y" { #line 1055 "grammar.pgs" yyval.tree = T_lightgreen(yylocate(yylsp[0])); ; break;} case 119: #line 2615 "grammar.y" { #line 1056 "grammar.pgs" yyval.tree = T_lightgrey(yylocate(yylsp[0])); ; break;} case 120: #line 2618 "grammar.y" { #line 1057 "grammar.pgs" yyval.tree = T_lightmagenta(yylocate(yylsp[0])); ; break;} case 121: #line 2621 "grammar.y" { #line 1058 "grammar.pgs" yyval.tree = T_lightred(yylocate(yylsp[0])); ; break;} case 122: #line 2624 "grammar.y" { #line 1059 "grammar.pgs" yyval.tree = T_lightyellow(yylocate(yylsp[0])); ; break;} case 123: #line 2627 "grammar.y" { #line 1060 "grammar.pgs" yyval.tree = T_lilac(yylocate(yylsp[0])); ; break;} case 124: #line 2630 "grammar.y" { #line 1061 "grammar.pgs" yyval.tree = T_magenta(yylocate(yylsp[0])); ; break;} case 125: #line 2633 "grammar.y" { #line 1062 "grammar.pgs" yyval.tree = T_orange(yylocate(yylsp[0])); ; break;} case 126: #line 2636 "grammar.y" { #line 1063 "grammar.pgs" yyval.tree = T_orchid(yylocate(yylsp[0])); ; break;} case 127: #line 2639 "grammar.y" { #line 1064 "grammar.pgs" yyval.tree = T_pink(yylocate(yylsp[0])); ; break;} case 128: #line 2642 "grammar.y" { #line 1065 "grammar.pgs" yyval.tree = T_purple(yylocate(yylsp[0])); ; break;} case 129: #line 2645 "grammar.y" { #line 1066 "grammar.pgs" yyval.tree = T_red(yylocate(yylsp[0])); ; break;} case 130: #line 2648 "grammar.y" { #line 1067 "grammar.pgs" yyval.tree = T_turquoise(yylocate(yylsp[0])); ; break;} case 131: #line 2651 "grammar.y" { #line 1068 "grammar.pgs" yyval.tree = T_white(yylocate(yylsp[0])); ; break;} case 132: #line 2654 "grammar.y" { #line 1069 "grammar.pgs" yyval.tree = T_yellow(yylocate(yylsp[0])); ; break;} case 133: #line 2657 "grammar.y" { #line 1070 "grammar.pgs" yyval.tree = T_yellowgreen(yylocate(yylsp[0])); ; break;} case 134: #line 2660 "grammar.y" { #line 1071 "grammar.pgs" yyval.tree = T_colindex(yyvsp[0].tree,yylocate(yylsp[0])); ; break;} case 135: #line 2666 "grammar.y" { #line 1075 "grammar.pgs" yyval.tree = T_high(yylocate(yylsp[0])); ; break;} case 136: #line 2669 "grammar.y" { #line 1076 "grammar.pgs" yyval.tree = T_low(yylocate(yylsp[0])); ; break;} case 137: #line 2675 "grammar.y" { #line 1080 "grammar.pgs" yyval.tree = T_top_to_bottom(yylocate(yylsp[0])); ; break;} case 138: #line 2678 "grammar.y" { #line 1081 "grammar.pgs" yyval.tree = T_bottom_to_top(yylocate(yylsp[0])); ; break;} case 139: #line 2681 "grammar.y" { #line 1082 "grammar.pgs" yyval.tree = T_left_to_right(yylocate(yylsp[0])); ; break;} case 140: #line 2684 "grammar.y" { #line 1083 "grammar.pgs" yyval.tree = T_right_to_left(yylocate(yylsp[0])); ; break;} case 141: #line 2691 "grammar.y" { #line 1088 "grammar.pgs" yyval.tree = T_barycenter(yylocate(yylsp[0])); ; break;} case 142: #line 2694 "grammar.y" { #line 1089 "grammar.pgs" yyval.tree = T_isi(yylocate(yylsp[0])); ; break;} case 143: #line 2697 "grammar.y" { #line 1090 "grammar.pgs" yyval.tree = T_planar(yylocate(yylsp[0])); ; break;} case 144: #line 2700 "grammar.y" { #line 1091 "grammar.pgs" yyval.tree = T_constaints(yylocate(yylsp[0])); ; break;} case 145: #line 2704 "grammar.y" { #line 1093 "grammar.pgs" yyval.tree = T_tree(yylocate(yylsp[0])); ; break;} case 146: #line 2707 "grammar.y" { #line 1094 "grammar.pgs" yyval.tree = T_maxdepth(yylocate(yylsp[0])); ; break;} case 147: #line 2710 "grammar.y" { #line 1095 "grammar.pgs" yyval.tree = T_mindepth(yylocate(yylsp[0])); ; break;} case 148: #line 2713 "grammar.y" { #line 1096 "grammar.pgs" yyval.tree = T_maxdepthslow(yylocate(yylsp[0])); ; break;} case 149: #line 2716 "grammar.y" { #line 1097 "grammar.pgs" yyval.tree = T_mindepthslow(yylocate(yylsp[0])); ; break;} case 150: #line 2719 "grammar.y" { #line 1098 "grammar.pgs" yyval.tree = T_maxdegree(yylocate(yylsp[0])); ; break;} case 151: #line 2722 "grammar.y" { #line 1099 "grammar.pgs" yyval.tree = T_mindegree(yylocate(yylsp[0])); ; break;} case 152: #line 2725 "grammar.y" { #line 1100 "grammar.pgs" yyval.tree = T_maxindegree(yylocate(yylsp[0])); ; break;} case 153: #line 2728 "grammar.y" { #line 1101 "grammar.pgs" yyval.tree = T_minindegree(yylocate(yylsp[0])); ; break;} case 154: #line 2731 "grammar.y" { #line 1102 "grammar.pgs" yyval.tree = T_maxoutdegree(yylocate(yylsp[0])); ; break;} case 155: #line 2734 "grammar.y" { #line 1103 "grammar.pgs" yyval.tree = T_minoutdegree(yylocate(yylsp[0])); ; break;} case 156: #line 2737 "grammar.y" { #line 1104 "grammar.pgs" yyval.tree = T_minbackwards(yylocate(yylsp[0])); ; break;} case 157: #line 2740 "grammar.y" { #line 1105 "grammar.pgs" yyval.tree = T_depthfirst(yylocate(yylsp[0])); ; break;} case 158: #line 2747 "grammar.y" { #line 1110 "grammar.pgs" yyval.tree = T_every(yylocate(yylsp[0])); ; break;} case 159: #line 2750 "grammar.y" { #line 1111 "grammar.pgs" yyval.tree = T_manual(yylocate(yylsp[0])); ; break;} case 160: #line 2756 "grammar.y" { #line 1115 "grammar.pgs" yyval.tree = T_black(yylocate(yylsp[0])); ; break;} case 161: #line 2759 "grammar.y" { #line 1116 "grammar.pgs" yyval.tree = T_grey(yylocate(yylsp[0])); ; break;} case 162: #line 2762 "grammar.y" { #line 1117 "grammar.pgs" yyval.tree = T_white(yylocate(yylsp[0])); ; break;} case 163: #line 2768 "grammar.y" { #line 1121 "grammar.pgs" yyval.tree = T_yes(yylocate(yylsp[0])); ; break;} case 164: #line 2771 "grammar.y" { #line 1122 "grammar.pgs" yyval.tree = T_no(yylocate(yylsp[0])); ; break;} case 165: #line 2776 "grammar.y" { #line 1125 "grammar.pgs" yyval.tree = T_bary(yylocate(yylsp[0])); ; break;} case 166: #line 2779 "grammar.y" { #line 1126 "grammar.pgs" yyval.tree = T_median(yylocate(yylsp[0])); ; break;} case 167: #line 2782 "grammar.y" { #line 1127 "grammar.pgs" yyval.tree = T_barymedian(yylocate(yylsp[0])); ; break;} case 168: #line 2785 "grammar.y" { #line 1128 "grammar.pgs" yyval.tree = T_medianbary(yylocate(yylsp[0])); ; break;} case 169: #line 2790 "grammar.y" { #line 1131 "grammar.pgs" yyval.tree = T_cfish(yylocate(yylsp[0])); ; break;} case 170: #line 2793 "grammar.y" { #line 1132 "grammar.pgs" yyval.tree = T_fcfish(yylocate(yylsp[0])); ; break;} case 171: #line 2796 "grammar.y" { #line 1133 "grammar.pgs" yyval.tree = T_pfish(yylocate(yylsp[0])); ; break;} case 172: #line 2799 "grammar.y" { #line 1134 "grammar.pgs" yyval.tree = T_fpfish(yylocate(yylsp[0])); ; break;} case 173: #line 2804 "grammar.y" { #line 1137 "grammar.pgs" yyval.tree = T_fixed(yylocate(yylsp[0])); ; break;} case 174: #line 2807 "grammar.y" { #line 1138 "grammar.pgs" yyval.tree = T_free(yylocate(yylsp[0])); ; break;} case 175: #line 2813 "grammar.y" { #line 1142 "grammar.pgs" yyval.tree = yyvsp[0].tree; ; break;} case 176: #line 2819 "grammar.y" { #line 1146 "grammar.pgs" yyval.tree = yyvsp[0].tree; ; break;} case 177: #line 2825 "grammar.y" { #line 1150 "grammar.pgs" yyval.tree = yyvsp[0].tree; ; break;} case 178: #line 2831 "grammar.y" { #line 1154 "grammar.pgs" yyval.tree = yyvsp[0].tree; ; break;} case 179: #line 2838 "grammar.y" { #line 1159 "grammar.pgs" yyval.tree = REVERT(yyvsp[-1].tree); ; break;} case 180: #line 2845 "grammar.y" { #line 1164 "grammar.pgs" yyval.tree = T_node_attribute(yyvsp[0].tree,yyvsp[-1].tree,yylocate(yylsp[-1])); ; break;} case 181: #line 2849 "grammar.y" { #line 1166 "grammar.pgs" yyval.tree = T_node_attribute(yyvsp[0].tree,NULL,yylocate(yylsp[0])); ; break;} case 182: #line 2856 "grammar.y" { #line 1171 "grammar.pgs" yyval.tree = REVERT(yyvsp[-1].tree); ; break;} case 183: #line 2862 "grammar.y" { #line 1175 "grammar.pgs" yyval.tree = REVERT(yyvsp[-1].tree); ; break;} case 184: #line 2868 "grammar.y" { #line 1179 "grammar.pgs" yyval.tree = REVERT(yyvsp[-1].tree); ; break;} case 185: #line 2874 "grammar.y" { #line 1183 "grammar.pgs" yyval.tree = REVERT(yyvsp[-1].tree); ; break;} case 186: #line 2881 "grammar.y" { #line 1188 "grammar.pgs" yyval.tree = T_edge_attribute(yyvsp[0].tree,yyvsp[-1].tree,yylocate(yylsp[-1])); ; break;} case 187: #line 2885 "grammar.y" { #line 1190 "grammar.pgs" yyval.tree = T_edge_attribute(yyvsp[0].tree,NULL,yylocate(yylsp[0])); ; break;} case 188: #line 2892 "grammar.y" { #line 1195 "grammar.pgs" yyval.tree = REVERT(yyvsp[-1].tree); ; break;} case 189: #line 2900 "grammar.y" { #line 1201 "grammar.pgs" yyval.tree = T_constraint_attribute(yyvsp[0].tree,yyvsp[-1].tree,yylocate(yylsp[-1])); ; break;} case 190: #line 2904 "grammar.y" { #line 1203 "grammar.pgs" yyval.tree = T_constraint_attribute(yyvsp[0].tree,NULL,yylocate(yylsp[0])); ; break;} case 191: #line 2911 "grammar.y" { #line 1208 "grammar.pgs" yyval.tree = T_title(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 192: #line 2915 "grammar.y" { #line 1210 "grammar.pgs" yyval.tree = T_label(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 193: #line 2919 "grammar.y" { #line 1212 "grammar.pgs" yyval.tree = T_info1(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 194: #line 2923 "grammar.y" { #line 1214 "grammar.pgs" yyval.tree = T_info2(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 195: #line 2927 "grammar.y" { #line 1216 "grammar.pgs" yyval.tree = T_info3(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 196: #line 2931 "grammar.y" { #line 1218 "grammar.pgs" yyval.tree = T_fontname(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 197: #line 2935 "grammar.y" { #line 1220 "grammar.pgs" yyval.tree = T_color(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 198: #line 2939 "grammar.y" { #line 1222 "grammar.pgs" yyval.tree = T_textcolor(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 199: #line 2943 "grammar.y" { #line 1224 "grammar.pgs" yyval.tree = T_bordercolor(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 200: #line 2947 "grammar.y" { #line 1226 "grammar.pgs" yyval.tree = T_iconfile(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 201: #line 2951 "grammar.y" { #line 1228 "grammar.pgs" yyval.tree = T_anchorpoints(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 202: #line 2955 "grammar.y" { #line 1230 "grammar.pgs" yyval.tree = T_typename(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 203: #line 2959 "grammar.y" { #line 1232 "grammar.pgs" yyval.tree = T_width(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 204: #line 2963 "grammar.y" { #line 1234 "grammar.pgs" yyval.tree = T_height(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 205: #line 2967 "grammar.y" { #line 1236 "grammar.pgs" yyval.tree = T_borderwidth(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 206: #line 2971 "grammar.y" { #line 1238 "grammar.pgs" yyval.tree = T_loc(yyvsp[-4].tree,yyvsp[-1].tree,yylocate(yylsp[-8])); ; break;} case 207: #line 2975 "grammar.y" { #line 1240 "grammar.pgs" yyval.tree = T_folding(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 208: #line 2979 "grammar.y" { #line 1242 "grammar.pgs" yyval.tree = T_scaling(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 209: #line 2983 "grammar.y" { #line 1244 "grammar.pgs" yyval.tree = T_shrink(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 210: #line 2987 "grammar.y" { #line 1246 "grammar.pgs" yyval.tree = T_stretch(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 211: #line 2991 "grammar.y" { #line 1248 "grammar.pgs" yyval.tree = T_iconwidth(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 212: #line 2995 "grammar.y" { #line 1250 "grammar.pgs" yyval.tree = T_iconheight(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 213: #line 2999 "grammar.y" { #line 1252 "grammar.pgs" yyval.tree = T_textmode(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 214: #line 3003 "grammar.y" { #line 1254 "grammar.pgs" yyval.tree = T_iconstyle(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 215: #line 3007 "grammar.y" { #line 1256 "grammar.pgs" yyval.tree = T_shape(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 216: #line 3011 "grammar.y" { #line 1258 "grammar.pgs" yyval.tree = T_level(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 217: #line 3015 "grammar.y" { #line 1260 "grammar.pgs" yyval.tree = T_level(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 218: #line 3019 "grammar.y" { #line 1262 "grammar.pgs" yyval.tree = T_horizontal_order(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 219: #line 3024 "grammar.y" { #line 1265 "grammar.pgs" yyval.tree = T_center(yylocate(yylsp[0])); ; break;} case 220: #line 3027 "grammar.y" { #line 1266 "grammar.pgs" yyval.tree = T_left_justify(yylocate(yylsp[0])); ; break;} case 221: #line 3030 "grammar.y" { #line 1267 "grammar.pgs" yyval.tree = T_right_justify(yylocate(yylsp[0])); ; break;} case 222: #line 3035 "grammar.y" { #line 1270 "grammar.pgs" yyval.tree = T_box(yylocate(yylsp[0])); ; break;} case 223: #line 3038 "grammar.y" { #line 1271 "grammar.pgs" yyval.tree = T_rhomb(yylocate(yylsp[0])); ; break;} case 224: #line 3041 "grammar.y" { #line 1272 "grammar.pgs" yyval.tree = T_ellipse(yylocate(yylsp[0])); ; break;} case 225: #line 3044 "grammar.y" { #line 1273 "grammar.pgs" yyval.tree = T_triangle(yylocate(yylsp[0])); ; break;} case 226: #line 3049 "grammar.y" { #line 1276 "grammar.pgs" yyval.tree = T_bottom(yylocate(yylsp[0])); ; break;} case 227: #line 3052 "grammar.y" { #line 1277 "grammar.pgs" yyval.tree = T_top(yylocate(yylsp[0])); ; break;} case 228: #line 3055 "grammar.y" { #line 1278 "grammar.pgs" yyval.tree = T_center(yylocate(yylsp[0])); ; break;} case 229: #line 3060 "grammar.y" { #line 1281 "grammar.pgs" yyval.tree = T_bottom(yylocate(yylsp[0])); ; break;} case 230: #line 3063 "grammar.y" { #line 1282 "grammar.pgs" yyval.tree = T_top(yylocate(yylsp[0])); ; break;} case 231: #line 3066 "grammar.y" { #line 1283 "grammar.pgs" yyval.tree = T_around(yylocate(yylsp[0])); ; break;} case 232: #line 3073 "grammar.y" { #line 1288 "grammar.pgs" yyval.tree = T_sourcename(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 233: #line 3077 "grammar.y" { #line 1290 "grammar.pgs" yyval.tree = T_targetname(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 234: #line 3081 "grammar.y" { #line 1292 "grammar.pgs" yyval.tree = T_label(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 235: #line 3085 "grammar.y" { #line 1294 "grammar.pgs" yyval.tree = T_textcolor(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 236: #line 3089 "grammar.y" { #line 1296 "grammar.pgs" yyval.tree = T_fontname(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 237: #line 3093 "grammar.y" { #line 1298 "grammar.pgs" yyval.tree = T_color(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 238: #line 3097 "grammar.y" { #line 1300 "grammar.pgs" yyval.tree = T_typename(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 239: #line 3101 "grammar.y" { #line 1302 "grammar.pgs" yyval.tree = T_thickness(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 240: #line 3105 "grammar.y" { #line 1304 "grammar.pgs" yyval.tree = T_class(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 241: #line 3109 "grammar.y" { #line 1306 "grammar.pgs" yyval.tree = T_priority(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 242: #line 3113 "grammar.y" { #line 1308 "grammar.pgs" yyval.tree = T_arrowwidth(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 243: #line 3117 "grammar.y" { #line 1310 "grammar.pgs" yyval.tree = T_arrowheight(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 244: #line 3121 "grammar.y" { #line 1312 "grammar.pgs" yyval.tree = T_arrowcolor(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 245: #line 3125 "grammar.y" { #line 1314 "grammar.pgs" yyval.tree = T_barrowcolor(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 246: #line 3129 "grammar.y" { #line 1316 "grammar.pgs" yyval.tree = T_arrowsize(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 247: #line 3133 "grammar.y" { #line 1318 "grammar.pgs" yyval.tree = T_barrowsize(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 248: #line 3137 "grammar.y" { #line 1320 "grammar.pgs" yyval.tree = T_arrowstyle(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 249: #line 3141 "grammar.y" { #line 1322 "grammar.pgs" yyval.tree = T_barrowstyle(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 250: #line 3145 "grammar.y" { #line 1324 "grammar.pgs" yyval.tree = T_linestyle(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 251: #line 3149 "grammar.y" { #line 1326 "grammar.pgs" yyval.tree = T_anchor(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 252: #line 3153 "grammar.y" { #line 1328 "grammar.pgs" yyval.tree = T_horizontal_order(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 253: #line 3159 "grammar.y" { #line 1332 "grammar.pgs" yyval.tree = T_continuous(yylocate(yylsp[0])); ; break;} case 254: #line 3162 "grammar.y" { #line 1333 "grammar.pgs" yyval.tree = T_continuous(yylocate(yylsp[0])); ; break;} case 255: #line 3165 "grammar.y" { #line 1334 "grammar.pgs" yyval.tree = T_dotted(yylocate(yylsp[0])); ; break;} case 256: #line 3168 "grammar.y" { #line 1335 "grammar.pgs" yyval.tree = T_dashed(yylocate(yylsp[0])); ; break;} case 257: #line 3171 "grammar.y" { #line 1336 "grammar.pgs" yyval.tree = T_invisible(yylocate(yylsp[0])); ; break;} case 258: #line 3177 "grammar.y" { #line 1340 "grammar.pgs" yyval.tree = T_none(yylocate(yylsp[0])); ; break;} case 259: #line 3180 "grammar.y" { #line 1341 "grammar.pgs" yyval.tree = T_line(yylocate(yylsp[0])); ; break;} case 260: #line 3183 "grammar.y" { #line 1342 "grammar.pgs" yyval.tree = T_solid(yylocate(yylsp[0])); ; break;} case 261: #line 3189 "grammar.y" { #line 1346 "grammar.pgs" yyval.tree = T_title(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 262: #line 3193 "grammar.y" { #line 1348 "grammar.pgs" yyval.tree = T_priority(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 263: #line 3197 "grammar.y" { #line 1350 "grammar.pgs" yyval.tree = T_size(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 264: #line 3201 "grammar.y" { #line 1352 "grammar.pgs" yyval.tree = T_nodes(yyvsp[-1].tree,yylocate(yylsp[-4])); ; break;} case 265: #line 3205 "grammar.y" { #line 1354 "grammar.pgs" yyval.tree = T_interval(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 266: #line 3209 "grammar.y" { #line 1356 "grammar.pgs" yyval.tree = T_name(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 267: #line 3213 "grammar.y" { #line 1358 "grammar.pgs" yyval.tree = T_dimension(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 268: #line 3219 "grammar.y" { #line 1362 "grammar.pgs" yyval.tree = T_string_array(yyvsp[-1].tree,yyvsp[0].tree,yylocate(yylsp[-1])); ; break;} case 269: #line 3222 "grammar.y" { #line 1363 "grammar.pgs" yyval.tree = T_string_array(NULL,yyvsp[0].tree,yylocate(yylsp[0])); ; break;} case 270: #line 3227 "grammar.y" { #line 1366 "grammar.pgs" yyval.tree = T_equal(yylocate(yylsp[0])); ; break;} case 271: #line 3230 "grammar.y" { #line 1367 "grammar.pgs" yyval.tree = T_smaller(yylocate(yylsp[0])); ; break;} case 272: #line 3233 "grammar.y" { #line 1368 "grammar.pgs" yyval.tree = T_greater(yylocate(yylsp[0])); ; break;} case 273: #line 3236 "grammar.y" { #line 1369 "grammar.pgs" yyval.tree = T_neighbors(yylocate(yylsp[0])); ; break;} case 274: #line 3239 "grammar.y" { #line 1370 "grammar.pgs" yyval.tree = T_low_margin(yylocate(yylsp[0])); ; break;} case 275: #line 3242 "grammar.y" { #line 1371 "grammar.pgs" yyval.tree = T_high_margin(yylocate(yylsp[0])); ; break;} case 276: #line 3245 "grammar.y" { #line 1372 "grammar.pgs" yyval.tree = T_xrange(yylocate(yylsp[0])); ; break;} case 277: #line 3248 "grammar.y" { #line 1373 "grammar.pgs" yyval.tree = T_cluster(yylocate(yylsp[0])); ; break;} case 278: #line 3251 "grammar.y" { #line 1374 "grammar.pgs" yyval.tree = T_limit(yylocate(yylsp[0])); ; break;} case 279: #line 3254 "grammar.y" { #line 1375 "grammar.pgs" yyval.tree = T_above(yylocate(yylsp[0])); ; break;} case 280: #line 3257 "grammar.y" { #line 1376 "grammar.pgs" yyval.tree = T_below(yylocate(yylsp[0])); ; break;} case 281: #line 3260 "grammar.y" { #line 1377 "grammar.pgs" yyval.tree = T_left(yylocate(yylsp[0])); ; break;} case 282: #line 3263 "grammar.y" { #line 1378 "grammar.pgs" yyval.tree = T_right(yylocate(yylsp[0])); ; break;} case 283: #line 3266 "grammar.y" { #line 1379 "grammar.pgs" yyval.tree = T_in_font(yylocate(yylsp[0])); ; break;} case 284: #line 3269 "grammar.y" { #line 1380 "grammar.pgs" yyval.tree = T_behind(yylocate(yylsp[0])); ; break;} case 285: #line 3272 "grammar.y" { #line 1381 "grammar.pgs" yyval.tree = T_equal_position(yylocate(yylsp[0])); ; break;} case 286: #line 3275 "grammar.y" { #line 1382 "grammar.pgs" yyval.tree = T_equal_row(yylocate(yylsp[0])); ; break;} case 287: #line 3278 "grammar.y" { #line 1383 "grammar.pgs" yyval.tree = T_equal_column(yylocate(yylsp[0])); ; break;} case 288: #line 3281 "grammar.y" { #line 1384 "grammar.pgs" yyval.tree = T_top_margin(yylocate(yylsp[0])); ; break;} case 289: #line 3284 "grammar.y" { #line 1385 "grammar.pgs" yyval.tree = T_bottom_margin(yylocate(yylsp[0])); ; break;} case 290: #line 3287 "grammar.y" { #line 1386 "grammar.pgs" yyval.tree = T_left_margin(yylocate(yylsp[0])); ; break;} case 291: #line 3290 "grammar.y" { #line 1387 "grammar.pgs" yyval.tree = T_right_margin(yylocate(yylsp[0])); ; break;} case 292: #line 3293 "grammar.y" { #line 1388 "grammar.pgs" yyval.tree = T_upper_neighbor(yylocate(yylsp[0])); ; break;} case 293: #line 3296 "grammar.y" { #line 1389 "grammar.pgs" yyval.tree = T_lower_neighbor(yylocate(yylsp[0])); ; break;} case 294: #line 3299 "grammar.y" { #line 1390 "grammar.pgs" yyval.tree = T_left_neighbor(yylocate(yylsp[0])); ; break;} case 295: #line 3302 "grammar.y" { #line 1391 "grammar.pgs" yyval.tree = T_right_neighbor(yylocate(yylsp[0])); ; break;} case 296: #line 3307 "grammar.y" { #line 1394 "grammar.pgs" yyval.tree = T_x(yylocate(yylsp[0])); ; break;} case 297: #line 3310 "grammar.y" { #line 1395 "grammar.pgs" yyval.tree = T_y(yylocate(yylsp[0])); ; break;} case 298: #line 3313 "grammar.y" { #line 1396 "grammar.pgs" yyval.tree = T_z(yylocate(yylsp[0])); ; break;} case 299: #line 3318 "grammar.y" { #line 1399 "grammar.pgs" yyval.tree = T_integer(yyvsp[0].lnum,yylocate(yylsp[0])); ; break;} case 300: #line 3321 "grammar.y" { #line 1400 "grammar.pgs" yyval.tree = T_float(yyvsp[0].lrealnum,yylocate(yylsp[0])); ; break;} case 301: #line 3324 "grammar.y" { #line 1401 "grammar.pgs" yyval.tree = T_char(yyvsp[0].byte,yylocate(yylsp[0])); ; break;} case 302: #line 3327 "grammar.y" { #line 1402 "grammar.pgs" yyval.tree = T_string(yyvsp[0].lnum,yylocate(yylsp[0])); ; break;} case 303: #line 3330 "grammar.y" { #line 1403 "grammar.pgs" yyval.tree = yyvsp[0].tree; ; break;} case 304: #line 3336 "grammar.y" { #line 1407 "grammar.pgs" yyval.tree = REVERT(yyvsp[-1].tree); ; break;} case 305: #line 3342 "grammar.y" { #line 1411 "grammar.pgs" yyval.tree = T_index_value(yyvsp[0].tree,yyvsp[-1].tree,yylocate(yylsp[-1])); ; break;} case 306: #line 3345 "grammar.y" { #line 1412 "grammar.pgs" yyval.tree = T_index_value(yyvsp[0].tree,NULL,yylocate(yylsp[0])); ; break;} case 307: #line 3350 "grammar.y" { #line 1415 "grammar.pgs" yyval.tree = yyvsp[0].tree; ; break;} case 308: #line 3354 "grammar.y" { #line 1417 "grammar.pgs" yyval.tree = T_index(yyvsp[-2].tree,yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 309: #line 3358 "grammar.y" { #line 1419 "grammar.pgs" yyval.tree = T_range(yyvsp[-2].tree,yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 310: #line 3362 "grammar.y" { #line 1421 "grammar.pgs" yyval.tree = T_stern(yyvsp[0].tree,yylocate(yylsp[-2])); ; break;} case 311: #line 3368 "grammar.y" { #line 1425 "grammar.pgs" yyval.tree = T_range(yyvsp[-3].tree,yyvsp[-1].tree,yylocate(yylsp[-4])); ; break;} case 312: #line 3373 "grammar.y" { #line 1428 "grammar.pgs" yyval.tree = T_index_val(yyvsp[0].lnum,yylocate(yylsp[0])); ; break;} case 313: #line 3378 "grammar.y" { #line 1431 "grammar.pgs" yyval.tree = T_integer(yyvsp[0].lnum,yylocate(yylsp[0])); ; break;} case 314: #line 3383 "grammar.y" { #line 1434 "grammar.pgs" yyval.tree = T_float(yyvsp[0].lrealnum,yylocate(yylsp[0])); ; break;} case 315: #line 3388 "grammar.y" { #line 1437 "grammar.pgs" yyval.tree = T_string(yyvsp[0].lnum,yylocate(yylsp[0])); ; break;} } /* the action file gets copied in in place of this dollarsign */ #line 457 "/usr/local/lib/bison.simple" yyvsp -= yylen; yyssp -= yylen; #ifdef YYLSP_NEEDED yylsp -= yylen; #endif #if YYDEBUG != 0 if (yydebug) { short *ssp1 = yyss - 1; fprintf (stderr, "state stack now"); while (ssp1 != yyssp) fprintf (stderr, " %d", *++ssp1); fprintf (stderr, "\n"); } #endif *++yyvsp = yyval; #ifdef YYLSP_NEEDED yylsp++; if (yylen == 0) { yylsp->first_line = yylloc.first_line; yylsp->first_column = yylloc.first_column; yylsp->last_line = (yylsp-1)->last_line; yylsp->last_column = (yylsp-1)->last_column; yylsp->text = 0; } else { yylsp->last_line = (yylsp+yylen-1)->last_line; yylsp->last_column = (yylsp+yylen-1)->last_column; } #endif /* Now "shift" the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTBASE] + *yyssp; if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTBASE]; goto yynewstate; yyerrlab: /* here on detecting error */ if (! yyerrstatus) /* If not already recovering from an error, report this error. */ { ++yynerrs; #ifdef YYERROR_VERBOSE yyn = yypact[yystate]; if (yyn > YYFLAG && yyn < YYLAST) { int size = 0; char *msg; int x, count; count = 0; /* Start X at -yyn if nec to avoid negative indexes in yycheck. */ for (x = (yyn < 0 ? -yyn : 0); x < (sizeof(yytname) / sizeof(char *)); x++) if (yycheck[x + yyn] == x) size += strlen(yytname[x]) + 15, count++; msg = (char *) malloc(size + 15); if (msg != 0) { strcpy(msg, "parse error"); if (count < 5) { count = 0; for (x = (yyn < 0 ? -yyn : 0); x < (sizeof(yytname) / sizeof(char *)); x++) if (yycheck[x + yyn] == x) { strcat(msg, count == 0 ? ", expecting `" : " or `"); strcat(msg, yytname[x]); strcat(msg, "'"); count++; } } yyerror(msg); free(msg); } else yyerror ("parse error; also virtual memory exceeded"); } else #endif /* YYERROR_VERBOSE */ yyerror("parse error"); } goto yyerrlab1; yyerrlab1: /* here on error raised explicitly by an action */ if (yyerrstatus == 3) { /* if just tried and failed to reuse lookahead token after an error, discard it. */ /* return failure if at end of input */ if (yychar == YYEOF) YYABORT; #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]); #endif yychar = YYEMPTY; } /* Else will try to reuse lookahead token after shifting the error token. */ yyerrstatus = 3; /* Each real token shifted decrements this */ goto yyerrhandle; yyerrdefault: /* current state does not do anything special for the error token. */ #if 0 /* This is wrong; only states that explicitly want error tokens should shift them. */ yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/ if (yyn) goto yydefault; #endif yyerrpop: /* pop the current state because it cannot handle the error token */ if (yyssp == yyss) YYABORT; yyvsp--; yystate = *--yyssp; #ifdef YYLSP_NEEDED yylsp--; #endif #if YYDEBUG != 0 if (yydebug) { short *ssp1 = yyss - 1; fprintf (stderr, "Error: state stack now"); while (ssp1 != yyssp) fprintf (stderr, " %d", *++ssp1); fprintf (stderr, "\n"); } #endif yyerrhandle: yyn = yypact[yystate]; if (yyn == YYFLAG) goto yyerrdefault; yyn += YYTERROR; if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) goto yyerrdefault; yyn = yytable[yyn]; if (yyn < 0) { if (yyn == YYFLAG) goto yyerrpop; yyn = -yyn; goto yyreduce; } else if (yyn == 0) goto yyerrpop; if (yyn == YYFINAL) YYACCEPT; #if YYDEBUG != 0 if (yydebug) fprintf(stderr, "Shifting error token, "); #endif *++yyvsp = yylval; #ifdef YYLSP_NEEDED *++yylsp = yylloc; #endif yystate = yyn; goto yynewstate; } #line 3395 "grammar.y" #line 147 "/RW/esprit/users/sander/src/PARSEGEN/parse.skel" /*----------------------------*/ /* Main entry point of parser */ /*----------------------------*/ #ifndef yyparseinit #define yyparseinit() /*NOTHING*/ #endif yysyntaxtree Syntax_Tree; /* returns the number of detected errors and binds the syntaxtree * to the variable syntaxtree. */ #ifdef ANSI_C int parse(void) #else int parse() #endif { nr_errors=0; init_lex(); line_nr = 1; pos_nr = 0; yyparseinit(); yyparse(); #ifdef YYVALGLOBAL Syntax_Tree = yyval.tree; #endif return(nr_errors); } #line 580 "grammar.pgs" /*--------------------------------------------------------------*/ /* Line directives */ /*--------------------------------------------------------------*/ /* Handle directive left by the C preprocessor, i.e. * * # line 123 "foo.h" * # line 125 * # 126 "foo.h" 2 * * et cetera. */ #ifdef ANSI_C void line_directive(char *text) #else void line_directive(text) char *text; #endif { char *c,*d; c = d = text; while ((*c) && (*c!='"')) c++; while ((*d) && ((*d<'0') || (*d>'9'))) d++; if (d \ \" -> " \n -> CR * * et cetera. */ #ifdef ANSI_C void escape_transl(char *text) #else void escape_transl(text) char *text; #endif { char *c,*d; int i; c = d = text; while (*c) { if (*c == '\\') { c++; switch (*c) { #ifdef ANSI_C case 'a' : *d++ = '\a'; break; #endif case 'b' : *d++ = '\b'; break; case 'f' : *d++ = '\f'; break; case 'n' : *d++ = '\n'; break; case 'r' : *d++ = '\r'; break; case 't' : *d++ = '\t'; break; case 'v' : *d++ = '\v'; break; case 'x' : c++; i = 0; while ( ((*c>='0')&&(*c<='9')) ||((*c>='A')&&(*c<='F')) ||((*c>='a')&&(*c<='f')) ) { if ((*c>='0')&&(*c<='9')) i = i*16 + (*c)-'0'; else if ((*c>='A')&&(*c<='F')) i = i*16 + (*c)-'A'+10; else if ((*c>='a')&&(*c<='f')) i = i*16 + (*c)-'a'+10; c++; } c--; *d++ = i; break; case '0' : case '1' : case '2' : case '3' : case '4' : case '5' : case '6' : case '7' : i = (*c) - '0'; c++; if ((*c>='0') && (*c<='7')) { i = i*8 +(*c)-'0'; c++; if ((*c>='0') && (*c<='7')) { i = i*8 +(*c)-'0'; c++; } } c--; *d++ = i; break; default : *d++ = *c; break; } } else *d++ = *c; c++; } *d = 0; } /*--------------------------------------------------------------*/ /* Type conversions */ /*--------------------------------------------------------------*/ /* * Translate integer into string. */ static char myprivmessage[16000]; /* Please DON'T reuse this */ #ifdef ANSI_C char *my_itoa(int x) #else char *my_itoa(x) int x; #endif { SPRINTF(myprivmessage,"%d",x); return(myprivmessage); } /* * Translate integer into string. * This is a little bit overcomplex, but in this way, it is more compatible. */ #ifdef ANSI_C long long_atoi(char *c) #else long long_atoi(c) char *c; #endif { long res, sign; res = 0; if (!c) return(0L); if (*c=='-') { sign = -1L; c++; } else sign = 1L; while (*c) { switch (*c) { case '0': res = res * 10L; break; case '1': res = res * 10L + 1L; break; case '2': res = res * 10L + 2L; break; case '3': res = res * 10L + 3L; break; case '4': res = res * 10L + 4L; break; case '5': res = res * 10L + 5L; break; case '6': res = res * 10L + 6L; break; case '7': res = res * 10L + 7L; break; case '8': res = res * 10L + 8L; break; case '9': res = res * 10L + 9L; break; default: return(sign * res); } c++; } return(sign * res); } /*====================================================================*/ /* Errors and Warnings */ /*====================================================================*/ /* * syntaxerror prints an error message with position of the * error place in the specification, and increments the counter of * errors. */ static void fatal_error _PP((char *)); #ifdef ANSI_C void syntaxerror(int line, int pos, char *mesge) #else void syntaxerror(line,pos,mesge) int line; int pos; char *mesge; #endif { strcpy(myprivmessage,mesge); if (islower(*myprivmessage)) *myprivmessage = toupper(*myprivmessage); FPRINTF(stderr,"Syntax error (%s: l:%d p:%d): %s !\n", filename,line,pos,myprivmessage); nr_errors++; if (nr_errors>nr_max_errors) fatal_error("Too many syntax errors"); } /* * warning prints a warning with position of the problematic place * in the specification, but does not increment the counter of * errors. */ #ifdef ANSI_C void warning(int line, int pos, char *mesge) #else void warning(line,pos,mesge) int line; int pos; char *mesge; #endif { strcpy(myprivmessage,mesge); if (islower(*myprivmessage)) *myprivmessage = toupper(*myprivmessage); FPRINTF(stderr,"Warning (%s: l:%d p:%d): %s !\n", filename,line,pos,myprivmessage); } /*--------------------------------------------------------------*/ #line 182 "/RW/esprit/users/sander/src/PARSEGEN/parse.skel" #line 1 "/RW/esprit/users/sander/src/PARSEGEN/stdpc.skel" /*--------------------------------------------------------------------*/ /* Standard Tree Construction Routines */ /*--------------------------------------------------------------------*/ #ifdef PARSEGENSTD #ifndef lint static char *stdpc_id_string="$Id: stdpc.skel,v 1.12 1994/12/05 13:54:37 sander Exp sander $"; #endif #include #include #ifdef ANSI_C #include #else #include #endif /*--------------------------------------------------------------------*/ /* Fatal error: exit with message */ /*--------------------------------------------------------------------*/ #ifdef ANSI_C static void fatal_error(char *message) #else static void fatal_error(message) char *message; #endif { (void)fprintf(stderr,"Fatal error: %s !\n",message); (void)fprintf(stderr,"Aborted !\n"); exit(-1); } /*--------------------------------------------------------------------*/ /* Memory allocation for syntax tree nodes */ /*--------------------------------------------------------------------*/ #ifndef ALIGN #define ALIGN 8 #define IALIGN (ALIGN-1) #endif #ifndef PARSEBLOCKSIZE #define PARSEBLOCKSIZE 10000 #endif /* The following in invisible from outside: * The heap consists of a list of memory blocks of size parseheapsize. * The parseheap is the actual memory block. */ static yysyntaxtree parseheap = (yysyntaxtree)0; /* the heap */ static yysyntaxtree parseheapstart; /* the base */ static yysyntaxtree parseheaptop; /* the top */ static yysyntaxtree parseheapend; /* the end */ static int parseheapsize = PARSEBLOCKSIZE; /* the size of one block */ #ifdef ANSI_C static void alloc_block(void) #else static void alloc_block() #endif { yysyntaxtree help, *help2; help =(yysyntaxtree)malloc(parseheapsize*sizeof(struct stree_node)); if (!help) fatal_error("memory exhausted"); help2 = (yysyntaxtree *)help; *help2 = (yysyntaxtree)parseheap; parseheap = help; parseheapstart = parseheaptop = (yysyntaxtree)((long)parseheap + (long)sizeof(yysyntaxtree)); parseheapend = parseheap; parseheapend += (parseheapsize-2); if ((long)parseheaptop&IALIGN) parseheaptop = (yysyntaxtree) (((long)parseheaptop+(long)IALIGN)&(long)(~IALIGN)); } /* allocate x bytes */ #ifdef ANSI_C static yysyntaxtree parsemalloc(int x) #else static yysyntaxtree parsemalloc(x) int x; #endif { yysyntaxtree help; int y; if (!parseheap) alloc_block(); y = x; if (y&IALIGN) y = (y+IALIGN)&(~IALIGN); help = parseheaptop; parseheaptop = (yysyntaxtree)((long)parseheaptop+(long)y); if (parseheaptop > parseheapend) { /* heap too small -> allocate new heap block */ alloc_block(); help = parseheaptop; parseheaptop = (yysyntaxtree)((long)parseheaptop+(long)y); if (parseheaptop > parseheapend) fatal_error("syntax tree node too large"); } return (help); } /* allocate yysyntaxtree node with x sons */ #ifdef ANSI_C static yysyntaxtree st_malloc(int x) #else static yysyntaxtree st_malloc(x) int x; #endif { yysyntaxtree help; help =parsemalloc(sizeof(struct stree_node)+x*sizeof(yysyntaxtree)); return (help); } /* global allocate x bytes */ #ifdef ANSI_C char * ParseMalloc(int x) #else char * ParseMalloc(x) int x; #endif { return((char *)parsemalloc(x)); } /* global deallocate the complete syntax tree heap */ static union special *stdunion = 0; #ifdef ANSI_C void ParseFree(void) #else void ParseFree() #endif { yysyntaxtree help, help2; help = parseheap; while (help) { help2 = *(yysyntaxtree *)help; (void)free((char *)help); help = help2; } parseheap = (yysyntaxtree)0; stdunion = 0; } /*--------------------------------------------------------------------*/ /* Create unions for syntax tree nodes */ /*--------------------------------------------------------------------*/ #ifdef ANSI_C static void freeunion(union special *x) #else static void freeunion(x) union special *x; #endif { x->string = (char *)stdunion; stdunion = x; } #ifdef ANSI_C static union special *nextunion(void) #else static union special *nextunion() #endif { union special *help; if (!stdunion) { stdunion = (union special *) parsemalloc(sizeof(union special)); stdunion->string = 0; } help = stdunion; stdunion = (union special *)stdunion->string; return(help); } #ifdef ANSI_C union special *UnionByte(unsigned char x) #else union special *UnionByte(x) unsigned char x; #endif { union special *help; help = nextunion(); help->byte = x; return(help); } #ifdef ANSI_C union special *UnionSnum(short int x) #else union special *UnionSnum(x) short int x; #endif { union special *help; help = nextunion(); help->snum = x; return(help); } #ifdef ANSI_C union special *UnionUsnum(unsigned short int x) #else union special *UnionUsnum(x) unsigned short int x; #endif { union special *help; help = nextunion(); help->usnum = x; return(help); } #ifdef ANSI_C union special *UnionNum(int x) #else union special *UnionNum(x) int x; #endif { union special *help; help = nextunion(); help->num = x; return(help); } #ifdef ANSI_C union special *UnionUnum(unsigned int x) #else union special *UnionUnum(x) unsigned int x; #endif { union special *help; help = nextunion(); help->unum = x; return(help); } #ifdef ANSI_C union special *UnionLnum(long int x) #else union special *UnionLnum(x) long int x; #endif { union special *help; help = nextunion(); help->lnum = x; return(help); } #ifdef ANSI_C union special *UnionUlnum(unsigned long int x) #else union special *UnionUlnum(x) unsigned long int x; #endif { union special *help; help = nextunion(); help->ulnum = x; return(help); } #ifdef ANSI_C union special *UnionRealnum(float x) #else union special *UnionRealnum(x) float x; #endif { union special *help; help = nextunion(); help->realnum = x; return(help); } #ifdef ANSI_C union special *UnionLrealnum(double x) #else union special *UnionLrealnum(x) double x; #endif { union special *help; help = nextunion(); help->lrealnum = x; return(help); } #ifdef ANSI_C union special *UnionString(char *x) #else union special *UnionString(x) char *x; #endif { union special *help; help = nextunion(); help->string = x; return(help); } /*--------------------------------------------------------------------*/ /* Build syntax tree nodes */ /*--------------------------------------------------------------------*/ /* Table for varargs */ static yysyntaxtree TreeTab[1024]; #ifdef USERFTYPE #ifndef USERFINIT #define USERFINIT ((USERFTYPE)0) #endif #endif /* without sons */ #ifdef ANSI_C syntaxtree BuildCont(int mtag,union special *x,YYLTYPE *l) #else syntaxtree BuildCont(mtag,x,l) int mtag; union special *x; YYLTYPE *l; #endif { yysyntaxtree help; help = st_malloc(1); __yy_bcopy(x,&help->contents, sizeof(union special)); freeunion(x); tag(help) = mtag; xfirst_line(help) =l->first_line; xfirst_column(help) =l->first_column; xlast_line(help) =l->last_line; xlast_column(help) =l->last_column; xfather(help) =(yysyntaxtree)0; #ifdef USERFTYPE user_field(help) =USERFINIT; #endif son1(help) = (yysyntaxtree)0; return(help); } /* with sons */ #ifdef ANSI_C yysyntaxtree BuildTree(int mtag,int len,union special *x,YYLTYPE *l, ...) #else yysyntaxtree BuildTree(va_alist) va_dcl #endif { int i,j; va_list pvar; yysyntaxtree help; #ifndef ANSI_C int mtag; int len; union special *x; YYLTYPE *l; va_start(pvar); #endif #ifdef ANSI_C va_start(pvar,l); #endif #ifndef ANSI_C mtag = va_arg(pvar, int); len = va_arg(pvar, int); x = va_arg(pvar, union special *); l = va_arg(pvar, YYLTYPE *); #endif i = 0; help = va_arg(pvar, yysyntaxtree); while (i < len) { TreeTab[i++] = help; help = va_arg(pvar, yysyntaxtree); } va_end(pvar); help = st_malloc((i<1?1:i)); __yy_bcopy(x,&help->contents, sizeof(union special)); freeunion(x); tag(help) = mtag; xfirst_line(help) =l->first_line; xfirst_column(help) =l->first_column; xlast_line(help) =l->last_line; xlast_column(help) =l->last_column; xfather(help) =(yysyntaxtree)0; #ifdef USERFTYPE user_field(help) =USERFINIT; #endif for (j=1; j<=i; j++) { son(help,j) = TreeTab[j-1]; if (TreeTab[j-1]!=(yysyntaxtree)0) xfather(TreeTab[j-1]) = help; } return(help); } /* copy syntax tree */ #ifdef ANSI_C yysyntaxtree Copy(yysyntaxtree x) #else yysyntaxtree Copy(x) yysyntaxtree x; #endif { register int j,len; yysyntaxtree help; if (!x) return(x); len = nr_of_sons(x); help = st_malloc((len<1?1:len)); __yy_bcopy(&x->contents,&help->contents, sizeof(union special)); tag(help) = tag(x); xfirst_line(help) = xfirst_line(x); xfirst_column(help) = xfirst_column(x); xlast_line(help) = xlast_line(x); xlast_column(help) = xlast_column(x); xfather(help) = (yysyntaxtree)0; #ifdef USERFTYPE user_field(help) =user_field(x); #endif son1(help) = (yysyntaxtree)0; for (j=1; j<=len; j++) { son(help,j) = Copy(son(x,j)); if (son(help,j)) xfather(son(help,j)) = help; } return(help); } /* revert list */ #ifdef ANSI_C yysyntaxtree Revert(yysyntaxtree list) #else yysyntaxtree Revert(list) yysyntaxtree list; #endif { yysyntaxtree last, act, next; last = (yysyntaxtree)0; act = list; while (act) { next = son2(act); son2(act) = last; if (last) xfather(last)=act; last = act; act = next; } if (last) xfather(last)=(yysyntaxtree)0; return(last); } /*--------------------------------------------------------------------*/ /* yield constructor name */ /*--------------------------------------------------------------------*/ #ifdef ANSI_C const char *ConstructorName(int i) #else const char *ConstructorName(i) int i; #endif { return(yyconst_name[i]); } /*--------------------------------------------------------------------*/ /* yield constructor arity */ /*--------------------------------------------------------------------*/ #ifdef ANSI_C int ConstructorArity(int i) #else int ConstructorArity(i) int i; #endif { return(yyconst_arity[i]); } #endif /* PARSEGENSTD */ /*--------------------------------------------------------------------*/ #line 1441 "grammar.pgs"