tan
0.0.1
|
Represent if-[else] or if-elif-[else] statements. More...
#include <stmt.h>
Public Member Functions | |
str | terminal_token () const override |
Which terminal token is expected immediately after this node. More... | |
void | add_if_then_branch (Expr *pred, Stmt *branch) |
void | add_else_branch (Stmt *branch) |
Expr * | get_predicate (size_t i) const |
void | set_predicate (size_t i, Expr *expr) |
Stmt * | get_branch (size_t i) const |
size_t | get_num_branches () const |
vector< ASTBase * > | get_children () const override |
Get a ordered list of child nodes. More... | |
Public Member Functions inherited from tanlang::Stmt | |
bool | is_stmt () const override |
bool | is_expr () 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 |
Static Public Member Functions | |
static If * | Create (TokenizedSourceFile *src) |
Protected Member Functions | |
If (TokenizedSourceFile *src) | |
Protected Member Functions inherited from tanlang::Stmt | |
Stmt (ASTNodeType type, TokenizedSourceFile *src) | |
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 | |
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... | |
|
explicitprotected |
|
overridevirtual |
Get a ordered list of child nodes.
Reimplemented from tanlang::Stmt.
Expr * If::get_predicate | ( | size_t | i | ) | const |
|
inlineoverridevirtual |
Which terminal token is expected immediately after this node.
Reimplemented from tanlang::ASTBase.