1 ///////////////////////////////////////////////////////////////////////////////
2 // This file is generated automatically using Prop (version 2.3.6),
3 // last updated on Nov 2, 1999.
4 // The original source file is "visualize.pcc".
5 ///////////////////////////////////////////////////////////////////////////////
7 #line 1 "visualize.pcc"
8 //////////////////////////////////////////////////////////////////////////////
10 // This file implements the datatype definitions layout generator
11 // for visualizing datatype definitions using vcg.
13 //////////////////////////////////////////////////////////////////////////////
20 #include "visualize.h"
22 //////////////////////////////////////////////////////////////////////////////
24 // Constructor and destructor for class PropVisualizer
26 //////////////////////////////////////////////////////////////////////////////
27 PropVisualizer::PropVisualizer()
28 : label_text(text_buffer
,sizeof(text_buffer
))
29 { set_stream(label_text
); }
31 PropVisualizer::~PropVisualizer() {}
33 va_list PropVisualizer::printer(char fmt
, va_list arg
)
34 { bug("%LPropVisualizer::printer %%%c",(int)fmt
);
38 //////////////////////////////////////////////////////////////////////////////
40 // Method to make a label
42 //////////////////////////////////////////////////////////////////////////////
43 void PropVisualizer::add_label(const char * fmt
, ...)
50 //////////////////////////////////////////////////////////////////////////////
52 // Method to make a label.
54 //////////////////////////////////////////////////////////////////////////////
55 void PropVisualizer::make_label()
56 { label_text
<< std::ends
;
61 //label_text.rdbuf()->seekpos(0);
65 //////////////////////////////////////////////////////////////////////////////
67 // This method takes a stream and prints out all the definitions
68 // currently processed as Graph Description Language (GDL).
70 //////////////////////////////////////////////////////////////////////////////
71 void Compiler::print_definitions_as_GDL()
74 const char * G
= "Program definitions";
78 ///////////////////////////////////////////////////////////////////////////
80 // Specify the layout format
82 ///////////////////////////////////////////////////////////////////////////
83 v
. label(G
) // the name of the graph
84 . display_edge_labels(true) // display labels on edges
85 . xspace(40) // x distance between nodes
86 . yspace(40) // y distance between nodes
87 . layoutalgorithm(VCG::minbackward
) // minimize back edges
88 . color(VCG::lightblue
) // default color
91 ///////////////////////////////////////////////////////////////////////////
93 // Layout datatype definitions
95 ///////////////////////////////////////////////////////////////////////////
96 v
. visualize_datatype_definitions();
98 ///////////////////////////////////////////////////////////////////////////
100 // Layout type definitions
102 ///////////////////////////////////////////////////////////////////////////
104 ///////////////////////////////////////////////////////////////////////////
106 // Layout graph type definitions
108 ///////////////////////////////////////////////////////////////////////////
110 ///////////////////////////////////////////////////////////////////////////
112 // Finish constructing the graph and print out the entire GDL
114 ///////////////////////////////////////////////////////////////////////////
118 ///////////////////////////////////////////////////////////////////////////
120 // Finally output the graph
122 ///////////////////////////////////////////////////////////////////////////
123 { char vcg_file
[256];
124 strcpy(vcg_file
, options
.file_prefix
);
125 strcat(vcg_file
, "vcg");
126 std::ostream
* F
= open_output_file(vcg_file
);
127 msg("[Writing vcg output to %s]\n",vcg_file
);
128 v
. print_GDL_on(*F
);
132 #line 124 "visualize.pcc"
134 ------------------------------- Statistics -------------------------------
135 Merge matching rules = yes
136 Number of DFA nodes merged = 0
137 Number of ifs generated = 0
138 Number of switches generated = 0
141 Adaptive matching = enabled
142 Fast string matching = disabled
143 Inline downcasts = enabled
144 --------------------------------------------------------------------------