Public Member Functions | Protected Attributes | Private Attributes

c_sub_exp_oper Class Reference

#include <c_tree_shared.h>

Inheritance diagram for c_sub_exp_oper:
Collaboration diagram for c_sub_exp_oper:

List of all members.

Public Member Functions

 c_sub_exp_oper (int oper_index)
virtual ~c_sub_exp_oper ()
void add_conditional_micro_and (c_micro_log_and *m)
void add_conditional_micro_or (c_micro_log_or *m)
bool add_eval (c_sub_exp *el)
void add_same_prec_opers (c_sub_exp_oper *el)
virtual const c_exp_sanitycan_follow (c_sub_exp &right)
virtual const c_exp_sanitycan_precede (c_sub_exp_const *left)
virtual const c_exp_sanitycan_precede (c_sub_exp_ternary_true_end_marker *left)
virtual const c_exp_sanitycan_precede (c_sub_exp_func *left)
virtual const c_exp_sanitycan_precede (c_sub_exp_eval_str *left)
virtual const c_exp_sanitycan_precede (c_sub_exp_immediate_str *left)
virtual const c_exp_sanitycan_precede (c_sub_exp_func_end_args *left)
virtual const c_exp_sanitycan_precede (c_sub_exp_oper *left)
virtual const c_exp_sanitycan_precede (c_sub_exp_oper_ternary *left)
virtual const c_exp_sanitycan_precede (c_sub_exp_oper_ternary_true *left)
virtual const c_exp_sanitycan_precede (c_sub_exp_oper_ternary_false *left)
virtual const c_exp_sanitycan_precede (c_sub_exp_contitional_node_helper *left)
virtual const c_exp_sanitycan_precede (c_sub_exp_end_parenthesis *left)
virtual const c_exp_sanitycan_precede (c_sub_exp_end_index *left)
virtual const c_exp_sanitycan_precede (c_sub_exp_func_arg_separator *left)
virtual const c_exp_sanitycan_precede (c_sub_exp_conditional_end_marker *left)
virtual const c_exp_sanitycan_precede (c_sub_exp_dummy *left)
virtual const c_exp_sanitycan_precede (c_sub_exp_ternary_false_end_marker *left)
virtual const c_exp_sanitycan_precede (c_sub_exp_numeric_immediate *left)
virtual const c_exp_sanitycan_precede (c_sub_exp_root *left)
virtual const c_exp_sanitycan_precede (c_sub_exp_root_end_dummy *left)
virtual const c_exp_sanitycan_precede (c_sub_exp_parenthesis *left)
virtual const c_exp_sanitycan_precede (c_sub_exp_index *left)
virtual const c_exp_sanitycan_precede (c_sub_exp_variable *left)
virtual void compile (c_tree_microcode &tm_callback)
bool compiled ()
virtual bool complete (tree< c_sub_exp * > &t)
virtual bool emit_evaluation_order (list< c_sub_exp * > &st, list< c_sub_exp * >::iterator where)
virtual string emit_human_desc (string::size_type indent)
virtual string emit_human_microcode (string::size_type indent)
virtual void emit_microcode (c_expression &expression, c_micro_symbol_variable_mapping &symbols)
vector< c_sub_exp_oper * > & get_all_conditionals ()
vector< c_micro_log_and * > & get_all_conditionals_micro_and ()
vector< c_micro_log_or * > & get_all_conditionals_micro_or ()
int get_depth ()
const vector< c_sub_exp * > & get_eval ()
const vector< c_sub_exp * > & get_eval () const
const c_oper_descget_oper () const
int get_oper_index () const
virtual int get_prec ()
bool get_return_complete ()
var_sym_index_t get_var_id ()
void reset_evaluation_order_emited ()
void set_all_conditionals (const vector< c_sub_exp_oper * > &all_conditionals)
virtual void set_complete ()
void set_depth (int depth)
void set_postfix (bool postfix)
void set_return_complete ()

Protected Attributes

int m_depth
vector< c_sub_exp * > m_eval
bool m_evaluation_order_emited
const c_oper_descm_oper
int m_oper_index
var_sym_index_t m_var_id

Private Attributes

vector< c_sub_exp_oper * > m_all_conditionals
vector< c_micro_log_and * > m_all_conditionals_micro_and
vector< c_micro_log_or * > m_all_conditionals_micro_or
bool m_postfix
bool m_return_complete
vector< c_sub_exp * > m_same_prec_opers

Detailed Description

Definition at line 750 of file c_tree_shared.h.


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

Generated on Sat Aug 7 2010 15:36:28 for VooDoo cIRCle by doxygen 1.7.1

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