From 446adfc4826c92b999227ac57cff0c3d9e04b9b3 Mon Sep 17 00:00:00 2001 From: tony Date: Tue, 16 Dec 2014 23:35:48 +0800 Subject: [PATCH] fixed a negative calculation bug in a function argument --- HISTORY | 3 +++ core/my_basic.c | 54 +++++++++++++++++++++++++++++++----------- core/my_basic.h | 13 ++++++++-- my_basic.vcproj | 6 ++++- output/my_basic.exe | Bin 59392 -> 59904 bytes output/my_basic_mac | Bin resource/my_basic.aps | Bin 40468 -> 64900 bytes resource/my_basic.rc | 10 ++++---- shell/main.c | 6 ++--- 9 files changed, 67 insertions(+), 25 deletions(-) mode change 100755 => 100644 output/my_basic_mac diff --git a/HISTORY b/HISTORY index 245284a..d07e730 100644 --- a/HISTORY +++ b/HISTORY @@ -1,3 +1,6 @@ +Dec. 16 2014 +Fixed a negative calculation bug in a function argument + Dec. 9 2014 Improved compatibility with BCB diff --git a/core/my_basic.c b/core/my_basic.c index 66dfb47..a6a7072 100644 --- a/core/my_basic.c +++ b/core/my_basic.c @@ -3,7 +3,7 @@ ** ** For the latest info, see https://github.com/paladin-t/my_basic/ ** -** Copyright (c) 2011 - 2014 W. Renxin +** Copyright (C) 2011 - 2014 W. Renxin ** ** Permission is hereby granted, free of charge, to any person obtaining a copy of ** this software and associated documentation files (the "Software"), to deal in @@ -29,6 +29,7 @@ # endif /* _CRT_SECURE_NO_WARNINGS */ #endif /* _MSC_VER */ +#include "my_basic.h" #ifdef _MSC_VER # include # include @@ -42,7 +43,6 @@ #include #include #include -#include "my_basic.h" #ifdef __cplusplus extern "C" { @@ -78,9 +78,8 @@ extern "C" { /** Macros */ #define _VER_MAJOR 1 #define _VER_MINOR 0 -#define _VER_REVISION 43 +#define _VER_REVISION 44 #define _MB_VERSION ((_VER_MAJOR * 0x01000000) + (_VER_MINOR * 0x00010000) + (_VER_REVISION)) -#define _MB_VERSION_STRING "1.0.0043" /* Uncomment this line to treat warnings as error */ /*#define _WARING_AS_ERROR*/ @@ -222,9 +221,11 @@ static const char* _ERR_DESC[] = { "Invalid expression", "Out of memory", /** Extended abort */ - "Extended abort", + "Extended abort" }; +mb_static_assert(_countof(_ERR_DESC) == SE_COUNT); + /* Data type */ #define _EOS '\n' #define _NULL_STRING "(empty)" @@ -244,7 +245,7 @@ typedef enum _data_e { _DT_ARRAY, _DT_LABEL, /* Label type, used for GOTO, GOSUB statement */ _DT_SEP, /* Separator */ - _DT_EOS, /* End of statement */ + _DT_EOS /* End of statement */ } _data_e; typedef struct _func_t { @@ -300,12 +301,12 @@ static _object_t* _OBJ_BOOL_FALSE = 0; typedef enum _parsing_state_e { _PS_NORMAL = 0, _PS_STRING, - _PS_COMMENT, + _PS_COMMENT } _parsing_state_e; typedef enum _symbol_state_e { _SS_IDENTIFIER = 0, - _SS_OPERATOR, + _SS_OPERATOR } _symbol_state_e; typedef struct _parsing_context_t { @@ -326,6 +327,7 @@ typedef struct _running_context_t { mb_value_t intermediate_value; int_t no_eat_comma_mark; _ls_node_t* skip_to_eoi; + _ls_node_t* in_neg_expr; } _running_context_t; /* Expression processing */ @@ -822,11 +824,11 @@ static const _func_t _core_libs[] = { { "GOSUB", _core_gosub }, { "RETURN", _core_return }, - { "END", _core_end }, - #ifdef _MB_ENABLE_ALLOC_STAT { "MEM", _core_mem }, #endif /* _MB_ENABLE_ALLOC_STAT */ + + { "END", _core_end } }; static const _func_t _std_libs[] = { @@ -857,7 +859,7 @@ static const _func_t _std_libs[] = { { "VAL", _std_val }, { "PRINT", _std_print }, - { "INPUT", _std_input }, + { "INPUT", _std_input } }; /* ========================================================} */ @@ -1724,6 +1726,7 @@ int _calc_expression(mb_interpreter_t* s, _ls_node_t** l, _object_t** val) { _object_t* r = 0; _object_t* theta = 0; char pri = '\0'; + int* inep = 0; unsigned int arr_idx = 0; mb_value_u arr_val; @@ -1743,6 +1746,10 @@ int _calc_expression(mb_interpreter_t* s, _ls_node_t** l, _object_t** val) { optr = _ls_create(); opnd = _ls_create(); + inep = (int*)mb_malloc(sizeof(int)); + *inep = 0; + _ls_pushback(running->in_neg_expr, inep); + c = (_object_t*)(ast->data); do { if(c->type == _DT_STRING) { @@ -1934,6 +1941,7 @@ _exit: _ls_destroy(optr); _ls_destroy(opnd); *l = ast; + mb_free(_ls_popback(running->in_neg_expr)); return result; } @@ -2327,7 +2335,7 @@ _data_e _get_symbol_type(mb_interpreter_t* s, char* sym, void** value) { } } /* _func_t */ - if(context->last_symbol && ((context->last_symbol->type == _DT_FUNC && context->last_symbol->data.func->pointer != _core_close_bracket)|| + if(context->last_symbol && ((context->last_symbol->type == _DT_FUNC && context->last_symbol->data.func->pointer != _core_close_bracket) || context->last_symbol->type == _DT_SEP)) { if(strcmp("-", sym) == 0) { *value = (void*)(intptr_t)(_core_neg); @@ -3232,7 +3240,10 @@ unsigned int mb_ver(void) { const char* mb_ver_string(void) { /* Get the version text of this MY-BASIC system */ - return _MB_VERSION_STRING; + static char buf[32] = { '\0' }; + if(!buf[0]) sprintf(buf, "%d.%d.%04d", _VER_MAJOR, _VER_MINOR, _VER_REVISION); + + return buf; } int mb_init(void) { @@ -3349,6 +3360,7 @@ int mb_open(mb_interpreter_t** s) { memset(running, 0, sizeof(_running_context_t)); running->temp_values = _ls_create(); + running->in_neg_expr = _ls_create(); running->sub_stack = _ls_create(); (*s)->running_context = running; @@ -3380,6 +3392,7 @@ int mb_close(mb_interpreter_t** s) { _ls_foreach(running->temp_values, _destroy_object); _ls_destroy(running->temp_values); + _ls_destroy(running->in_neg_expr); _ls_destroy(running->sub_stack); safe_free(running); @@ -3645,11 +3658,14 @@ int mb_pop_value(mb_interpreter_t* s, void** l, mb_value_t* val) { _object_t val_obj; _object_t* val_ptr = 0; _running_context_t* running = 0; + int* inep = 0; mb_assert(s && l && val); running = (_running_context_t*)(s->running_context); + inep = (int*)_ls_back(running->in_neg_expr)->data; + val_ptr = &val_obj; memset(val_ptr, 0, sizeof(_object_t)); @@ -3665,7 +3681,7 @@ int mb_pop_value(mb_interpreter_t* s, void** l, mb_value_t* val) { _ls_pushback(running->temp_values, val_ptr); } - if(running->no_eat_comma_mark < _NO_EAT_COMMA) { + if(running->no_eat_comma_mark < _NO_EAT_COMMA && !(*inep)) { if(ast && ((_object_t*)(ast->data))->type == _DT_SEP && ((_object_t*)(ast->data))->data.separator == ',') { ast = ast->next; } @@ -4092,15 +4108,25 @@ int _core_neg(mb_interpreter_t* s, void** l) { /* Operator - (negative) */ int result = MB_FUNC_OK; mb_value_t arg; + _running_context_t* running = 0; + int* inep = 0; mb_assert(s && l); + running = (_running_context_t*)(s->running_context); + + inep = (int*)_ls_back(running->in_neg_expr)->data; + + (*inep)++; + mb_check(mb_attempt_func_begin(s, l)); mb_check(mb_pop_value(s, l, &arg)); mb_check(mb_attempt_func_end(s, l)); + (*inep)--; + switch(arg.type) { case MB_DT_INT: arg.value.integer = -(arg.value.integer); diff --git a/core/my_basic.h b/core/my_basic.h index 76dd973..c1fcd02 100644 --- a/core/my_basic.h +++ b/core/my_basic.h @@ -3,7 +3,7 @@ ** ** For the latest info, see https://github.com/paladin-t/my_basic/ ** -** Copyright (c) 2011 - 2014 W. Renxin +** Copyright (C) 2011 - 2014 W. Renxin ** ** Permission is hereby granted, free of charge, to any person obtaining a copy of ** this software and associated documentation files (the "Software"), to deal in @@ -76,6 +76,13 @@ extern "C" { # define mb_assert(__a) do { ((void)(__a)); assert(__a); } while(0) #endif /* mb_assert */ +#ifndef mb_static_assert +# define _static_assert_impl(cond, msg) typedef char static_assertion_##msg[(!!(cond)) * 2 - 1] +# define _compile_time_assert3(x, l) _static_assert_impl(x, static_assertion_at_line_##l) +# define _compile_time_assert2(x, l) _compile_time_assert3(x, l) +# define mb_static_assert(x) _compile_time_assert2(x, __LINE__) +#endif /* mb_static_assert */ + #ifndef mb_unrefvar # define mb_unrefvar(__v) ((void)(__v)) #endif /* mb_unrefvar */ @@ -161,13 +168,15 @@ typedef enum mb_error_e { SE_RN_OUT_OF_MEMORY, /** Extended abort */ SE_EA_EXTENDED_ABORT, + /** Extra */ + SE_COUNT } mb_error_e; typedef enum mb_data_e { MB_DT_NIL = -1, MB_DT_INT = 0, MB_DT_REAL, - MB_DT_STRING, + MB_DT_STRING } mb_data_e; typedef union mb_value_u { diff --git a/my_basic.vcproj b/my_basic.vcproj index e8d94cd..ce92e5d 100644 --- a/my_basic.vcproj +++ b/my_basic.vcproj @@ -196,7 +196,11 @@ > + + diff --git a/output/my_basic.exe b/output/my_basic.exe index 03c38a57e60a11a15eb4395e337592ef6e640c6a..0236a695a4a4b929d84b1b0a1dcc1f49c6715488 100644 GIT binary patch delta 15201 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 AI{*Lx delta 14849 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 # include @@ -39,7 +40,6 @@ #include #include #include -#include "../core/my_basic.h" #ifdef _MSC_VER # pragma warning(disable : 4127) @@ -331,7 +331,7 @@ static void _kill_program(const char* path) { static void _show_tip(void) { printf("MY-BASIC Interpreter Shell - %s.\n", mb_ver_string()); - printf("Copyright (c) 2011 - 2014 W. Renxin. All Rights Reserved.\n"); + printf("Copyright (C) 2011 - 2014 W. Renxin. All Rights Reserved.\n"); printf("For more information, see https://github.com/paladin-t/my_basic/.\n"); printf("Input HELP and hint enter to view help information.\n"); }