#include <eseq.hh>
Public Types |
|
enum | kind_tree_type {
const_kind,
name_kind,
temp_kind,
binop_kind,
mem_kind,
call_kind,
eseq_kind,
move_kind,
sxp_kind,
jump_kind,
cjump_kind,
seq_kind,
label_kind
} |
| The kinds of Tree instuctions. More...
|
Member Enumeration Documentation
The kinds of Tree instuctions.
These flags are used to facilitate the pattern matching during instruction selection. This method is not very clean nevertheless this way is cleaner and more efficient than the use of dynamic_cast<>().
- Enumerator:
const_kind |
|
name_kind |
|
temp_kind |
|
binop_kind |
|
mem_kind |
|
call_kind |
|
eseq_kind |
|
move_kind |
|
sxp_kind |
|
jump_kind |
|
cjump_kind |
|
seq_kind |
|
label_kind |
|
Constructor & Destructor Documentation
tree::Eseq::Eseq |
( |
const rStm & |
stm, |
|
|
const rExp & |
exp |
|
) |
| |
|
inline |
Member Function Documentation
void tree::Tree::asm_set |
( |
const temp::Temp & |
temp | ) |
|
|
inlineinherited |
rTree & tree::Tree::child_get |
( |
int |
nth | ) |
|
|
inlineinherited |
References tree::Tree::children_, and postcondition.
Referenced by tree::Move::dst_get(), tree::Sxp::exp_get(), tree::Jump::exp_get(), tree::Mem::exp_get(), exp_get(), tree::Cjump::flip(), tree::Cjump::label_false_get(), tree::Jump::label_get(), tree::Cjump::label_true_get(), tree::Binop::left_get(), tree::Cjump::left_get(), tree::Tree::left_get(), tree::Binop::right_get(), tree::Cjump::right_get(), tree::Tree::right_get(), tree::Move::src_get(), and stm_get().
rTree tree::Tree::child_get |
( |
int |
nth | ) |
const |
|
inlineinherited |
void tree::Tree::child_push_back |
( |
const rTree & |
tree | ) |
|
|
inlineinherited |
std::ostream & tree::Eseq::dump |
( |
std::ostream & |
o | ) |
const |
|
overridevirtual |
rExp tree::Eseq::exp_get |
( |
| ) |
const |
|
inline |
rTree & tree::Tree::left_get |
( |
| ) |
|
|
inlineinherited |
Tree * tree::Tree::parent_get |
( |
| ) |
|
|
inlineinherited |
const Tree * tree::Tree::parent_get |
( |
| ) |
const |
|
inlineinherited |
void tree::Tree::parent_get_assert |
( |
| ) |
const |
|
inherited |
void tree::Tree::parent_set |
( |
Tree * |
parent | ) |
|
|
inlineinherited |
bool tree::Tree::reducible_get |
( |
| ) |
const |
|
inlineinherited |
void tree::Tree::reducible_set |
( |
bool |
b | ) |
|
|
inlineinherited |
void tree::Tree::replace_by |
( |
const rTree & |
tree | ) |
|
|
inherited |
rTree & tree::Tree::right_get |
( |
| ) |
|
|
inlineinherited |
void * tree::Tree::state_get |
( |
| ) |
const |
|
inlineinherited |
void *& tree::Tree::state_get |
( |
| ) |
|
|
inlineinherited |
rStm tree::Eseq::stm_get |
( |
| ) |
const |
|
inline |
std::ostream & tree::Eseq::tag_print |
( |
std::ostream & |
o | ) |
const |
|
overridevirtual |
Member Data Documentation
Tree* tree::Tree::parent_ = nullptr |
|
protectedinherited |
bool tree::Tree::reducible_ = true |
|
protectedinherited |
void* tree::Tree::state_ = nullptr |
|
protectedinherited |
The documentation for this class was generated from the following files: