![]() |
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... | |