From c94ffc7da97e91119334126a75f7452bbddc5959 Mon Sep 17 00:00:00 2001 From: paladin-t Date: Tue, 8 Mar 2016 16:13:03 +0800 Subject: [PATCH] *polished code. --- MY-BASIC Quick Reference.pdf | Bin 228108 -> 228090 bytes core/my_basic.c | 34 ++++++++++++++--------------- core/my_basic.h | 40 +++++++++++++++++------------------ shell/main.c | 12 +++++------ 4 files changed, 43 insertions(+), 43 deletions(-) diff --git a/MY-BASIC Quick Reference.pdf b/MY-BASIC Quick Reference.pdf index cfda98e0226605de81033cd450d4899f91644952..4e50cee119f5aacd997476399c45a1e74795ed04 100644 GIT binary patch delta 14856 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

gcM2QAE+wGA9wzOBVc55^<;ny1K?Xueqjv~GBA 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 delta 14942 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 diff --git a/core/my_basic.c b/core/my_basic.c index 45821ba..ccfd835 100755 --- a/core/my_basic.c +++ b/core/my_basic.c @@ -111,9 +111,9 @@ extern "C" { # define sgn(__v) ((__v) ? ((__v) > 0 ? 1 : -1) : 0) #endif /* sgn */ -#ifndef _countof -# define _countof(__a) (sizeof(__a) / sizeof(*(__a))) -#endif /* _countof */ +#ifndef countof +# define countof(__a) (sizeof(__a) / sizeof(*(__a))) +#endif /* countof */ #ifndef islower # define islower(__c) ((__c) >= 'a' && (__c) <= 'z') @@ -281,7 +281,7 @@ static const char* _ERR_DESC[] = { "Extended abort" }; -mb_static_assert(_countof(_ERR_DESC) == SE_COUNT); +mb_static_assert(countof(_ERR_DESC) == SE_COUNT); /* Data type */ typedef enum _data_e { @@ -3083,7 +3083,7 @@ static char _get_priority(mb_func_t op1, mb_func_t op2) { idx1 = _get_priority_index(op1); idx2 = _get_priority_index(op2); - mb_assert(idx1 < _countof(_PRECEDE_TABLE) && idx2 < _countof(_PRECEDE_TABLE[0])); + mb_assert(idx1 < countof(_PRECEDE_TABLE) && idx2 < countof(_PRECEDE_TABLE[0])); result = _PRECEDE_TABLE[idx1][idx2]; return result; @@ -3118,7 +3118,7 @@ static int _get_priority_index(mb_func_t op) { mb_assert(op); - for(i = 0; i < _countof(funcs); i++) { + for(i = 0; i < countof(funcs); i++) { if(op == funcs[i]) return i; } @@ -4148,7 +4148,7 @@ static bool_t _is_print_terminal(mb_interpreter_t* s, _object_t* obj) { /** Others */ static void _set_current_error(mb_interpreter_t* s, mb_error_e err, char* f) { /* Set current error information */ - mb_assert(s && err >= 0 && err < _countof(_ERR_DESC)); + mb_assert(s && err >= 0 && err < countof(_ERR_DESC)); if(s->last_error == SE_NO_ERR) { s->last_error = err; @@ -5072,7 +5072,7 @@ static int _parse_char(mb_interpreter_t* s, char c, int pos, unsigned short row, break; } if(context->multi_line_comment_count != 0 && c == _MULTI_LINE_COMMENT_PREFIX[context->multi_line_comment_count++]) { - if(context->multi_line_comment_count >= _countof(_MULTI_LINE_COMMENT_PREFIX) - 1) { + if(context->multi_line_comment_count >= countof(_MULTI_LINE_COMMENT_PREFIX) - 1) { context->parsing_state = _PS_MULTI_LINE_COMMENT; context->multi_line_comment_count = 0; @@ -5096,7 +5096,7 @@ static int _parse_char(mb_interpreter_t* s, char c, int pos, unsigned short row, if(_is_comment_char(c) && context->multi_line_comment_count == 0) { context->multi_line_comment_count = 1; } else if(context->multi_line_comment_count != 0 && c == _MULTI_LINE_COMMENT_POSTFIX[context->multi_line_comment_count++]) { - if(context->multi_line_comment_count >= _countof(_MULTI_LINE_COMMENT_POSTFIX) - 1) { + if(context->multi_line_comment_count >= countof(_MULTI_LINE_COMMENT_POSTFIX) - 1) { context->parsing_state = _PS_NORMAL; context->multi_line_comment_count = 0; } @@ -10072,7 +10072,7 @@ static int _open_core_lib(mb_interpreter_t* s) { mb_assert(s); - for(i = 0; i < _countof(_core_libs); ++i) + for(i = 0; i < countof(_core_libs); ++i) result += _register_func(s, _core_libs[i].name, _core_libs[i].pointer, true); return result; @@ -10085,7 +10085,7 @@ static int _close_core_lib(mb_interpreter_t* s) { mb_assert(s); - for(i = 0; i < _countof(_core_libs); ++i) + for(i = 0; i < countof(_core_libs); ++i) result += _remove_func(s, _core_libs[i].name, true); return result; @@ -10098,7 +10098,7 @@ static int _open_std_lib(mb_interpreter_t* s) { mb_assert(s); - for(i = 0; i < _countof(_std_libs); ++i) + for(i = 0; i < countof(_std_libs); ++i) result += _register_func(s, _std_libs[i].name, _std_libs[i].pointer, true); return result; @@ -10111,7 +10111,7 @@ static int _close_std_lib(mb_interpreter_t* s) { mb_assert(s); - for(i = 0; i < _countof(_std_libs); ++i) + for(i = 0; i < countof(_std_libs); ++i) result += _remove_func(s, _std_libs[i].name, true); return result; @@ -10125,7 +10125,7 @@ static int _open_coll_lib(mb_interpreter_t* s) { mb_assert(s); - for(i = 0; i < _countof(_coll_libs); ++i) + for(i = 0; i < countof(_coll_libs); ++i) result += _register_func(s, _coll_libs[i].name, _coll_libs[i].pointer, true); return result; @@ -10138,7 +10138,7 @@ static int _close_coll_lib(mb_interpreter_t* s) { mb_assert(s); - for(i = 0; i < _countof(_coll_libs); ++i) + for(i = 0; i < countof(_coll_libs); ++i) result += _remove_func(s, _coll_libs[i].name, true); return result; @@ -12022,7 +12022,7 @@ mb_error_e mb_get_last_error(struct mb_interpreter_t* s) { const char* mb_get_error_desc(mb_error_e err) { /* Get the error description text */ - if(err < _countof(_ERR_DESC)) + if(err < countof(_ERR_DESC)) return _ERR_DESC[err]; return 0; @@ -14121,7 +14121,7 @@ static int _core_type(mb_interpreter_t* s, void** l) { #endif /* MB_ENABLE_CLASS */ MB_DT_ROUTINE }; - for(i = 0; i < _countof(types); i++) { + for(i = 0; i < countof(types); i++) { unsigned e = types[i]; if(!mb_stricmp(mb_get_type_string((mb_data_e)e), arg.value.string)) { arg.value.type = (mb_data_e)e; diff --git a/core/my_basic.h b/core/my_basic.h index cce7906..f1ac1dc 100755 --- a/core/my_basic.h +++ b/core/my_basic.h @@ -104,6 +104,26 @@ extern "C" { # define MB_ENABLE_COLLECTION_LIB #endif /* MB_ENABLE_COLLECTION_LIB */ +#ifndef MB_ENABLE_USERTYPE_REF +# define MB_ENABLE_USERTYPE_REF +#endif /* MB_ENABLE_USERTYPE_REF */ + +#ifndef MB_ENABLE_CLASS +# define MB_ENABLE_CLASS +#endif /* MB_ENABLE_CLASS */ + +#ifndef MB_ENABLE_LAMBDA +# define MB_ENABLE_LAMBDA +#endif /* MB_ENABLE_LAMBDA */ + +#ifndef MB_ENABLE_MODULE +# define MB_ENABLE_MODULE +#endif /* MB_ENABLE_MODULE */ + +#ifndef MB_ENABLE_UNICODE +# define MB_ENABLE_UNICODE +#endif /* MB_ENABLE_UNICODE */ + #ifndef MB_GC_GARBAGE_THRESHOLD # define MB_GC_GARBAGE_THRESHOLD 16 #endif /* MB_GC_GARBAGE_THRESHOLD */ @@ -120,10 +140,6 @@ extern "C" { # define MB_ENABLE_STACK_TRACE #endif /* MB_ENABLE_STACK_TRACE */ -#ifndef MB_ENABLE_UNICODE -# define MB_ENABLE_UNICODE -#endif /* MB_ENABLE_UNICODE */ - #ifndef MB_CONVERT_TO_INT_LEVEL_NONE # define MB_CONVERT_TO_INT_LEVEL_NONE 0 #endif /* MB_CONVERT_TO_INT_LEVEL_NONE */ @@ -135,22 +151,6 @@ extern "C" { # define MB_CONVERT_TO_INT_LEVEL MB_CONVERT_TO_INT_LEVEL_ALL #endif /* MB_CONVERT_TO_INT_LEVEL */ -#ifndef MB_ENABLE_MODULE -# define MB_ENABLE_MODULE -#endif /* MB_ENABLE_MODULE */ - -#ifndef MB_ENABLE_USERTYPE_REF -# define MB_ENABLE_USERTYPE_REF -#endif /* MB_ENABLE_USERTYPE_REF */ - -#ifndef MB_ENABLE_CLASS -# define MB_ENABLE_CLASS -#endif /* MB_ENABLE_CLASS */ - -#ifndef MB_ENABLE_LAMBDA -# define MB_ENABLE_LAMBDA -#endif /* MB_ENABLE_LAMBDA */ - #ifndef MB_COMPACT_MODE # define MB_COMPACT_MODE #endif /* MB_COMPACT_MODE */ diff --git a/shell/main.c b/shell/main.c index 17f3138..de1f406 100755 --- a/shell/main.c +++ b/shell/main.c @@ -103,9 +103,9 @@ static struct mb_interpreter_t* bas = 0; ** Common */ -#ifndef _countof -# define _countof(__a) (sizeof(__a) / sizeof(*(__a))) -#endif /* _countof */ +#ifndef countof +# define countof(__a) (sizeof(__a) / sizeof(*(__a))) +#endif /* countof */ #ifndef _printf # define _printf printf @@ -1172,7 +1172,7 @@ static int now(struct mb_interpreter_t* s, void** l) { time(&ct); timeinfo = localtime(&ct); if(arg) { - strftime(buf, _countof(buf), arg, timeinfo); + strftime(buf, countof(buf), arg, timeinfo); mb_check(mb_push_string(s, l, mb_memdup(buf, (unsigned)(strlen(buf) + 1)))); } else { arg = asctime(timeinfo); @@ -1238,13 +1238,13 @@ static int trace(struct mb_interpreter_t* s, void** l) { mb_assert(s && l); - memset(frames, 0, _countof(frames)); + memset(frames, 0, countof(frames)); mb_check(mb_attempt_open_bracket(s, l)); mb_check(mb_attempt_close_bracket(s, l)); - mb_check(mb_debug_get_stack_trace(s, l, frames, _countof(frames))); + mb_check(mb_debug_get_stack_trace(s, l, frames, countof(frames))); ++p; while(*p) {