44 const std::shared_ptr<ast::Expression>&
node)
const;
Auto generated AST classes declaration.
Concrete visitor for all AST classes.
Represents binary expression in the NMODL.
Represents specific element of an array variable.
Concrete visitor for all AST classes.
Helper visitor to replace index of array variable with integer.
void visit_indexed_name(ast::IndexedName &node) override
visit node of type ast::IndexedName
std::string index
index variable name
IndexRemover(std::string index, int value)
int value
integer value of index variable
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
bool under_indexed_name
true if we are visiting index variable
void visit_binary_expression(ast::BinaryExpression &node) override
visit node of type ast::BinaryExpression
encapsulates code generation backend implementations
static Node * node(Object *)