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

void nmodl::visitor::NmodlPrintVisitor::visit_cvode_block ( const ast::CvodeBlock node)
overridevirtual

visit node of type ast::CvodeBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 1928 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 1991 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_diffuse()

void nmodl::visitor::NmodlPrintVisitor::visit_lon_diffuse ( const ast::LonDiffuse node)
overridevirtual

visit node of type ast::LonDiffuse

Implements nmodl::visitor::ConstVisitor.

Definition at line 1502 of file nmodl_visitor.cpp.

◆ visit_longitudinal_diffusion_block()

void nmodl::visitor::NmodlPrintVisitor::visit_longitudinal_diffusion_block ( const ast::LongitudinalDiffusionBlock node)
overridevirtual

visit node of type ast::LongitudinalDiffusionBlock

Implements nmodl::visitor::ConstVisitor.

Definition at line 1956 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 2002 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 2016 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 1980 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: