User Guide
symtab_visitor.cpp
Go to the documentation of this file.
1 /*
2  * Copyright 2023 Blue Brain Project, EPFL.
3  * See the top-level LICENSE file for details.
4  *
5  * SPDX-License-Identifier: Apache-2.0
6  */
7 
8 ///
9 /// THIS FILE IS GENERATED AT BUILD TIME AND SHALL NOT BE EDITED.
10 ///
11 
12 #include "symtab/symbol_table.hpp"
15 
16 
17 namespace nmodl {
18 namespace visitor {
19 
20 using namespace ast;
22 
24  setup_symbol(&node, NmodlType::prime_name);
25 }
26 
28  setup_symbol(&node, NmodlType::argument);
29 }
30 
32  setup_symbol(&node, NmodlType::read_ion_var);
33 }
34 
36  setup_symbol(&node, NmodlType::write_ion_var);
37 }
38 
40  setup_symbol(&node, NmodlType::nonspecific_cur_var);
41 }
42 
44  setup_symbol(&node, NmodlType::electrode_cur_var);
45 }
46 
48  setup_symbol(&node, NmodlType::range_var);
49 }
50 
52  setup_symbol(&node, NmodlType::global_var);
53 }
54 
56  setup_symbol(&node, NmodlType::pointer_var);
57 }
58 
60  setup_symbol(&node, NmodlType::random_var);
61 }
62 
64  setup_symbol(&node, NmodlType::bbcore_pointer_var);
65 }
66 
68  setup_symbol(&node, NmodlType::extern_var);
69 }
70 
72  setup_symbol_table_for_global_block(&node);
73 }
74 
76  setup_symbol_table_for_global_block(&node);
77 }
78 
80  setup_symbol_table_for_global_block(&node);
81 }
82 
84  setup_symbol_table_for_global_block(&node);
85 }
86 
88  setup_symbol_table_for_scoped_block(&node, node.get_node_type_name());
89 }
90 
92  setup_symbol_table_for_scoped_block(&node, node.get_node_type_name());
93 }
94 
96  setup_symbol_table_for_scoped_block(&node, node.get_node_type_name());
97 }
98 
100  setup_symbol_table_for_scoped_block(&node, node.get_node_type_name());
101 }
102 
104  add_model_symbol_with_property(&node, NmodlType::derivative_block);
105  setup_symbol_table_for_scoped_block(&node, node.get_node_name());
106 }
107 
109  add_model_symbol_with_property(&node, NmodlType::linear_block);
110  setup_symbol_table_for_scoped_block(&node, node.get_node_name());
111 }
112 
114  add_model_symbol_with_property(&node, NmodlType::non_linear_block);
115  setup_symbol_table_for_scoped_block(&node, node.get_node_name());
116 }
117 
119  add_model_symbol_with_property(&node, NmodlType::discrete_block);
120  setup_symbol_table_for_scoped_block(&node, node.get_node_name());
121 }
122 
124  add_model_symbol_with_property(&node, NmodlType::function_table_block);
125  setup_symbol_table_for_scoped_block(&node, node.get_node_name());
126 }
127 
129  add_model_symbol_with_property(&node, NmodlType::function_block);
130  setup_symbol_table_for_scoped_block(&node, node.get_node_name());
131 }
132 
134  add_model_symbol_with_property(&node, NmodlType::procedure_block);
135  setup_symbol_table_for_scoped_block(&node, node.get_node_name());
136 }
137 
139  setup_symbol_table_for_scoped_block(&node, node.get_node_type_name());
140 }
141 
143  setup_symbol_table_for_scoped_block(&node, node.get_node_type_name());
144 }
145 
147  setup_symbol_table_for_scoped_block(&node, node.get_node_type_name());
148 }
149 
151  setup_symbol_table_for_scoped_block(&node, node.get_node_type_name());
152 }
153 
155  setup_symbol_table_for_scoped_block(&node, node.get_node_type_name());
156 }
157 
159  setup_symbol_table_for_scoped_block(&node, node.get_node_type_name());
160 }
161 
163  setup_symbol_table_for_scoped_block(&node, node.get_node_type_name());
164 }
165 
167  add_model_symbol_with_property(&node, NmodlType::kinetic_block);
168  setup_symbol_table_for_scoped_block(&node, node.get_node_name());
169 }
170 
172  setup_symbol_table_for_global_block(&node);
173 }
174 
176  setup_symbol_table_for_global_block(&node);
177 }
178 
180  setup_symbol_table_for_global_block(&node);
181 }
182 
184  setup_symbol(&node, NmodlType::local_var);
185 }
186 
188  setup_symbol(&node, NmodlType::constant_var);
189 }
190 
192  setup_symbol(&node, NmodlType::unit_def);
193 }
194 
196  setup_symbol(&node, NmodlType::factor_def);
197 }
198 
200  setup_symbol(&node, NmodlType::define);
201 }
202 
204  setup_symbol(&node, NmodlType::param_assign);
205 }
206 
208  setup_symbol(&node, NmodlType::assigned_definition);
209 }
210 
212  setup_symbol(&node, NmodlType::useion);
213 }
214 
216  setup_symbol_table_for_program_block(&node);
217 }
218 
220  setup_symbol_table_for_scoped_block(&node, node.get_node_type_name());
221 }
222 
224  setup_symbol_table_for_scoped_block(&node, node.get_node_type_name());
225 }
226 
228  setup_symbol_table_for_scoped_block(&node, node.get_node_type_name());
229 }
230 
231 
232 } // namespace visitor
233 } // namespace nmodl
234 
nmodl::visitor::SymtabVisitor::visit_function_block
void visit_function_block(ast::FunctionBlock &node) override
visit node of type ast::FunctionBlock
Definition: symtab_visitor.cpp:128
nmodl::visitor::SymtabVisitor::visit_kinetic_block
void visit_kinetic_block(ast::KineticBlock &node) override
visit node of type ast::KineticBlock
Definition: symtab_visitor.cpp:166
nmodl::ast::ParamAssign
TODO.
Definition: param_assign.hpp:38
nmodl::ast::BeforeBlock
Represents a BEFORE block in NMODL.
Definition: before_block.hpp:38
nmodl::ast::ConstantVar
Represents a variable in the ast::ConstantBlock.
Definition: constant_var.hpp:38
nmodl::ast::BABlock::get_node_type_name
std::string get_node_type_name() const noexcept override
Return type (ast::AstNodeType) of ast node as std::string.
Definition: ba_block.hpp:112
nmodl::ast::SolveBlock
TODO.
Definition: solve_block.hpp:38
nmodl::visitor::SymtabVisitor::visit_global_var
void visit_global_var(ast::GlobalVar &node) override
visit node of type ast::GlobalVar
Definition: symtab_visitor.cpp:51
nmodl::ast::BABlock
Represents a block to be executed before or after another block.
Definition: ba_block.hpp:40
nmodl::visitor::SymtabVisitor::visit_solve_block
void visit_solve_block(ast::SolveBlock &node) override
visit node of type ast::SolveBlock
Definition: symtab_visitor.cpp:142
nmodl::visitor::SymtabVisitor::visit_unit_def
void visit_unit_def(ast::UnitDef &node) override
visit node of type ast::UnitDef
Definition: symtab_visitor.cpp:191
nmodl::visitor::SymtabVisitor::visit_local_var
void visit_local_var(ast::LocalVar &node) override
visit node of type ast::LocalVar
Definition: symtab_visitor.cpp:183
nmodl::ast::DiscreteBlock::get_node_name
std::string get_node_name() const override
Return name of the node.
Definition: ast.cpp:3680
nmodl::ast::AssignedDefinition
Represents a statement in ASSIGNED or STATE block.
Definition: assigned_definition.hpp:38
nmodl::ast::ForNetcon::get_node_type_name
std::string get_node_type_name() const noexcept override
Return type (ast::AstNodeType) of ast node as std::string.
Definition: for_netcon.hpp:111
nmodl::ast::FactorDef
TODO.
Definition: factor_def.hpp:38
nmodl::ast::AfterBlock::get_node_type_name
std::string get_node_type_name() const noexcept override
Return type (ast::AstNodeType) of ast node as std::string.
Definition: after_block.hpp:121
nmodl::ast::FunctionBlock
TODO.
Definition: function_block.hpp:39
nmodl::ast::PointerVar
TODO.
Definition: pointer_var.hpp:38
nmodl::ast::EigenLinearSolverBlock::get_node_type_name
std::string get_node_type_name() const noexcept override
Return type (ast::AstNodeType) of ast node as std::string.
Definition: eigen_linear_solver_block.hpp:118
nmodl::visitor::SymtabVisitor::visit_unit_block
void visit_unit_block(ast::UnitBlock &node) override
visit node of type ast::UnitBlock
Definition: symtab_visitor.cpp:171
nmodl::ast::BbcorePointerVar
Represent a single variable of type BBCOREPOINTER.
Definition: bbcore_pointer_var.hpp:39
nmodl::ast::ConstructorBlock::get_node_type_name
std::string get_node_type_name() const noexcept override
Return type (ast::AstNodeType) of ast node as std::string.
Definition: constructor_block.hpp:121
nmodl::ast::NetReceiveBlock
TODO.
Definition: net_receive_block.hpp:39
nmodl::ast::FunctionTableBlock
TODO.
Definition: function_table_block.hpp:39
nmodl::ast::UnitBlock
TODO.
Definition: unit_block.hpp:39
nmodl::visitor::SymtabVisitor::visit_independent_block
void visit_independent_block(ast::IndependentBlock &node) override
visit node of type ast::IndependentBlock
Definition: symtab_visitor.cpp:75
nmodl::ast::NonLinearBlock::get_node_name
std::string get_node_name() const override
Return name of the node.
Definition: ast.cpp:3521
nmodl::visitor::SymtabVisitor::visit_initial_block
void visit_initial_block(ast::InitialBlock &node) override
visit node of type ast::InitialBlock
Definition: symtab_visitor.cpp:87
nmodl::visitor::SymtabVisitor::visit_define
void visit_define(ast::Define &node) override
visit node of type ast::Define
Definition: symtab_visitor.cpp:199
nmodl::visitor::SymtabVisitor::visit_discrete_block
void visit_discrete_block(ast::DiscreteBlock &node) override
visit node of type ast::DiscreteBlock
Definition: symtab_visitor.cpp:118
nmodl
encapsulates code generation backend implementations
Definition: ast_common.hpp:26
nmodl::visitor::SymtabVisitor::visit_statement_block
void visit_statement_block(ast::StatementBlock &node) override
visit node of type ast::StatementBlock
Definition: symtab_visitor.cpp:99
nmodl::ast::Define
Represents a DEFINE statement in NMODL.
Definition: define.hpp:38
nmodl::visitor::SymtabVisitor::visit_for_netcon
void visit_for_netcon(ast::ForNetcon &node) override
visit node of type ast::ForNetcon
Definition: symtab_visitor.cpp:162
symbol_table.hpp
Implement classes for representing symbol table at block and file scope.
nmodl::visitor::SymtabVisitor::visit_neuron_block
void visit_neuron_block(ast::NeuronBlock &node) override
visit node of type ast::NeuronBlock
Definition: symtab_visitor.cpp:179
nmodl::ast::BeforeBlock::get_node_type_name
std::string get_node_type_name() const noexcept override
Return type (ast::AstNodeType) of ast node as std::string.
Definition: before_block.hpp:108
nmodl::ast::WriteIonVar
TODO.
Definition: write_ion_var.hpp:38
nmodl::visitor::SymtabVisitor::visit_derivative_block
void visit_derivative_block(ast::DerivativeBlock &node) override
visit node of type ast::DerivativeBlock
Definition: symtab_visitor.cpp:103
nmodl::visitor::SymtabVisitor::visit_electrode_cur_var
void visit_electrode_cur_var(ast::ElectrodeCurVar &node) override
visit node of type ast::ElectrodeCurVar
Definition: symtab_visitor.cpp:43
nmodl::ast::ExternVar
TODO.
Definition: extern_var.hpp:38
nmodl::ast::RandomVar
Single variable of type RANDOM.
Definition: random_var.hpp:38
nmodl::visitor::SymtabVisitor::visit_ba_block
void visit_ba_block(ast::BABlock &node) override
visit node of type ast::BABlock
Definition: symtab_visitor.cpp:158
nmodl::ast::KineticBlock::get_node_name
std::string get_node_name() const override
Return name of the node.
Definition: ast.cpp:5133
nmodl::ast::AssignedBlock
Represents a ASSIGNED block in the NMODL.
Definition: assigned_block.hpp:54
nmodl::ast::RangeVar
TODO.
Definition: range_var.hpp:38
nmodl::ast::EigenNewtonSolverBlock
Represent newton solver solution block based on Eigen.
Definition: eigen_newton_solver_block.hpp:38
nmodl::visitor::SymtabVisitor::visit_program
void visit_program(ast::Program &node) override
visit node of type ast::Program
Definition: symtab_visitor.cpp:215
nmodl::ast::SolveBlock::get_node_type_name
std::string get_node_type_name() const noexcept override
Return type (ast::AstNodeType) of ast node as std::string.
Definition: solve_block.hpp:112
nmodl::ast::EigenNewtonSolverBlock::get_node_type_name
std::string get_node_type_name() const noexcept override
Return type (ast::AstNodeType) of ast node as std::string.
Definition: eigen_newton_solver_block.hpp:120
nmodl::ast::FunctionTableBlock::get_node_name
std::string get_node_name() const override
Return name of the node.
Definition: ast.cpp:3800
nmodl::ast::InitialBlock
Represents a INITIAL block in the NMODL.
Definition: initial_block.hpp:49
nmodl::visitor::SymtabVisitor::visit_param_assign
void visit_param_assign(ast::ParamAssign &node) override
visit node of type ast::ParamAssign
Definition: symtab_visitor.cpp:203
nmodl::ast::DerivativeBlock::get_node_name
std::string get_node_name() const override
Return name of the node.
Definition: ast.cpp:3242
nmodl::ast::DiscreteBlock
TODO.
Definition: discrete_block.hpp:38
nmodl::ast::GlobalVar
TODO.
Definition: global_var.hpp:38
nmodl::visitor::SymtabVisitor::visit_factor_def
void visit_factor_def(ast::FactorDef &node) override
visit node of type ast::FactorDef
Definition: symtab_visitor.cpp:195
nmodl::ast::UnitDef
TODO.
Definition: unit_def.hpp:38
nmodl::ast::ReadIonVar
TODO.
Definition: read_ion_var.hpp:38
nmodl::ast::BreakpointBlock
Represents a BREAKPOINT block in NMODL.
Definition: breakpoint_block.hpp:53
nmodl::visitor::SymtabVisitor::visit_function_table_block
void visit_function_table_block(ast::FunctionTableBlock &node) override
visit node of type ast::FunctionTableBlock
Definition: symtab_visitor.cpp:123
nmodl::visitor::SymtabVisitor::visit_useion
void visit_useion(ast::Useion &node) override
visit node of type ast::Useion
Definition: symtab_visitor.cpp:211
nmodl::visitor::SymtabVisitor::visit_destructor_block
void visit_destructor_block(ast::DestructorBlock &node) override
visit node of type ast::DestructorBlock
Definition: symtab_visitor.cpp:95
nmodl::ast::DestructorBlock
Represents a DESTRUCTOR block in the NMODL.
Definition: destructor_block.hpp:53
nmodl::visitor::SymtabVisitor::visit_after_block
void visit_after_block(ast::AfterBlock &node) override
visit node of type ast::AfterBlock
Definition: symtab_visitor.cpp:154
nmodl::ast::ConstructorBlock
Represents a CONSTRUCTOR block in the NMODL.
Definition: constructor_block.hpp:51
nmodl::visitor::SymtabVisitor::visit_eigen_newton_solver_block
void visit_eigen_newton_solver_block(ast::EigenNewtonSolverBlock &node) override
visit node of type ast::EigenNewtonSolverBlock
Definition: symtab_visitor.cpp:223
nmodl::ast::LinearBlock::get_node_name
std::string get_node_name() const override
Return name of the node.
Definition: ast.cpp:3362
nmodl::ast::Useion
Represents USEION statement in NMODL.
Definition: useion.hpp:40
nmodl::visitor::SymtabVisitor::visit_argument
void visit_argument(ast::Argument &node) override
visit node of type ast::Argument
Definition: symtab_visitor.cpp:27
nmodl::visitor::SymtabVisitor::visit_nonspecific_cur_var
void visit_nonspecific_cur_var(ast::NonspecificCurVar &node) override
visit node of type ast::NonspecificCurVar
Definition: symtab_visitor.cpp:39
nmodl::visitor::SymtabVisitor::visit_assigned_definition
void visit_assigned_definition(ast::AssignedDefinition &node) override
visit node of type ast::AssignedDefinition
Definition: symtab_visitor.cpp:207
nmodl::visitor::SymtabVisitor::visit_nrn_state_block
void visit_nrn_state_block(ast::NrnStateBlock &node) override
visit node of type ast::NrnStateBlock
Definition: symtab_visitor.cpp:219
nmodl::ast::DestructorBlock::get_node_type_name
std::string get_node_type_name() const noexcept override
Return type (ast::AstNodeType) of ast node as std::string.
Definition: destructor_block.hpp:123
nmodl::ast::ConstantBlock
Represent CONSTANT block in the mod file.
Definition: constant_block.hpp:50
nmodl::ast::PrimeName
Represents a prime variable (for ODE)
Definition: prime_name.hpp:48
nmodl::ast::DerivativeBlock
Represents DERIVATIVE block in the NMODL.
Definition: derivative_block.hpp:49
nmodl::visitor::SymtabVisitor::visit_extern_var
void visit_extern_var(ast::ExternVar &node) override
visit node of type ast::ExternVar
Definition: symtab_visitor.cpp:67
nmodl::visitor::SymtabVisitor::visit_bbcore_pointer_var
void visit_bbcore_pointer_var(ast::BbcorePointerVar &node) override
visit node of type ast::BbcorePointerVar
Definition: symtab_visitor.cpp:63
nmodl::ast::KineticBlock
TODO.
Definition: kinetic_block.hpp:39
nmodl::ast::EigenLinearSolverBlock
Represent linear solver solution block based on Eigen.
Definition: eigen_linear_solver_block.hpp:38
nmodl::ast::LocalVar
TODO.
Definition: local_var.hpp:38
nmodl::visitor::SymtabVisitor::visit_range_var
void visit_range_var(ast::RangeVar &node) override
visit node of type ast::RangeVar
Definition: symtab_visitor.cpp:47
nmodl::ast::FunctionBlock::get_node_name
std::string get_node_name() const override
Return name of the node.
Definition: ast.cpp:3963
symtab_visitor_helper.hpp
nmodl::visitor::SymtabVisitor::visit_random_var
void visit_random_var(ast::RandomVar &node) override
visit node of type ast::RandomVar
Definition: symtab_visitor.cpp:59
nmodl::visitor::SymtabVisitor::visit_state_block
void visit_state_block(ast::StateBlock &node) override
visit node of type ast::StateBlock
Definition: symtab_visitor.cpp:83
nmodl::visitor::SymtabVisitor::visit_breakpoint_block
void visit_breakpoint_block(ast::BreakpointBlock &node) override
visit node of type ast::BreakpointBlock
Definition: symtab_visitor.cpp:146
nmodl::visitor::SymtabVisitor::visit_pointer_var
void visit_pointer_var(ast::PointerVar &node) override
visit node of type ast::PointerVar
Definition: symtab_visitor.cpp:55
nmodl::ast::StateBlock
Represents a STATE block in the NMODL.
Definition: state_block.hpp:52
nmodl::visitor::SymtabVisitor::visit_constant_var
void visit_constant_var(ast::ConstantVar &node) override
visit node of type ast::ConstantVar
Definition: symtab_visitor.cpp:187
nmodl::ast::NrnStateBlock::get_node_type_name
std::string get_node_type_name() const noexcept override
Return type (ast::AstNodeType) of ast node as std::string.
Definition: nrn_state_block.hpp:108
nmodl::visitor::SymtabVisitor::visit_assigned_block
void visit_assigned_block(ast::AssignedBlock &node) override
visit node of type ast::AssignedBlock
Definition: symtab_visitor.cpp:79
nmodl::visitor::SymtabVisitor::visit_read_ion_var
void visit_read_ion_var(ast::ReadIonVar &node) override
visit node of type ast::ReadIonVar
Definition: symtab_visitor.cpp:31
nmodl::ast::NrnStateBlock
Represents the coreneuron nrn_state callback function.
Definition: nrn_state_block.hpp:39
nmodl::visitor::SymtabVisitor::visit_constant_block
void visit_constant_block(ast::ConstantBlock &node) override
visit node of type ast::ConstantBlock
Definition: symtab_visitor.cpp:175
nmodl::ast::StatementBlock
Represents block encapsulating list of statements.
Definition: statement_block.hpp:53
nmodl::visitor::SymtabVisitor::visit_write_ion_var
void visit_write_ion_var(ast::WriteIonVar &node) override
visit node of type ast::WriteIonVar
Definition: symtab_visitor.cpp:35
nmodl::symtab::syminfo::NmodlType
NmodlType
NMODL variable properties.
Definition: symbol_properties.hpp:116
nmodl::ast::ForNetcon
TODO.
Definition: for_netcon.hpp:39
nmodl::ast::Argument
Represents an argument to functions and procedures.
Definition: argument.hpp:48
nmodl::visitor::SymtabVisitor::visit_param_block
void visit_param_block(ast::ParamBlock &node) override
visit node of type ast::ParamBlock
Definition: symtab_visitor.cpp:71
nmodl::ast::LinearBlock
Represents LINEAR block in the NMODL.
Definition: linear_block.hpp:53
nmodl::ast::ProcedureBlock
TODO.
Definition: procedure_block.hpp:39
nmodl::visitor::SymtabVisitor::visit_net_receive_block
void visit_net_receive_block(ast::NetReceiveBlock &node) override
visit node of type ast::NetReceiveBlock
Definition: symtab_visitor.cpp:138
nmodl::visitor::SymtabVisitor::visit_eigen_linear_solver_block
void visit_eigen_linear_solver_block(ast::EigenLinearSolverBlock &node) override
visit node of type ast::EigenLinearSolverBlock
Definition: symtab_visitor.cpp:227
nmodl::ast::NonLinearBlock
Represents NONLINEAR block in the NMODL.
Definition: non_linear_block.hpp:50
nmodl::visitor::SymtabVisitor::visit_before_block
void visit_before_block(ast::BeforeBlock &node) override
visit node of type ast::BeforeBlock
Definition: symtab_visitor.cpp:150
nmodl::ast::ElectrodeCurVar
TODO.
Definition: electrode_cur_var.hpp:38
nmodl::visitor::SymtabVisitor::visit_constructor_block
void visit_constructor_block(ast::ConstructorBlock &node) override
visit node of type ast::ConstructorBlock
Definition: symtab_visitor.cpp:91
nmodl::ast::IndependentBlock
Represents a INDEPENDENT block in the NMODL.
Definition: independent_block.hpp:46
nmodl::ast::StatementBlock::get_node_type_name
std::string get_node_type_name() const noexcept override
Return type (ast::AstNodeType) of ast node as std::string.
Definition: statement_block.hpp:122
nmodl::visitor::SymtabVisitor::visit_prime_name
void visit_prime_name(ast::PrimeName &node) override
visit node of type ast::PrimeName
Definition: symtab_visitor.cpp:23
nmodl::ast::Program
Represents top level AST node for whole NMODL input.
Definition: program.hpp:39
nmodl::ast::NetReceiveBlock::get_node_type_name
std::string get_node_type_name() const noexcept override
Return type (ast::AstNodeType) of ast node as std::string.
Definition: net_receive_block.hpp:111
nmodl::ast::AfterBlock
Represents a AFTER block in NMODL.
Definition: after_block.hpp:51
nmodl::visitor::SymtabVisitor::visit_procedure_block
void visit_procedure_block(ast::ProcedureBlock &node) override
visit node of type ast::ProcedureBlock
Definition: symtab_visitor.cpp:133
symtab_visitor.hpp
THIS FILE IS GENERATED AT BUILD TIME AND SHALL NOT BE EDITED.
nmodl::ast::NeuronBlock
Represent NEURON block in the mod file.
Definition: neuron_block.hpp:53
nmodl::ast::ParamBlock
Represents a PARAMETER block in the NMODL.
Definition: param_block.hpp:53
nmodl::ast::NonspecificCurVar
TODO.
Definition: nonspecific_cur_var.hpp:38
nmodl::visitor::SymtabVisitor::visit_non_linear_block
void visit_non_linear_block(ast::NonLinearBlock &node) override
visit node of type ast::NonLinearBlock
Definition: symtab_visitor.cpp:113
nmodl::ast::InitialBlock::get_node_type_name
std::string get_node_type_name() const noexcept override
Return type (ast::AstNodeType) of ast node as std::string.
Definition: initial_block.hpp:119
nmodl::ast::ProcedureBlock::get_node_name
std::string get_node_name() const override
Return name of the node.
Definition: ast.cpp:4160
nmodl::ast::BreakpointBlock::get_node_type_name
std::string get_node_type_name() const noexcept override
Return type (ast::AstNodeType) of ast node as std::string.
Definition: breakpoint_block.hpp:123
nmodl::visitor::SymtabVisitor::visit_linear_block
void visit_linear_block(ast::LinearBlock &node) override
visit node of type ast::LinearBlock
Definition: symtab_visitor.cpp:108