|
MimIR 0.1
MimIR is my Intermediate Representation
|
Go to the source code of this file.
Classes | |
| class | mim::ast::Tok |
Namespaces | |
| namespace | mim |
| namespace | mim::ast |
Macros | |
| #define | CODE(name, ...) |
| #define | CODE(name, assoc) |
| #define | MIM_KEY(m) |
| #define | CODE(t, str) |
| #define | MIM_TOK(m) |
| #define | MIM_SUBST(m) |
| #define | CODE(t, str) |
Precedence Table | |
X-macro listing all expression precedences from lowest to highest. Each entry is m(name, assoc) where | |
| #define | MIM_PREC(m) |
Enumerations | |
| enum class | mim::ast::Assoc { mim::ast::N , mim::ast::L , mim::ast::R } |
| Associativity of an infix expression. More... | |
| enum class | mim::ast::Prec |
| Expression precedences used by the parser and the dumper; ordered low to high. More... | |
Functions | |
| constexpr Assoc | mim::ast::prec_assoc (Prec p) |
Associativity of precedence level p. | |
| constexpr bool | mim::ast::is_rassoc (Prec p) |
| constexpr bool | mim::ast::is_lassoc (Prec p) |
| constexpr bool | mim::ast::should_reduce (Prec curr, Prec op) |
Should a Pratt parser reduce when the current binding power is curr and the infix operator has precedence op? | |
Variables | |
| constexpr auto | mim::ast::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) + size_t(1) |
| #define CODE | ( | name, | |
| assoc ) |
| #define CODE | ( | name, | |
| ... ) |
Definition at line 38 of file tok.h.
Referenced by mim::Def::judge(), mim::ast::Lexer::Lexer(), mim::Def::node_name(), mim::ast::prec_assoc(), and mim::ast::Tok::tag2str().
| #define MIM_KEY | ( | m | ) |
Definition at line 61 of file tok.h.
Referenced by mim::ast::Lexer::Lexer(), and mim::ast::Tok::tag2str().
| #define MIM_PREC | ( | m | ) |
Definition at line 19 of file tok.h.
Referenced by mim::ast::prec_assoc().
| #define MIM_SUBST | ( | m | ) |
Definition at line 157 of file tok.h.
Referenced by mim::ast::Lexer::Lexer().
| #define MIM_TOK | ( | m | ) |
Definition at line 113 of file tok.h.
Referenced by mim::ast::Tok::tag2str().