|
MimIR 0.1
MimIR is my Intermediate Representation
|
Classes | |
| class | AliasPtrn |
ptrn as id More... | |
| struct | AnnexInfo |
| struct | AnnexInfo.id |
| struct | AnnexInfo.sym |
| class | AppExpr |
callee arg More... | |
| class | ArrowExpr |
dom -> codom More... | |
| class | AST |
| class | AxmDecl |
axm ptrn: type = value; More... | |
| class | CDecl |
cfun dbg dom -> codom More... | |
| class | Decl |
| class | DeclExpr |
decls e or e where decls if where is true. More... | |
| class | DummyDecl |
| class | Emitter |
| class | ErrorExpr |
| class | ErrorPtrn |
| class | Expr |
| class | ExtractExpr |
tuple#index More... | |
| class | GrpPtrn |
If you have x1 x2 x3 x4: T it consists of 3 GrpPtrns and 1 IdPtrn while each GrpPtrn references the last IdPtrn. More... | |
| class | HoleExpr |
| class | IdExpr |
sym More... | |
| class | IdPtrn |
dbg: type More... | |
| class | Import |
| class | InjExpr |
value inj t1 ∪ t2 More... | |
| class | InsertExpr |
ins(tuple, index, value) More... | |
| class | LamDecl |
| One of: More... | |
| class | LamExpr |
| Wraps a LamDecl as Expr. More... | |
| class | LetDecl |
let ptrn: type = value; More... | |
| class | Lexer |
| class | LitExpr |
tok:type More... | |
| class | MatchExpr |
| class | Module |
| class | Node |
| class | Parser |
| Parses Mim code as AST. More... | |
| class | PiExpr |
| One of: More... | |
| class | PrimaryExpr |
tag More... | |
| class | Ptrn |
| struct | R |
| class | RecDecl |
.rec dbg: type = body More... | |
| class | RetExpr |
ret ptrn = callee $ arg; body More... | |
| class | RuleDecl |
| rewrite rules rule (x:T, y:T) : x+y => y+x (when ); all meta variables have to be introduced More... | |
| struct | S |
| class | Scopes |
| class | SeqExpr |
«dbg: arity; body» or ‹dbg: arity; body› More... | |
| class | SigmaExpr |
| Just wraps TuplePtrn as Expr. More... | |
| class | Tok |
| class | TupleExpr |
(elem_0, ..., elem_n-1) More... | |
| class | TuplePtrn |
(ptrn_0, ..., ptrn_n-1), [ptrn_0, ..., ptrn_n-1], or {ptrn_0, ..., ptrn_n-1} More... | |
| class | TypeExpr |
Type level More... | |
| class | UnionExpr |
t1 ∪ t2 More... | |
| class | UniqExpr |
⦃ expr ⦄ More... | |
| class | ValDecl |
Typedefs | |
| template<class T> | |
| using | Ptr = fe::Arena::Ptr<const T> |
| template<class T> | |
| using | Ptrs = std::deque<Ptr<T>> |
| using | Dbgs = std::deque<Dbg> |
| using | Tag = Tok::Tag |
Functions | |
| AST | load_plugins (World &, View< Sym >) |
| AST | load_plugins (World &w, View< std::string > plugins) |
| AST | load_plugins (World &w, Sym sym) |
| AST | load_plugins (World &w, const std::string &plugin) |
std::ostream operator | |
| std::ostream & | operator<< (std::ostream &os, Tok tok) |
Variables | |
| constexpr size_t | Look_Ahead = 2 |
| constexpr auto | Num_Keys = size_t(0) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) + size_t(1) |
| struct mim::ast::AnnexInfo.id |
| struct mim::ast::AnnexInfo.sym |
| using mim::ast::Dbgs = std::deque<Dbg> |
| using mim::ast::Ptr = fe::Arena::Ptr<const T> |
| using mim::ast::Ptrs = std::deque<Ptr<T>> |
| using mim::ast::Tag = Tok::Tag |
Definition at line 192 of file ast.cpp.
References mim::Flags::bootstrap, mim::World::driver(), mim::Driver::flags(), and mim::Driver::load().
Referenced by load_plugins(), load_plugins(), and load_plugins().
Definition at line 1136 of file ast.h.
References load_plugins().
Definition at line 1135 of file ast.h.
References load_plugins().
Definition at line 1132 of file ast.h.
References load_plugins().
| std::ostream & mim::ast::operator<< | ( | std::ostream & | os, |
| Tok | tok ) |
|
constexpr |