Visitor for evaluating Program AST. More...
#include <eval.hpp>
Public Member Functions | |
ProgramEvalVisitor (EvalContext &ctx) | |
Construct a new Program Eval Visitor object. | |
error::Result< std::vector< double > > | visit_program (NodePtr< ProgramNode > &node) override |
Visit a program node. | |
![]() | |
virtual error::Result< std::vector< double > > | visit (NodePtr<> &node) |
Visit a number node. | |
virtual error::Result< std::vector< double > > | visit_bin_op (NodePtr< BinaryOpNode > &node) VISIT_DEFAULT(node) |
Visit a binary operation node. | |
virtual error::Result< std::vector< double > > | visit_unary_op (NodePtr< UnaryOpNode > &node) VISIT_DEFAULT(node) |
Visit a unary operation node. | |
virtual error::Result< std::vector< double > > | visit_number (NodePtr< NumberNode > &node) VISIT_DEFAULT(node) |
Visit a number node. | |
virtual error::Result< std::vector< double > > | visit_varref (NodePtr< VarRefNode > &node) VISIT_DEFAULT(node) |
Visit a variable reference node. | |
virtual error::Result< std::vector< double > > | visit_varassign (NodePtr< VarAssignNode > &node) VISIT_DEFAULT(node) |
Visit a variable assignment node. | |
virtual error::Result< std::vector< double > > | visit_fcall (NodePtr< FcallNode > &node) VISIT_DEFAULT(node) |
Visit a function call node. | |
virtual error::Result< std::vector< double > > | visit_fdef (NodePtr< FdefNode > &node) VISIT_DEFAULT(node) |
Visit a function definition node. | |
virtual error::Result< std::vector< double > > | visit_if (NodePtr< IfNode > &node) VISIT_DEFAULT(node) |
Visit an if node. | |
virtual error::Result< std::vector< double > > | visit_import (NodePtr< ProgramImportNode > &node) VISIT_DEFAULT(node) |
Visit a program import node. | |
Visitor for evaluating Program AST.
|
inline |
Construct a new Program Eval Visitor object.
ctx | Evaluation context. |
|
overridevirtual |
Visit a program node.
node | Program node. |
Reimplemented from tcalc::ast::BaseVisitor< std::vector< double > >.