Auto generated AST classes declaration.
Concrete visitor for all AST classes.
Represents top level AST node for whole NMODL input.
Represent symbol table for a NMODL block.
Concrete constant visitor for all AST classes.
Visitor for traversing FunctionBlock s and ProcedureBlocks through their FunctionCall s
void visit_function_call(const ast::FunctionCall &node) override
visit node of type ast::FunctionCall
void visit_procedure_block(const ast::ProcedureBlock &node) override
visit node of type ast::ProcedureBlock
std::vector< const ast::Block * > visited_functions_or_procedures
Vector of currently visited functions or procedures (used as a searchable stack)
void visit_var_name(const ast::VarName &node) override
visit node of type ast::VarName
void visit_program(const ast::Program &node) override
visit node of type ast::Program
symtab::SymbolTable * psymtab
symbol table for the program
void visit_function_block(const ast::FunctionBlock &node) override
visit node of type ast::FunctionBlock
encapsulates code generation backend implementations
static Node * node(Object *)
Forward declarations of symbols in namespace nmodl::symtab.