void AST_op::dump(ostream &strm, int indentation){ strm << setw(3) << line << ": "; dump_indentation(strm, indentation); strm << binary_operator() << " [" << types.types[type]->name << "]" << endl; left->dump(strm, indentation+1); right->dump(strm, indentation+1); }
value::ptr_type value::operator +(const value& rhs) const { return (binary_operator(rhs, OP_ADD)); }
value::ptr_type value::operator -(const value& rhs) const { return (binary_operator(rhs, OP_SUB)); }
value::ptr_type value::operator <=(const value& rhs) const { return (binary_operator(rhs, OP_LESSER_EQUAL)); }
value::ptr_type value::operator >=(const value& rhs) const { return (binary_operator(rhs, OP_GREATER_EQUAL)); }
value::ptr_type value::operator !=(const value& rhs) const { return (binary_operator(rhs, OP_NOT_EQUAL)); }
value::ptr_type value::operator /(const value& rhs) const { return (binary_operator(rhs, OP_DIV)); }
value::ptr_type value::operator *(const value& rhs) const { return (binary_operator(rhs, OP_MUL)); }