![Logo](logo.png) |
User Guide
|
symtab::SymbolTable * symtab
std::vector< std::shared_ptr< Statement > > StatementVector
ast::SolutionExpression * create_solution_expression(ast::SolveBlock &solve_block)
Create solution expression node that will be used for solve block.
encapsulates code generation backend implementations
SolveBlockVisitor()=default
Represents a BREAKPOINT block in NMODL.
Replace solve block statements with actual solution node in the AST.
void visit_breakpoint_block(ast::BreakpointBlock &node) override
visit node of type ast::BreakpointBlock
Concrete visitor for all AST classes.
Represent symbol table for a NMODL block.
void visit_program(ast::Program &node) override
visit node of type ast::Program
Represent solution of a block in the AST.
Represents top level AST node for whole NMODL input.
ast::StatementVector nrn_state_solve_statements
solve expression statements for NrnState block
Forward declarations of symbols in namespace nmodl::symtab.
void visit_expression_statement(ast::ExpressionStatement &node) override
Replace solve blocks with solution expression.
Concrete visitor for all AST classes.