User Guide
ast_common.hpp File Reference

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

Detailed Description

Implementation of AST base class and it's properties.

Definition in file ast_common.hpp.

#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...