Base visitor class with default return type. More...
#include <base.hpp>
Public Member Functions | |
virtual error::Result< RT > | visit (NodePtr<> &node) |
Visit a number node. | |
virtual error::Result< RT > | visit_bin_op (NodePtr< BinaryOpNode > &node) VISIT_DEFAULT(node) |
Visit a binary operation node. | |
virtual error::Result< RT > | visit_unary_op (NodePtr< UnaryOpNode > &node) VISIT_DEFAULT(node) |
Visit a unary operation node. | |
virtual error::Result< RT > | visit_number (NodePtr< NumberNode > &node) VISIT_DEFAULT(node) |
Visit a number node. | |
virtual error::Result< RT > | visit_varref (NodePtr< VarRefNode > &node) VISIT_DEFAULT(node) |
Visit a variable reference node. | |
virtual error::Result< RT > | visit_varassign (NodePtr< VarAssignNode > &node) VISIT_DEFAULT(node) |
Visit a variable assignment node. | |
virtual error::Result< RT > | visit_fcall (NodePtr< FcallNode > &node) VISIT_DEFAULT(node) |
Visit a function call node. | |
virtual error::Result< RT > | visit_fdef (NodePtr< FdefNode > &node) VISIT_DEFAULT(node) |
Visit a function definition node. | |
virtual error::Result< RT > | visit_if (NodePtr< IfNode > &node) VISIT_DEFAULT(node) |
Visit an if node. | |
virtual error::Result< RT > | visit_program (NodePtr< ProgramNode > &node) VISIT_DEFAULT(node) |
Visit a program node. | |
virtual error::Result< RT > | visit_import (NodePtr< ProgramImportNode > &node) VISIT_DEFAULT(node) |
Visit a program import node. | |
Base visitor class with default return type.
RT | Return type of the visitor. |
|
inlinevirtual |
|
virtual |
Visit a binary operation node.
node | Binary operation node. |
Reimplemented in tcalc::ast::EvalVisitor, and tcalc::ast::PrintVisitor.
|
virtual |
Visit a function call node.
node | Function call node. |
Reimplemented in tcalc::ast::EvalVisitor, and tcalc::ast::PrintVisitor.
|
virtual |
Visit a function definition node.
node | Function definition node. |
Reimplemented in tcalc::ast::EvalVisitor, and tcalc::ast::PrintVisitor.
|
virtual |
Visit an if node.
node | If node. |
Reimplemented in tcalc::ast::EvalVisitor, and tcalc::ast::PrintVisitor.
|
virtual |
Visit a program import node.
node | Program import node. |
Reimplemented in tcalc::ast::EvalVisitor, and tcalc::ast::PrintVisitor.
|
virtual |
Visit a number node.
node | Number node. |
Reimplemented in tcalc::ast::EvalVisitor, and tcalc::ast::PrintVisitor.
|
virtual |
Visit a program node.
node | Program node. |
Reimplemented in tcalc::ast::EvalVisitor, tcalc::ast::ProgramEvalVisitor, and tcalc::ast::PrintVisitor.
|
virtual |
Visit a unary operation node.
node | Unary operation node. |
Reimplemented in tcalc::ast::EvalVisitor, and tcalc::ast::PrintVisitor.
|
virtual |
Visit a variable assignment node.
node | Variable assignment node. |
Reimplemented in tcalc::ast::EvalVisitor, and tcalc::ast::PrintVisitor.
|
virtual |
Visit a variable reference node.
node | Variable reference node. |
Reimplemented in tcalc::ast::EvalVisitor, and tcalc::ast::PrintVisitor.