From 4792ac7a93f827bfd5be425490eac0f146bda1b7 Mon Sep 17 00:00:00 2001 From: paladin-t Date: Mon, 18 Jan 2016 15:21:07 +0800 Subject: [PATCH] +added variable arguments support. --- HISTORY | 1 + core/my_basic.c | 205 ++++++++++++++++++++++++++++++++++++++++---- output/my_basic.exe | Bin 351744 -> 354304 bytes shell/main.c | 2 +- 4 files changed, 192 insertions(+), 16 deletions(-) diff --git a/HISTORY b/HISTORY index c9ac4eb..4cc8caa 100755 --- a/HISTORY +++ b/HISTORY @@ -1,4 +1,5 @@ Jan. 18 2016 +Added variable arguments support Added a NOW statement to the shell Polished shell implementation code diff --git a/core/my_basic.c b/core/my_basic.c index 85648a5..393d7c4 100755 --- a/core/my_basic.c +++ b/core/my_basic.c @@ -132,6 +132,8 @@ extern "C" { #define DON(__o) ((__o) ? ((_object_t*)((__o)->data)) : 0) #define TON(__t) (((__t) && *(__t)) ? ((_object_t*)(((_tuple3_t*)(*(__t)))->e1)) : 0) +#define _IS_VAR_ARGS(__v) ((__v) == &_VAR_ARGS) + #define _IS_EOS(__o) (__o && ((_object_t*)(__o))->type == _DT_EOS) #define _IS_SEP(__o, __c) (((_object_t*)(__o))->type == _DT_SEP && ((_object_t*)(__o))->data.separator == __c) #define _IS_FUNC(__o, __f) (((_object_t*)(__o))->type == _DT_FUNC && ((_object_t*)(__o))->data.func->pointer == __f) @@ -599,6 +601,12 @@ static const _object_t _OBJ_INT_ZERO = { _DT_INT, (mb_data_e)0, false, 0 }; static _object_t* _OBJ_BOOL_TRUE = 0; static _object_t* _OBJ_BOOL_FALSE = 0; +#ifdef MB_ENABLE_CLASS +static const _var_t _VAR_ARGS = { "...", 0, 0 }; +#else /* MB_ENABLE_CLASS */ +static const _var_t _VAR_ARGS = { "...", 0 }; +#endif /* MB_ENABLE_CLASS */ + /* Parsing context */ #define _CLASS_STATE_NONE 0 #define _CLASS_STATE_PROC 1 @@ -677,6 +685,7 @@ typedef struct mb_interpreter_t { _ls_node_t* ast; _parsing_context_t* parsing_context; _running_context_t* running_context; + _ls_node_t* var_args; unsigned char jump_set; #ifdef MB_ENABLE_CLASS _class_t* last_instance; @@ -978,6 +987,8 @@ static _ls_node_t* _ls_find(_ls_node_t* list, void* data, _ls_compare cmp); static _ls_node_t* _ls_back(_ls_node_t* node); static _ls_node_t* _ls_pushback(_ls_node_t* list, void* data); static void* _ls_popback(_ls_node_t* list); +static _ls_node_t* _ls_front(_ls_node_t* node); +static void* _ls_popfront(_ls_node_t* list); static _ls_node_t* _ls_insert_at(_ls_node_t* list, int index, void* data); static unsigned int _ls_remove(_ls_node_t* list, _ls_node_t* node, _ls_operation op); static unsigned int _ls_try_remove(_ls_node_t* list, void* info, _ls_compare cmp, _ls_operation op); @@ -1091,7 +1102,10 @@ static int _get_priority_index(mb_func_t op); static _object_t* _operate_operand(mb_interpreter_t* s, _object_t* optr, _object_t* opnd1, _object_t* opnd2, int* status); static bool_t _is_expression_terminal(mb_interpreter_t* s, _object_t* obj); static int _calc_expression(mb_interpreter_t* s, _ls_node_t** l, _object_t** val); -static int _proc_args(mb_interpreter_t* s, _ls_node_t** l, _running_context_t* running, mb_value_t* va, unsigned ca, _routine_t* r, mb_has_routine_arg_func_t has_arg, mb_pop_routine_arg_func_t pop_arg, bool_t proc_ref); +static _ls_node_t* _push_var_args(mb_interpreter_t* s); +static void _pop_var_args(mb_interpreter_t* s, _ls_node_t* last_var_args); +static int _pop_arg(mb_interpreter_t* s, _ls_node_t** l, mb_value_t* va, unsigned ca, unsigned* ia, _routine_t* r, mb_pop_routine_arg_func_t pop_arg, _ls_node_t* args, mb_value_t* arg); +static int _proc_args(mb_interpreter_t* s, _ls_node_t** l, _running_context_t* running, mb_value_t* va, unsigned ca, _routine_t* r, mb_has_routine_arg_func_t has_arg, mb_pop_routine_arg_func_t pop_arg, bool_t proc_ref, _ls_node_t* args); static int _eval_routine(mb_interpreter_t* s, _ls_node_t** l, mb_value_t* va, unsigned ca, _routine_t* r, mb_has_routine_arg_func_t has_arg, mb_pop_routine_arg_func_t pop_arg); static int _eval_script_routine(mb_interpreter_t* s, _ls_node_t** l, mb_value_t* va, unsigned ca, _routine_t* r, mb_has_routine_arg_func_t has_arg, mb_pop_routine_arg_func_t pop_arg); #ifdef MB_ENABLE_LAMBDA @@ -1646,6 +1660,7 @@ static int _core_return(mb_interpreter_t* s, void** l); static int _core_call(mb_interpreter_t* s, void** l); static int _core_def(mb_interpreter_t* s, void** l); static int _core_enddef(mb_interpreter_t* s, void** l); +static int _core_args(mb_interpreter_t* s, void** l); #ifdef MB_ENABLE_CLASS static int _core_class(mb_interpreter_t* s, void** l); static int _core_endclass(mb_interpreter_t* s, void** l); @@ -1763,6 +1778,7 @@ static const _func_t _core_libs[] = { { "CALL", _core_call }, { "DEF", _core_def }, { "ENDDEF", _core_enddef }, + { "...", _core_args }, #ifdef MB_ENABLE_CLASS { "CLASS", _core_class }, @@ -1964,6 +1980,35 @@ void* _ls_popback(_ls_node_t* list) { return result; } +_ls_node_t* _ls_front(_ls_node_t* node) { + _ls_node_t* result = node; + + result = result->next; + + return result; +} + +void* _ls_popfront(_ls_node_t* list) { + void* result = 0; + _ls_node_t* tmp = 0; + + mb_assert(list); + + tmp = _ls_front(list); + if(tmp) { + result = tmp->data; + list->next = tmp->next; + if(tmp->next) + tmp->next->prev = list; + if(!list->next) + list->prev = 0; + tmp->prev = tmp->next = 0; + safe_free(tmp); + } + + return result; +} + _ls_node_t* _ls_insert_at(_ls_node_t* list, int index, void* data) { _ls_node_t* result = 0; _ls_node_t* tmp = 0; @@ -3248,7 +3293,46 @@ _exit: return result; } -int _proc_args(mb_interpreter_t* s, _ls_node_t** l, _running_context_t* running, mb_value_t* va, unsigned ca, _routine_t* r, mb_has_routine_arg_func_t has_arg, mb_pop_routine_arg_func_t pop_arg, bool_t proc_ref) { +_ls_node_t* _push_var_args(mb_interpreter_t* s) { + /* Push current variable arguments list */ + _ls_node_t* result = s->var_args; + s->var_args = 0; + + return result; +} + +void _pop_var_args(mb_interpreter_t* s, _ls_node_t* last_var_args) { + /* Pop current variable arguments list */ + _ls_node_t* var_args = s->var_args; + s->var_args = last_var_args; + if(var_args) { + _ls_foreach(var_args, _destroy_object_capsule_only); + _ls_destroy(var_args); + } +} + +int _pop_arg(mb_interpreter_t* s, _ls_node_t** l, mb_value_t* va, unsigned ca, unsigned* ia, _routine_t* r, mb_pop_routine_arg_func_t pop_arg, _ls_node_t* args, mb_value_t* arg) { + /* Pop an argument from the caller or a variable argument list */ + int result = MB_FUNC_OK; + _ls_node_t* ast = *l; + + mb_make_nil(*arg); + if(ast && _IS_FUNC(ast->data, _core_args)) { + if(args) { + _object_t* obj = (_object_t*)_ls_popfront(args); + if(obj) { + _internal_object_to_public_value(obj, arg); + _destroy_object_capsule_only(obj, 0); + } + } + } else { + result = pop_arg(s, (void**)l, va, ca, ia, r, arg); + } + + return result; +} + +int _proc_args(mb_interpreter_t* s, _ls_node_t** l, _running_context_t* running, mb_value_t* va, unsigned ca, _routine_t* r, mb_has_routine_arg_func_t has_arg, mb_pop_routine_arg_func_t pop_arg, bool_t proc_ref, _ls_node_t* args) { /* Process arguments of a routine */ int result = MB_FUNC_OK; _ls_node_t* parameters = 0; @@ -3257,6 +3341,7 @@ int _proc_args(mb_interpreter_t* s, _ls_node_t** l, _running_context_t* running, _var_t* var = 0; _ls_node_t* rnode = 0; unsigned ia = 0; + _ls_node_t* var_args = 0; parameters = r->func.basic.parameters; #ifdef MB_ENABLE_LAMBDA @@ -3269,16 +3354,17 @@ int _proc_args(mb_interpreter_t* s, _ls_node_t** l, _running_context_t* running, pars = parameters; pars = pars->next; while(pars && (!has_arg || (has_arg && has_arg(s, (void**)l, va, ca, &ia, r)))) { - _object_t* obj = 0; - if(pop_arg) { - mb_make_nil(arg); - mb_check(pop_arg(s, (void**)l, va, ca, &ia, r, &arg)); - } - var = (_var_t*)pars->data; pars = pars->next; + if(_IS_VAR_ARGS(var)) + break; + + if(pop_arg) { + mb_check(_pop_arg(s, l, va, ca, &ia, r, pop_arg, args, &arg)); + } + if(running->meta == _SCOPE_META_REF) { - obj = (_object_t*)(_ht_find(running->var_dict, var->name)->data); + _object_t* obj = (_object_t*)(_ht_find(running->var_dict, var->name)->data); var = obj->data.variable; if(proc_ref) @@ -3293,8 +3379,38 @@ int _proc_args(mb_interpreter_t* s, _ls_node_t** l, _running_context_t* running, } result = _public_value_to_internal_object(&arg, var->data); + if(result != MB_FUNC_OK) break; + + if(args && _ls_empty(args)) + break; + } + if(_IS_VAR_ARGS(var)) { + if(has_arg && !var_args && _IS_VAR_ARGS(var)) + var_args = s->var_args = _ls_create(); + + while(has_arg && has_arg(s, (void**)l, va, ca, &ia, r)) { + if(pop_arg) { + mb_check(_pop_arg(s, l, va, ca, &ia, r, pop_arg, args, &arg)); + } + + if(var_args) { + _object_t* obj = _create_object(); + result = _public_value_to_internal_object(&arg, obj); + _ls_pushback(var_args, obj); + } + + if(args && _ls_empty(args)) + break; + } + } + if(_IS_VAR_ARGS(var)) { + if(args) { + _ls_node_t* ast = *l; + if(ast) ast = ast->next; + *l = ast; + } } } @@ -3336,6 +3452,7 @@ int _eval_script_routine(mb_interpreter_t* s, _ls_node_t** l, mb_value_t* va, un _running_context_t* running = 0; _routine_t* lastr = 0; mb_value_t inte; + _ls_node_t* lastv = 0; mb_assert(s && l && r); @@ -3356,12 +3473,14 @@ int _eval_script_routine(mb_interpreter_t* s, _ls_node_t** l, mb_value_t* va, un lastr = s->last_routine; s->last_routine = r; + lastv = _push_var_args(s); + if(!va) { mb_check(mb_attempt_open_bracket(s, (void**)l)); } running = _push_weak_scope_by_routine(s, r->func.basic.scope, r); - result = _proc_args(s, l, running, va, ca, r, has_arg, pop_arg, true); + result = _proc_args(s, l, running, va, ca, r, has_arg, pop_arg, true, lastv); if(result != MB_FUNC_OK) { if(running->meta == _SCOPE_META_REF) _destroy_scope(s, running); @@ -3373,7 +3492,7 @@ int _eval_script_routine(mb_interpreter_t* s, _ls_node_t** l, mb_value_t* va, un running = _pop_weak_scope(s, running); if(!va) { - mb_check(mb_attempt_close_bracket(s, (void**)l)); + _mb_check_mark(mb_attempt_close_bracket(s, (void**)l), result, _error); } ast = (_ls_node_t*)*l; @@ -3414,7 +3533,7 @@ int _eval_script_routine(mb_interpreter_t* s, _ls_node_t** l, mb_value_t* va, un _out_of_scope(s, running, 0, true); #endif /* MB_ENABLE_CLASS */ - result = _proc_args(s, l, running, 0, 0, r, 0, 0, false); + result = _proc_args(s, l, running, 0, 0, r, 0, 0, false, 0); if(result != MB_FUNC_OK) goto _exit; @@ -3430,8 +3549,11 @@ _exit: if(result != MB_FUNC_OK) _pop_scope(s, true); +_error: s->last_routine = lastr; + _pop_var_args(s, lastv); + _tail: return result; } @@ -3444,18 +3566,21 @@ int _eval_lambda_routine(mb_interpreter_t* s, _ls_node_t** l, mb_value_t* va, un _running_context_t* running = 0; _routine_t* lastr = 0; mb_value_t inte; + _ls_node_t* lastv = 0; mb_assert(s && l && r); lastr = s->last_routine; s->last_routine = r; + lastv = _push_var_args(s); + if(!va) { mb_check(mb_attempt_open_bracket(s, (void**)l)); } running = _link_lambda_scope_chain(s, &r->func.lambda, true); - result = _proc_args(s, l, running, va, ca, r, has_arg, pop_arg, true); + result = _proc_args(s, l, running, va, ca, r, has_arg, pop_arg, true, lastv); if(result != MB_FUNC_OK) { _unlink_lambda_scope_chain(s, &r->func.lambda, true); @@ -3464,7 +3589,7 @@ int _eval_lambda_routine(mb_interpreter_t* s, _ls_node_t** l, mb_value_t* va, un running = _unlink_lambda_scope_chain(s, &r->func.lambda, true); if(!va) { - mb_check(mb_attempt_close_bracket(s, (void**)l)); + _mb_check_mark(mb_attempt_close_bracket(s, (void**)l), result, _error); } ast = (_ls_node_t*)*l; @@ -3501,7 +3626,7 @@ int _eval_lambda_routine(mb_interpreter_t* s, _ls_node_t** l, mb_value_t* va, un _out_of_scope(s, running, 0, true); - result = _proc_args(s, l, running, 0, 0, r, 0, 0, false); + result = _proc_args(s, l, running, 0, 0, r, 0, 0, false, 0); if(result != MB_FUNC_OK) goto _exit; @@ -3517,8 +3642,11 @@ _exit: if(result != MB_FUNC_OK) _unlink_lambda_scope_chain(s, &r->func.lambda, false); +_error: s->last_routine = lastr; + _pop_var_args(s, lastv); + *l = ast; return result; @@ -3530,12 +3658,15 @@ int _eval_native_routine(mb_interpreter_t* s, _ls_node_t** l, mb_value_t* va, un int result = MB_FUNC_OK; _routine_t* lastr = 0; mb_routine_func_t entry = 0; + _ls_node_t* lastv = 0; mb_assert(s && l && r); lastr = s->last_routine; s->last_routine = r; + lastv = _push_var_args(s); + entry = r->func.native.entry; if(!entry) { _handle_error_on_obj(s, SE_RN_INVALID_ROUTINE, s->source_file, TON(l), MB_FUNC_ERR, _exit, result); @@ -3546,6 +3677,8 @@ int _eval_native_routine(mb_interpreter_t* s, _ls_node_t** l, mb_value_t* va, un _exit: s->last_routine = lastr; + _pop_var_args(s, lastv); + return result; } @@ -10357,6 +10490,8 @@ int mb_run(struct mb_interpreter_t* s) { _destroy_parsing_context(&s->parsing_context); + s->source_file = 0; + s->handled_error = false; if(s->suspent_point) { @@ -12175,6 +12310,10 @@ int _core_def(mb_interpreter_t* s, void** l) { if(!routine->func.basic.parameters) routine->func.basic.parameters = _ls_create(); _ls_pushback(routine->func.basic.parameters, var); + } else if(_IS_FUNC(obj, _core_args)) { + if(!routine->func.basic.parameters) + routine->func.basic.parameters = _ls_create(); + _ls_pushback(routine->func.basic.parameters, (void*)&_VAR_ARGS); } ast = ast->next; @@ -12213,6 +12352,42 @@ _exit: return result; } +int _core_args(mb_interpreter_t* s, void** l) { + /* ... (variable argument list) statement */ + int result = MB_FUNC_OK; + _ls_node_t* ast = 0; + _ls_node_t* var_args = 0; + bool_t pushed = false; + + mb_assert(s && l); + + ast = (_ls_node_t*)*l; + if(ast) ast = ast->next; + *l = ast; + + var_args = s->var_args; + if(var_args) { + _object_t* obj = (_object_t*)_ls_popfront(var_args); + if(obj) { + mb_value_t arg; + mb_make_nil(arg); + _internal_object_to_public_value(obj, &arg); + mb_check(mb_push_value(s, l, arg)); + pushed = true; + _destroy_object_capsule_only(obj, 0); + } + } + + if(!pushed) { + mb_value_t arg; + mb_make_nil(arg); + arg.type = MB_DT_UNKNOWN; + mb_check(mb_push_value(s, l, arg)); + } + + return result; +} + #ifdef MB_ENABLE_CLASS int _core_class(mb_interpreter_t* s, void** l) { /* CLASS statement */ diff --git a/output/my_basic.exe b/output/my_basic.exe index 2046b2f65a3fe38f22a9109daf409ac10f09752a..b0327d44178574ebba75a0460f8781c9834e2cbb 100755 GIT binary patch delta 56930 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/)W~az;Vo$y+3Gtx`I(p*(tz!}-#{4_ltTj_ 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 delta 54825 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

%)fhgs#~V^ES$PBU{a7Osy_ODb2O$ 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 diff --git a/shell/main.c b/shell/main.c index 388a7b7..51310de 100755 --- a/shell/main.c +++ b/shell/main.c @@ -870,7 +870,7 @@ static int _do_line(void) { result = _new_program(); } else if(_str_eq(line, "RUN")) { int i = 0; - mb_assert(_get_code()); + mb_assert(_code()); result = mb_reset(&bas, false); for(i = 0; i < _code()->count; ++i) { if(result)