1 //////////////////////////////////////////////////////////////////////////////
3 // This file defines the Prop visualizer. It provides an interface
4 // to various low level VCG functionalities.
6 //////////////////////////////////////////////////////////////////////////////
7 #ifndef prop_visualizer_h
8 #define prop_visualizer_h
11 #include <AD/visualize/vcg.h>
14 //////////////////////////////////////////////////////////////////////////////
16 // The PropVisualizer class controls datatype layout formats.
18 //////////////////////////////////////////////////////////////////////////////
19 class PropVisualizer
: public VCG
, private CodeGen
20 { PropVisualizer (const PropVisualizer
&); // no copy constructor
21 void operator = (const PropVisualizer
&); // no assignment
25 char text_buffer
[1024];
26 std::ostrstream label_text
;
31 virtual ~PropVisualizer();
33 ///////////////////////////////////////////////////////////////////////////
35 // Methods to visualize various form of Prop constructs.
37 ///////////////////////////////////////////////////////////////////////////
38 void visualize_datatype_definitions ();
40 ///////////////////////////////////////////////////////////////////////////
42 // Methods to make a nice label
44 ///////////////////////////////////////////////////////////////////////////
45 void add_label (const char *, ...);
47 void add_type (Id constructor_name
, Id label
, Ty ty
, int anchor
);
49 va_list printer(char,va_list);