9 #include "utils/logger.hpp"
23 NmodlType var_properties = NmodlType::local_var
24 | NmodlType::global_var
25 | NmodlType::range_var
26 | NmodlType::param_assign
27 | NmodlType::pointer_var
28 | NmodlType::bbcore_pointer_var
29 | NmodlType::extern_var
30 | NmodlType::assigned_definition
31 | NmodlType::read_ion_var
32 | NmodlType::write_ion_var
33 | NmodlType::nonspecific_cur_var
34 | NmodlType::electrode_cur_var
36 | NmodlType::extern_neuron_variable;
46 if (
status != Status::empty) {
53 std::initializer_list<ast::AstNodeType> l)
const noexcept {
54 std::vector<ast::Ast*> _nodes;
55 for (
const auto&
n: nodes) {
56 for (
const auto& m: l) {
57 if (
n->get_node_type() == m) {
Auto generated AST classes declaration.
syminfo::NmodlType properties
properties of symbol as a result of usage across whole mod file
syminfo::Status status
status of symbol after processing through various passes
std::string to_string() const
bool has_any_property(syminfo::NmodlType new_properties) const noexcept
check if symbol has any of the given property
std::string name
name of the symbol
bool is_variable() const noexcept
check if symbol is a variable in nmodl
std::vector< ast::Ast * > get_nodes_by_type(std::initializer_list< ast::AstNodeType > l) const noexcept
Status
state during various compiler passes
std::string to_string(const T &obj)
NmodlType
NMODL variable properties.
encapsulates code generation backend implementations
int const size_t const size_t n
Implement class to represent a symbol in Symbol Table.