|
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.