THIS FILE IS GENERATED AT BUILD TIME AND SHALL NOT BE EDITED.
Represents a AFTER block in NMODL.
Represents an argument to functions and procedures.
Represents a ASSIGNED block in the NMODL.
Represents a statement in ASSIGNED or STATE block.
Represents a block to be executed before or after another block.
Type to represent different block types for before/after block.
Represents BBCOREPOINTER statement in NMODL.
Represent a single variable of type BBCOREPOINTER.
Represents a BEFORE block in NMODL.
Represents binary expression in the NMODL.
Operator used in ast::BinaryExpression.
Base class for all block scoped nodes.
Represents a boolean variable.
Represents a BREAKPOINT block in NMODL.
Represent COMPARTMENT statement in NMODL.
Represents CONDUCTANCE statement in NMODL.
Represent CONSERVE statement in NMODL.
Represent CONSTANT block in the mod file.
Represent statement in CONSTANT block of NMODL.
Represents a variable in the ast::ConstantBlock.
Represents a CONSTRUCTOR block in the NMODL.
Represents a block used for variable timestep integration (CVODE) of DERIVATIVE blocks.
Represents a DEFINE statement in NMODL.
Represents DERIVATIVE block in the NMODL.
Represent a callback to NEURON's derivimplicit solver.
Represents a DESTRUCTOR block in the NMODL.
Represents differential equation in DERIVATIVE block.
Represents a double variable.
Represent linear solver solution block based on Eigen.
Represent newton solver solution block based on Eigen.
Represents ELECTRODE_CURRENT variables statement in NMODL.
Base class for all expressions in the NMODL.
This construct is deprecated and no longer supported in the NMODL.
Represents a float variable.
Represents GLOBAL statement in NMODL.
Base class for all identifiers.
Represents an INCLUDE statement in NMODL.
Represents a INDEPENDENT block in the NMODL.
Represents specific element of an array variable.
Represents a INITIAL block in the NMODL.
Represents an integer variable.
Represents a LAG statement in the mod file.
One equation in a system of equations tha collectively form a LINEAR block.
Represents LINEAR block in the NMODL.
Represent LONGITUDINAL_DIFFUSION statement in NMODL.
Extracts information required for LONGITUDINAL_DIFFUSION for each KINETIC block.
Represent MUTEXLOCK statement in NMODL.
Represent MUTEXUNLOCK statement in NMODL.
Represent NEURON block in the mod file.
Base class for all AST node.
One equation in a system of equations that collectively make a NONLINEAR block.
Represents NONLINEAR block in the NMODL.
Represents NONSPECIFIC_CURRENT variables statement in NMODL.
Represents the coreneuron nrn_state callback function.
Base class for all numbers.
Represents CURIE information in NMODL.
Represents a PARAMETER block in the NMODL.
Represents POINTER statement in NMODL.
Represents a prime variable (for ODE)
Represents top level AST node for whole NMODL input.
Single variable of type RANDOM.
Represents RANDOM statement in NMODL.
Represents RANGE variables statement in NMODL.
Represent solution of a block in the AST.
Represents a STATE block in the NMODL.
Represents block encapsulating list of statements.
Represents SUFFIX statement in NMODL.
Represents TABLE statement in NMODL.
Represents THREADSAFE statement in NMODL.
Statement to indicate a change in timestep in a given block.
Represents USEION statement in NMODL.
Represents a C code block.
Represent WATCH statement in NMODL.
Wrap any other expression type.
Abstract base class for all constant visitors implementation.
virtual void visit_update_dt(const ast::UpdateDt &node)=0
visit node of type ast::UpdateDt
virtual void visit_independent_block(const ast::IndependentBlock &node)=0
visit node of type ast::IndependentBlock
virtual void visit_binary_operator(const ast::BinaryOperator &node)=0
visit node of type ast::BinaryOperator
virtual void visit_verbatim(const ast::Verbatim &node)=0
visit node of type ast::Verbatim
virtual void visit_include(const ast::Include &node)=0
visit node of type ast::Include
virtual void visit_unary_operator(const ast::UnaryOperator &node)=0
visit node of type ast::UnaryOperator
virtual void visit_reaction_operator(const ast::ReactionOperator &node)=0
visit node of type ast::ReactionOperator
virtual void visit_while_statement(const ast::WhileStatement &node)=0
visit node of type ast::WhileStatement
virtual void visit_constant_block(const ast::ConstantBlock &node)=0
visit node of type ast::ConstantBlock
virtual void visit_protect_statement(const ast::ProtectStatement &node)=0
visit node of type ast::ProtectStatement
virtual void visit_binary_expression(const ast::BinaryExpression &node)=0
visit node of type ast::BinaryExpression
virtual void visit_block_comment(const ast::BlockComment &node)=0
visit node of type ast::BlockComment
virtual void visit_thread_safe(const ast::ThreadSafe &node)=0
visit node of type ast::ThreadSafe
virtual void visit_kinetic_block(const ast::KineticBlock &node)=0
visit node of type ast::KineticBlock
virtual void visit_linear_block(const ast::LinearBlock &node)=0
visit node of type ast::LinearBlock
virtual void visit_factor_def(const ast::FactorDef &node)=0
visit node of type ast::FactorDef
virtual void visit_constant_var(const ast::ConstantVar &node)=0
visit node of type ast::ConstantVar
virtual void visit_useion(const ast::Useion &node)=0
visit node of type ast::Useion
virtual void visit_table_statement(const ast::TableStatement &node)=0
visit node of type ast::TableStatement
virtual void visit_indexed_name(const ast::IndexedName &node)=0
visit node of type ast::IndexedName
virtual void visit_net_receive_block(const ast::NetReceiveBlock &node)=0
visit node of type ast::NetReceiveBlock
virtual void visit_random_var(const ast::RandomVar &node)=0
visit node of type ast::RandomVar
virtual void visit_random_var_list(const ast::RandomVarList &node)=0
visit node of type ast::RandomVarList
virtual void visit_if_statement(const ast::IfStatement &node)=0
visit node of type ast::IfStatement
virtual void visit_diff_eq_expression(const ast::DiffEqExpression &node)=0
visit node of type ast::DiffEqExpression
virtual void visit_block(const ast::Block &node)=0
visit node of type ast::Block
virtual void visit_electrode_current(const ast::ElectrodeCurrent &node)=0
visit node of type ast::ElectrodeCurrent
virtual void visit_before_block(const ast::BeforeBlock &node)=0
visit node of type ast::BeforeBlock
virtual void visit_range_var(const ast::RangeVar &node)=0
visit node of type ast::RangeVar
virtual void visit_range(const ast::Range &node)=0
visit node of type ast::Range
virtual void visit_valence(const ast::Valence &node)=0
visit node of type ast::Valence
virtual void visit_ba_block(const ast::BABlock &node)=0
visit node of type ast::BABlock
virtual void visit_param_block(const ast::ParamBlock &node)=0
visit node of type ast::ParamBlock
virtual void visit_global_var(const ast::GlobalVar &node)=0
visit node of type ast::GlobalVar
virtual void visit_bbcore_pointer_var(const ast::BbcorePointerVar &node)=0
visit node of type ast::BbcorePointerVar
virtual void visit_ba_block_type(const ast::BABlockType &node)=0
visit node of type ast::BABlockType
virtual void visit_double(const ast::Double &node)=0
visit node of type ast::Double
virtual void visit_double_unit(const ast::DoubleUnit &node)=0
visit node of type ast::DoubleUnit
virtual void visit_wrapped_expression(const ast::WrappedExpression &node)=0
visit node of type ast::WrappedExpression
virtual void visit_read_ion_var(const ast::ReadIonVar &node)=0
visit node of type ast::ReadIonVar
virtual void visit_unit_def(const ast::UnitDef &node)=0
visit node of type ast::UnitDef
virtual void visit_param_assign(const ast::ParamAssign &node)=0
visit node of type ast::ParamAssign
virtual void visit_function_table_block(const ast::FunctionTableBlock &node)=0
visit node of type ast::FunctionTableBlock
virtual void visit_solution_expression(const ast::SolutionExpression &node)=0
visit node of type ast::SolutionExpression
virtual void visit_compartment(const ast::Compartment &node)=0
visit node of type ast::Compartment
virtual void visit_extern_var(const ast::ExternVar &node)=0
visit node of type ast::ExternVar
virtual void visit_function_block(const ast::FunctionBlock &node)=0
visit node of type ast::FunctionBlock
virtual void visit_expression(const ast::Expression &node)=0
visit node of type ast::Expression
virtual void visit_line_comment(const ast::LineComment &node)=0
visit node of type ast::LineComment
virtual void visit_unary_expression(const ast::UnaryExpression &node)=0
visit node of type ast::UnaryExpression
virtual void visit_string(const ast::String &node)=0
visit node of type ast::String
virtual void visit_longitudinal_diffusion_block(const ast::LongitudinalDiffusionBlock &node)=0
visit node of type ast::LongitudinalDiffusionBlock
virtual void visit_mutex_unlock(const ast::MutexUnlock &node)=0
visit node of type ast::MutexUnlock
virtual void visit_statement_block(const ast::StatementBlock &node)=0
visit node of type ast::StatementBlock
virtual void visit_conserve(const ast::Conserve &node)=0
visit node of type ast::Conserve
virtual void visit_for_netcon(const ast::ForNetcon &node)=0
visit node of type ast::ForNetcon
virtual void visit_eigen_linear_solver_block(const ast::EigenLinearSolverBlock &node)=0
visit node of type ast::EigenLinearSolverBlock
virtual void visit_expression_statement(const ast::ExpressionStatement &node)=0
visit node of type ast::ExpressionStatement
virtual void visit_argument(const ast::Argument &node)=0
visit node of type ast::Argument
virtual void visit_unit(const ast::Unit &node)=0
visit node of type ast::Unit
virtual ~ConstVisitor()=default
virtual void visit_initial_block(const ast::InitialBlock &node)=0
visit node of type ast::InitialBlock
virtual void visit_nonspecific_cur_var(const ast::NonspecificCurVar &node)=0
visit node of type ast::NonspecificCurVar
virtual void visit_else_statement(const ast::ElseStatement &node)=0
visit node of type ast::ElseStatement
virtual void visit_react_var_name(const ast::ReactVarName &node)=0
visit node of type ast::ReactVarName
virtual void visit_watch_statement(const ast::WatchStatement &node)=0
visit node of type ast::WatchStatement
virtual void visit_limits(const ast::Limits &node)=0
visit node of type ast::Limits
virtual void visit_neuron_block(const ast::NeuronBlock &node)=0
visit node of type ast::NeuronBlock
virtual void visit_derivative_block(const ast::DerivativeBlock &node)=0
visit node of type ast::DerivativeBlock
virtual void visit_local_var(const ast::LocalVar &node)=0
visit node of type ast::LocalVar
virtual void visit_name(const ast::Name &node)=0
visit node of type ast::Name
virtual void visit_define(const ast::Define &node)=0
visit node of type ast::Define
virtual void visit_program(const ast::Program &node)=0
visit node of type ast::Program
virtual void visit_lin_equation(const ast::LinEquation &node)=0
visit node of type ast::LinEquation
virtual void visit_number_range(const ast::NumberRange &node)=0
visit node of type ast::NumberRange
virtual void visit_lag_statement(const ast::LagStatement &node)=0
visit node of type ast::LagStatement
virtual void visit_eigen_newton_solver_block(const ast::EigenNewtonSolverBlock &node)=0
visit node of type ast::EigenNewtonSolverBlock
virtual void visit_integer(const ast::Integer &node)=0
visit node of type ast::Integer
virtual void visit_procedure_block(const ast::ProcedureBlock &node)=0
visit node of type ast::ProcedureBlock
virtual void visit_breakpoint_block(const ast::BreakpointBlock &node)=0
visit node of type ast::BreakpointBlock
virtual void visit_non_lin_equation(const ast::NonLinEquation &node)=0
visit node of type ast::NonLinEquation
virtual void visit_unit_state(const ast::UnitState &node)=0
visit node of type ast::UnitState
virtual void visit_from_statement(const ast::FromStatement &node)=0
visit node of type ast::FromStatement
virtual void visit_local_list_statement(const ast::LocalListStatement &node)=0
visit node of type ast::LocalListStatement
virtual void visit_constant_statement(const ast::ConstantStatement &node)=0
visit node of type ast::ConstantStatement
virtual void visit_constructor_block(const ast::ConstructorBlock &node)=0
visit node of type ast::ConstructorBlock
virtual void visit_mutex_lock(const ast::MutexLock &node)=0
visit node of type ast::MutexLock
virtual void visit_external(const ast::External &node)=0
visit node of type ast::External
virtual void visit_function_call(const ast::FunctionCall &node)=0
visit node of type ast::FunctionCall
virtual void visit_identifier(const ast::Identifier &node)=0
visit node of type ast::Identifier
virtual void visit_lon_diffuse(const ast::LonDiffuse &node)=0
visit node of type ast::LonDiffuse
virtual void visit_pointer_var(const ast::PointerVar &node)=0
visit node of type ast::PointerVar
virtual void visit_nrn_state_block(const ast::NrnStateBlock &node)=0
visit node of type ast::NrnStateBlock
virtual void visit_prime_name(const ast::PrimeName &node)=0
visit node of type ast::PrimeName
virtual void visit_watch(const ast::Watch &node)=0
visit node of type ast::Watch
virtual void visit_statement(const ast::Statement &node)=0
visit node of type ast::Statement
virtual void visit_solve_block(const ast::SolveBlock &node)=0
visit node of type ast::SolveBlock
virtual void visit_paren_expression(const ast::ParenExpression &node)=0
visit node of type ast::ParenExpression
virtual void visit_model(const ast::Model &node)=0
visit node of type ast::Model
virtual void visit_write_ion_var(const ast::WriteIonVar &node)=0
visit node of type ast::WriteIonVar
virtual void visit_state_block(const ast::StateBlock &node)=0
visit node of type ast::StateBlock
virtual void visit_conductance_hint(const ast::ConductanceHint &node)=0
visit node of type ast::ConductanceHint
virtual void visit_unit_block(const ast::UnitBlock &node)=0
visit node of type ast::UnitBlock
virtual void visit_number(const ast::Number &node)=0
visit node of type ast::Number
virtual void visit_after_block(const ast::AfterBlock &node)=0
visit node of type ast::AfterBlock
virtual void visit_else_if_statement(const ast::ElseIfStatement &node)=0
visit node of type ast::ElseIfStatement
virtual void visit_var_name(const ast::VarName &node)=0
visit node of type ast::VarName
virtual void visit_boolean(const ast::Boolean &node)=0
visit node of type ast::Boolean
virtual void visit_float(const ast::Float &node)=0
visit node of type ast::Float
virtual void visit_reaction_statement(const ast::ReactionStatement &node)=0
visit node of type ast::ReactionStatement
virtual void visit_destructor_block(const ast::DestructorBlock &node)=0
visit node of type ast::DestructorBlock
virtual void visit_node(const ast::Node &node)=0
visit node of type ast::Node
virtual void visit_cvode_block(const ast::CvodeBlock &node)=0
visit node of type ast::CvodeBlock
virtual void visit_electrode_cur_var(const ast::ElectrodeCurVar &node)=0
visit node of type ast::ElectrodeCurVar
virtual void visit_suffix(const ast::Suffix &node)=0
visit node of type ast::Suffix
virtual void visit_assigned_definition(const ast::AssignedDefinition &node)=0
visit node of type ast::AssignedDefinition
virtual void visit_global(const ast::Global &node)=0
visit node of type ast::Global
virtual void visit_ontology_statement(const ast::OntologyStatement &node)=0
visit node of type ast::OntologyStatement
virtual void visit_non_linear_block(const ast::NonLinearBlock &node)=0
visit node of type ast::NonLinearBlock
virtual void visit_discrete_block(const ast::DiscreteBlock &node)=0
visit node of type ast::DiscreteBlock
virtual void visit_assigned_block(const ast::AssignedBlock &node)=0
visit node of type ast::AssignedBlock
virtual void visit_nonspecific(const ast::Nonspecific &node)=0
visit node of type ast::Nonspecific
virtual void visit_pointer(const ast::Pointer &node)=0
visit node of type ast::Pointer
virtual void visit_bbcore_pointer(const ast::BbcorePointer &node)=0
visit node of type ast::BbcorePointer
virtual void visit_derivimplicit_callback(const ast::DerivimplicitCallback &node)=0
visit node of type ast::DerivimplicitCallback
Abstract base class for all visitors implementation.
virtual void visit_range(ast::Range &node)=0
visit node of type ast::Range
virtual void visit_limits(ast::Limits &node)=0
visit node of type ast::Limits
virtual void visit_breakpoint_block(ast::BreakpointBlock &node)=0
visit node of type ast::BreakpointBlock
virtual void visit_statement_block(ast::StatementBlock &node)=0
visit node of type ast::StatementBlock
virtual void visit_non_linear_block(ast::NonLinearBlock &node)=0
visit node of type ast::NonLinearBlock
virtual void visit_param_assign(ast::ParamAssign &node)=0
visit node of type ast::ParamAssign
virtual void visit_non_lin_equation(ast::NonLinEquation &node)=0
visit node of type ast::NonLinEquation
virtual void visit_global(ast::Global &node)=0
visit node of type ast::Global
virtual void visit_constant_var(ast::ConstantVar &node)=0
visit node of type ast::ConstantVar
virtual void visit_binary_operator(ast::BinaryOperator &node)=0
visit node of type ast::BinaryOperator
virtual void visit_after_block(ast::AfterBlock &node)=0
visit node of type ast::AfterBlock
virtual void visit_useion(ast::Useion &node)=0
visit node of type ast::Useion
virtual void visit_conserve(ast::Conserve &node)=0
visit node of type ast::Conserve
virtual void visit_name(ast::Name &node)=0
visit node of type ast::Name
virtual void visit_var_name(ast::VarName &node)=0
visit node of type ast::VarName
virtual void visit_expression_statement(ast::ExpressionStatement &node)=0
visit node of type ast::ExpressionStatement
virtual void visit_wrapped_expression(ast::WrappedExpression &node)=0
visit node of type ast::WrappedExpression
virtual void visit_independent_block(ast::IndependentBlock &node)=0
visit node of type ast::IndependentBlock
virtual void visit_net_receive_block(ast::NetReceiveBlock &node)=0
visit node of type ast::NetReceiveBlock
virtual void visit_extern_var(ast::ExternVar &node)=0
visit node of type ast::ExternVar
virtual void visit_model(ast::Model &node)=0
visit node of type ast::Model
virtual void visit_suffix(ast::Suffix &node)=0
visit node of type ast::Suffix
virtual void visit_local_var(ast::LocalVar &node)=0
visit node of type ast::LocalVar
virtual void visit_compartment(ast::Compartment &node)=0
visit node of type ast::Compartment
virtual void visit_number_range(ast::NumberRange &node)=0
visit node of type ast::NumberRange
virtual void visit_else_statement(ast::ElseStatement &node)=0
visit node of type ast::ElseStatement
virtual void visit_ba_block_type(ast::BABlockType &node)=0
visit node of type ast::BABlockType
virtual void visit_watch(ast::Watch &node)=0
visit node of type ast::Watch
virtual void visit_conductance_hint(ast::ConductanceHint &node)=0
visit node of type ast::ConductanceHint
virtual void visit_boolean(ast::Boolean &node)=0
visit node of type ast::Boolean
virtual void visit_unit_block(ast::UnitBlock &node)=0
visit node of type ast::UnitBlock
virtual void visit_local_list_statement(ast::LocalListStatement &node)=0
visit node of type ast::LocalListStatement
virtual void visit_read_ion_var(ast::ReadIonVar &node)=0
visit node of type ast::ReadIonVar
virtual ~Visitor()=default
virtual void visit_node(ast::Node &node)=0
visit node of type ast::Node
virtual void visit_verbatim(ast::Verbatim &node)=0
visit node of type ast::Verbatim
virtual void visit_bbcore_pointer_var(ast::BbcorePointerVar &node)=0
visit node of type ast::BbcorePointerVar
virtual void visit_nrn_state_block(ast::NrnStateBlock &node)=0
visit node of type ast::NrnStateBlock
virtual void visit_discrete_block(ast::DiscreteBlock &node)=0
visit node of type ast::DiscreteBlock
virtual void visit_unary_expression(ast::UnaryExpression &node)=0
visit node of type ast::UnaryExpression
virtual void visit_reaction_statement(ast::ReactionStatement &node)=0
visit node of type ast::ReactionStatement
virtual void visit_paren_expression(ast::ParenExpression &node)=0
visit node of type ast::ParenExpression
virtual void visit_valence(ast::Valence &node)=0
visit node of type ast::Valence
virtual void visit_block(ast::Block &node)=0
visit node of type ast::Block
virtual void visit_kinetic_block(ast::KineticBlock &node)=0
visit node of type ast::KineticBlock
virtual void visit_program(ast::Program &node)=0
visit node of type ast::Program
virtual void visit_if_statement(ast::IfStatement &node)=0
visit node of type ast::IfStatement
virtual void visit_electrode_current(ast::ElectrodeCurrent &node)=0
visit node of type ast::ElectrodeCurrent
virtual void visit_global_var(ast::GlobalVar &node)=0
visit node of type ast::GlobalVar
virtual void visit_while_statement(ast::WhileStatement &node)=0
visit node of type ast::WhileStatement
virtual void visit_external(ast::External &node)=0
visit node of type ast::External
virtual void visit_constructor_block(ast::ConstructorBlock &node)=0
visit node of type ast::ConstructorBlock
virtual void visit_neuron_block(ast::NeuronBlock &node)=0
visit node of type ast::NeuronBlock
virtual void visit_derivimplicit_callback(ast::DerivimplicitCallback &node)=0
visit node of type ast::DerivimplicitCallback
virtual void visit_update_dt(ast::UpdateDt &node)=0
visit node of type ast::UpdateDt
virtual void visit_constant_block(ast::ConstantBlock &node)=0
visit node of type ast::ConstantBlock
virtual void visit_state_block(ast::StateBlock &node)=0
visit node of type ast::StateBlock
virtual void visit_protect_statement(ast::ProtectStatement &node)=0
visit node of type ast::ProtectStatement
virtual void visit_prime_name(ast::PrimeName &node)=0
visit node of type ast::PrimeName
virtual void visit_random_var_list(ast::RandomVarList &node)=0
visit node of type ast::RandomVarList
virtual void visit_range_var(ast::RangeVar &node)=0
visit node of type ast::RangeVar
virtual void visit_else_if_statement(ast::ElseIfStatement &node)=0
visit node of type ast::ElseIfStatement
virtual void visit_indexed_name(ast::IndexedName &node)=0
visit node of type ast::IndexedName
virtual void visit_binary_expression(ast::BinaryExpression &node)=0
visit node of type ast::BinaryExpression
virtual void visit_watch_statement(ast::WatchStatement &node)=0
visit node of type ast::WatchStatement
virtual void visit_pointer(ast::Pointer &node)=0
visit node of type ast::Pointer
virtual void visit_integer(ast::Integer &node)=0
visit node of type ast::Integer
virtual void visit_derivative_block(ast::DerivativeBlock &node)=0
visit node of type ast::DerivativeBlock
virtual void visit_argument(ast::Argument &node)=0
visit node of type ast::Argument
virtual void visit_solution_expression(ast::SolutionExpression &node)=0
visit node of type ast::SolutionExpression
virtual void visit_procedure_block(ast::ProcedureBlock &node)=0
visit node of type ast::ProcedureBlock
virtual void visit_reaction_operator(ast::ReactionOperator &node)=0
visit node of type ast::ReactionOperator
virtual void visit_assigned_block(ast::AssignedBlock &node)=0
visit node of type ast::AssignedBlock
virtual void visit_linear_block(ast::LinearBlock &node)=0
visit node of type ast::LinearBlock
virtual void visit_define(ast::Define &node)=0
visit node of type ast::Define
virtual void visit_pointer_var(ast::PointerVar &node)=0
visit node of type ast::PointerVar
virtual void visit_solve_block(ast::SolveBlock &node)=0
visit node of type ast::SolveBlock
virtual void visit_nonspecific_cur_var(ast::NonspecificCurVar &node)=0
visit node of type ast::NonspecificCurVar
virtual void visit_lin_equation(ast::LinEquation &node)=0
visit node of type ast::LinEquation
virtual void visit_unit_state(ast::UnitState &node)=0
visit node of type ast::UnitState
virtual void visit_eigen_newton_solver_block(ast::EigenNewtonSolverBlock &node)=0
visit node of type ast::EigenNewtonSolverBlock
virtual void visit_cvode_block(ast::CvodeBlock &node)=0
visit node of type ast::CvodeBlock
virtual void visit_ontology_statement(ast::OntologyStatement &node)=0
visit node of type ast::OntologyStatement
virtual void visit_table_statement(ast::TableStatement &node)=0
visit node of type ast::TableStatement
virtual void visit_param_block(ast::ParamBlock &node)=0
visit node of type ast::ParamBlock
virtual void visit_function_block(ast::FunctionBlock &node)=0
visit node of type ast::FunctionBlock
virtual void visit_number(ast::Number &node)=0
visit node of type ast::Number
virtual void visit_constant_statement(ast::ConstantStatement &node)=0
visit node of type ast::ConstantStatement
virtual void visit_include(ast::Include &node)=0
visit node of type ast::Include
virtual void visit_function_call(ast::FunctionCall &node)=0
visit node of type ast::FunctionCall
virtual void visit_destructor_block(ast::DestructorBlock &node)=0
visit node of type ast::DestructorBlock
virtual void visit_unit(ast::Unit &node)=0
visit node of type ast::Unit
virtual void visit_lon_diffuse(ast::LonDiffuse &node)=0
visit node of type ast::LonDiffuse
virtual void visit_identifier(ast::Identifier &node)=0
visit node of type ast::Identifier
virtual void visit_ba_block(ast::BABlock &node)=0
visit node of type ast::BABlock
virtual void visit_statement(ast::Statement &node)=0
visit node of type ast::Statement
virtual void visit_longitudinal_diffusion_block(ast::LongitudinalDiffusionBlock &node)=0
visit node of type ast::LongitudinalDiffusionBlock
virtual void visit_write_ion_var(ast::WriteIonVar &node)=0
visit node of type ast::WriteIonVar
virtual void visit_random_var(ast::RandomVar &node)=0
visit node of type ast::RandomVar
virtual void visit_double_unit(ast::DoubleUnit &node)=0
visit node of type ast::DoubleUnit
virtual void visit_react_var_name(ast::ReactVarName &node)=0
visit node of type ast::ReactVarName
virtual void visit_eigen_linear_solver_block(ast::EigenLinearSolverBlock &node)=0
visit node of type ast::EigenLinearSolverBlock
virtual void visit_mutex_unlock(ast::MutexUnlock &node)=0
visit node of type ast::MutexUnlock
virtual void visit_thread_safe(ast::ThreadSafe &node)=0
visit node of type ast::ThreadSafe
virtual void visit_function_table_block(ast::FunctionTableBlock &node)=0
visit node of type ast::FunctionTableBlock
virtual void visit_initial_block(ast::InitialBlock &node)=0
visit node of type ast::InitialBlock
virtual void visit_unit_def(ast::UnitDef &node)=0
visit node of type ast::UnitDef
virtual void visit_diff_eq_expression(ast::DiffEqExpression &node)=0
visit node of type ast::DiffEqExpression
virtual void visit_for_netcon(ast::ForNetcon &node)=0
visit node of type ast::ForNetcon
virtual void visit_electrode_cur_var(ast::ElectrodeCurVar &node)=0
visit node of type ast::ElectrodeCurVar
virtual void visit_from_statement(ast::FromStatement &node)=0
visit node of type ast::FromStatement
virtual void visit_string(ast::String &node)=0
visit node of type ast::String
virtual void visit_expression(ast::Expression &node)=0
visit node of type ast::Expression
virtual void visit_unary_operator(ast::UnaryOperator &node)=0
visit node of type ast::UnaryOperator
virtual void visit_mutex_lock(ast::MutexLock &node)=0
visit node of type ast::MutexLock
virtual void visit_line_comment(ast::LineComment &node)=0
visit node of type ast::LineComment
virtual void visit_before_block(ast::BeforeBlock &node)=0
visit node of type ast::BeforeBlock
virtual void visit_double(ast::Double &node)=0
visit node of type ast::Double
virtual void visit_bbcore_pointer(ast::BbcorePointer &node)=0
visit node of type ast::BbcorePointer
virtual void visit_factor_def(ast::FactorDef &node)=0
visit node of type ast::FactorDef
virtual void visit_lag_statement(ast::LagStatement &node)=0
visit node of type ast::LagStatement
virtual void visit_assigned_definition(ast::AssignedDefinition &node)=0
visit node of type ast::AssignedDefinition
virtual void visit_float(ast::Float &node)=0
visit node of type ast::Float
virtual void visit_block_comment(ast::BlockComment &node)=0
visit node of type ast::BlockComment
virtual void visit_nonspecific(ast::Nonspecific &node)=0
visit node of type ast::Nonspecific
encapsulates code generation backend implementations
static Node * node(Object *)