From 98631c35acfdba4970453cdc2f11770a85077c35 Mon Sep 17 00:00:00 2001 From: paladin-t Date: Wed, 20 Jan 2016 21:32:09 +0800 Subject: [PATCH] *fixed an unknown type handling bug. --- HISTORY | 3 ++ core/my_basic.c | 127 ++++++++++++++++++++++++-------------------- core/my_basic.h | 30 +++++------ output/my_basic.exe | Bin 354304 -> 354304 bytes 4 files changed, 86 insertions(+), 74 deletions(-) diff --git a/HISTORY b/HISTORY index 25ecd5a..a05bb79 100755 --- a/HISTORY +++ b/HISTORY @@ -1,3 +1,6 @@ +Jan. 20 2016 +Fixed an unknown type handling bug + Jan. 19 2016 Added support to apply the LEN statement to variable arguments as LEN(...) Polished code diff --git a/core/my_basic.c b/core/my_basic.c index 054ec7d..25be55d 100755 --- a/core/my_basic.c +++ b/core/my_basic.c @@ -3248,7 +3248,7 @@ _routine: } c = (_object_t*)(_ls_popback(opnd)); - if(!c || !(c->type == _DT_TYPE || c->type == _DT_NIL || + if(!c || !(c->type == _DT_NIL || c->type == _DT_UNKNOWN || c->type == _DT_TYPE || c->type == _DT_INT || c->type == _DT_REAL || c->type == _DT_STRING || #ifdef MB_ENABLE_COLLECTION_LIB c->type == _DT_LIST || c->type == _DT_LIST_IT || c->type == _DT_DICT || c->type == _DT_DICT_IT || @@ -7786,10 +7786,10 @@ bool_t _is_internal_object(_object_t* obj) { _data_e _public_type_to_internal_type(mb_data_e t) { /* Convert a public mb_data_e type to an internal _data_e */ switch(t) { - case MB_DT_TYPE: - return _DT_TYPE; case MB_DT_NIL: return _DT_NIL; + case MB_DT_TYPE: + return _DT_TYPE; case MB_DT_INT: return _DT_INT; case MB_DT_REAL: @@ -7828,10 +7828,10 @@ _data_e _public_type_to_internal_type(mb_data_e t) { mb_data_e _internal_type_to_public_type(_data_e t) { /* Convert an internal mb_data_e type to a public _data_e */ switch(t) { - case _DT_TYPE: - return MB_DT_TYPE; case _DT_NIL: return MB_DT_NIL; + case _DT_TYPE: + return MB_DT_TYPE; case _DT_INT: return MB_DT_INT; case _DT_REAL: @@ -7876,15 +7876,20 @@ int _public_value_to_internal_object(mb_value_t* pbl, _object_t* itn) { _UNREF(itn) switch(pbl->type) { - case MB_DT_TYPE: - itn->type = _DT_TYPE; - itn->data.type = pbl->value.type; - - break; case MB_DT_NIL: itn->type = _DT_NIL; itn->data.integer = false; + break; + case MB_DT_UNKNOWN: + itn->type = _DT_UNKNOWN; + itn->data.integer = false; + + break; + case MB_DT_TYPE: + itn->type = _DT_TYPE; + itn->data.type = pbl->value.type; + break; case MB_DT_INT: itn->type = _DT_INT; @@ -7973,15 +7978,20 @@ int _internal_object_to_public_value(_object_t* itn, mb_value_t* pbl) { case _DT_VAR: result = _internal_object_to_public_value(itn->data.variable->data, pbl); + break; + case _DT_NIL: + mb_make_nil(*pbl); + + break; + case _DT_UNKNOWN: + pbl->type = MB_DT_UNKNOWN; + pbl->value.integer = false; + break; case _DT_TYPE: pbl->type = MB_DT_TYPE; pbl->value.type = itn->data.type; - break; - case _DT_NIL: - mb_make_nil(*pbl); - break; case _DT_INT: pbl->type = MB_DT_INT; @@ -10688,6 +10698,8 @@ const char* mb_get_type_string(mb_data_e t) { switch(t) { case MB_DT_NIL: return "NIL"; + case MB_DT_UNKNOWN: + return "UNKNOWN"; case MB_DT_TYPE: return "TYPE"; case MB_DT_INT: @@ -10722,9 +10734,8 @@ const char* mb_get_type_string(mb_data_e t) { #endif /* MB_ENABLE_CLASS */ case MB_DT_ROUTINE: return "ROUTINE"; - case MB_DT_UNKNOWN: /* Fall through */ - default: - return "UNKNOWN"; + default: /* Return a not exist string */ + return ""; } } @@ -11441,62 +11452,60 @@ int _core_let(mb_interpreter_t* s, void** l) { result = _calc_expression(s, &ast, &val); if(var) { - if(val->type != _DT_UNKNOWN) { #ifdef MB_ENABLE_COLLECTION_LIB - if(is_coll) { - switch(var->data->type) { - case _DT_LIST: - if(!_set_list(var->data->data.list, idx, 0, &val)) { - _handle_error_on_obj(s, SE_RN_CANNOT_FIND_WITH_GIVEN_INDEX, s->source_file, TON(l), MB_FUNC_ERR, _exit, result); - } - - break; - case _DT_DICT: - _set_dict(var->data->data.dict, &key, 0, 0, val); - - break; - default: /* Do nothing */ - break; + if(is_coll) { + switch(var->data->type) { + case _DT_LIST: + if(!_set_list(var->data->data.list, idx, 0, &val)) { + _handle_error_on_obj(s, SE_RN_CANNOT_FIND_WITH_GIVEN_INDEX, s->source_file, TON(l), MB_FUNC_ERR, _exit, result); } - goto _exit; + break; + case _DT_DICT: + _set_dict(var->data->data.dict, &key, 0, 0, val); + + break; + default: /* Do nothing */ + break; } + + goto _exit; + } #endif /* MB_ENABLE_COLLECTION_LIB */ #ifdef MB_ENABLE_CLASS _proc_extra_var: #endif /* MB_ENABLE_CLASS */ - _dispose_object(var->data); - var->data->type = val->type; + _dispose_object(var->data); + var->data->type = val->type; #ifdef MB_ENABLE_COLLECTION_LIB - if(val->type == _DT_LIST_IT || val->type == _DT_DICT_IT) - _assign_with_it(var->data, val); - else - var->data->data = val->data; -#else /* MB_ENABLE_COLLECTION_LIB */ + if(val->type == _DT_LIST_IT || val->type == _DT_DICT_IT) + _assign_with_it(var->data, val); + else var->data->data = val->data; +#else /* MB_ENABLE_COLLECTION_LIB */ + var->data->data = val->data; #endif /* MB_ENABLE_COLLECTION_LIB */ - if(val->type == _DT_ROUTINE) { + if(val->type == _DT_ROUTINE) { #ifdef MB_ENABLE_LAMBDA - if(val->data.routine->type == _IT_LAMBDA) - var->data->ref = val->ref; - else - var->data->ref = 1; -#else /* MB_ENABLE_LAMBDA */ - var->data->ref = 1; -#endif /* MB_ENABLE_LAMBDA */ - } else { + if(val->data.routine->type == _IT_LAMBDA) var->data->ref = val->ref; - } -#ifdef MB_ENABLE_CLASS - if(evar && evar->pathing) { - var = evar; - evar = 0; - refc++; - - goto _proc_extra_var; - } -#endif /* MB_ENABLE_CLASS */ + else + var->data->ref = 1; +#else /* MB_ENABLE_LAMBDA */ + var->data->ref = 1; +#endif /* MB_ENABLE_LAMBDA */ + } else { + var->data->ref = val->ref; } +#ifdef MB_ENABLE_CLASS + if(evar && evar->pathing) { + var = evar; + evar = 0; + refc++; + + goto _proc_extra_var; + } +#endif /* MB_ENABLE_CLASS */ } else if(arr && literally) { if(val->type != _DT_UNKNOWN) { #ifdef MB_ENABLE_ARRAY_REF diff --git a/core/my_basic.h b/core/my_basic.h index 54201a6..a946237 100755 --- a/core/my_basic.h +++ b/core/my_basic.h @@ -358,27 +358,27 @@ typedef enum mb_error_e { typedef enum mb_data_e { MB_DT_NIL = 0, - MB_DT_UNKNOWN = 1 << 1, - MB_DT_TYPE = 1 << 2, - MB_DT_INT = 1 << 3, - MB_DT_REAL = 1 << 4, - MB_DT_NUM = 1 << 5, - MB_DT_STRING = 1 << 6, - MB_DT_USERTYPE = 1 << 7, + MB_DT_UNKNOWN = 1 << 0, + MB_DT_TYPE = 1 << 1, + MB_DT_INT = 1 << 2, + MB_DT_REAL = 1 << 3, + MB_DT_NUM = 1 << 4, + MB_DT_STRING = 1 << 5, + MB_DT_USERTYPE = 1 << 6, #ifdef MB_ENABLE_USERTYPE_REF - MB_DT_USERTYPE_REF = 1 << 8, + MB_DT_USERTYPE_REF = 1 << 7, #endif /* MB_ENABLE_USERTYPE_REF */ - MB_DT_ARRAY = 1 << 9, + MB_DT_ARRAY = 1 << 8, #ifdef MB_ENABLE_COLLECTION_LIB - MB_DT_LIST = 1 << 10, - MB_DT_LIST_IT = 1 << 11, - MB_DT_DICT = 1 << 12, - MB_DT_DICT_IT = 1 << 13, + MB_DT_LIST = 1 << 9, + MB_DT_LIST_IT = 1 << 10, + MB_DT_DICT = 1 << 11, + MB_DT_DICT_IT = 1 << 12, #endif /* MB_ENABLE_COLLECTION_LIB */ #ifdef MB_ENABLE_CLASS - MB_DT_CLASS = 1 << 14, + MB_DT_CLASS = 1 << 13, #endif /* MB_ENABLE_CLASS */ - MB_DT_ROUTINE = 1 << 15 + MB_DT_ROUTINE = 1 << 14 } mb_data_e; typedef unsigned char mb_val_bytes_t[sizeof(void*) > sizeof(unsigned long) ? sizeof(void*) : sizeof(unsigned long)]; diff --git a/output/my_basic.exe b/output/my_basic.exe index 16440c071e38fbf735dca140171275277ca7216f..083e6c744116770bce1c92ca80e48f43da0be6d8 100755 GIT binary patch delta 36829 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%0AgF`=4k|F#ovp4$QmYxzIQh1k5Rb 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 delta 36771 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