/*4:*/ #line 55 "gb_graph.w" #include #ifdef SYSV #include #else #include #endif /*8:*/ #line 125 "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 151 "gb_graph.w" typedef struct vertex_struct{ struct arc_struct*arcs; char*name; util u,v,w,x,y,z; }Vertex; /*:9*//*10:*/ #line 170 "gb_graph.w" typedef struct arc_struct{ struct vertex_struct*tip; struct arc_struct*next; long len; util a,b; }Arc; /*:10*//*12:*/ #line 223 "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 350 "gb_graph.w" #define ID_FIELD_SIZE 161 typedef struct graph_struct{ Vertex*vertices; long n; long m; char id[ID_FIELD_SIZE]; char format[15]; Area data; Area aux_data; util u,v,w,x,y,z; }Graph; /*:20*/ #line 62 "gb_graph.w" /*:4*//*6:*/ #line 78 "gb_graph.w" extern int verbose; extern int panic_code; /*:6*//*7:*/ #line 95 "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 666 /*:7*//*15:*/ #line 271 "gb_graph.w" extern int gb_alloc_trouble; /*:15*//*17:*/ #line 291 "gb_graph.w" extern char*gb_alloc(); #define gb_alloc_type(n,t,s) (t*)gb_alloc((n)*sizeof(t),s) extern void gb_free(); /*:17*//*22:*/ #line 402 "gb_graph.w" #define n_1 u.i #define mark_bipartite(g,n1) g->n_1= n1,g->format[8]= 'I' /*:22*//*25:*/ #line 447 "gb_graph.w" extern int extra_n; extern char null_string[]; extern make_compound_id(); extern make_double_compound_id(); /*:25*//*33:*/ #line 624 "gb_graph.w" extern unsigned long edge_trick; /*:33*//*40:*/ #line 754 "gb_graph.w" extern Graph*gb_new_graph(); extern void gb_new_arc(); extern Arc*gb_virgin_arc(); extern void gb_new_edge(); extern char*gb_save_string(); extern void switch_to_graph(); extern void gb_recycle(); /*:40*//*41:*/ #line 789 "gb_graph.w" extern void hash_in(); extern Vertex*hash_out(); extern void hash_setup(); extern Vertex*hash_lookup(); /*:41*/