![Logo](logo.png) |
User Guide
|
Go to the documentation of this file.
10 : index(std::move(index))
15 const std::shared_ptr<ast::Expression>& node)
const {
16 if (node->is_name()) {
17 auto name = std::dynamic_pointer_cast<ast::Name>(node);
18 if (name->get_node_name() ==
index) {
19 return std::make_shared<ast::Integer>(
value,
nullptr);
std::shared_ptr< Expression > get_length() const noexcept
Getter for member variable IndexedName::length.
std::string index
index variable name
bool under_indexed_name
true if we are visiting index variable
encapsulates code generation backend implementations
std::shared_ptr< Expression > get_rhs() const noexcept
Getter for member variable BinaryExpression::rhs.
Utility functions for visitors implementation.
void set_rhs(std::shared_ptr< Expression > &&rhs)
Setter for member variable BinaryExpression::rhs (rvalue reference)
Represents specific element of an array variable.
void set_lhs(std::shared_ptr< Expression > &&lhs)
Setter for member variable BinaryExpression::lhs (rvalue reference)
void visit_binary_expression(ast::BinaryExpression &node) override
visit node of type ast::BinaryExpression
void visit_children(visitor::Visitor &v) override
visit children i.e.
int value
integer value of index variable
void visit_children(visitor::Visitor &v) override
visit children i.e.
Implement logger based on spdlog library.
void visit_indexed_name(ast::IndexedName &node) override
visit node of type ast::IndexedName
std::shared_ptr< ast::Expression > replace_for_name(const std::shared_ptr< ast::Expression > &node) const
if expression we are visiting is Name then return new Integer node
std::shared_ptr< Expression > get_lhs() const noexcept
Getter for member variable BinaryExpression::lhs.
Represents binary expression in the NMODL.
void set_length(std::shared_ptr< Expression > &&length)
Setter for member variable IndexedName::length (rvalue reference)
IndexRemover(std::string index, int value)