Thorin 1.9.0
The Higher ORder INtermediate representation
|
Classes | |
struct | AnnexInfo |
struct | AnnexInfo.id |
struct | AnnexInfo.sym |
class | AppExpr |
callee arg More... | |
class | ArrOrPackExpr |
«dbg: shape; body» or ‹dbg: shape; body› More... | |
class | ArrowExpr |
dom -> codom More... | |
class | AST |
class | AxiomDecl |
.ax ptrn: type = value; More... | |
class | BlockExpr |
{ e } 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 | Expr |
class | ExtractExpr |
tuple#index More... | |
class | GrpPtrn |
dbg_0 ... dbg_n-2 id where id = dbg_n-1: type More... | |
class | IdExpr |
sym More... | |
class | IdPtrn |
dbg: type More... | |
class | Import |
class | InferExpr |
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 | Module |
class | Node |
class | Parser |
Parses Thorin 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... | |
struct | S |
class | Scopes |
class | SigmaExpr |
Just wraps TuplePtrn as Expr. More... | |
class | Tok |
class | TupleExpr |
(elem_0, ..., elem_n-1) More... | |
class | TuplePtrn |
dbg::(ptrn_0, ..., ptrn_n-1) or dbg::[ptrn_0, ..., ptrn_n-1] More... | |
class | TypeExpr |
.Type level 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 | ArrExpr = ArrOrPackExpr< true > |
using | PackExpr = ArrOrPackExpr< false > |
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) |
Precedence | |
enum class | Prec { Err , Bot , Where , Arrow , Pi , App , Extract , Lit } |
constexpr bool | is_rassoc (Prec p) |
struct thorin::ast::AnnexInfo.id |
struct thorin::ast::AnnexInfo.sym |
using thorin::ast::ArrExpr = typedef ArrOrPackExpr<true> |
using thorin::ast::Dbgs = typedef std::deque<Dbg> |
using thorin::ast::PackExpr = typedef ArrOrPackExpr<false> |
using thorin::ast::Ptr = typedef fe::Arena::Ptr<const T> |
using thorin::ast::Ptrs = typedef std::deque<Ptr<T> > |
typedef Tok::Tag thorin::ast::Tag |
|
strong |
|
inlineconstexpr |
Definition at line 184 of file ast.cpp.
References thorin::Flags::bootstrap, thorin::ast::Module::compile(), thorin::World::driver(), thorin::Driver::flags(), and thorin::Driver::load().
Referenced by load_plugins(), load_plugins(), and load_plugins().
Definition at line 965 of file ast.h.
References load_plugins().
Definition at line 964 of file ast.h.
References load_plugins().
Definition at line 961 of file ast.h.
References load_plugins().
std::ostream & thorin::ast::operator<< | ( | std::ostream & | os, |
Tok | tok | ||
) |
|
constexpr |