MimIR 0.1
MimIR is my Intermediate Representation
|
#include <mim/rewrite.h>
Public Member Functions | |
VarRewriter (World &world) | |
VarRewriter (const Var *var, const Def *arg) | |
void | add (const Var *var, const Def *arg) |
void | push () final |
void | pop () final |
const Def * | rewrite (const Def *old_def) final |
bool | descend (const Def *old_def) |
const Def * | rewrite_mut (Def *mut) final |
![]() | |
Rewriter (World &world) | |
World & | world () |
const Def * | map (const Def *old_def, const Def *new_def) |
Map old_def to new_def and returns new_def . | |
const Def * | lookup (const Def *old_def) |
Lookup old_def by searching in reverse through the stack of maps. | |
virtual const Def * | dispatch (const Def *) |
virtual const Def * | rewrite_imm (const Def *) |
virtual const Def * | rewrite_arr (const Arr *arr) |
virtual const Def * | rewrite_pack (const Pack *pack) |
virtual const Def * | rewrite_seq (const Seq *) |
virtual const Def * | rewrite_extract (const Extract *) |
virtual const Def * | rewrite_hole (Hole *) |
|
inline |
Definition at line 60 of file rewrite.h.
References mim::Rewriter::Rewriter(), and mim::Rewriter::world().
Definition at line 63 of file rewrite.h.
References add(), mim::Rewriter::Rewriter(), and mim::Rewriter::world().
Definition at line 68 of file rewrite.h.
References mim::Rewriter::map().
Referenced by VarRewriter().
Definition at line 91 of file rewrite.h.
References mim::Def::free_vars(), mim::Hole, and mim::Def::isa_imm().
Referenced by rewrite().
|
inlinefinalvirtual |
Reimplemented from mim::Rewriter.
Definition at line 78 of file rewrite.h.
References mim::Rewriter::pop().
|
inlinefinalvirtual |
Reimplemented from mim::Rewriter.
Definition at line 73 of file rewrite.h.
References mim::Rewriter::push().
Reimplemented from mim::Rewriter.
Definition at line 83 of file rewrite.h.
References descend(), mim::Rewriter::dispatch(), mim::Rewriter::lookup(), mim::World::univ(), and mim::Rewriter::world().
Referenced by mim::World::extract(), and mim::plug::direct::op_cps2ds_dep().
Reimplemented from mim::Rewriter.
Definition at line 103 of file rewrite.h.
References mim::Rewriter::rewrite_mut(), mim::World::vars(), and mim::Rewriter::world().