46 std::shared_ptr<Expression>
from;
48 std::shared_ptr<Expression>
to;
50 std::shared_ptr<Integer>
with;
52 std::shared_ptr<ModToken>
token;
116 return "TableStatement";
138 return std::static_pointer_cast<TableStatement>(shared_from_this());
145 return std::static_pointer_cast<const TableStatement>(shared_from_this());
184 std::shared_ptr<Expression>
get_from() const noexcept {
193 std::shared_ptr<Expression>
get_to() const noexcept {
202 std::shared_ptr<Integer>
get_with() const noexcept {
250 void set_to(std::shared_ptr<Expression>&&
to);
255 void set_to(
const std::shared_ptr<Expression>&
to);
THIS FILE IS GENERATED AT BUILD TIME AND SHALL NOT BE EDITED.
Represent token returned by scanner.
Base class for all expressions in the NMODL.
Represents an integer variable.
Represents TABLE statement in NMODL.
TableStatement(const NameVector &table_vars, const NameVector &depend_vars, Expression *from, Expression *to, Integer *with)
TableStatement * clone() const override
Return a copy of the current node.
std::shared_ptr< Expression > get_from() const noexcept
Getter for member variable TableStatement::from.
std::shared_ptr< Expression > get_to() const noexcept
Getter for member variable TableStatement::to.
std::shared_ptr< ModToken > token
token with location information
virtual ~TableStatement()=default
AstNodeType get_node_type() const noexcept override
Return type (ast::AstNodeType) of ast node.
std::shared_ptr< Ast > get_shared_ptr() override
Get std::shared_ptr from this pointer of the current ast node.
void accept(visitor::Visitor &v) override
accept (or visit) the current AST node using provided visitor
const NameVector & get_depend_vars() const noexcept
Getter for member variable TableStatement::depend_vars.
std::shared_ptr< Integer > with
an increment factor
void set_with(std::shared_ptr< Integer > &&with)
Setter for member variable TableStatement::with (rvalue reference)
NameVector depend_vars
dependent variables
std::shared_ptr< Expression > to
to values
void set_depend_vars(NameVector &&depend_vars)
Setter for member variable TableStatement::depend_vars (rvalue reference)
void set_to(std::shared_ptr< Expression > &&to)
Setter for member variable TableStatement::to (rvalue reference)
NameVector table_vars
Variables in the table.
std::shared_ptr< Expression > from
from value
void visit_children(visitor::Visitor &v) override
visit children i.e.
std::string get_node_type_name() const noexcept override
Return type (ast::AstNodeType) of ast node as std::string.
bool is_table_statement() const noexcept override
Check if the ast node is an instance of ast::TableStatement.
std::string get_nmodl_name() const noexcept override
Return NMODL statement of ast node as std::string.
const NameVector & get_table_vars() const noexcept
Getter for member variable TableStatement::table_vars.
std::shared_ptr< const Ast > get_shared_ptr() const override
Get std::shared_ptr from this pointer of the current ast node.
void set_parent_in_children()
Set this object as parent for all the children.
const ModToken * get_token() const noexcept override
Return associated token for the current ast node.
std::shared_ptr< Integer > get_with() const noexcept
Getter for member variable TableStatement::with.
void set_token(const ModToken &tok)
Set token for the current ast node.
void set_from(std::shared_ptr< Expression > &&from)
Setter for member variable TableStatement::from (rvalue reference)
void set_table_vars(NameVector &&table_vars)
Setter for member variable TableStatement::table_vars (rvalue reference)
Abstract base class for all constant visitors implementation.
Abstract base class for all visitors implementation.
AstNodeType
Enum type for every AST node type.
@ TABLE_STATEMENT
type of ast::TableStatement
std::vector< std::shared_ptr< Name > > NameVector
Auto generated AST classes declaration.
Abstract Syntax Tree (AST) related implementations.
Auto generated AST classes declaration.