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

c_tree_groupper Class Reference

#include <c_tree_groupper.h>

Inheritance diagram for c_tree_groupper:
Collaboration diagram for c_tree_groupper:

List of all members.

Public Member Functions

 c_tree_groupper (const string &exp)
virtual ~c_tree_groupper ()
string emit_human_evaluation ()
string emit_human_microcode (string::size_type indent)
void emit_human_tree (string &out)
string::size_type get_error_column ()
string get_exp ()
string get_human_error ()
const vector< string > & get_warnings ()
bool has_error ()

Protected Member Functions

virtual void add_base_of_subscript_as_excluded (c_sub_exp_variable *base)=0
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)
virtual void process ()

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

bool children_complete (tree< c_sub_exp * >::iterator where)
bool completed (e_assoc direction, tree< c_sub_exp * >::iterator start, bool only_first=false)
int get_deepest ()
c_sub_expget_right (tree< c_sub_exp * >::iterator start, bool only_one=true, bool same_depth=true)
void group_children (tree< c_sub_exp * >::iterator where, vector< c_sub_exp * > &group)
void include_children (c_sub_exp *parent, tree< c_sub_exp * >::iterator where, tree< c_sub_exp * >::iterator protect, vector< c_sub_exp * > *group)
void include_function_args (const tree< c_sub_exp * >::iterator &parent)
bool process_oper_binary (vector< c_sub_exp * > &group, const tree< c_sub_exp * >::iterator &where)
bool process_oper_binary_or_unary (vector< c_sub_exp * > &group, const tree< c_sub_exp * >::iterator &where)
bool process_oper_conditional (vector< c_sub_exp * > &group, const tree< c_sub_exp * >::iterator &where)
bool process_oper_unary (const tree< c_sub_exp * >::iterator &where)
bool sanity_check (const vector< c_sub_exp * > &group)
bool set_index_base (tree< c_sub_exp * >::iterator where)

Private Attributes

tree< c_sub_exp * > m_elim_tree
int m_prec
vector< c_sub_exp * > m_to_process

Friends

class c_sub_exp_conditional_end_marker

Detailed Description

Definition at line 21 of file c_tree_groupper.h.


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

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

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