Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends

c_tree_microcode Class Reference

#include <c_tree_microcode.h>

Inheritance diagram for c_tree_microcode:
Collaboration diagram for c_tree_microcode:

List of all members.

Public Member Functions

 c_tree_microcode (const string &exp, c_expression &expression, c_micro_symbol_variable_mapping &symbols)
virtual ~c_tree_microcode ()
var_sym_index_t add_const_bool_var (bool val)
var_sym_index_t add_const_built_in (const string &name)
var_sym_index_t add_const_int_var (long long num)
var_sym_index_t add_const_null_var ()
var_sym_index_t add_const_str_var (const string &str)
var_sym_index_t add_eval_str_var (const string &str)
var_sym_index_t add_temp_var ()
var_sym_index_t add_var (const string &var_name)
string emit_human_evaluation ()
string emit_human_microcode ()
string emit_human_microcode (string::size_type indent)
void emit_human_tree (string &out)
string::size_type get_error_column ()
string get_exp ()
var_sym_index_t get_first_variable ()
string get_human_error ()
const vector< string > & get_warnings ()
bool has_error ()
virtual void process ()

Protected Member Functions

void add_base_of_subscript_as_excluded (c_sub_exp_variable *base)
string concat_column (const string &msg)
void destroy ()
void error (e_compiler_error error, string::size_type column)
bool get_oper (const string &exp, string::size_type &start, int &oper_idx)

Protected Attributes

string::size_type m_e_column
e_compiler_error m_error
string m_exp
tree< c_sub_exp * > m_exp_tree
vector< c_sub_exp * > m_extra
vector< c_sub_exp * > m_flow
vector< vector< c_sub_exp * > > m_groups
vector< string > m_messages
c_sub_exproot

Private Member Functions

void collect_conditionals ()
void compile_to_microcode ()
void emit_microcode (c_expression &expression, c_micro_symbol_variable_mapping &symbols)
void exclude_bases_of_subscriptps ()
void my_unique (list< c_sub_exp * > &lst)

Private Attributes

vector< c_sub_exp_variable * > m_excluded
c_expressionm_expression
var_sym_index_t m_first_variable
list< c_sub_exp * > m_stream
map< c_sub_exp *, bool > m_stream_microcode_emitted
c_micro_symbol_variable_mappingm_symbols

Friends

class c_sub_exp_variable
class c_tree_groupper

Detailed Description

Definition at line 34 of file c_tree_microcode.h.


The documentation for this class was generated from the following files:

Generated on Sat Aug 7 2010 15:37:58 for VooDoo cIRCle by doxygen 1.7.1

Get VooDoo cIRCle at SourceForge.net. Fast, secure and Free Open Source software downloads