tan
0.0.1
|
A generic representation of Intrinsic variables/functions. More...
#include <intrinsic.h>
Public Member Functions | |
IntrinsicType | get_intrinsic_type () const |
void | set_intrinsic_type (IntrinsicType intrinsic_type) |
ASTBase * | get_sub () const |
void | set_sub (ASTBase *sub) |
vector< ASTBase * > | get_children () const override |
Get a ordered list of child nodes. More... | |
str | terminal_token () const override |
Which terminal token is expected immediately after this node. More... | |
Public Member Functions inherited from tanlang::Expr | |
virtual bool | is_comptime_known () |
virtual bool | is_lvalue () |
virtual void | set_lvalue (bool is_lvalue) |
bool | is_expr () const override |
bool | is_stmt () const override |
Public Member Functions inherited from tanlang::ASTBase | |
ASTBase (ASTNodeType node_type, TokenizedSourceFile *src, int bp) | |
ASTNodeType | get_node_type () const |
void | set_node_type (ASTNodeType node_type) |
int | get_bp () const |
Context * | ctx () |
str | repr (const str &prefix="-") const |
AST tree string representation. More... | |
Public Member Functions inherited from tanlang::SourceTraceable | |
SourceTraceable (TokenizedSourceFile *src) | |
uint32_t | start () const |
uint32_t | end () const |
void | set_start (uint32_t val) |
void | set_end (uint32_t val) |
TokenizedSourceFile * | src () const |
Public Member Functions inherited from tanlang::Typed | |
virtual Type * | get_type () const |
virtual void | set_type (Type *type) |
Public Member Functions inherited from tanlang::ASTNamed | |
str | get_name () const |
void | set_name (const str &name) |
Static Public Member Functions | |
static Intrinsic * | Create (TokenizedSourceFile *src) |
static vector< FunctionDecl * > | GetIntrinsicFunctionDeclarations () |
Generate a list of intrinsics function prototypes/declarations, such as @abort More... | |
Static Public Attributes | |
static umap< str, IntrinsicType > | INTRINSIC_NAME_TO_TYPES |
A mapping from intrinsic names to IntrinsicType. More... | |
static const str | STACK_TRACE_FUNCTION_REAL_NAME = "__tan_runtime_stack_trace" |
static const str | TEST_COMP_ERROR_NAME = "test_comp_error" |
static const str | ABORT_NAME = "abort" |
static const str | COMP_PRINT_NAME = "compprint" |
Static Public Attributes inherited from tanlang::ASTBase | |
static umap< ASTNodeType, str > | ASTTypeNames |
string representation of ASTNodeType More... | |
static umap< ASTNodeType, int > | OpPrecedence |
operator precedence of tokens More... | |
Protected Member Functions | |
Intrinsic (TokenizedSourceFile *src) | |
Protected Member Functions inherited from tanlang::Expr | |
Expr (ASTNodeType type, TokenizedSourceFile *src, int bp) | |
Protected Member Functions inherited from tanlang::ASTBase | |
virtual str | to_string (bool include_source_code=false) const |
Different from repr, to_string output doesn't include child nodes. More... | |
virtual ASTBase * | get () const |
Get the "actual" this. Used for implementing proxy classes. More... | |
Additional Inherited Members | |
Protected Attributes inherited from tanlang::Expr | |
bool | _is_lvalue = false |
A generic representation of Intrinsic variables/functions.
Definition at line 55 of file intrinsic.h.
|
overridevirtual |
Get a ordered list of child nodes.
Reimplemented from tanlang::Expr.
Definition at line 67 of file intrinsic.cpp.
References tanlang::ASTBase::get_children().
|
static |
Generate a list of intrinsics function prototypes/declarations, such as @abort
Definition at line 35 of file intrinsic.cpp.
Referenced by tanlang::CompilerDriver::parse().
|
overridevirtual |
Which terminal token is expected immediately after this node.
Reimplemented from tanlang::ASTBase.
Definition at line 74 of file intrinsic.cpp.
|
static |
A mapping from intrinsic names to IntrinsicType.
Definition at line 65 of file intrinsic.h.