![]() |
User Guide
|
Abstract Syntax Tree (AST) related implementations. More...
Abstract Syntax Tree (AST) related implementations.
Classes | |
class | AfterBlock |
Represents a AFTER block in NMODL. More... | |
class | Argument |
Represents an argument to functions and procedures. More... | |
class | AssignedBlock |
Represents a ASSIGNED block in the NMODL. More... | |
class | AssignedDefinition |
Represents a statement in ASSIGNED or STATE block. More... | |
struct | Ast |
Base class for all Abstract Syntax Tree node types. More... | |
class | BABlock |
Represents a block to be executed before or after another block. More... | |
class | BABlockType |
Type to represent different block types for before/after block. More... | |
class | BbcorePointer |
Represents BBCOREPOINTER statement in NMODL. More... | |
class | BbcorePointerVar |
Represent a single variable of type BBCOREPOINTER. More... | |
class | BeforeBlock |
Represents a BEFORE block in NMODL. More... | |
class | BinaryExpression |
Represents binary expression in the NMODL. More... | |
class | BinaryOperator |
Operator used in ast::BinaryExpression. More... | |
class | Block |
Base class for all block scoped nodes. More... | |
class | BlockComment |
Represents a multi-line comment in NMODL. More... | |
class | Boolean |
Represents a boolean variable. More... | |
class | BreakpointBlock |
Represents a BREAKPOINT block in NMODL. More... | |
class | Compartment |
Represent COMPARTMENT statement in NMODL. More... | |
class | ConductanceHint |
Represents CONDUCTANCE statement in NMODL. More... | |
class | Conserve |
Represent CONSERVE statement in NMODL. More... | |
class | ConstantBlock |
Represent CONSTANT block in the mod file. More... | |
class | ConstantStatement |
Represent statement in CONSTANT block of NMODL. More... | |
class | ConstantVar |
Represents a variable in the ast::ConstantBlock. More... | |
class | ConstructorBlock |
Represents a CONSTRUCTOR block in the NMODL. More... | |
class | CvodeBlock |
Represents a block used for variable timestep integration (CVODE) of DERIVATIVE blocks. More... | |
class | Define |
Represents a DEFINE statement in NMODL. More... | |
class | DerivativeBlock |
Represents DERIVATIVE block in the NMODL. More... | |
class | DerivimplicitCallback |
Represent a callback to NEURON's derivimplicit solver. More... | |
class | DestructorBlock |
Represents a DESTRUCTOR block in the NMODL. More... | |
class | DiffEqExpression |
Represents differential equation in DERIVATIVE block. More... | |
class | DiscreteBlock |
TODO. More... | |
class | Double |
Represents a double variable. More... | |
class | DoubleUnit |
TODO. More... | |
class | EigenLinearSolverBlock |
Represent linear solver solution block based on Eigen. More... | |
class | EigenNewtonSolverBlock |
Represent newton solver solution block based on Eigen. More... | |
class | ElectrodeCurrent |
Represents ELECTRODE_CURRENT variables statement in NMODL. More... | |
class | ElectrodeCurVar |
TODO. More... | |
class | ElseIfStatement |
TODO. More... | |
class | ElseStatement |
TODO. More... | |
class | Expression |
Base class for all expressions in the NMODL. More... | |
class | ExpressionStatement |
TODO. More... | |
class | External |
This construct is deprecated and no longer supported in the NMODL. More... | |
class | ExternVar |
TODO. More... | |
class | FactorDef |
TODO. More... | |
class | Float |
Represents a float variable. More... | |
class | ForNetcon |
TODO. More... | |
class | FromStatement |
TODO. More... | |
class | FunctionBlock |
TODO. More... | |
class | FunctionCall |
TODO. More... | |
class | FunctionTableBlock |
TODO. More... | |
class | Global |
Represents GLOBAL statement in NMODL. More... | |
class | GlobalVar |
TODO. More... | |
class | Identifier |
Base class for all identifiers. More... | |
class | IfStatement |
TODO. More... | |
class | Include |
Represents an INCLUDE statement in NMODL. More... | |
class | IndependentBlock |
Represents a INDEPENDENT block in the NMODL. More... | |
class | IndexedName |
Represents specific element of an array variable. More... | |
class | InitialBlock |
Represents a INITIAL block in the NMODL. More... | |
class | Integer |
Represents an integer variable. More... | |
class | KineticBlock |
TODO. More... | |
class | LagStatement |
Represents a LAG statement in the mod file. More... | |
class | Limits |
TODO. More... | |
class | LinearBlock |
Represents LINEAR block in the NMODL. More... | |
class | LineComment |
Represents a one line comment in NMODL. More... | |
class | LinEquation |
One equation in a system of equations tha collectively form a LINEAR block. More... | |
class | LocalListStatement |
TODO. More... | |
class | LocalVar |
TODO. More... | |
class | LonDiffuse |
Represent LONGITUDINAL_DIFFUSION statement in NMODL. More... | |
class | LongitudinalDiffusionBlock |
Extracts information required for LONGITUDINAL_DIFFUSION for each KINETIC block. More... | |
class | Model |
TODO. More... | |
class | MutexLock |
Represent MUTEXLOCK statement in NMODL. More... | |
class | MutexUnlock |
Represent MUTEXUNLOCK statement in NMODL. More... | |
class | Name |
Represents a name. More... | |
class | NetReceiveBlock |
TODO. More... | |
class | NeuronBlock |
Represent NEURON block in the mod file. More... | |
class | Node |
Base class for all AST node. More... | |
class | NonLinearBlock |
Represents NONLINEAR block in the NMODL. More... | |
class | NonLinEquation |
One equation in a system of equations that collectively make a NONLINEAR block. More... | |
class | Nonspecific |
Represents NONSPECIFIC_CURRENT variables statement in NMODL. More... | |
class | NonspecificCurVar |
TODO. More... | |
class | NrnStateBlock |
Represents the coreneuron nrn_state callback function. More... | |
class | Number |
Base class for all numbers. More... | |
class | NumberRange |
TODO. More... | |
class | OntologyStatement |
Represents CURIE information in NMODL. More... | |
class | ParamAssign |
TODO. More... | |
class | ParamBlock |
Represents a PARAMETER block in the NMODL. More... | |
class | ParenExpression |
TODO. More... | |
class | Pointer |
Represents POINTER statement in NMODL. More... | |
class | PointerVar |
TODO. More... | |
class | PrimeName |
Represents a prime variable (for ODE) More... | |
class | ProcedureBlock |
TODO. More... | |
class | Program |
Represents top level AST node for whole NMODL input. More... | |
class | ProtectStatement |
TODO. More... | |
class | RandomVar |
Single variable of type RANDOM. More... | |
class | RandomVarList |
Represents RANDOM statement in NMODL. More... | |
class | Range |
Represents RANGE variables statement in NMODL. More... | |
class | RangeVar |
TODO. More... | |
class | ReactionOperator |
TODO. More... | |
class | ReactionStatement |
TODO. More... | |
class | ReactVarName |
TODO. More... | |
class | ReadIonVar |
TODO. More... | |
class | SolutionExpression |
Represent solution of a block in the AST. More... | |
class | SolveBlock |
TODO. More... | |
class | StateBlock |
Represents a STATE block in the NMODL. More... | |
class | Statement |
TODO. More... | |
class | StatementBlock |
Represents block encapsulating list of statements. More... | |
class | String |
Represents a string. More... | |
class | Suffix |
Represents SUFFIX statement in NMODL. More... | |
class | TableStatement |
Represents TABLE statement in NMODL. More... | |
class | ThreadSafe |
Represents THREADSAFE statement in NMODL. More... | |
class | UnaryExpression |
TODO. More... | |
class | UnaryOperator |
TODO. More... | |
class | Unit |
TODO. More... | |
class | UnitBlock |
TODO. More... | |
class | UnitDef |
TODO. More... | |
class | UnitState |
TODO. More... | |
class | UpdateDt |
Statement to indicate a change in timestep in a given block. More... | |
class | Useion |
Represents USEION statement in NMODL. More... | |
class | Valence |
TODO. More... | |
class | VarName |
Represents a variable. More... | |
class | Verbatim |
Represents a C code block. More... | |
class | Watch |
TODO. More... | |
class | WatchStatement |
Represent WATCH statement in NMODL. More... | |
class | WhileStatement |
TODO. More... | |
class | WrappedExpression |
Wrap any other expression type. More... | |
class | WriteIonVar |
TODO. More... | |
Typedefs | |
using | NodeVector = std::vector< std::shared_ptr< Node > > |
using | StatementVector = std::vector< std::shared_ptr< Statement > > |
using | ExpressionVector = std::vector< std::shared_ptr< Expression > > |
using | BlockVector = std::vector< std::shared_ptr< Block > > |
using | IdentifierVector = std::vector< std::shared_ptr< Identifier > > |
using | NumberVector = std::vector< std::shared_ptr< Number > > |
using | StringVector = std::vector< std::shared_ptr< String > > |
using | IntegerVector = std::vector< std::shared_ptr< Integer > > |
using | FloatVector = std::vector< std::shared_ptr< Float > > |
using | DoubleVector = std::vector< std::shared_ptr< Double > > |
using | BooleanVector = std::vector< std::shared_ptr< Boolean > > |
using | NameVector = std::vector< std::shared_ptr< Name > > |
using | PrimeNameVector = std::vector< std::shared_ptr< PrimeName > > |
using | IndexedNameVector = std::vector< std::shared_ptr< IndexedName > > |
using | VarNameVector = std::vector< std::shared_ptr< VarName > > |
using | ArgumentVector = std::vector< std::shared_ptr< Argument > > |
using | ReactVarNameVector = std::vector< std::shared_ptr< ReactVarName > > |
using | ReadIonVarVector = std::vector< std::shared_ptr< ReadIonVar > > |
using | WriteIonVarVector = std::vector< std::shared_ptr< WriteIonVar > > |
using | NonspecificCurVarVector = std::vector< std::shared_ptr< NonspecificCurVar > > |
using | ElectrodeCurVarVector = std::vector< std::shared_ptr< ElectrodeCurVar > > |
using | RangeVarVector = std::vector< std::shared_ptr< RangeVar > > |
using | GlobalVarVector = std::vector< std::shared_ptr< GlobalVar > > |
using | PointerVarVector = std::vector< std::shared_ptr< PointerVar > > |
using | RandomVarVector = std::vector< std::shared_ptr< RandomVar > > |
using | BbcorePointerVarVector = std::vector< std::shared_ptr< BbcorePointerVar > > |
using | ExternVarVector = std::vector< std::shared_ptr< ExternVar > > |
using | ParamBlockVector = std::vector< std::shared_ptr< ParamBlock > > |
using | IndependentBlockVector = std::vector< std::shared_ptr< IndependentBlock > > |
using | AssignedBlockVector = std::vector< std::shared_ptr< AssignedBlock > > |
using | StateBlockVector = std::vector< std::shared_ptr< StateBlock > > |
using | InitialBlockVector = std::vector< std::shared_ptr< InitialBlock > > |
using | ConstructorBlockVector = std::vector< std::shared_ptr< ConstructorBlock > > |
using | DestructorBlockVector = std::vector< std::shared_ptr< DestructorBlock > > |
using | StatementBlockVector = std::vector< std::shared_ptr< StatementBlock > > |
using | DerivativeBlockVector = std::vector< std::shared_ptr< DerivativeBlock > > |
using | LinearBlockVector = std::vector< std::shared_ptr< LinearBlock > > |
using | NonLinearBlockVector = std::vector< std::shared_ptr< NonLinearBlock > > |
using | DiscreteBlockVector = std::vector< std::shared_ptr< DiscreteBlock > > |
using | FunctionTableBlockVector = std::vector< std::shared_ptr< FunctionTableBlock > > |
using | FunctionBlockVector = std::vector< std::shared_ptr< FunctionBlock > > |
using | ProcedureBlockVector = std::vector< std::shared_ptr< ProcedureBlock > > |
using | NetReceiveBlockVector = std::vector< std::shared_ptr< NetReceiveBlock > > |
using | SolveBlockVector = std::vector< std::shared_ptr< SolveBlock > > |
using | BreakpointBlockVector = std::vector< std::shared_ptr< BreakpointBlock > > |
using | BeforeBlockVector = std::vector< std::shared_ptr< BeforeBlock > > |
using | AfterBlockVector = std::vector< std::shared_ptr< AfterBlock > > |
using | BABlockVector = std::vector< std::shared_ptr< BABlock > > |
using | ForNetconVector = std::vector< std::shared_ptr< ForNetcon > > |
using | KineticBlockVector = std::vector< std::shared_ptr< KineticBlock > > |
using | UnitBlockVector = std::vector< std::shared_ptr< UnitBlock > > |
using | ConstantBlockVector = std::vector< std::shared_ptr< ConstantBlock > > |
using | NeuronBlockVector = std::vector< std::shared_ptr< NeuronBlock > > |
using | UnitVector = std::vector< std::shared_ptr< Unit > > |
using | DoubleUnitVector = std::vector< std::shared_ptr< DoubleUnit > > |
using | LocalVarVector = std::vector< std::shared_ptr< LocalVar > > |
using | LimitsVector = std::vector< std::shared_ptr< Limits > > |
using | NumberRangeVector = std::vector< std::shared_ptr< NumberRange > > |
using | ConstantVarVector = std::vector< std::shared_ptr< ConstantVar > > |
using | BinaryOperatorVector = std::vector< std::shared_ptr< BinaryOperator > > |
using | UnaryOperatorVector = std::vector< std::shared_ptr< UnaryOperator > > |
using | ReactionOperatorVector = std::vector< std::shared_ptr< ReactionOperator > > |
using | ParenExpressionVector = std::vector< std::shared_ptr< ParenExpression > > |
using | BinaryExpressionVector = std::vector< std::shared_ptr< BinaryExpression > > |
using | DiffEqExpressionVector = std::vector< std::shared_ptr< DiffEqExpression > > |
using | UnaryExpressionVector = std::vector< std::shared_ptr< UnaryExpression > > |
using | NonLinEquationVector = std::vector< std::shared_ptr< NonLinEquation > > |
using | LinEquationVector = std::vector< std::shared_ptr< LinEquation > > |
using | FunctionCallVector = std::vector< std::shared_ptr< FunctionCall > > |
using | WatchVector = std::vector< std::shared_ptr< Watch > > |
using | BABlockTypeVector = std::vector< std::shared_ptr< BABlockType > > |
using | UnitDefVector = std::vector< std::shared_ptr< UnitDef > > |
using | FactorDefVector = std::vector< std::shared_ptr< FactorDef > > |
using | ValenceVector = std::vector< std::shared_ptr< Valence > > |
using | UnitStateVector = std::vector< std::shared_ptr< UnitState > > |
using | LocalListStatementVector = std::vector< std::shared_ptr< LocalListStatement > > |
using | ModelVector = std::vector< std::shared_ptr< Model > > |
using | DefineVector = std::vector< std::shared_ptr< Define > > |
using | IncludeVector = std::vector< std::shared_ptr< Include > > |
using | ParamAssignVector = std::vector< std::shared_ptr< ParamAssign > > |
using | AssignedDefinitionVector = std::vector< std::shared_ptr< AssignedDefinition > > |
using | ConductanceHintVector = std::vector< std::shared_ptr< ConductanceHint > > |
using | ExpressionStatementVector = std::vector< std::shared_ptr< ExpressionStatement > > |
using | ProtectStatementVector = std::vector< std::shared_ptr< ProtectStatement > > |
using | FromStatementVector = std::vector< std::shared_ptr< FromStatement > > |
using | WhileStatementVector = std::vector< std::shared_ptr< WhileStatement > > |
using | IfStatementVector = std::vector< std::shared_ptr< IfStatement > > |
using | ElseIfStatementVector = std::vector< std::shared_ptr< ElseIfStatement > > |
using | ElseStatementVector = std::vector< std::shared_ptr< ElseStatement > > |
using | WatchStatementVector = std::vector< std::shared_ptr< WatchStatement > > |
using | MutexLockVector = std::vector< std::shared_ptr< MutexLock > > |
using | MutexUnlockVector = std::vector< std::shared_ptr< MutexUnlock > > |
using | ConserveVector = std::vector< std::shared_ptr< Conserve > > |
using | CompartmentVector = std::vector< std::shared_ptr< Compartment > > |
using | LonDiffuseVector = std::vector< std::shared_ptr< LonDiffuse > > |
using | ReactionStatementVector = std::vector< std::shared_ptr< ReactionStatement > > |
using | LagStatementVector = std::vector< std::shared_ptr< LagStatement > > |
using | ConstantStatementVector = std::vector< std::shared_ptr< ConstantStatement > > |
using | TableStatementVector = std::vector< std::shared_ptr< TableStatement > > |
using | SuffixVector = std::vector< std::shared_ptr< Suffix > > |
using | UseionVector = std::vector< std::shared_ptr< Useion > > |
using | NonspecificVector = std::vector< std::shared_ptr< Nonspecific > > |
using | ElectrodeCurrentVector = std::vector< std::shared_ptr< ElectrodeCurrent > > |
using | RangeVector = std::vector< std::shared_ptr< Range > > |
using | GlobalVector = std::vector< std::shared_ptr< Global > > |
using | RandomVarListVector = std::vector< std::shared_ptr< RandomVarList > > |
using | PointerVector = std::vector< std::shared_ptr< Pointer > > |
using | BbcorePointerVector = std::vector< std::shared_ptr< BbcorePointer > > |
using | ExternalVector = std::vector< std::shared_ptr< External > > |
using | ThreadSafeVector = std::vector< std::shared_ptr< ThreadSafe > > |
using | VerbatimVector = std::vector< std::shared_ptr< Verbatim > > |
using | LineCommentVector = std::vector< std::shared_ptr< LineComment > > |
using | BlockCommentVector = std::vector< std::shared_ptr< BlockComment > > |
using | OntologyStatementVector = std::vector< std::shared_ptr< OntologyStatement > > |
using | ProgramVector = std::vector< std::shared_ptr< Program > > |
using | NrnStateBlockVector = std::vector< std::shared_ptr< NrnStateBlock > > |
using | EigenNewtonSolverBlockVector = std::vector< std::shared_ptr< EigenNewtonSolverBlock > > |
using | EigenLinearSolverBlockVector = std::vector< std::shared_ptr< EigenLinearSolverBlock > > |
using | CvodeBlockVector = std::vector< std::shared_ptr< CvodeBlock > > |
using | LongitudinalDiffusionBlockVector = std::vector< std::shared_ptr< LongitudinalDiffusionBlock > > |
using | WrappedExpressionVector = std::vector< std::shared_ptr< WrappedExpression > > |
using | DerivimplicitCallbackVector = std::vector< std::shared_ptr< DerivimplicitCallback > > |
using | SolutionExpressionVector = std::vector< std::shared_ptr< SolutionExpression > > |
using | UpdateDtVector = std::vector< std::shared_ptr< UpdateDt > > |
Variables | |
static const std::string | BinaryOpNames [] |
string representation of ast::BinaryOp More... | |
static const std::string | UnaryOpNames [] = {"!", "-"} |
string representation of ast::UnaryOp More... | |
static const std::string | BATypeNames [] = {"BREAKPOINT", "SOLVE", "INITIAL", "STEP"} |
string representation of ast::BAType More... | |
static const std::string | UnitStateTypeNames [] = {"UNITSON", "UNITSOFF"} |
string representation of ast::UnitStateType More... | |
static const std::string | ReactionOpNames [] = {"<->", "<<", "->"} |
string representation of ast::ReactionOp More... | |