Public Types |
typedef std::vector< ref<
value > > | parameter_list |
enum | operator_id {
OP_PRE_INCREMENT,
OP_POST_INCREMENT,
OP_PRE_DECREMENT,
OP_POST_DECREMENT,
OP_UNARY_PLUS,
OP_UNARY_MINUS,
OP_LOG_NOT,
OP_BIN_NOT,
OP_PLUS_ASSIGN,
OP_MINUS_ASSIGN,
OP_MUTLIPLY_ASSIGN,
OP_DIVIDE_ASSIGN,
OP_MODULO_ASSIGN,
OP_BIT_AND_ASSIGN,
OP_BIT_OR_ASSIGN,
OP_BIT_XOR_ASSIGN,
OP_LEFT_SHIFT_ASSIGN,
OP_RIGHT_SHIFT_ASSIGN,
OP_PLUS,
OP_MINUS,
OP_MULTIPLY,
OP_DIVIDE,
OP_MODULO,
OP_BIT_AND,
OP_BIT_OR,
OP_BIT_XOR,
OP_LEFT_SHIFT,
OP_RIGHT_SHIFT,
OP_LOGICAL_OR,
OP_LOGICAL_AND,
OP_EQUAL,
OP_NOT_EQUAL,
OP_IDENTICAL,
OP_NOT_IDENTICAL,
OP_LESS_EQUAL,
OP_GREATER_EQUAL,
OP_LESS,
OP_GREATER,
OP_ASSIGN
} |
enum | value_type {
VT_UNDEFINED,
VT_NULL,
VT_INTEGER,
VT_FLOATING_POINT,
VT_STRING,
VT_FUNCTION,
VT_OBJECT,
VT_BUILTIN,
VT_HOST,
VT_SCOPE,
VT_BOUND_METHOD,
VT_TYPE
} |
Public Methods |
virtual | ~value () |
virtual value_type | getType () const=0 |
virtual std::string | toString () const |
virtual int | toInt () const |
virtual double | toFloat () const |
virtual bool | toBoolean () const |
virtual std::string | stringify () const |
virtual ref< value > | eliminateWrappers () |
virtual ref< value > | duplicate () |
virtual ref< value > | lookup (std::string const &identifier) |
virtual ref< value > | subscript (value const &index) |
virtual ref< value > | call (parameter_list const ¶meters) |
virtual ref< value > | callAsMethod (ref< value > instance, parameter_list const ¶meters) |
virtual ref< value > | construct (parameter_list const ¶meters) |
virtual ref< value > | assign (ref< value > op2) |
virtual ref< value > | operatorUnary (operator_id op) const |
virtual ref< value > | operatorBinary (operator_id op, ref< value > op2) const |
virtual ref< value > | operatorBinaryShortcut (operator_id op, expression const &op2, context const &ctx) const |
virtual ref< value > | operatorUnaryModifying (operator_id op) |
virtual ref< value > | operatorBinaryModifying (operator_id op, ref< value > op2) |
Static Public Methods |
operator_id | token2operator (scanner::token const &token, bool unary=false, bool prefix=false) |
std::string | operator2string (operator_id op) |
std::string | valueType2string (value_type vt) |