User Guide
nmodl::visitor::NmodlPrintVisitor Class Reference

Visitor for printing AST back to NMODL More...

Detailed Description

Visitor for printing AST back to NMODL

Note
AstNodeType::INDEPENDENT_BLOCK representation in the AST has been trimmed as the INDEPENDENT {} block is now deprecated and considered an unused construct in MOD files. If a user attempts to print a MOD file containing an INDEPENDENT block, it will be skipped, and a comment will be added to indicate the deprecation.

Definition at line 44 of file nmodl_visitor.hpp.

#include <nmodl_visitor.hpp>

Inheritance diagram for nmodl::visitor::NmodlPrintVisitor:
nmodl::visitor::ConstVisitor

Public Member Functions

 NmodlPrintVisitor ()
 
 NmodlPrintVisitor (std::string filename)
 
 NmodlPrintVisitor (std::ostream &stream)
 
 NmodlPrintVisitor (std::ostream &stream, const std::set< ast::AstNodeType > &types)
 
virtual void visit_node (const ast::Node &node) override
 visit node of type ast::Node More...
 
virtual void visit_statement (const ast::Statement &node) override
 visit node of type ast::Statement More...
 
virtual void visit_expression (const ast::Expression &node) override
 visit node of type ast::Expression More...
 
virtual void visit_block (const ast::Block &node) override
 visit node of type ast::Block More...
 
virtual void visit_identifier (const ast::Identifier &node) override
 visit node of type ast::Identifier More...
 
virtual void visit_number (const ast::Number &node) override
 visit node of type ast::Number More...
 
virtual void visit_string (const ast::String &node) override
 visit node of type ast::String More...
 
virtual void visit_integer (const ast::Integer &node) override
 visit node of type ast::Integer More...
 
virtual void visit_float (const ast::Float &node) override
 visit node of type ast::Float More...
 
virtual void visit_double (const ast::Double &node) override
 visit node of type ast::Double More...
 
virtual void visit_boolean (const ast::Boolean &node) override
 visit node of type ast::Boolean More...
 
virtual void visit_name (const ast::Name &node) override
 visit node of type ast::Name More...
 
virtual void visit_prime_name (const ast::PrimeName &node) override
 visit node of type ast::PrimeName More...
 
virtual void visit_indexed_name (const ast::IndexedName &node) override
 visit node of type ast::IndexedName More...
 
virtual void visit_var_name (const ast::VarName &node) override
 visit node of type ast::VarName More...
 
virtual void visit_argument (const ast::Argument &node) override
 visit node of type ast::Argument More...
 
virtual void visit_react_var_name (const ast::ReactVarName &node) override
 visit node of type ast::ReactVarName More...
 
virtual void visit_read_ion_var (const ast::ReadIonVar &node) override
 visit node of type ast::ReadIonVar More...
 
virtual void visit_write_ion_var (const ast::WriteIonVar &node) override
 visit node of type ast::WriteIonVar More...
 
virtual void visit_nonspecific_cur_var (const ast::NonspecificCurVar &node) override
 visit node of type ast::NonspecificCurVar More...
 
virtual void visit_electrode_cur_var (const ast::ElectrodeCurVar &node) override
 visit node of type ast::ElectrodeCurVar More...
 
virtual void visit_range_var (const ast::RangeVar &node) override
 visit node of type ast::RangeVar More...
 
virtual void visit_global_var (const ast::GlobalVar &node) override
 visit node of type ast::GlobalVar More...
 
virtual void visit_pointer_var (const ast::PointerVar &node) override
 visit node of type ast::PointerVar More...
 
virtual void visit_random_var (const ast::RandomVar &node) override
 visit node of type ast::RandomVar More...
 
virtual void visit_bbcore_pointer_var (const ast::BbcorePointerVar &node) override
 visit node of type ast::BbcorePointerVar More...
 
virtual void visit_extern_var (const ast::ExternVar &node) override
 visit node of type ast::ExternVar More...
 
virtual void visit_param_block (const ast::ParamBlock &node) override
 visit node of type ast::ParamBlock More...
 
virtual void visit_independent_block (const ast::IndependentBlock &node) override
 visit node of type ast::IndependentBlock More...
 
virtual void visit_assigned_block (const ast::AssignedBlock &node) override
 visit node of type ast::AssignedBlock More...
 
virtual void visit_state_block (const ast::StateBlock &node) override
 visit node of type ast::StateBlock More...
 
virtual void visit_initial_block (const ast::InitialBlock &node) override
 visit node of type ast::InitialBlock More...
 
virtual void visit_constructor_block (const ast::ConstructorBlock &node) override
 visit node of type ast::ConstructorBlock More...
 
virtual void visit_destructor_block (const ast::DestructorBlock &node) override
 visit node of type ast::DestructorBlock More...
 
virtual void visit_statement_block (const ast::StatementBlock &node) override
 visit node of type ast::StatementBlock More...
 
virtual void visit_derivative_block (const ast::DerivativeBlock &node) override
 visit node of type ast::DerivativeBlock More...
 
virtual void visit_linear_block (const ast::LinearBlock &node) override
 visit node of type ast::LinearBlock More...
 
virtual void visit_non_linear_block (const ast::NonLinearBlock &node) override
 visit node of type ast::NonLinearBlock More...
 
virtual void visit_discrete_block (const ast::DiscreteBlock &node) override
 visit node of type ast::DiscreteBlock More...
 
virtual void visit_function_table_block (const ast::FunctionTableBlock &node) override
 visit node of type ast::FunctionTableBlock More...
 
virtual void visit_function_block (const ast::FunctionBlock &node) override
 visit node of type ast::FunctionBlock More...
 
virtual void visit_procedure_block (const ast::ProcedureBlock &node) override
 visit node of type ast::ProcedureBlock More...
 
virtual void visit_net_receive_block (const ast::NetReceiveBlock &node) override
 visit node of type ast::NetReceiveBlock More...
 
virtual void visit_solve_block (const ast::SolveBlock &node) override
 visit node of type ast::SolveBlock More...
 
virtual void visit_breakpoint_block (const ast::BreakpointBlock &node) override
 visit node of type ast::BreakpointBlock More...
 
virtual void visit_before_block (const ast::BeforeBlock &node) override
 visit node of type ast::BeforeBlock More...
 
virtual void visit_after_block (const ast::AfterBlock &node) override
 visit node of type ast::AfterBlock More...
 
virtual void visit_ba_block (const ast::BABlock &node) override
 visit node of type ast::BABlock More...
 
virtual void visit_for_netcon (const ast::ForNetcon &node) override
 visit node of type ast::ForNetcon More...
 
virtual void visit_kinetic_block (const ast::KineticBlock &node) override
 visit node of type ast::KineticBlock More...
 
virtual void visit_unit_block (const ast::UnitBlock &node) override
 visit node of type ast::UnitBlock More...
 
virtual void visit_constant_block (const ast::ConstantBlock &node) override
 visit node of type ast::ConstantBlock More...
 
virtual void visit_neuron_block (const ast::NeuronBlock &node) override
 visit node of type ast::NeuronBlock More...
 
virtual void visit_unit (const ast::Unit &node) override
 visit node of type ast::Unit More...
 
virtual void visit_double_unit (const ast::DoubleUnit &node) override
 visit node of type ast::DoubleUnit More...
 
virtual void visit_local_var (const ast::LocalVar &node) override
 visit node of type ast::LocalVar More...
 
virtual void visit_limits (const ast::Limits &node) override
 visit node of type ast::Limits More...
 
virtual void visit_number_range (const ast::NumberRange &node) override
 visit node of type ast::NumberRange More...
 
virtual void visit_constant_var (const ast::ConstantVar &node) override
 visit node of type ast::ConstantVar More...
 
virtual void visit_binary_operator (const ast::BinaryOperator &node) override
 visit node of type ast::BinaryOperator More...
 
virtual void visit_unary_operator (const ast::UnaryOperator &node) override
 visit node of type ast::UnaryOperator More...
 
virtual void visit_reaction_operator (const ast::ReactionOperator &node) override
 visit node of type ast::ReactionOperator More...
 
virtual void visit_paren_expression (const ast::ParenExpression &node) override
 visit node of type ast::ParenExpression More...
 
virtual void visit_binary_expression (const ast::BinaryExpression &node) override
 visit node of type ast::BinaryExpression More...
 
virtual void visit_diff_eq_expression (const ast::DiffEqExpression &node) override
 visit node of type ast::DiffEqExpression More...
 
virtual void visit_unary_expression (const ast::UnaryExpression &node) override
 visit node of type ast::UnaryExpression More...
 
virtual void visit_non_lin_equation (const ast::NonLinEquation &node) override
 visit node of type ast::NonLinEquation More...
 
virtual void visit_lin_equation (const ast::LinEquation &node) override
 visit node of type ast::LinEquation More...
 
virtual void visit_function_call (const ast::FunctionCall &node) override
 visit node of type ast::FunctionCall More...
 
virtual void visit_watch (const ast::Watch &node) override
 visit node of type ast::Watch More...
 
virtual void visit_ba_block_type (const ast::BABlockType &node) override
 visit node of type ast::BABlockType More...
 
virtual void visit_unit_def (const ast::UnitDef &node) override
 visit node of type ast::UnitDef More...
 
virtual void visit_factor_def (const ast::FactorDef &node) override
 visit node of type ast::FactorDef More...
 
virtual void visit_valence (const ast::Valence &node) override
 visit node of type ast::Valence More...
 
virtual void visit_unit_state (const ast::UnitState &node) override
 visit node of type ast::UnitState More...
 
virtual void visit_local_list_statement (const ast::LocalListStatement &node) override
 visit node of type ast::LocalListStatement More...
 
virtual void visit_model (const ast::Model &node) override
 visit node of type ast::Model More...
 
virtual void visit_define (const ast::Define &node) override
 visit node of type ast::Define More...
 
virtual void visit_include (const ast::Include &node) override
 visit node of type ast::Include More...
 
virtual void visit_param_assign (const ast::ParamAssign &node) override
 visit node of type ast::ParamAssign More...
 
virtual void visit_assigned_definition (const ast::AssignedDefinition &node) override
 visit node of type ast::AssignedDefinition More...
 
virtual void visit_conductance_hint (const ast::ConductanceHint &node) override
 visit node of type ast::ConductanceHint More...
 
virtual void visit_expression_statement (const ast::ExpressionStatement &node) override
 visit node of type ast::ExpressionStatement More...
 
virtual void visit_protect_statement (const ast::ProtectStatement &node) override
 visit node of type ast::ProtectStatement More...
 
virtual void visit_from_statement (const ast::FromStatement &node) override
 visit node of type ast::FromStatement More...
 
virtual void visit_while_statement (const ast::WhileStatement &node) override
 visit node of type ast::WhileStatement More...
 
virtual void visit_if_statement (const ast::IfStatement &node) override
 visit node of type ast::IfStatement More...
 
virtual void visit_else_if_statement (const ast::ElseIfStatement &node) override
 visit node of type ast::ElseIfStatement More...
 
virtual void visit_else_statement (const ast::ElseStatement &node) override
 visit node of type ast::ElseStatement More...
 
virtual void visit_watch_statement (const ast::WatchStatement &node) override
 visit node of type ast::WatchStatement More...
 
virtual void visit_mutex_lock (const ast::MutexLock &node) override
 visit node of type ast::MutexLock More...
 
virtual void visit_mutex_unlock (const ast::MutexUnlock &node) override
 visit node of type ast::MutexUnlock More...
 
virtual void visit_conserve (const ast::Conserve &node) override
 visit node of type ast::Conserve More...
 
virtual void visit_compartment (const ast::Compartment &node) override
 visit node of type ast::Compartment More...
 
virtual void visit_lon_difuse (const ast::LonDifuse &node) override
 visit node of type ast::LonDifuse More...
 
virtual void visit_reaction_statement (const ast::ReactionStatement &node) override
 visit node of type ast::ReactionStatement More...
 
virtual void visit_lag_statement (const ast::LagStatement &node) override
 visit node of type ast::LagStatement More...
 
virtual void visit_constant_statement (const ast::ConstantStatement &node) override
 visit node of type ast::ConstantStatement More...
 
virtual void visit_table_statement (const ast::TableStatement &node) override
 visit node of type ast::TableStatement More...
 
virtual void visit_suffix (const ast::Suffix &node) override
 visit node of type ast::Suffix More...
 
virtual void visit_useion (const ast::Useion &node) override
 visit node of type ast::Useion More...
 
virtual void visit_nonspecific (const ast::Nonspecific &node) override
 visit node of type ast::Nonspecific More...
 
virtual void visit_electrode_current (const ast::ElectrodeCurrent &node) override
 visit node of type ast::ElectrodeCurrent More...
 
virtual void visit_range (const ast::Range &node) override
 visit node of type ast::Range More...
 
virtual void visit_global (const ast::Global &node) override
 visit node of type ast::Global More...
 
virtual void visit_random_var_list (const ast::RandomVarList &node) override
 visit node of type ast::RandomVarList More...
 
virtual void visit_pointer (const ast::Pointer &node) override
 visit node of type ast::Pointer More...
 
virtual void visit_bbcore_pointer (const ast::BbcorePointer &node) override
 visit node of type ast::BbcorePointer More...
 
virtual void visit_external (const ast::External &node) override
 visit node of type ast::External More...
 
virtual void visit_thread_safe (const ast::ThreadSafe &node) override
 visit node of type ast::ThreadSafe More...
 
virtual void visit_verbatim (const ast::Verbatim &node) override
 visit node of type ast::Verbatim More...
 
virtual void visit_line_comment (const ast::LineComment &node) override
 visit node of type ast::LineComment More...
 
virtual void visit_block_comment (const ast::BlockComment &node) override
 visit node of type ast::BlockComment More...
 
virtual void visit_ontology_statement (const ast::OntologyStatement &node) override
 visit node of type ast::OntologyStatement More...
 
virtual void visit_program (const ast::Program &node) override
 visit node of type ast::Program More...
 
virtual void visit_nrn_state_block (const ast::NrnStateBlock &node) override
 visit node of type ast::NrnStateBlock More...
 
virtual void visit_eigen_newton_solver_block (const ast::EigenNewtonSolverBlock &node) override
 visit node of type ast::EigenNewtonSolverBlock More...
 
virtual void visit_eigen_linear_solver_block (const ast::EigenLinearSolverBlock &node) override
 visit node of type ast::EigenLinearSolverBlock More...
 
virtual void visit_wrapped_expression (const ast::WrappedExpression &node) override
 visit node of type ast::WrappedExpression More...
 
virtual void visit_derivimplicit_callback (const ast::DerivimplicitCallback &node) override
 visit node of type ast::DerivimplicitCallback More...
 
virtual void visit_solution_expression (const ast::SolutionExpression &node) override
 visit node of type ast::SolutionExpression More...
 
virtual void visit_update_dt (const ast::UpdateDt &node) override
 visit node of type ast::UpdateDt More...
 
template<typename T >
void visit_element (const std::vector< T > &elements, const std::string &separator, bool program, bool statement)
 Helper function to visit vector elements. More...
 
- Public Member Functions inherited from nmodl::visitor::ConstVisitor
virtual ~ConstVisitor ()=default
 

Private Member Functions

bool is_exclude_type (ast::AstNodeType type) const
 check if node is to be excluded while printing More...
 

Private Attributes

std::unique_ptr< printer::NMODLPrinterprinter
 
std::set< ast::AstNodeTypeexclude_types
 node types to exclude while printing More...
 

Constructor & Destructor Documentation

◆ NmodlPrintVisitor() [1/4]

nmodl::visitor::NmodlPrintVisitor::NmodlPrintVisitor ( )
inline

Definition at line 57 of file nmodl_visitor.hpp.

◆ NmodlPrintVisitor() [2/4]

nmodl::visitor::NmodlPrintVisitor::NmodlPrintVisitor ( std::string  filename)
inline

Definition at line 60 of file nmodl_visitor.hpp.

◆ NmodlPrintVisitor() [3/4]

nmodl::visitor::NmodlPrintVisitor::NmodlPrintVisitor ( std::ostream &  stream)
inline

Definition at line 63 of file nmodl_visitor.hpp.

◆ NmodlPrintVisitor() [4/4]

nmodl::visitor::NmodlPrintVisitor::NmodlPrintVisitor ( std::ostream &  stream,
const std::set< ast::AstNodeType > &  types 
)
inline

Definition at line 66 of file nmodl_visitor.hpp.

Member Function Documentation

◆ is_exclude_type()

bool nmodl::visitor::NmodlPrintVisitor::is_exclude_type ( ast::AstNodeType  type) const
inlineprivate

check if node is to be excluded while printing

Definition at line 52 of file nmodl_visitor.hpp.

◆ visit_after_block()

void nmodl::visitor::NmodlPrintVisitor::visit_after_block ( const ast::AfterBlock node)
overridevirtual

visit node of type ast::AfterBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 688 of file nmodl_visitor.cpp.

◆ visit_argument()

void nmodl::visitor::NmodlPrintVisitor::visit_argument ( const ast::Argument node)
overridevirtual

visit node of type ast::Argument

Implements nmodl::visitor::ConstVisitor.

Definition at line 210 of file nmodl_visitor.cpp.

◆ visit_assigned_block()

void nmodl::visitor::NmodlPrintVisitor::visit_assigned_block ( const ast::AssignedBlock node)
overridevirtual

visit node of type ast::AssignedBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 382 of file nmodl_visitor.cpp.

◆ visit_assigned_definition()

void nmodl::visitor::NmodlPrintVisitor::visit_assigned_definition ( const ast::AssignedDefinition node)
overridevirtual

visit node of type ast::AssignedDefinition

Implements nmodl::visitor::ConstVisitor.

Definition at line 1228 of file nmodl_visitor.cpp.

◆ visit_ba_block()

void nmodl::visitor::NmodlPrintVisitor::visit_ba_block ( const ast::BABlock node)
overridevirtual

visit node of type ast::BABlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 700 of file nmodl_visitor.cpp.

◆ visit_ba_block_type()

void nmodl::visitor::NmodlPrintVisitor::visit_ba_block_type ( const ast::BABlockType node)
overridevirtual

visit node of type ast::BABlockType

Implements nmodl::visitor::ConstVisitor.

Definition at line 1052 of file nmodl_visitor.cpp.

◆ visit_bbcore_pointer()

void nmodl::visitor::NmodlPrintVisitor::visit_bbcore_pointer ( const ast::BbcorePointer node)
overridevirtual

visit node of type ast::BbcorePointer

Implements nmodl::visitor::ConstVisitor.

Definition at line 1740 of file nmodl_visitor.cpp.

◆ visit_bbcore_pointer_var()

void nmodl::visitor::NmodlPrintVisitor::visit_bbcore_pointer_var ( const ast::BbcorePointerVar node)
overridevirtual

visit node of type ast::BbcorePointerVar

Implements nmodl::visitor::ConstVisitor.

Definition at line 331 of file nmodl_visitor.cpp.

◆ visit_before_block()

void nmodl::visitor::NmodlPrintVisitor::visit_before_block ( const ast::BeforeBlock node)
overridevirtual

visit node of type ast::BeforeBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 676 of file nmodl_visitor.cpp.

◆ visit_binary_expression()

void nmodl::visitor::NmodlPrintVisitor::visit_binary_expression ( const ast::BinaryExpression node)
overridevirtual

visit node of type ast::BinaryExpression

Implements nmodl::visitor::ConstVisitor.

Definition at line 944 of file nmodl_visitor.cpp.

◆ visit_binary_operator()

void nmodl::visitor::NmodlPrintVisitor::visit_binary_operator ( const ast::BinaryOperator node)
overridevirtual

visit node of type ast::BinaryOperator

Implements nmodl::visitor::ConstVisitor.

Definition at line 892 of file nmodl_visitor.cpp.

◆ visit_block()

void nmodl::visitor::NmodlPrintVisitor::visit_block ( const ast::Block node)
overridevirtual

visit node of type ast::Block

Implements nmodl::visitor::ConstVisitor.

Definition at line 47 of file nmodl_visitor.cpp.

◆ visit_block_comment()

void nmodl::visitor::NmodlPrintVisitor::visit_block_comment ( const ast::BlockComment node)
overridevirtual

visit node of type ast::BlockComment

Implements nmodl::visitor::ConstVisitor.

Definition at line 1797 of file nmodl_visitor.cpp.

◆ visit_boolean()

void nmodl::visitor::NmodlPrintVisitor::visit_boolean ( const ast::Boolean node)
overridevirtual

visit node of type ast::Boolean

Implements nmodl::visitor::ConstVisitor.

Definition at line 130 of file nmodl_visitor.cpp.

◆ visit_breakpoint_block()

void nmodl::visitor::NmodlPrintVisitor::visit_breakpoint_block ( const ast::BreakpointBlock node)
overridevirtual

visit node of type ast::BreakpointBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 662 of file nmodl_visitor.cpp.

◆ visit_compartment()

void nmodl::visitor::NmodlPrintVisitor::visit_compartment ( const ast::Compartment node)
overridevirtual

visit node of type ast::Compartment

Implements nmodl::visitor::ConstVisitor.

Definition at line 1475 of file nmodl_visitor.cpp.

◆ visit_conductance_hint()

void nmodl::visitor::NmodlPrintVisitor::visit_conductance_hint ( const ast::ConductanceHint node)
overridevirtual

visit node of type ast::ConductanceHint

Implements nmodl::visitor::ConstVisitor.

Definition at line 1277 of file nmodl_visitor.cpp.

◆ visit_conserve()

void nmodl::visitor::NmodlPrintVisitor::visit_conserve ( const ast::Conserve node)
overridevirtual

visit node of type ast::Conserve

Implements nmodl::visitor::ConstVisitor.

Definition at line 1458 of file nmodl_visitor.cpp.

◆ visit_constant_block()

void nmodl::visitor::NmodlPrintVisitor::visit_constant_block ( const ast::ConstantBlock node)
overridevirtual

visit node of type ast::ConstantBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 769 of file nmodl_visitor.cpp.

◆ visit_constant_statement()

void nmodl::visitor::NmodlPrintVisitor::visit_constant_statement ( const ast::ConstantStatement node)
overridevirtual

visit node of type ast::ConstantStatement

Implements nmodl::visitor::ConstVisitor.

Definition at line 1577 of file nmodl_visitor.cpp.

◆ visit_constant_var()

void nmodl::visitor::NmodlPrintVisitor::visit_constant_var ( const ast::ConstantVar node)
overridevirtual

visit node of type ast::ConstantVar

Implements nmodl::visitor::ConstVisitor.

Definition at line 871 of file nmodl_visitor.cpp.

◆ visit_constructor_block()

void nmodl::visitor::NmodlPrintVisitor::visit_constructor_block ( const ast::ConstructorBlock node)
overridevirtual

visit node of type ast::ConstructorBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 424 of file nmodl_visitor.cpp.

◆ visit_define()

void nmodl::visitor::NmodlPrintVisitor::visit_define ( const ast::Define node)
overridevirtual

visit node of type ast::Define

Implements nmodl::visitor::ConstVisitor.

Definition at line 1168 of file nmodl_visitor.cpp.

◆ visit_derivative_block()

void nmodl::visitor::NmodlPrintVisitor::visit_derivative_block ( const ast::DerivativeBlock node)
overridevirtual

visit node of type ast::DerivativeBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 465 of file nmodl_visitor.cpp.

◆ visit_derivimplicit_callback()

void nmodl::visitor::NmodlPrintVisitor::visit_derivimplicit_callback ( const ast::DerivimplicitCallback node)
overridevirtual

visit node of type ast::DerivimplicitCallback

Implements nmodl::visitor::ConstVisitor.

Definition at line 1939 of file nmodl_visitor.cpp.

◆ visit_destructor_block()

void nmodl::visitor::NmodlPrintVisitor::visit_destructor_block ( const ast::DestructorBlock node)
overridevirtual

visit node of type ast::DestructorBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 438 of file nmodl_visitor.cpp.

◆ visit_diff_eq_expression()

void nmodl::visitor::NmodlPrintVisitor::visit_diff_eq_expression ( const ast::DiffEqExpression node)
overridevirtual

visit node of type ast::DiffEqExpression

Implements nmodl::visitor::ConstVisitor.

Definition at line 964 of file nmodl_visitor.cpp.

◆ visit_discrete_block()

void nmodl::visitor::NmodlPrintVisitor::visit_discrete_block ( const ast::DiscreteBlock node)
overridevirtual

visit node of type ast::DiscreteBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 530 of file nmodl_visitor.cpp.

◆ visit_double()

void nmodl::visitor::NmodlPrintVisitor::visit_double ( const ast::Double node)
overridevirtual

visit node of type ast::Double

Implements nmodl::visitor::ConstVisitor.

Definition at line 116 of file nmodl_visitor.cpp.

◆ visit_double_unit()

void nmodl::visitor::NmodlPrintVisitor::visit_double_unit ( const ast::DoubleUnit node)
overridevirtual

visit node of type ast::DoubleUnit

Implements nmodl::visitor::ConstVisitor.

Definition at line 810 of file nmodl_visitor.cpp.

◆ visit_eigen_linear_solver_block()

void nmodl::visitor::NmodlPrintVisitor::visit_eigen_linear_solver_block ( const ast::EigenLinearSolverBlock node)
overridevirtual

visit node of type ast::EigenLinearSolverBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 1889 of file nmodl_visitor.cpp.

◆ visit_eigen_newton_solver_block()

void nmodl::visitor::NmodlPrintVisitor::visit_eigen_newton_solver_block ( const ast::EigenNewtonSolverBlock node)
overridevirtual

visit node of type ast::EigenNewtonSolverBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 1845 of file nmodl_visitor.cpp.

◆ visit_electrode_cur_var()

void nmodl::visitor::NmodlPrintVisitor::visit_electrode_cur_var ( const ast::ElectrodeCurVar node)
overridevirtual

visit node of type ast::ElectrodeCurVar

Implements nmodl::visitor::ConstVisitor.

Definition at line 276 of file nmodl_visitor.cpp.

◆ visit_electrode_current()

void nmodl::visitor::NmodlPrintVisitor::visit_electrode_current ( const ast::ElectrodeCurrent node)
overridevirtual

visit node of type ast::ElectrodeCurrent

Implements nmodl::visitor::ConstVisitor.

Definition at line 1680 of file nmodl_visitor.cpp.

◆ visit_element()

template<typename T >
void nmodl::visitor::NmodlPrintVisitor::visit_element ( const std::vector< T > &  elements,
const std::string &  separator,
bool  program,
bool  statement 
)

Helper function to visit vector elements.

Template Parameters
T
Parameters
elementsvector of nodes/elements
separatorseparator to print for individual vector element
programtrue if provided elements belong to program node
statementtrue if elements in vector of statement type

statements need indentation at the start

print separator (e.g. comma, space)

newline at the end of statement

if there are multiple inline comments then we want them to be contiguous and only last comment should have extra line.

program blocks need two newlines except last one

Definition at line 28 of file nmodl_visitor_helper.ipp.

◆ visit_else_if_statement()

void nmodl::visitor::NmodlPrintVisitor::visit_else_if_statement ( const ast::ElseIfStatement node)
overridevirtual

visit node of type ast::ElseIfStatement

Implements nmodl::visitor::ConstVisitor.

Definition at line 1395 of file nmodl_visitor.cpp.

◆ visit_else_statement()

void nmodl::visitor::NmodlPrintVisitor::visit_else_statement ( const ast::ElseStatement node)
overridevirtual

visit node of type ast::ElseStatement

Implements nmodl::visitor::ConstVisitor.

Definition at line 1414 of file nmodl_visitor.cpp.

◆ visit_expression()

void nmodl::visitor::NmodlPrintVisitor::visit_expression ( const ast::Expression node)
overridevirtual

visit node of type ast::Expression

Implements nmodl::visitor::ConstVisitor.

Definition at line 39 of file nmodl_visitor.cpp.

◆ visit_expression_statement()

void nmodl::visitor::NmodlPrintVisitor::visit_expression_statement ( const ast::ExpressionStatement node)
overridevirtual

visit node of type ast::ExpressionStatement

Implements nmodl::visitor::ConstVisitor.

Definition at line 1295 of file nmodl_visitor.cpp.

◆ visit_extern_var()

void nmodl::visitor::NmodlPrintVisitor::visit_extern_var ( const ast::ExternVar node)
overridevirtual

visit node of type ast::ExternVar

Implements nmodl::visitor::ConstVisitor.

Definition at line 342 of file nmodl_visitor.cpp.

◆ visit_external()

void nmodl::visitor::NmodlPrintVisitor::visit_external ( const ast::External node)
overridevirtual

visit node of type ast::External

Implements nmodl::visitor::ConstVisitor.

Definition at line 1752 of file nmodl_visitor.cpp.

◆ visit_factor_def()

void nmodl::visitor::NmodlPrintVisitor::visit_factor_def ( const ast::FactorDef node)
overridevirtual

visit node of type ast::FactorDef

Implements nmodl::visitor::ConstVisitor.

Definition at line 1080 of file nmodl_visitor.cpp.

◆ visit_float()

void nmodl::visitor::NmodlPrintVisitor::visit_float ( const ast::Float node)
overridevirtual

visit node of type ast::Float

Implements nmodl::visitor::ConstVisitor.

Definition at line 102 of file nmodl_visitor.cpp.

◆ visit_for_netcon()

void nmodl::visitor::NmodlPrintVisitor::visit_for_netcon ( const ast::ForNetcon node)
overridevirtual

visit node of type ast::ForNetcon

Implements nmodl::visitor::ConstVisitor.

Definition at line 717 of file nmodl_visitor.cpp.

◆ visit_from_statement()

void nmodl::visitor::NmodlPrintVisitor::visit_from_statement ( const ast::FromStatement node)
overridevirtual

visit node of type ast::FromStatement

Implements nmodl::visitor::ConstVisitor.

Definition at line 1318 of file nmodl_visitor.cpp.

◆ visit_function_block()

void nmodl::visitor::NmodlPrintVisitor::visit_function_block ( const ast::FunctionBlock node)
overridevirtual

visit node of type ast::FunctionBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 569 of file nmodl_visitor.cpp.

◆ visit_function_call()

void nmodl::visitor::NmodlPrintVisitor::visit_function_call ( const ast::FunctionCall node)
overridevirtual

visit node of type ast::FunctionCall

Implements nmodl::visitor::ConstVisitor.

Definition at line 1021 of file nmodl_visitor.cpp.

◆ visit_function_table_block()

void nmodl::visitor::NmodlPrintVisitor::visit_function_table_block ( const ast::FunctionTableBlock node)
overridevirtual

visit node of type ast::FunctionTableBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 548 of file nmodl_visitor.cpp.

◆ visit_global()

void nmodl::visitor::NmodlPrintVisitor::visit_global ( const ast::Global node)
overridevirtual

visit node of type ast::Global

Implements nmodl::visitor::ConstVisitor.

Definition at line 1704 of file nmodl_visitor.cpp.

◆ visit_global_var()

void nmodl::visitor::NmodlPrintVisitor::visit_global_var ( const ast::GlobalVar node)
overridevirtual

visit node of type ast::GlobalVar

Implements nmodl::visitor::ConstVisitor.

Definition at line 298 of file nmodl_visitor.cpp.

◆ visit_identifier()

void nmodl::visitor::NmodlPrintVisitor::visit_identifier ( const ast::Identifier node)
overridevirtual

visit node of type ast::Identifier

Implements nmodl::visitor::ConstVisitor.

Definition at line 55 of file nmodl_visitor.cpp.

◆ visit_if_statement()

void nmodl::visitor::NmodlPrintVisitor::visit_if_statement ( const ast::IfStatement node)
overridevirtual

visit node of type ast::IfStatement

Implements nmodl::visitor::ConstVisitor.

Definition at line 1368 of file nmodl_visitor.cpp.

◆ visit_include()

void nmodl::visitor::NmodlPrintVisitor::visit_include ( const ast::Include node)
overridevirtual

visit node of type ast::Include

Implements nmodl::visitor::ConstVisitor.

Definition at line 1184 of file nmodl_visitor.cpp.

◆ visit_independent_block()

void nmodl::visitor::NmodlPrintVisitor::visit_independent_block ( const ast::IndependentBlock node)
overridevirtual

visit node of type ast::IndependentBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 367 of file nmodl_visitor.cpp.

◆ visit_indexed_name()

void nmodl::visitor::NmodlPrintVisitor::visit_indexed_name ( const ast::IndexedName node)
overridevirtual

visit node of type ast::IndexedName

Implements nmodl::visitor::ConstVisitor.

Definition at line 170 of file nmodl_visitor.cpp.

◆ visit_initial_block()

void nmodl::visitor::NmodlPrintVisitor::visit_initial_block ( const ast::InitialBlock node)
overridevirtual

visit node of type ast::InitialBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 410 of file nmodl_visitor.cpp.

◆ visit_integer()

void nmodl::visitor::NmodlPrintVisitor::visit_integer ( const ast::Integer node)
overridevirtual

visit node of type ast::Integer

Implements nmodl::visitor::ConstVisitor.

Definition at line 84 of file nmodl_visitor.cpp.

◆ visit_kinetic_block()

void nmodl::visitor::NmodlPrintVisitor::visit_kinetic_block ( const ast::KineticBlock node)
overridevirtual

visit node of type ast::KineticBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 734 of file nmodl_visitor.cpp.

◆ visit_lag_statement()

void nmodl::visitor::NmodlPrintVisitor::visit_lag_statement ( const ast::LagStatement node)
overridevirtual

visit node of type ast::LagStatement

Implements nmodl::visitor::ConstVisitor.

Definition at line 1561 of file nmodl_visitor.cpp.

◆ visit_limits()

void nmodl::visitor::NmodlPrintVisitor::visit_limits ( const ast::Limits node)
overridevirtual

visit node of type ast::Limits

Implements nmodl::visitor::ConstVisitor.

Definition at line 837 of file nmodl_visitor.cpp.

◆ visit_lin_equation()

void nmodl::visitor::NmodlPrintVisitor::visit_lin_equation ( const ast::LinEquation node)
overridevirtual

visit node of type ast::LinEquation

Implements nmodl::visitor::ConstVisitor.

Definition at line 1005 of file nmodl_visitor.cpp.

◆ visit_line_comment()

void nmodl::visitor::NmodlPrintVisitor::visit_line_comment ( const ast::LineComment node)
overridevirtual

visit node of type ast::LineComment

Implements nmodl::visitor::ConstVisitor.

Definition at line 1786 of file nmodl_visitor.cpp.

◆ visit_linear_block()

void nmodl::visitor::NmodlPrintVisitor::visit_linear_block ( const ast::LinearBlock node)
overridevirtual

visit node of type ast::LinearBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 483 of file nmodl_visitor.cpp.

◆ visit_local_list_statement()

void nmodl::visitor::NmodlPrintVisitor::visit_local_list_statement ( const ast::LocalListStatement node)
overridevirtual

visit node of type ast::LocalListStatement

Implements nmodl::visitor::ConstVisitor.

Definition at line 1144 of file nmodl_visitor.cpp.

◆ visit_local_var()

void nmodl::visitor::NmodlPrintVisitor::visit_local_var ( const ast::LocalVar node)
overridevirtual

visit node of type ast::LocalVar

Implements nmodl::visitor::ConstVisitor.

Definition at line 826 of file nmodl_visitor.cpp.

◆ visit_lon_difuse()

void nmodl::visitor::NmodlPrintVisitor::visit_lon_difuse ( const ast::LonDifuse node)
overridevirtual

visit node of type ast::LonDifuse

Implements nmodl::visitor::ConstVisitor.

Definition at line 1502 of file nmodl_visitor.cpp.

◆ visit_model()

void nmodl::visitor::NmodlPrintVisitor::visit_model ( const ast::Model node)
overridevirtual

visit node of type ast::Model

Implements nmodl::visitor::ConstVisitor.

Definition at line 1156 of file nmodl_visitor.cpp.

◆ visit_mutex_lock()

void nmodl::visitor::NmodlPrintVisitor::visit_mutex_lock ( const ast::MutexLock node)
overridevirtual

visit node of type ast::MutexLock

Implements nmodl::visitor::ConstVisitor.

Definition at line 1440 of file nmodl_visitor.cpp.

◆ visit_mutex_unlock()

void nmodl::visitor::NmodlPrintVisitor::visit_mutex_unlock ( const ast::MutexUnlock node)
overridevirtual

visit node of type ast::MutexUnlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 1449 of file nmodl_visitor.cpp.

◆ visit_name()

void nmodl::visitor::NmodlPrintVisitor::visit_name ( const ast::Name node)
overridevirtual

visit node of type ast::Name

Implements nmodl::visitor::ConstVisitor.

Definition at line 143 of file nmodl_visitor.cpp.

◆ visit_net_receive_block()

void nmodl::visitor::NmodlPrintVisitor::visit_net_receive_block ( const ast::NetReceiveBlock node)
overridevirtual

visit node of type ast::NetReceiveBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 620 of file nmodl_visitor.cpp.

◆ visit_neuron_block()

void nmodl::visitor::NmodlPrintVisitor::visit_neuron_block ( const ast::NeuronBlock node)
overridevirtual

visit node of type ast::NeuronBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 783 of file nmodl_visitor.cpp.

◆ visit_node()

void nmodl::visitor::NmodlPrintVisitor::visit_node ( const ast::Node node)
overridevirtual

visit node of type ast::Node

Implements nmodl::visitor::ConstVisitor.

Definition at line 23 of file nmodl_visitor.cpp.

◆ visit_non_lin_equation()

void nmodl::visitor::NmodlPrintVisitor::visit_non_lin_equation ( const ast::NonLinEquation node)
overridevirtual

visit node of type ast::NonLinEquation

Implements nmodl::visitor::ConstVisitor.

Definition at line 989 of file nmodl_visitor.cpp.

◆ visit_non_linear_block()

void nmodl::visitor::NmodlPrintVisitor::visit_non_linear_block ( const ast::NonLinearBlock node)
overridevirtual

visit node of type ast::NonLinearBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 507 of file nmodl_visitor.cpp.

◆ visit_nonspecific()

void nmodl::visitor::NmodlPrintVisitor::visit_nonspecific ( const ast::Nonspecific node)
overridevirtual

visit node of type ast::Nonspecific

Implements nmodl::visitor::ConstVisitor.

Definition at line 1668 of file nmodl_visitor.cpp.

◆ visit_nonspecific_cur_var()

void nmodl::visitor::NmodlPrintVisitor::visit_nonspecific_cur_var ( const ast::NonspecificCurVar node)
overridevirtual

visit node of type ast::NonspecificCurVar

Implements nmodl::visitor::ConstVisitor.

Definition at line 265 of file nmodl_visitor.cpp.

◆ visit_nrn_state_block()

void nmodl::visitor::NmodlPrintVisitor::visit_nrn_state_block ( const ast::NrnStateBlock node)
overridevirtual

visit node of type ast::NrnStateBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 1833 of file nmodl_visitor.cpp.

◆ visit_number()

void nmodl::visitor::NmodlPrintVisitor::visit_number ( const ast::Number node)
overridevirtual

visit node of type ast::Number

Implements nmodl::visitor::ConstVisitor.

Definition at line 63 of file nmodl_visitor.cpp.

◆ visit_number_range()

void nmodl::visitor::NmodlPrintVisitor::visit_number_range ( const ast::NumberRange node)
overridevirtual

visit node of type ast::NumberRange

Implements nmodl::visitor::ConstVisitor.

Definition at line 854 of file nmodl_visitor.cpp.

◆ visit_ontology_statement()

void nmodl::visitor::NmodlPrintVisitor::visit_ontology_statement ( const ast::OntologyStatement node)
overridevirtual

visit node of type ast::OntologyStatement

Implements nmodl::visitor::ConstVisitor.

Definition at line 1810 of file nmodl_visitor.cpp.

◆ visit_param_assign()

void nmodl::visitor::NmodlPrintVisitor::visit_param_assign ( const ast::ParamAssign node)
overridevirtual

visit node of type ast::ParamAssign

Implements nmodl::visitor::ConstVisitor.

Definition at line 1199 of file nmodl_visitor.cpp.

◆ visit_param_block()

void nmodl::visitor::NmodlPrintVisitor::visit_param_block ( const ast::ParamBlock node)
overridevirtual

visit node of type ast::ParamBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 353 of file nmodl_visitor.cpp.

◆ visit_paren_expression()

void nmodl::visitor::NmodlPrintVisitor::visit_paren_expression ( const ast::ParenExpression node)
overridevirtual

visit node of type ast::ParenExpression

Implements nmodl::visitor::ConstVisitor.

Definition at line 931 of file nmodl_visitor.cpp.

◆ visit_pointer()

void nmodl::visitor::NmodlPrintVisitor::visit_pointer ( const ast::Pointer node)
overridevirtual

visit node of type ast::Pointer

Implements nmodl::visitor::ConstVisitor.

Definition at line 1728 of file nmodl_visitor.cpp.

◆ visit_pointer_var()

void nmodl::visitor::NmodlPrintVisitor::visit_pointer_var ( const ast::PointerVar node)
overridevirtual

visit node of type ast::PointerVar

Implements nmodl::visitor::ConstVisitor.

Definition at line 309 of file nmodl_visitor.cpp.

◆ visit_prime_name()

void nmodl::visitor::NmodlPrintVisitor::visit_prime_name ( const ast::PrimeName node)
overridevirtual

visit node of type ast::PrimeName

Implements nmodl::visitor::ConstVisitor.

Definition at line 154 of file nmodl_visitor.cpp.

◆ visit_procedure_block()

void nmodl::visitor::NmodlPrintVisitor::visit_procedure_block ( const ast::ProcedureBlock node)
overridevirtual

visit node of type ast::ProcedureBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 595 of file nmodl_visitor.cpp.

◆ visit_program()

void nmodl::visitor::NmodlPrintVisitor::visit_program ( const ast::Program node)
overridevirtual

visit node of type ast::Program

Implements nmodl::visitor::ConstVisitor.

Definition at line 1822 of file nmodl_visitor.cpp.

◆ visit_protect_statement()

void nmodl::visitor::NmodlPrintVisitor::visit_protect_statement ( const ast::ProtectStatement node)
overridevirtual

visit node of type ast::ProtectStatement

Implements nmodl::visitor::ConstVisitor.

Definition at line 1306 of file nmodl_visitor.cpp.

◆ visit_random_var()

void nmodl::visitor::NmodlPrintVisitor::visit_random_var ( const ast::RandomVar node)
overridevirtual

visit node of type ast::RandomVar

Implements nmodl::visitor::ConstVisitor.

Definition at line 320 of file nmodl_visitor.cpp.

◆ visit_random_var_list()

void nmodl::visitor::NmodlPrintVisitor::visit_random_var_list ( const ast::RandomVarList node)
overridevirtual

visit node of type ast::RandomVarList

Implements nmodl::visitor::ConstVisitor.

Definition at line 1716 of file nmodl_visitor.cpp.

◆ visit_range()

void nmodl::visitor::NmodlPrintVisitor::visit_range ( const ast::Range node)
overridevirtual

visit node of type ast::Range

Implements nmodl::visitor::ConstVisitor.

Definition at line 1692 of file nmodl_visitor.cpp.

◆ visit_range_var()

void nmodl::visitor::NmodlPrintVisitor::visit_range_var ( const ast::RangeVar node)
overridevirtual

visit node of type ast::RangeVar

Implements nmodl::visitor::ConstVisitor.

Definition at line 287 of file nmodl_visitor.cpp.

◆ visit_react_var_name()

void nmodl::visitor::NmodlPrintVisitor::visit_react_var_name ( const ast::ReactVarName node)
overridevirtual

visit node of type ast::ReactVarName

Implements nmodl::visitor::ConstVisitor.

Definition at line 226 of file nmodl_visitor.cpp.

◆ visit_reaction_operator()

void nmodl::visitor::NmodlPrintVisitor::visit_reaction_operator ( const ast::ReactionOperator node)
overridevirtual

visit node of type ast::ReactionOperator

Implements nmodl::visitor::ConstVisitor.

Definition at line 918 of file nmodl_visitor.cpp.

◆ visit_reaction_statement()

void nmodl::visitor::NmodlPrintVisitor::visit_reaction_statement ( const ast::ReactionStatement node)
overridevirtual

visit node of type ast::ReactionStatement

Implements nmodl::visitor::ConstVisitor.

Definition at line 1529 of file nmodl_visitor.cpp.

◆ visit_read_ion_var()

void nmodl::visitor::NmodlPrintVisitor::visit_read_ion_var ( const ast::ReadIonVar node)
overridevirtual

visit node of type ast::ReadIonVar

Implements nmodl::visitor::ConstVisitor.

Definition at line 243 of file nmodl_visitor.cpp.

◆ visit_solution_expression()

void nmodl::visitor::NmodlPrintVisitor::visit_solution_expression ( const ast::SolutionExpression node)
overridevirtual

visit node of type ast::SolutionExpression

Implements nmodl::visitor::ConstVisitor.

Definition at line 1950 of file nmodl_visitor.cpp.

◆ visit_solve_block()

void nmodl::visitor::NmodlPrintVisitor::visit_solve_block ( const ast::SolveBlock node)
overridevirtual

visit node of type ast::SolveBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 637 of file nmodl_visitor.cpp.

◆ visit_state_block()

void nmodl::visitor::NmodlPrintVisitor::visit_state_block ( const ast::StateBlock node)
overridevirtual

visit node of type ast::StateBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 396 of file nmodl_visitor.cpp.

◆ visit_statement()

void nmodl::visitor::NmodlPrintVisitor::visit_statement ( const ast::Statement node)
overridevirtual

visit node of type ast::Statement

Implements nmodl::visitor::ConstVisitor.

Definition at line 31 of file nmodl_visitor.cpp.

◆ visit_statement_block()

void nmodl::visitor::NmodlPrintVisitor::visit_statement_block ( const ast::StatementBlock node)
overridevirtual

visit node of type ast::StatementBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 452 of file nmodl_visitor.cpp.

◆ visit_string()

void nmodl::visitor::NmodlPrintVisitor::visit_string ( const ast::String node)
overridevirtual

visit node of type ast::String

Implements nmodl::visitor::ConstVisitor.

Definition at line 71 of file nmodl_visitor.cpp.

◆ visit_suffix()

void nmodl::visitor::NmodlPrintVisitor::visit_suffix ( const ast::Suffix node)
overridevirtual

visit node of type ast::Suffix

Implements nmodl::visitor::ConstVisitor.

Definition at line 1618 of file nmodl_visitor.cpp.

◆ visit_table_statement()

void nmodl::visitor::NmodlPrintVisitor::visit_table_statement ( const ast::TableStatement node)
overridevirtual

visit node of type ast::TableStatement

Implements nmodl::visitor::ConstVisitor.

Definition at line 1588 of file nmodl_visitor.cpp.

◆ visit_thread_safe()

void nmodl::visitor::NmodlPrintVisitor::visit_thread_safe ( const ast::ThreadSafe node)
overridevirtual

visit node of type ast::ThreadSafe

Implements nmodl::visitor::ConstVisitor.

Definition at line 1764 of file nmodl_visitor.cpp.

◆ visit_unary_expression()

void nmodl::visitor::NmodlPrintVisitor::visit_unary_expression ( const ast::UnaryExpression node)
overridevirtual

visit node of type ast::UnaryExpression

Implements nmodl::visitor::ConstVisitor.

Definition at line 975 of file nmodl_visitor.cpp.

◆ visit_unary_operator()

void nmodl::visitor::NmodlPrintVisitor::visit_unary_operator ( const ast::UnaryOperator node)
overridevirtual

visit node of type ast::UnaryOperator

Implements nmodl::visitor::ConstVisitor.

Definition at line 905 of file nmodl_visitor.cpp.

◆ visit_unit()

void nmodl::visitor::NmodlPrintVisitor::visit_unit ( const ast::Unit node)
overridevirtual

visit node of type ast::Unit

Implements nmodl::visitor::ConstVisitor.

Definition at line 797 of file nmodl_visitor.cpp.

◆ visit_unit_block()

void nmodl::visitor::NmodlPrintVisitor::visit_unit_block ( const ast::UnitBlock node)
overridevirtual

visit node of type ast::UnitBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 755 of file nmodl_visitor.cpp.

◆ visit_unit_def()

void nmodl::visitor::NmodlPrintVisitor::visit_unit_def ( const ast::UnitDef node)
overridevirtual

visit node of type ast::UnitDef

Implements nmodl::visitor::ConstVisitor.

Definition at line 1065 of file nmodl_visitor.cpp.

◆ visit_unit_state()

void nmodl::visitor::NmodlPrintVisitor::visit_unit_state ( const ast::UnitState node)
overridevirtual

visit node of type ast::UnitState

Implements nmodl::visitor::ConstVisitor.

Definition at line 1131 of file nmodl_visitor.cpp.

◆ visit_update_dt()

void nmodl::visitor::NmodlPrintVisitor::visit_update_dt ( const ast::UpdateDt node)
overridevirtual

visit node of type ast::UpdateDt

Implements nmodl::visitor::ConstVisitor.

Definition at line 1964 of file nmodl_visitor.cpp.

◆ visit_useion()

void nmodl::visitor::NmodlPrintVisitor::visit_useion ( const ast::Useion node)
overridevirtual

visit node of type ast::Useion

Implements nmodl::visitor::ConstVisitor.

Definition at line 1633 of file nmodl_visitor.cpp.

◆ visit_valence()

void nmodl::visitor::NmodlPrintVisitor::visit_valence ( const ast::Valence node)
overridevirtual

visit node of type ast::Valence

Implements nmodl::visitor::ConstVisitor.

Definition at line 1115 of file nmodl_visitor.cpp.

◆ visit_var_name()

void nmodl::visitor::NmodlPrintVisitor::visit_var_name ( const ast::VarName node)
overridevirtual

visit node of type ast::VarName

Implements nmodl::visitor::ConstVisitor.

Definition at line 186 of file nmodl_visitor.cpp.

◆ visit_verbatim()

void nmodl::visitor::NmodlPrintVisitor::visit_verbatim ( const ast::Verbatim node)
overridevirtual

visit node of type ast::Verbatim

Implements nmodl::visitor::ConstVisitor.

Definition at line 1773 of file nmodl_visitor.cpp.

◆ visit_watch()

void nmodl::visitor::NmodlPrintVisitor::visit_watch ( const ast::Watch node)
overridevirtual

visit node of type ast::Watch

Implements nmodl::visitor::ConstVisitor.

Definition at line 1035 of file nmodl_visitor.cpp.

◆ visit_watch_statement()

void nmodl::visitor::NmodlPrintVisitor::visit_watch_statement ( const ast::WatchStatement node)
overridevirtual

visit node of type ast::WatchStatement

Implements nmodl::visitor::ConstVisitor.

Definition at line 1428 of file nmodl_visitor.cpp.

◆ visit_while_statement()

void nmodl::visitor::NmodlPrintVisitor::visit_while_statement ( const ast::WhileStatement node)
overridevirtual

visit node of type ast::WhileStatement

Implements nmodl::visitor::ConstVisitor.

Definition at line 1349 of file nmodl_visitor.cpp.

◆ visit_wrapped_expression()

void nmodl::visitor::NmodlPrintVisitor::visit_wrapped_expression ( const ast::WrappedExpression node)
overridevirtual

visit node of type ast::WrappedExpression

Implements nmodl::visitor::ConstVisitor.

Definition at line 1928 of file nmodl_visitor.cpp.

◆ visit_write_ion_var()

void nmodl::visitor::NmodlPrintVisitor::visit_write_ion_var ( const ast::WriteIonVar node)
overridevirtual

visit node of type ast::WriteIonVar

Implements nmodl::visitor::ConstVisitor.

Definition at line 254 of file nmodl_visitor.cpp.

Member Data Documentation

◆ exclude_types

std::set<ast::AstNodeType> nmodl::visitor::NmodlPrintVisitor::exclude_types
private

node types to exclude while printing

Definition at line 49 of file nmodl_visitor.hpp.

◆ printer

std::unique_ptr<printer::NMODLPrinter> nmodl::visitor::NmodlPrintVisitor::printer
private

Definition at line 46 of file nmodl_visitor.hpp.


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