User Guide

Different visitors implemented in NMODL. More...

Detailed Description

Different visitors implemented in NMODL.

Namespaces

 nmodl
 encapsulates code generation backend implementations
 
 nmodl::visitor
 Implementation of different AST visitors.
 

Classes

class  nmodl::visitor::AfterCVodeToCnexpVisitor
 Visitor to change usage of after_cvode solver to cnexp. More...
 
class  nmodl::visitor::ConstantFolderVisitor
 Perform constant folding of integer/float/double expressions. More...
 
class  nmodl::visitor::DefUseAnalyzeVisitor
 Visitor to return Def-Use chain for a given variable in the block/node More...
 
class  nmodl::visitor::FunctionCallpathVisitor
 Visitor for traversing FunctionBlock s and ProcedureBlocks through their FunctionCall s More...
 
class  nmodl::visitor::GlobalToRangeVisitor
 Visitor to convert GLOBAL variables to RANGE variables. More...
 
class  nmodl::visitor::ImplicitArgumentVisitor
 Visitor for adding implicit arguments to [Core]NEURON functions. More...
 
class  nmodl::visitor::IndexedNameVisitor
 Get node name with indexed for the IndexedName node and the dependencies of DiffEqExpression node. More...
 
class  nmodl::visitor::InlineVisitor
 Visitor to inline local procedure and function calls More...
 
class  nmodl::visitor::KineticBlockVisitor
 Visitor for kinetic block statements More...
 
class  nmodl::visitor::LocalToAssignedVisitor
 Visitor to convert top level LOCAL variables to ASSIGNED variables. More...
 
class  nmodl::visitor::LocalVarRenameVisitor
 Visitor to rename local variables conflicting with global scope More...
 
class  nmodl::visitor::LocalizeVisitor
 Visitor to transform global variable usage to local More...
 
class  nmodl::visitor::LoopUnrollVisitor
 Unroll for loop in the AST. More...
 
class  nmodl::visitor::NeuronSolveVisitor
 Visitor that solves ODEs using old solvers of NEURON More...
 
class  nmodl::visitor::PerfVisitor
 Visitor for measuring performance related information More...
 
class  nmodl::visitor::RenameVisitor
 Blindly rename given variable to new name More...
 
class  nmodl::visitor::SemanticAnalysisVisitor
 
class  nmodl::visitor::SolveBlockVisitor
 Replace solve block statements with actual solution node in the AST. More...
 
class  nmodl::visitor::SteadystateVisitor
 Visitor for STEADYSTATE solve statements More...
 
class  nmodl::visitor::SympyConductanceVisitor
 Visitor for generating CONDUCTANCE statements for ions More...
 
class  nmodl::visitor::SympyReplaceSolutionsVisitor
 Replace statements in node with pre_solve_statements, tmp_statements, and solutions. More...
 
class  nmodl::visitor::SympySolverVisitor
 Visitor for systems of algebraic and differential equations More...
 
class  nmodl::visitor::UnitsVisitor
 Visitor for Units blocks of AST. More...
 
class  nmodl::visitor::VarUsageVisitor
 Check if variable is used in given block. More...
 
class  nmodl::visitor::VerbatimVarRenameVisitor
 Rename variable in verbatim block. More...
 
class  nmodl::visitor::VerbatimVisitor
 Visitor for verbatim blocks of AST More...
 
class  nmodl::visitor::AstVisitor
 Concrete visitor for all AST classes. More...
 
class  nmodl::visitor::JSONVisitor
 Visitor for printing AST in JSON format More...
 
class  nmodl::visitor::MetaAstLookupVisitor< DefaultVisitor >
 
class  nmodl::visitor::NmodlPrintVisitor
 Visitor for printing AST back to NMODL More...
 
class  nmodl::visitor::SymtabVisitor
 Concrete visitor for constructing symbol table from AST. More...
 
class  nmodl::visitor::Visitor
 Abstract base class for all visitors implementation. More...
 
class  nmodl::visitor::ConstVisitor
 Abstract base class for all constant visitors implementation. More...
 
class  SemanticAnalysisVisitor
 Visitor to check some semantic rules on the ast More...
 
class  nmodl::visitor::test::CheckParentVisitor
 Visitor for checking parents of ast nodes More...
 
class  AstLookupVisitor
 Visitor to find AST nodes based on their types More...
 

Typedefs

using nmodl::visitor::AstLookupVisitor = MetaAstLookupVisitor< Visitor >
 
using nmodl::visitor::ConstAstLookupVisitor = MetaAstLookupVisitor< ConstVisitor >
 

Typedef Documentation

◆ AstLookupVisitor

◆ ConstAstLookupVisitor