Helper routines/types for code generation.
More...
Helper routines/types for code generation.
|
enum | nmodl::codegen::BlockType {
nmodl::codegen::BlockType::Initial,
nmodl::codegen::BlockType::Constructor,
nmodl::codegen::BlockType::Destructor,
nmodl::codegen::BlockType::Equation,
nmodl::codegen::BlockType::State,
nmodl::codegen::BlockType::Watch,
nmodl::codegen::BlockType::NetReceive,
nmodl::codegen::BlockType::BeforeAfter,
nmodl::codegen::BlockType::BlockTypeEnd
} |
| Helper to represent various block types. More...
|
|
enum | nmodl::codegen::MemberType { nmodl::codegen::MemberType::index,
nmodl::codegen::MemberType::range,
nmodl::codegen::MemberType::global,
nmodl::codegen::MemberType::thread
} |
| Helper to represent various variables types. More...
|
|
enum | nmodl::codegen::CppObjectSpecifier {
nmodl::codegen::CppObjectSpecifier::Inline,
nmodl::codegen::CppObjectSpecifier::Static,
nmodl::codegen::CppObjectSpecifier::Virtual,
nmodl::codegen::CppObjectSpecifier::Explicit,
nmodl::codegen::CppObjectSpecifier::Friend,
nmodl::codegen::CppObjectSpecifier::Constexpr,
nmodl::codegen::CppObjectSpecifier::Extern,
nmodl::codegen::CppObjectSpecifier::ExternC,
nmodl::codegen::CppObjectSpecifier::ThreadLocal,
nmodl::codegen::CppObjectSpecifier::Const,
nmodl::codegen::CppObjectSpecifier::Volatile
} |
| various specifiers (mostly for function codegen) More...
|
|
◆ BlockType
Helper to represent various block types.
Note: do not assign integers to these enums
Enumerator |
---|
Initial | initial block
|
Constructor | constructor block
|
Destructor | destructor block
|
Equation | breakpoint block
|
State | derivative block
|
Watch | watch block
|
NetReceive | net_receive block
|
BeforeAfter | before / after block
|
BlockTypeEnd | fake ending block type for loops on the enums. Keep it at the end
|
Definition at line 56 of file codegen_cpp_visitor.hpp.
◆ CppObjectSpecifier
various specifiers (mostly for function codegen)
Enumerator |
---|
Inline | |
Static | |
Virtual | |
Explicit | |
Friend | |
Constexpr | |
Extern | |
ExternC | |
ThreadLocal | |
Const | |
Volatile | |
Definition at line 107 of file codegen_cpp_visitor.hpp.
◆ MemberType
Helper to represent various variables types.
Enumerator |
---|
index | index / int variables
|
range | range / double variables
|
global | global variables
|
thread | thread variables
|
Definition at line 91 of file codegen_cpp_visitor.hpp.
◆ get_index_from_name()
template<class T >
int nmodl::codegen::get_index_from_name |
( |
const std::vector< T > & |
variables, |
|
|
const std::string & |
name |
|
) |
| |
◆ get_length() [1/2]
◆ get_length() [2/2]
int nmodl::codegen::get_length |
( |
const std::shared_ptr< symtab::Symbol > & |
sym | ) |
|
|
inline |
◆ get_name() [1/3]
std::string nmodl::codegen::get_name |
( |
ast::Ast const * |
sym | ) |
|
|
inline |
◆ get_name() [2/3]
◆ get_name() [3/3]
std::string nmodl::codegen::get_name |
( |
const std::shared_ptr< symtab::Symbol > & |
sym | ) |
|
|
inline |
◆ get_prefixsum_from_name()
template<class T >
int nmodl::codegen::get_prefixsum_from_name |
( |
const std::vector< T > & |
variables, |
|
|
const std::string & |
name |
|
) |
| |