22 void print(std::ostream& stream,
int indent)
const;
32 virtual void print_node(std::ostream& stream,
int indent)
const = 0;
44 void print_node(std::ostream& stream,
int indent)
const override;
57 void print_node(std::ostream& stream,
int indent)
const override;
71 virtual void print_node(std::ostream& stream,
int indent)
const override;
90 virtual void print_node(std::ostream& stream,
int indent)
const override;
105 virtual void print_node(std::ostream& stream,
int indent)
const override = 0;
121 virtual void print_node(std::ostream& stream,
int indent)
const override = 0;
133 virtual void print_node(std::ostream& stream,
int indent)
const override;
142 virtual void print_node(std::ostream& stream,
int indent)
const override;
151 virtual void print_node(std::ostream& stream,
int indent)
const override;
160 virtual void print_node(std::ostream& stream,
int indent)
const override;
169 virtual void print_node(std::ostream& stream,
int indent)
const override;
virtual double evaluate_node() const override
node_number(double value)
double evaluate_right() const
std::string evaluate_string() const override
virtual std::string evaluate_string() const
virtual void print_node(std::ostream &stream, int indent) const override
virtual double evaluate_node() const =0
virtual void print_node(std::ostream &stream, int indent) const override
virtual void print_node(std::ostream &stream, int indent) const override
double evaluate_left() const
node_identifier(std::string identifier)
virtual void print_node(std::ostream &stream, int indent) const override
node_binary(node left, node right)
virtual double evaluate_node() const override=0
virtual double evaluate_node() const override
virtual double evaluate_node() const override
void print_node(std::ostream &stream, int indent) const override
virtual std::string evaluate_string() const override
double evaluate_node() const override
void print(std::ostream &stream, int indent) const
node_assign(node identifier, node value)
virtual double evaluate_node() const override=0
void print_node(std::ostream &stream, int indent) const override
double evaluate_operand() const
std::string get_identifier() const
node_multiply(node left, node right)
node_impl & operator=(node_impl const &n)=delete
double evaluate_value() const
virtual void print_node(std::ostream &stream, int indent) const override
virtual void print_node(std::ostream &stream, int indent) const =0
virtual double evaluate_node() const override
node_subtract(node left, node right)
double evaluate_node() const override
virtual void print_node(std::ostream &stream, int indent) const override
virtual double evaluate_node() const override
std::string to_string() const
node_negate(node operand)
virtual void print_node(std::ostream &stream, int indent) const override
virtual double evaluate_node() const override
node_divide(node left, node right)
virtual void print_node(std::ostream &stream, int indent) const override=0
node_add(node left, node right)
virtual void print_node(std::ostream &stream, int indent) const override=0
virtual double evaluate_node() const override
std::string const & identifier() const