MimIR 0.1
MimIR is my Intermediate Representation
|
axm ptrn: type = value;
More...
#include <mim/ast/ast.h>
Classes | |
class | Alias |
Public Member Functions | |
AxiomDecl (Loc loc, Dbg dbg, std::deque< Ptrs< Alias > > &&subs, Ptr< Expr > &&type, Dbg normalizer, Tok curry, Tok trip) | |
Dbg | dbg () const |
const auto & | subs () const |
size_t | num_subs () const |
const auto & | sub (size_t i) const |
const Expr * | type () const |
Dbg | normalizer () const |
Tok | curry () const |
Tok | trip () const |
void | bind (Scopes &) const override |
void | emit (Emitter &) const override |
std::ostream & | stream (Tab &, std::ostream &) const override |
![]() | |
const Def * | def () const |
![]() | |
Loc | loc () const |
void | dump () const |
Additional Inherited Members | |
![]() | |
ValDecl (Loc loc) | |
![]() | |
Decl (Loc loc) | |
![]() | |
Node (Loc loc) | |
virtual | ~Node () |
![]() | |
const Def * | def_ = nullptr |
|
inline |
Definition at line 793 of file ast.h.
References curry(), dbg(), mim::ast::Node::loc(), normalizer(), subs(), trip(), type(), and mim::ast::ValDecl::ValDecl().
Referenced by bind().
|
overridevirtual |
Implements mim::ast::ValDecl.
Definition at line 226 of file bind.cpp.
References AxiomDecl(), dbg(), mim::ast::Node::loc(), normalizer(), num_subs(), subs(), and type().
|
inline |
Definition at line 808 of file ast.h.
Referenced by AxiomDecl(), emit(), and stream().
|
inline |
Definition at line 802 of file ast.h.
Referenced by AxiomDecl(), mim::ast::AxiomDecl::Alias::bind(), bind(), emit(), and stream().
|
overridevirtual |
Implements mim::ast::ValDecl.
Definition at line 347 of file emit.cpp.
References curry(), dbg(), mim::ast::Decl::def_, mim::error(), mim::Axiom::infer_curry_and_trip(), mim::ast::Node::loc(), num_subs(), sub(), trip(), and type().
|
inline |
Definition at line 807 of file ast.h.
Referenced by AxiomDecl(), bind(), and stream().
|
inline |
|
overridevirtual |
Implements mim::ast::Node.
Definition at line 162 of file stream.cpp.
References curry(), dbg(), normalizer(), num_subs(), mim::print(), subs(), trip(), and type().
|
inline |
|
inline |
Definition at line 803 of file ast.h.
Referenced by AxiomDecl(), bind(), and stream().
|
inline |
Definition at line 809 of file ast.h.
Referenced by AxiomDecl(), emit(), and stream().
|
inline |