sammine-lang
|
Public Member Functions | |
virtual void | enter_new_scope () override |
virtual void | exit_new_scope () override |
virtual void | visit (ProgramAST *ast) override |
virtual void | visit (VarDefAST *ast) override |
virtual void | visit (ExternAST *ast) override |
virtual void | visit (FuncDefAST *ast) override |
virtual void | visit (RecordDefAST *ast) override |
virtual void | visit (PrototypeAST *ast) override |
virtual void | visit (CallExprAST *ast) override |
virtual void | visit (BinaryExprAST *ast) override |
virtual void | visit (NumberExprAST *ast) override |
virtual void | visit (StringExprAST *ast) override |
virtual void | visit (BoolExprAST *ast) override |
virtual void | visit (VariableExprAST *ast) override |
virtual void | visit (BlockAST *ast) override |
virtual void | visit (ReturnExprAST *ast) override |
virtual void | visit (IfExprAST *ast) override |
virtual void | visit (UnitExprAST *ast) override |
virtual void | visit (TypedVarAST *ast) override |
virtual void | preorder_walk (ProgramAST *ast) override |
virtual void | preorder_walk (VarDefAST *ast) override |
virtual void | preorder_walk (ExternAST *ast) override |
virtual void | preorder_walk (FuncDefAST *ast) override |
virtual void | preorder_walk (RecordDefAST *ast) override |
virtual void | preorder_walk (PrototypeAST *ast) override |
virtual void | preorder_walk (CallExprAST *ast) override |
virtual void | preorder_walk (ReturnExprAST *ast) override |
virtual void | preorder_walk (BinaryExprAST *ast) override |
virtual void | preorder_walk (NumberExprAST *ast) override |
virtual void | preorder_walk (StringExprAST *ast) override |
virtual void | preorder_walk (BoolExprAST *ast) override |
virtual void | preorder_walk (VariableExprAST *ast) override |
virtual void | preorder_walk (BlockAST *ast) override |
virtual void | preorder_walk (IfExprAST *ast) override |
virtual void | preorder_walk (UnitExprAST *ast) override |
virtual void | preorder_walk (TypedVarAST *ast) override |
virtual void | postorder_walk (ProgramAST *ast) override |
virtual void | postorder_walk (VarDefAST *ast) override |
virtual void | postorder_walk (ExternAST *ast) override |
virtual void | postorder_walk (FuncDefAST *ast) override |
virtual void | postorder_walk (RecordDefAST *ast) override |
virtual void | postorder_walk (PrototypeAST *ast) override |
virtual void | postorder_walk (CallExprAST *ast) override |
virtual void | postorder_walk (ReturnExprAST *ast) override |
virtual void | postorder_walk (BinaryExprAST *ast) override |
virtual void | postorder_walk (NumberExprAST *ast) override |
virtual void | postorder_walk (StringExprAST *ast) override |
virtual void | postorder_walk (BoolExprAST *ast) override |
virtual void | postorder_walk (VariableExprAST *ast) override |
virtual void | postorder_walk (BlockAST *ast) override |
virtual void | postorder_walk (IfExprAST *ast) override |
virtual void | postorder_walk (UnitExprAST *ast) override |
virtual void | postorder_walk (TypedVarAST *ast) override |
void | safeguard_visit (AstBase *ast, const std::string &msg) |
![]() | |
virtual void | abort (const std::string &msg="<NO MESSAGE>") override final |
![]() | |
iterator | begin () |
iterator | end () |
const_iterator | begin () const |
const_iterator | end () const |
const_iterator | cbegin () const |
const_iterator | cend () const |
template<explicitly_bool_like T> | |
void | abort_on (const T &condition, const std::string &message="<NO MESSAGE>") |
template<explicitly_bool_like T> | |
void | abort_if_not (const T &condition, const std::string &message="<NO MESSAGE>") |
void | add_error (Location loc, std::string msg) |
void | add_warn (Location loc, std::string msg) |
void | add_diagnostics (Location loc, std::string msg) |
virtual bool | has_errors () const |
bool | has_warn () const |
bool | has_message () const |
bool | has_diagnostics () const |
int64_t | get_error_count () const |
int64_t | get_warn_count () const |
int64_t | get_diagnostic_count () const |
Public Attributes | |
friend | Printable |
Additional Inherited Members | |
![]() | |
enum | ReportKind { error , warn , diag } |
using | Report = std::tuple<Location, std::string, ReportKind> |
using | iterator = std::vector<Report>::iterator |
using | const_iterator = std::vector<Report>::const_iterator |
![]() | |
std::vector< Report > | reports |
int64_t | error_count = 0 |
int64_t | warn_count = 0 |
int64_t | diag_count = 0 |
|
inlineoverridevirtual |
Implements sammine_lang::AST::ScopedASTVisitor.
|
inlineoverridevirtual |
Implements sammine_lang::AST::ScopedASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Implements sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Only visiting the FuncDefAST requires the use of scoping for now.
In the future we might have to support BlockAST
Reimplemented from sammine_lang::AST::ScopedASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.
|
overridevirtual |
Reimplemented from sammine_lang::AST::ASTVisitor.