tcalc 0.2.0
 
Loading...
Searching...
No Matches
tcalc::ast::ProgramEvalVisitor Class Reference

Visitor for evaluating Program AST. More...

#include <eval.hpp>

Inheritance diagram for tcalc::ast::ProgramEvalVisitor:
tcalc::ast::BaseVisitor< std::vector< double > >

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.
 
- Public Member Functions inherited from tcalc::ast::BaseVisitor< std::vector< double > >
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.
 

Detailed Description

Visitor for evaluating Program AST.

Constructor & Destructor Documentation

◆ ProgramEvalVisitor()

tcalc::ast::ProgramEvalVisitor::ProgramEvalVisitor ( EvalContext ctx)
inline

Construct a new Program Eval Visitor object.

Parameters
ctxEvaluation context.

Member Function Documentation

◆ visit_program()

error::Result< std::vector< double > > tcalc::ast::ProgramEvalVisitor::visit_program ( NodePtr< ProgramNode > &  node)
overridevirtual

Visit a program node.

Parameters
nodeProgram node.
Returns
error::Result<RT> Result of the visit.

Reimplemented from tcalc::ast::BaseVisitor< std::vector< double > >.


The documentation for this class was generated from the following files: