Concrete visitor for all AST classes.
Base class for all AST node.
Represents top level AST node for whole NMODL input.
Represent symbol table for a NMODL block.
Concrete constant visitor for all AST classes.
Visitor to transform global variable usage to local
bool node_for_def_use_analysis(const ast::Node &node) const
symtab::SymbolTable * program_symtab
void visit_program(const ast::Program &node) override
visit node of type ast::Program
LocalizeVisitor(bool ignore_verbatim)
LocalizeVisitor()=default
bool is_solve_procedure(const ast::Node &node) const
std::vector< std::string > variables_to_optimize() const
bool ignore_verbatim
ignore verbatim blocks while localizing
encapsulates code generation backend implementations
static Node * node(Object *)
Forward declarations of symbols in namespace nmodl::symtab.