MimIR 0.1
MimIR is my Intermediate Representation
|
#include <mim/ast/tok.h>
Public Member Functions | |
Tok () | |
Tok (Loc loc, Tag tag) | |
Tok (Loc loc, char8_t c) | |
Tok (Loc loc, uint64_t u) | |
Tok (Loc loc, int64_t s) | |
Tok (Loc loc, double d) | |
Tok (Loc loc, const Lit *i) | |
Tok (Loc loc, Tag tag, Sym sym) | |
bool | isa (Tag tag) const |
Tag | tag () const |
Dbg | dbg () const |
Loc | loc () const |
operator bool () const | |
const Lit * | lit_i () const |
char8_t | lit_c () const |
uint64_t | lit_u () const |
Sym | sym () const |
std::string | str () const |
Friends | |
std::ostream & | operator<< (std::ostream &os, Tok tok) |
std::ostream & | operator<< (std::ostream &os, Tok::Tag tag) |
Tag | |
enum class | Tag { Nil , CODE , K_module , K_import , K_plugin , K_and , K_ax , K_let , K_rec , K_ret , K_where , K_end , K_Nat , K_Idx , K_extern , K_Type , K_Univ , K_Cn , K_Fn , K_con , K_fun , K_lam , K_ccon , K_cfun , K_cn , K_fn , K_ff , K_tt , K_ins , K_i1 , K_i8 , K_i16 , K_i32 , K_i64 , K_Bool , K_I1 , K_I8 , K_I16 , K_I32 , K_I64 , EoF , L_s , L_u , L_i , L_f , L_c , L_str , M_id , M_anx , D_angle_l , D_angle_r , D_brace_l , D_brace_r , D_brckt_l , D_brckt_r , D_paren_l , D_paren_r , D_quote_l , D_quote_r , T_arrow , T_assign , T_at , T_backtick , T_bot , T_top , T_box , T_colon , T_colon_colon , T_comma , T_dollar , T_dot , T_extract , T_lm , T_semicolon , T_star } |
static const char * | tag2str (Tok::Tag) |
static constexpr Tok::Tag | delim_l2r (Tag tag) |
|
strong |
|
inline |
|
inline |
Definition at line 132 of file tok.h.
References tag().
Referenced by mim::ast::TuplePtrn::delim_r().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 169 of file tok.h.
Referenced by delim_l2r(), isa(), mim::ast::LitExpr::tag(), tag2str(), and Tok().
|
static |
|
friend |
|
friend |