MimIR
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
rewrite.h File Reference
#include <fe/restore.h>
#include "mim/check.h"
#include "mim/def.h"
#include "mim/lam.h"
#include "mim/nom.h"
#include "mim/rule.h"
#include "mim/single.h"
#include "mim/tuple.h"
#include "mim/union.h"
Include dependency graph for rewrite.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  mim::Rewriter
 Recurseivly rebuilds part of a program into the provided World w.r.t. Rewriter::map. More...
struct  mim::Rewriter::Scope
class  mim::VarRewriter
 Extends Rewriter for variable substitution. More...
class  mim::Zonker
class  mim::Importer
 Imports from Driver::library: an annex therein is looked up via World::annex, so it is imported only once. More...

Namespaces

namespace  mim

Macros

rewrite

Recursively rewrite old Defs.

#define CODE_IMM(N)
#define CODE_MUT(N)

Class Documentation

◆ mim::Rewriter::Scope

struct mim::Rewriter::Scope

Definition at line 122 of file rewrite.h.

Class Members
Vars new_vars
Def2Def old2new
Vars old_vars Only mappings depending on these go here; the root's are VarRewriter's substitutions.

Macro Definition Documentation

◆ CODE_IMM

#define CODE_IMM ( N)
Value:
virtual const Def* rewrite_imm_##N(const N*);

Definition at line 86 of file rewrite.h.

Referenced by mim::Rewriter::rewrite_imm(), and mim::Rewriter::rewrite_imm_App().

◆ CODE_MUT

#define CODE_MUT ( N)
Value:
virtual const Def* rewrite_mut_##N(N*);

Definition at line 87 of file rewrite.h.