User Guide
|
Symbol information More...
Symbol information
Typedefs | |
using | enum_type = long long |
Functions | |
std::vector< std::string > | to_string_vector (const syminfo::NmodlType &obj) |
helper function to convert nmodl properties to string More... | |
std::vector< std::string > | to_string_vector (const syminfo::Status &obj) |
helper function to convert symbol status to string More... | |
std::ostream & | operator<< (std::ostream &os, const NmodlType &obj) |
std::ostream & | operator<< (std::ostream &os, const Status &obj) |
template<typename T > | |
T | operator~ (T arg) |
template<typename T > | |
T | operator| (T lhs, T rhs) |
template<typename T > | |
T | operator& (T lhs, T rhs) |
template<typename T > | |
T & | operator|= (T &lhs, T rhs) |
template<typename T > | |
T & | operator&= (T &lhs, T rhs) |
bool | has_property (const NmodlType &obj, NmodlType property) |
check if any property is set More... | |
bool | has_status (const Status &obj, Status state) |
check if any status is set More... | |
template<typename T > | |
std::string | to_string (const T &obj) |
using nmodl::symtab::syminfo::enum_type = typedef long long |
Definition at line 27 of file symbol_properties.hpp.
|
strong |
variable usage within a mod file
Enumerator | |
---|---|
read | variable is ready only |
write | variable is written only |
Definition at line 89 of file symbol_properties.hpp.
|
strong |
kind of symbol
Enumerator | |
---|---|
variable | variable |
function | function |
Definition at line 30 of file symbol_properties.hpp.
|
strong |
NMODL variable properties.
Certain variables/symbols specified in various places in the same mod file. For example, RANGE variable could be in PARAMETER bloc, ASSIGNED block etc. In this case, the symbol in global scope need to have multiple properties. This is also important while code generation. Hence, in addition to AST node pointer, we define NmodlType so that we can set multiple properties. Note that AST pointer is no longer pointing to all pointers. Same applies for ModToken.
These is some redundancy between NmodlType and other enums like syminfo::DeclarationType and syminfo::Scope. But as AST will become more abstract from NMODL (towards C/C++) then other types will be useful.
Definition at line 116 of file symbol_properties.hpp.
|
strong |
scope within a mod file
Enumerator | |
---|---|
local | local variable |
global | global variable |
neuron | neuron variable |
external | extern variable |
Definition at line 39 of file symbol_properties.hpp.
|
strong |
state during various compiler passes
Enumerator | |
---|---|
empty | |
localized | converted to local |
globalized | converted to global |
inlined | inlined |
renamed | renamed |
created | created |
from_state | derived from state |
thread_safe | variable marked as thread safe |
Definition at line 54 of file symbol_properties.hpp.
|
strong |
usage of mod file as array or scalar
Enumerator | |
---|---|
scalar | scalar / single value |
array | vector type |
Definition at line 80 of file symbol_properties.hpp.
check if any property is set
Definition at line 263 of file symbol_properties.hpp.
check if any status is set
Definition at line 268 of file symbol_properties.hpp.
|
inline |
Definition at line 245 of file symbol_properties.hpp.
|
inline |
Definition at line 257 of file symbol_properties.hpp.
std::ostream & nmodl::symtab::syminfo::operator<< | ( | std::ostream & | os, |
const NmodlType & | obj | ||
) |
Definition at line 211 of file symbol_properties.cpp.
std::ostream & nmodl::symtab::syminfo::operator<< | ( | std::ostream & | os, |
const Status & | obj | ||
) |
Definition at line 215 of file symbol_properties.cpp.
|
inline |
Definition at line 239 of file symbol_properties.hpp.
|
inline |
Definition at line 251 of file symbol_properties.hpp.
|
inline |
Definition at line 233 of file symbol_properties.hpp.
std::string nmodl::symtab::syminfo::to_string | ( | const T & | obj | ) |
Definition at line 282 of file symbol_properties.hpp.
std::vector< std::string > nmodl::symtab::syminfo::to_string_vector | ( | const NmodlType & | obj | ) |
helper function to convert nmodl properties to string
Definition at line 23 of file symbol_properties.cpp.
std::vector< std::string > nmodl::symtab::syminfo::to_string_vector | ( | const Status & | obj | ) |
helper function to convert symbol status to string
Definition at line 175 of file symbol_properties.cpp.