45 class NonspecificCurVar;
46 class ElectrodeCurVar;
51 class BbcorePointerVar;
54 class IndependentBlock;
58 class ConstructorBlock;
59 class DestructorBlock;
61 class DerivativeBlock;
65 class FunctionTableBlock;
68 class NetReceiveBlock;
70 class BreakpointBlock;
87 class ReactionOperator;
88 class ParenExpression;
89 class BinaryExpression;
90 class DiffEqExpression;
91 class UnaryExpression;
101 class LocalListStatement;
106 class AssignedDefinition;
107 class ConductanceHint;
108 class ExpressionStatement;
109 class ProtectStatement;
111 class WhileStatement;
113 class ElseIfStatement;
115 class WatchStatement;
121 class ReactionStatement;
123 class ConstantStatement;
124 class TableStatement;
128 class ElectrodeCurrent;
139 class OntologyStatement;
142 class EigenNewtonSolverBlock;
143 class EigenLinearSolverBlock;
145 class LongitudinalDiffusionBlock;
146 class WrappedExpression;
147 class DerivimplicitCallback;
148 class SolutionExpression;
AstNodeType
Enum type for every AST node type.
@ CONSTRUCTOR_BLOCK
type of ast::ConstructorBlock
@ ELSE_IF_STATEMENT
type of ast::ElseIfStatement
@ RANGE
type of ast::Range
@ BREAKPOINT_BLOCK
type of ast::BreakpointBlock
@ DERIVATIVE_BLOCK
type of ast::DerivativeBlock
@ UNIT_DEF
type of ast::UnitDef
@ SOLUTION_EXPRESSION
type of ast::SolutionExpression
@ VAR_NAME
type of ast::VarName
@ INCLUDE
type of ast::Include
@ STATEMENT_BLOCK
type of ast::StatementBlock
@ WATCH_STATEMENT
type of ast::WatchStatement
@ NONSPECIFIC_CUR_VAR
type of ast::NonspecificCurVar
@ THREAD_SAFE
type of ast::ThreadSafe
@ LIMITS
type of ast::Limits
@ BBCORE_POINTER_VAR
type of ast::BbcorePointerVar
@ REACT_VAR_NAME
type of ast::ReactVarName
@ WRAPPED_EXPRESSION
type of ast::WrappedExpression
@ MUTEX_UNLOCK
type of ast::MutexUnlock
@ STATEMENT
type of ast::Statement
@ ASSIGNED_DEFINITION
type of ast::AssignedDefinition
@ PARAM_BLOCK
type of ast::ParamBlock
@ PAREN_EXPRESSION
type of ast::ParenExpression
@ BINARY_OPERATOR
type of ast::BinaryOperator
@ SOLVE_BLOCK
type of ast::SolveBlock
@ NUMBER
type of ast::Number
@ CONSTANT_STATEMENT
type of ast::ConstantStatement
@ EXTERNAL
type of ast::External
@ POINTER_VAR
type of ast::PointerVar
@ READ_ION_VAR
type of ast::ReadIonVar
@ PARAM_ASSIGN
type of ast::ParamAssign
@ ONTOLOGY_STATEMENT
type of ast::OntologyStatement
@ ELSE_STATEMENT
type of ast::ElseStatement
@ BLOCK
type of ast::Block
@ BEFORE_BLOCK
type of ast::BeforeBlock
@ DESTRUCTOR_BLOCK
type of ast::DestructorBlock
@ UPDATE_DT
type of ast::UpdateDt
@ WHILE_STATEMENT
type of ast::WhileStatement
@ EIGEN_LINEAR_SOLVER_BLOCK
type of ast::EigenLinearSolverBlock
@ UNIT_STATE
type of ast::UnitState
@ DEFINE
type of ast::Define
@ IF_STATEMENT
type of ast::IfStatement
@ FUNCTION_TABLE_BLOCK
type of ast::FunctionTableBlock
@ UNARY_OPERATOR
type of ast::UnaryOperator
@ INTEGER
type of ast::Integer
@ RANDOM_VAR
type of ast::RandomVar
@ STRING
type of ast::String
@ REACTION_OPERATOR
type of ast::ReactionOperator
@ WRITE_ION_VAR
type of ast::WriteIonVar
@ CONSTANT_BLOCK
type of ast::ConstantBlock
@ ELECTRODE_CURRENT
type of ast::ElectrodeCurrent
@ GLOBAL
type of ast::Global
@ IDENTIFIER
type of ast::Identifier
@ DERIVIMPLICIT_CALLBACK
type of ast::DerivimplicitCallback
@ REACTION_STATEMENT
type of ast::ReactionStatement
@ ELECTRODE_CUR_VAR
type of ast::ElectrodeCurVar
@ CONDUCTANCE_HINT
type of ast::ConductanceHint
@ CONSTANT_VAR
type of ast::ConstantVar
@ BINARY_EXPRESSION
type of ast::BinaryExpression
@ MODEL
type of ast::Model
@ MUTEX_LOCK
type of ast::MutexLock
@ BA_BLOCK_TYPE
type of ast::BABlockType
@ UNARY_EXPRESSION
type of ast::UnaryExpression
@ ASSIGNED_BLOCK
type of ast::AssignedBlock
@ DISCRETE_BLOCK
type of ast::DiscreteBlock
@ CVODE_BLOCK
type of ast::CvodeBlock
@ ARGUMENT
type of ast::Argument
@ FACTOR_DEF
type of ast::FactorDef
@ INDEPENDENT_BLOCK
type of ast::IndependentBlock
@ NET_RECEIVE_BLOCK
type of ast::NetReceiveBlock
@ FROM_STATEMENT
type of ast::FromStatement
@ AFTER_BLOCK
type of ast::AfterBlock
@ INITIAL_BLOCK
type of ast::InitialBlock
@ UNIT_BLOCK
type of ast::UnitBlock
@ KINETIC_BLOCK
type of ast::KineticBlock
@ POINTER
type of ast::Pointer
@ RANGE_VAR
type of ast::RangeVar
@ NEURON_BLOCK
type of ast::NeuronBlock
@ EIGEN_NEWTON_SOLVER_BLOCK
type of ast::EigenNewtonSolverBlock
@ RANDOM_VAR_LIST
type of ast::RandomVarList
@ NON_LINEAR_BLOCK
type of ast::NonLinearBlock
@ STATE_BLOCK
type of ast::StateBlock
@ EXPRESSION_STATEMENT
type of ast::ExpressionStatement
@ FUNCTION_BLOCK
type of ast::FunctionBlock
@ LINE_COMMENT
type of ast::LineComment
@ DOUBLE_UNIT
type of ast::DoubleUnit
@ VERBATIM
type of ast::Verbatim
@ LON_DIFFUSE
type of ast::LonDiffuse
@ PROTECT_STATEMENT
type of ast::ProtectStatement
@ INDEXED_NAME
type of ast::IndexedName
@ TABLE_STATEMENT
type of ast::TableStatement
@ FOR_NETCON
type of ast::ForNetcon
@ BOOLEAN
type of ast::Boolean
@ PROGRAM
type of ast::Program
@ GLOBAL_VAR
type of ast::GlobalVar
@ USEION
type of ast::Useion
@ VALENCE
type of ast::Valence
@ SUFFIX
type of ast::Suffix
@ LINEAR_BLOCK
type of ast::LinearBlock
@ LONGITUDINAL_DIFFUSION_BLOCK
type of ast::LongitudinalDiffusionBlock
@ NONSPECIFIC
type of ast::Nonspecific
@ CONSERVE
type of ast::Conserve
@ NON_LIN_EQUATION
type of ast::NonLinEquation
@ LOCAL_LIST_STATEMENT
type of ast::LocalListStatement
@ LIN_EQUATION
type of ast::LinEquation
@ NUMBER_RANGE
type of ast::NumberRange
@ WATCH
type of ast::Watch
@ EXTERN_VAR
type of ast::ExternVar
@ FLOAT
type of ast::Float
@ EXPRESSION
type of ast::Expression
@ LAG_STATEMENT
type of ast::LagStatement
@ BBCORE_POINTER
type of ast::BbcorePointer
@ NRN_STATE_BLOCK
type of ast::NrnStateBlock
@ BA_BLOCK
type of ast::BABlock
@ PRIME_NAME
type of ast::PrimeName
@ BLOCK_COMMENT
type of ast::BlockComment
@ LOCAL_VAR
type of ast::LocalVar
@ COMPARTMENT
type of ast::Compartment
@ PROCEDURE_BLOCK
type of ast::ProcedureBlock
@ DOUBLE
type of ast::Double
@ FUNCTION_CALL
type of ast::FunctionCall
@ DIFF_EQ_EXPRESSION
type of ast::DiffEqExpression
std::vector< std::shared_ptr< Limits > > LimitsVector
std::vector< std::shared_ptr< ProcedureBlock > > ProcedureBlockVector
std::vector< std::shared_ptr< ReactionStatement > > ReactionStatementVector
std::vector< std::shared_ptr< UpdateDt > > UpdateDtVector
std::vector< std::shared_ptr< ReactVarName > > ReactVarNameVector
std::vector< std::shared_ptr< ElseIfStatement > > ElseIfStatementVector
std::vector< std::shared_ptr< Statement > > StatementVector
std::vector< std::shared_ptr< Argument > > ArgumentVector
std::vector< std::shared_ptr< SolveBlock > > SolveBlockVector
std::vector< std::shared_ptr< LonDiffuse > > LonDiffuseVector
std::vector< std::shared_ptr< NrnStateBlock > > NrnStateBlockVector
std::vector< std::shared_ptr< Identifier > > IdentifierVector
std::vector< std::shared_ptr< ThreadSafe > > ThreadSafeVector
std::vector< std::shared_ptr< WhileStatement > > WhileStatementVector
std::vector< std::shared_ptr< WrappedExpression > > WrappedExpressionVector
std::vector< std::shared_ptr< IfStatement > > IfStatementVector
std::vector< std::shared_ptr< Global > > GlobalVector
std::vector< std::shared_ptr< NonLinearBlock > > NonLinearBlockVector
std::vector< std::shared_ptr< ElseStatement > > ElseStatementVector
std::vector< std::shared_ptr< FunctionTableBlock > > FunctionTableBlockVector
std::vector< std::shared_ptr< FunctionBlock > > FunctionBlockVector
std::vector< std::shared_ptr< TableStatement > > TableStatementVector
std::vector< std::shared_ptr< ConstantVar > > ConstantVarVector
std::vector< std::shared_ptr< RangeVar > > RangeVarVector
std::vector< std::shared_ptr< NonLinEquation > > NonLinEquationVector
std::vector< std::shared_ptr< UnitBlock > > UnitBlockVector
std::vector< std::shared_ptr< NonspecificCurVar > > NonspecificCurVarVector
std::vector< std::shared_ptr< FunctionCall > > FunctionCallVector
std::vector< std::shared_ptr< LineComment > > LineCommentVector
std::vector< std::shared_ptr< ConductanceHint > > ConductanceHintVector
std::vector< std::shared_ptr< BinaryOperator > > BinaryOperatorVector
std::vector< std::shared_ptr< FactorDef > > FactorDefVector
std::vector< std::shared_ptr< LinEquation > > LinEquationVector
std::vector< std::shared_ptr< ParamBlock > > ParamBlockVector
std::vector< std::shared_ptr< ElectrodeCurrent > > ElectrodeCurrentVector
std::vector< std::shared_ptr< Define > > DefineVector
std::vector< std::shared_ptr< LongitudinalDiffusionBlock > > LongitudinalDiffusionBlockVector
std::vector< std::shared_ptr< WriteIonVar > > WriteIonVarVector
std::vector< std::shared_ptr< Float > > FloatVector
std::vector< std::shared_ptr< LocalListStatement > > LocalListStatementVector
std::vector< std::shared_ptr< Range > > RangeVector
std::vector< std::shared_ptr< ForNetcon > > ForNetconVector
std::vector< std::shared_ptr< BABlock > > BABlockVector
std::vector< std::shared_ptr< AssignedBlock > > AssignedBlockVector
std::vector< std::shared_ptr< NetReceiveBlock > > NetReceiveBlockVector
std::vector< std::shared_ptr< String > > StringVector
std::vector< std::shared_ptr< LocalVar > > LocalVarVector
std::vector< std::shared_ptr< BbcorePointerVar > > BbcorePointerVarVector
std::vector< std::shared_ptr< AfterBlock > > AfterBlockVector
std::vector< std::shared_ptr< KineticBlock > > KineticBlockVector
std::vector< std::shared_ptr< EigenNewtonSolverBlock > > EigenNewtonSolverBlockVector
std::vector< std::shared_ptr< BbcorePointer > > BbcorePointerVector
std::vector< std::shared_ptr< Include > > IncludeVector
std::vector< std::shared_ptr< Unit > > UnitVector
std::vector< std::shared_ptr< CvodeBlock > > CvodeBlockVector
std::vector< std::shared_ptr< Useion > > UseionVector
std::vector< std::shared_ptr< AssignedDefinition > > AssignedDefinitionVector
std::vector< std::shared_ptr< Number > > NumberVector
std::vector< std::shared_ptr< StatementBlock > > StatementBlockVector
std::vector< std::shared_ptr< MutexLock > > MutexLockVector
std::vector< std::shared_ptr< Verbatim > > VerbatimVector
std::vector< std::shared_ptr< Name > > NameVector
std::vector< std::shared_ptr< MutexUnlock > > MutexUnlockVector
std::vector< std::shared_ptr< RandomVar > > RandomVarVector
std::vector< std::shared_ptr< SolutionExpression > > SolutionExpressionVector
std::vector< std::shared_ptr< Watch > > WatchVector
std::vector< std::shared_ptr< PrimeName > > PrimeNameVector
std::vector< std::shared_ptr< BlockComment > > BlockCommentVector
std::vector< std::shared_ptr< Conserve > > ConserveVector
std::vector< std::shared_ptr< IndexedName > > IndexedNameVector
std::vector< std::shared_ptr< VarName > > VarNameVector
std::vector< std::shared_ptr< BreakpointBlock > > BreakpointBlockVector
std::vector< std::shared_ptr< NeuronBlock > > NeuronBlockVector
std::vector< std::shared_ptr< LagStatement > > LagStatementVector
std::vector< std::shared_ptr< StateBlock > > StateBlockVector
std::vector< std::shared_ptr< ExpressionStatement > > ExpressionStatementVector
std::vector< std::shared_ptr< ExternVar > > ExternVarVector
std::vector< std::shared_ptr< FromStatement > > FromStatementVector
std::vector< std::shared_ptr< DiffEqExpression > > DiffEqExpressionVector
std::vector< std::shared_ptr< Valence > > ValenceVector
std::vector< std::shared_ptr< LinearBlock > > LinearBlockVector
std::vector< std::shared_ptr< DerivativeBlock > > DerivativeBlockVector
std::vector< std::shared_ptr< Nonspecific > > NonspecificVector
std::vector< std::shared_ptr< External > > ExternalVector
std::vector< std::shared_ptr< Boolean > > BooleanVector
std::vector< std::shared_ptr< UnaryOperator > > UnaryOperatorVector
std::vector< std::shared_ptr< NumberRange > > NumberRangeVector
std::vector< std::shared_ptr< InitialBlock > > InitialBlockVector
std::vector< std::shared_ptr< ReadIonVar > > ReadIonVarVector
std::vector< std::shared_ptr< WatchStatement > > WatchStatementVector
std::vector< std::shared_ptr< Block > > BlockVector
std::vector< std::shared_ptr< Model > > ModelVector
std::vector< std::shared_ptr< UnaryExpression > > UnaryExpressionVector
std::vector< std::shared_ptr< BABlockType > > BABlockTypeVector
std::vector< std::shared_ptr< ConstantBlock > > ConstantBlockVector
std::vector< std::shared_ptr< ReactionOperator > > ReactionOperatorVector
std::vector< std::shared_ptr< DoubleUnit > > DoubleUnitVector
std::vector< std::shared_ptr< OntologyStatement > > OntologyStatementVector
std::vector< std::shared_ptr< Node > > NodeVector
std::vector< std::shared_ptr< ParenExpression > > ParenExpressionVector
std::vector< std::shared_ptr< GlobalVar > > GlobalVarVector
std::vector< std::shared_ptr< ConstantStatement > > ConstantStatementVector
std::vector< std::shared_ptr< Double > > DoubleVector
std::vector< std::shared_ptr< PointerVar > > PointerVarVector
std::vector< std::shared_ptr< BinaryExpression > > BinaryExpressionVector
std::vector< std::shared_ptr< Compartment > > CompartmentVector
std::vector< std::shared_ptr< DestructorBlock > > DestructorBlockVector
std::vector< std::shared_ptr< UnitDef > > UnitDefVector
std::vector< std::shared_ptr< ProtectStatement > > ProtectStatementVector
std::vector< std::shared_ptr< Expression > > ExpressionVector
std::vector< std::shared_ptr< ConstructorBlock > > ConstructorBlockVector
std::vector< std::shared_ptr< ElectrodeCurVar > > ElectrodeCurVarVector
std::vector< std::shared_ptr< Program > > ProgramVector
std::vector< std::shared_ptr< EigenLinearSolverBlock > > EigenLinearSolverBlockVector
std::vector< std::shared_ptr< UnitState > > UnitStateVector
std::vector< std::shared_ptr< Pointer > > PointerVector
std::vector< std::shared_ptr< DiscreteBlock > > DiscreteBlockVector
std::vector< std::shared_ptr< DerivimplicitCallback > > DerivimplicitCallbackVector
std::vector< std::shared_ptr< RandomVarList > > RandomVarListVector
std::vector< std::shared_ptr< Integer > > IntegerVector
std::vector< std::shared_ptr< IndependentBlock > > IndependentBlockVector
std::vector< std::shared_ptr< BeforeBlock > > BeforeBlockVector
std::vector< std::shared_ptr< ParamAssign > > ParamAssignVector
std::vector< std::shared_ptr< Suffix > > SuffixVector
encapsulates code generation backend implementations