92 #include "out_stream.h"
105 bool horizontal_set_;
112 Timestamp time_reference_;
114 std::unordered_map<uint16, std::string> variable_names_;
115 uint16 last_variable_id_;
116 std::string get_variable_name(uint16 index,
bool postfix);
117 std::string get_hlp_variable_name(uint16 index);
119 std::unordered_map<uint16, std::string> object_names_;
120 std::unordered_map<std::string, uint16> object_indices_;
121 std::string get_object_name(uint16 index);
123 void write_indent(uint16 i);
124 void write_expression_head(uint16 read_index);
125 void write_expression_tail(uint16 read_index);
126 void write_set(uint16 read_index, uint16 write_as_view_index = 0);
127 void write_any(uint16 read_index,
bool &after_tail_wildcard, uint16 write_as_view_index = 0);
133 void write_expression(uint16 read_index);
134 void write_group(uint16 read_index);
135 void write_marker(uint16 read_index);
136 void write_pgm(uint16 read_index);
137 void write_ipgm(uint16 read_index);
138 void write_icmd(uint16 read_index);
139 void write_cmd(uint16 read_index);
140 void write_fact(uint16 read_index);
141 void write_hlp(uint16 read_index);
142 void write_ihlp(uint16 read_index);
143 void write_view(uint16 read_index, uint16 arity);
145 bool partial_decompilation_;
146 bool ignore_named_objects_;
147 std::unordered_set<uint16> named_objects_;
148 std::vector<r_code::SysObject *> imported_objects_;
155 std::ostringstream *stream,
156 Timestamp time_reference,
157 bool ignore_named_objects);
159 std::ostringstream *stream,
160 Timestamp time_reference,
161 std::vector<r_code::SysObject *> &imported_objects,
162 bool include_oid =
true,
bool include_label =
true,
bool include_views =
true);
173 uint32 decompile_references(
r_comp::Image *image, std::unordered_map<uint16, std::string>* object_names = NULL);
184 void decompile_object(
185 uint16 object_index, std::ostringstream *stream, Timestamp time_reference,
bool include_oid =
true,
186 bool include_label =
true,
bool include_views =
true);
188 void decompile_object(
const std::string object_name, std::ostringstream *stream, Timestamp time_reference);