Public Types | |
enum | simplify_kind { SIMPLIFY , MATCH } |
Public Member Functions | |
simplify (simplify_kind kind_, unsigned id_, operand *match_, operand *result_, vec< vec< user_id * > > for_vec_, cid_map_t *capture_ids_) |
Data Fields | |
simplify_kind | kind |
unsigned | id |
operand * | match |
class operand * | result |
vec< vec< user_id * > > | for_vec |
vec< std::pair< user_id *, id_base * > > | for_subst_vec |
cid_map_t * | capture_ids |
int | capture_max |
The main class of a pattern and its transform. This is used to represent both (simplify ...) and (match ...) kinds. The AST duplicates all outer 'if' and 'for' expressions here so each simplify can exist in isolation.
|
inline |
References capture_ids, capture_max, for_subst_vec, for_vec, id, kind, match, result, and vNULL.
cid_map_t* simplify::capture_ids |
Referenced by simplify().
int simplify::capture_max |
Referenced by simplify().
Referenced by lower_cond(), lower_for(), and simplify().
Referenced by simplify().
unsigned simplify::id |
Referenced by simplify().
simplify_kind simplify::kind |
Referenced by simplify().
operand* simplify::match |
Referenced by dt_node::append_simplify(), and simplify().
class operand* simplify::result |
Referenced by simplify().