aboutsummaryrefslogtreecommitdiff
path: root/model.cpp
diff options
context:
space:
mode:
authorTeddy <ted.sybil@gmail.com>2013-08-08 12:03:04 +0800
committerTeddy <ted.sybil@gmail.com>2013-08-08 12:03:04 +0800
commitf0cf9e4d5cd358c7ac3759b9a1f47f07daf74104 (patch)
tree1804e66b4dc6473ac8421f2429fff45e7af7885f /model.cpp
parente50e8bff705beed1ecb41ab7b5336b39fc041056 (diff)
eqv? is implemented
Diffstat (limited to 'model.cpp')
-rw-r--r--model.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/model.cpp b/model.cpp
index 389f657..29f9e68 100644
--- a/model.cpp
+++ b/model.cpp
@@ -52,6 +52,10 @@ bool EvalObj::is_bool_obj() {
return otype & CLS_BOOL_OBJ;
}
+ClassType EvalObj::get_otype() {
+ return otype;
+}
+
#ifdef DEBUG
string EvalObj::_debug_repr() {
return ext_repr();
@@ -196,11 +200,11 @@ NumObj::NumObj(NumLvl _level, bool _exactness) :
bool NumObj::is_exact() { return exactness; }
-StrObj::StrObj(string _str) : EvalObj(CLS_SIM_OBJ), str(_str) {}
+StrObj::StrObj(string _str) : EvalObj(CLS_SIM_OBJ | CLS_STR_OBJ), str(_str) {}
string StrObj::ext_repr() { return str; }
-CharObj::CharObj(char _ch) : EvalObj(CLS_SIM_OBJ), ch(_ch) {}
+CharObj::CharObj(char _ch) : EvalObj(CLS_SIM_OBJ | CLS_CHAR_OBJ), ch(_ch) {}
CharObj *CharObj::from_string(string repr) {
int len = repr.length();