/*4:*/
#line 63 "gb_graph.w"

#include <stdio.h> 
#include <stdlib.h> 
#ifdef SYSV
#include <string.h> 
#else
#include <strings.h> 
#endif
#undef min
/*8:*/
#line 136 "gb_graph.w"

typedef union{
struct vertex_struct*V;
struct arc_struct*A;
struct graph_struct*G;
char*S;
long I;
}util;

/*:8*//*9:*/
#line 162 "gb_graph.w"

typedef struct vertex_struct{
struct arc_struct*arcs;
char*name;
util u,v,w,x,y,z;
}Vertex;

/*:9*//*10:*/
#line 181 "gb_graph.w"

typedef struct arc_struct{
struct vertex_struct*tip;
struct arc_struct*next;
long len;
util a,b;
}Arc;

/*:10*//*12:*/
#line 234 "gb_graph.w"

#define init_area(s)  *s= NULL
struct area_pointers{
char*first;
struct area_pointers*next;

};

typedef struct area_pointers*Area[1];

/*:12*//*20:*/
#line 377 "gb_graph.w"

#define ID_FIELD_SIZE 161
typedef struct graph_struct{
Vertex*vertices;
long n;
long m;
char id[ID_FIELD_SIZE];
char util_types[15];
Area data;
Area aux_data;
util uu,vv,ww,xx,yy,zz;
}Graph;

/*:20*//*34:*/
#line 670 "gb_graph.w"

typedef unsigned long siz_t;


/*:34*/
#line 72 "gb_graph.w"


/*:4*//*6:*/
#line 88 "gb_graph.w"

extern long verbose;
extern long panic_code;

/*:6*//*7:*/
#line 105 "gb_graph.w"

#define alloc_fault (-1) 
#define no_room 1 
#define early_data_fault 10 
#define late_data_fault 11 
#define syntax_error 20 
#define bad_specs 30 
#define very_bad_specs 40 
#define missing_operand 50 
#define invalid_operand 60 
#define impossible 90 

/*:7*//*15:*/
#line 292 "gb_graph.w"

extern long gb_trouble_code;

/*:15*//*17:*/
#line 312 "gb_graph.w"

#line 30 "gb_graph.ch"
extern char*gb_alloc(long,Area);
#define gb_typed_alloc(n,t,s) \
               (t*)gb_alloc((long)((n)*sizeof(t)),s)
extern void gb_free(Area);
#line 317 "gb_graph.w"

/*:17*//*22:*/
#line 429 "gb_graph.w"

#define n_1  uu.I
#define mark_bipartite(g,n1) g->n_1= n1,g->util_types[8]= 'I'

/*:22*//*25:*/
#line 474 "gb_graph.w"

extern long extra_n;

extern char null_string[];
#line 49 "gb_graph.ch"
extern void make_compound_id(Graph*,char*,Graph*,char*);

extern void make_double_compound_id(Graph*,char*,Graph*,char*,
Graph*,char*);
#line 481 "gb_graph.w"

/*:25*//*33:*/
#line 657 "gb_graph.w"

extern siz_t edge_trick;

/*:33*//*41:*/
#line 802 "gb_graph.w"

#define gb_new_graph gb_nugraph 
#define gb_new_arc gb_nuarc
#define gb_new_edge gb_nuedge
#line 146 "gb_graph.ch"
 extern Graph*gb_new_graph(long);

extern void gb_new_arc(Vertex*,Vertex*,long);

extern Arc*gb_virgin_arc(void);

extern void gb_new_edge(Vertex*,Vertex*,long);

extern char*gb_save_string(register char*);

extern void switch_to_graph(Graph*);

extern void gb_recycle(Graph*);

#line 813 "gb_graph.w"

/*:41*//*42:*/
#line 840 "gb_graph.w"

#line 168 "gb_graph.ch"
extern void hash_in(Vertex*);
extern Vertex*hash_out(char*);
extern void hash_setup(Graph*);
extern Vertex*hash_lookup(char*,Graph*);
#line 845 "gb_graph.w"

/*:42*/


syntax highlighted by Code2HTML, v. 0.9.1