gb_graph.h
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:2k
源码类别:

通讯编程

开发平台:

Visual C++

  1. /*4:*/
  2. #line 62 "gb_graph.w"
  3. #include <stdio.h>
  4. #ifdef SYSV
  5. #include <string.h>
  6. #else
  7. #include <strings.h>
  8. #endif
  9. #undef min
  10. /*8:*/
  11. #line 134 "gb_graph.w"
  12. typedef union{
  13. struct vertex_struct*V;
  14. struct arc_struct*A;
  15. struct graph_struct*G;
  16. char*S;
  17. long I;
  18. }util;
  19. /*:8*//*9:*/
  20. #line 160 "gb_graph.w"
  21. typedef struct vertex_struct{
  22. struct arc_struct*arcs;
  23. char*name;
  24. util u,v,w,x,y,z;
  25. }Vertex;
  26. /*:9*//*10:*/
  27. #line 179 "gb_graph.w"
  28. typedef struct arc_struct{
  29. struct vertex_struct*tip;
  30. struct arc_struct*next;
  31. long len;
  32. util a,b;
  33. }Arc;
  34. /*:10*//*12:*/
  35. #line 232 "gb_graph.w"
  36. #define init_area(s)  *s= NULL
  37. struct area_pointers{
  38. char*first;
  39. struct area_pointers*next;
  40. };
  41. typedef struct area_pointers*Area[1];
  42. /*:12*//*20:*/
  43. #line 375 "gb_graph.w"
  44. #define ID_FIELD_SIZE 161
  45. typedef struct graph_struct{
  46. Vertex*vertices;
  47. long n;
  48. long m;
  49. char id[ID_FIELD_SIZE];
  50. char util_types[15];
  51. Area data;
  52. Area aux_data;
  53. util uu,vv,ww,xx,yy,zz;
  54. }Graph;
  55. /*:20*//*34:*/
  56. #line 668 "gb_graph.w"
  57. typedef unsigned long siz_t;
  58. /*:34*/
  59. #line 70 "gb_graph.w"
  60. /*:4*//*6:*/
  61. #line 86 "gb_graph.w"
  62. extern long verbose;
  63. extern long panic_code;
  64. /*:6*//*7:*/
  65. #line 103 "gb_graph.w"
  66. #define alloc_fault (-1) 
  67. #define no_room 1 
  68. #define early_data_fault 10 
  69. #define late_data_fault 11 
  70. #define syntax_error 20 
  71. #define bad_specs 30 
  72. #define very_bad_specs 40 
  73. #define missing_operand 50 
  74. #define invalid_operand 60 
  75. #define impossible 90 
  76. /*:7*//*15:*/
  77. #line 290 "gb_graph.w"
  78. extern long gb_trouble_code;
  79. /*:15*//*17:*/
  80. #line 310 "gb_graph.w"
  81. extern char*gb_alloc();
  82. #define gb_typed_alloc(n,t,s) 
  83.                (t*)gb_alloc((long)((n)*sizeof(t)),s)
  84. extern void gb_free();
  85. /*:17*//*22:*/
  86. #line 427 "gb_graph.w"
  87. #define n_1  uu.I
  88. #define mark_bipartite(g,n1) g->n_1= n1,g->util_types[8]= 'I'
  89. /*:22*//*25:*/
  90. #line 472 "gb_graph.w"
  91. extern long extra_n;
  92. extern char null_string[];
  93. extern void make_compound_id();
  94. extern void make_double_compound_id();
  95. /*:25*//*33:*/
  96. #line 655 "gb_graph.w"
  97. extern siz_t edge_trick;
  98. /*:33*//*41:*/
  99. #line 800 "gb_graph.w"
  100. #define gb_new_graph gb_nugraph 
  101. #define gb_new_arc gb_nuarc
  102. #define gb_new_edge gb_nuedge
  103. extern Graph*gb_new_graph();
  104. extern void gb_new_arc();
  105. extern Arc*gb_virgin_arc();
  106. extern void gb_new_edge();
  107. extern char*gb_save_string();
  108. extern void switch_to_graph();
  109. extern void gb_recycle();
  110. /*:41*//*42:*/
  111. #line 838 "gb_graph.w"
  112. extern void hash_in();
  113. extern Vertex*hash_out();
  114. extern void hash_setup();
  115. extern Vertex*hash_lookup();
  116. /*:42*/