NEURON
ast_common.hpp File Reference

Implementation of AST base class and it's properties. More...

#include <memory>
#include <string>
#include "ast/ast_decl.hpp"
#include "lexer/modtoken.hpp"
#include "symtab/symbol_table.hpp"
#include "visitors/visitor.hpp"

Go to the source code of this file.

Namespaces

 nmodl
 encapsulates code generation backend implementations
 
 nmodl::ast
 Abstract Syntax Tree (AST) related implementations.
 

Enumerations

enum  nmodl::ast::BinaryOp {
  nmodl::ast::BOP_ADDITION , nmodl::ast::BOP_SUBTRACTION , nmodl::ast::BOP_MULTIPLICATION , nmodl::ast::BOP_DIVISION ,
  nmodl::ast::BOP_POWER , nmodl::ast::BOP_AND , nmodl::ast::BOP_OR , nmodl::ast::BOP_GREATER ,
  nmodl::ast::BOP_LESS , nmodl::ast::BOP_GREATER_EQUAL , nmodl::ast::BOP_LESS_EQUAL , nmodl::ast::BOP_ASSIGN ,
  nmodl::ast::BOP_NOT_EQUAL , nmodl::ast::BOP_EXACT_EQUAL
}
 enum Type for binary operators in NMODL More...
 
enum  nmodl::ast::UnaryOp { nmodl::ast::UOP_NOT , nmodl::ast::UOP_NEGATION }
 enum type for unary operators More...
 
enum  nmodl::ast::BAType { nmodl::ast::BATYPE_BREAKPOINT , nmodl::ast::BATYPE_SOLVE , nmodl::ast::BATYPE_INITIAL , nmodl::ast::BATYPE_STEP }
 enum type to distinguish BEFORE or AFTER blocks More...
 
enum  nmodl::ast::UnitStateType { nmodl::ast::UNIT_ON , nmodl::ast::UNIT_OFF }
 enum type used for UNIT_ON or UNIT_OFF state More...
 
enum  nmodl::ast::ReactionOp { nmodl::ast::LTMINUSGT , nmodl::ast::LTLT , nmodl::ast::MINUSGT }
 enum type used for Reaction statement More...
 

Variables

static const std::string nmodl::ast::BinaryOpNames []
 string representation of ast::BinaryOp More...
 
static const std::string nmodl::ast::UnaryOpNames [] = {"!", "-"}
 string representation of ast::UnaryOp More...
 
static const std::string nmodl::ast::BATypeNames [] = {"BREAKPOINT", "SOLVE", "INITIAL", "STEP"}
 string representation of ast::BAType More...
 
static const std::string nmodl::ast::UnitStateTypeNames [] = {"UNITSON", "UNITSOFF"}
 string representation of ast::UnitStateType More...
 
static const std::string nmodl::ast::ReactionOpNames [] = {"<->", "<<", "->"}
 string representation of ast::ReactionOp More...
 

Detailed Description

Implementation of AST base class and it's properties.

Definition in file ast_common.hpp.