Mercurial > repos > rhope
diff interp.c @ 63:04baa003de5a
Merged latest changes with better C branch
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Wed, 05 May 2010 22:12:23 -0400 |
parents | 6202b866d72c |
children |
line wrap: on
line diff
--- a/interp.c Sat Oct 10 16:43:37 2009 -0400 +++ b/interp.c Wed May 05 22:12:23 2010 -0400 @@ -1482,6 +1482,11 @@ aworker->input_types[0] = BUILTIN_TYPE_WHOLE; aworker->input_types[1] = BUILTIN_TYPE_WHOLE; + aworker = create_worker(prog, "%@Whole Number", 2, 1, WORKER_TYPE); + aworker->implement_func=(custom_worker *)vis_whole_modulus; + aworker->input_types[0] = BUILTIN_TYPE_WHOLE; + aworker->input_types[1] = BUILTIN_TYPE_WHOLE; + //add_method(this_comp, aworker); current_method = 0; @@ -1567,6 +1572,14 @@ aworker->implement_func=(custom_worker *)vis_real_sqrt; aworker->input_types[0] = BUILTIN_TYPE_REAL; + aworker = create_worker(prog, "Truncate to Whole@Real Number", 1, 1, WORKER_TYPE); + aworker->implement_func=(custom_worker *)vis_whole_fromreal; + aworker->input_types[0] = BUILTIN_TYPE_REAL; + + aworker = create_worker(prog, "<Whole Number@Real Number", 1, 1, WORKER_TYPE); + aworker->implement_func=(custom_worker *)vis_real_fromwhole; + aworker->input_types[0] = BUILTIN_TYPE_WHOLE; + //add_method(this_comp, aworker); current_method = 0; @@ -1623,7 +1636,7 @@ aworker->input_types[0] = BUILTIN_TYPE_LIST; //add_method(this_comp, aworker); - aworker = create_worker(prog, "New@List",0, 1, WORKER_TYPE); + aworker = create_worker(prog, "List",0, 1, WORKER_TYPE); aworker->implement_func=(custom_worker *)vis_list_new; //add_method(this_comp, aworker); @@ -1672,7 +1685,7 @@ //add_method(this_comp, aworker); - aworker = create_worker(prog, "New@Dictionary",0, 1, WORKER_TYPE); + aworker = create_worker(prog, "Dictionary",0, 1, WORKER_TYPE); aworker->implement_func=(custom_worker *)vis_dict_new; //add_method(this_comp, aworker); @@ -1829,7 +1842,7 @@ aworker->input_types[1] = BUILTIN_TYPE_WHOLE; aworker->input_types[2] = BUILTIN_TYPE_WHOLE; - aworker = create_worker(prog, "New@Worker", 1, 1, WORKER_TYPE); + aworker = create_worker(prog, "Worker", 1, 1, WORKER_TYPE); aworker->implement_func=(custom_worker *)vis_worker_new; aworker->input_types[0] = BUILTIN_TYPE_STRING; @@ -1838,7 +1851,7 @@ this_comp = create_company(prog, "Window", 3, 0, FALSE); - aworker = create_worker(prog, "New@Window", 3, 1, WORKER_TYPE); + aworker = create_worker(prog, "Window", 3, 1, WORKER_TYPE); aworker->implement_func=(custom_worker *)vis_window_new; aworker->input_types[0] = BUILTIN_TYPE_STRING; aworker->input_types[1] = BUILTIN_TYPE_REAL; @@ -1899,7 +1912,7 @@ current_method = 0; create_company(prog, "Button", 2, 0, FALSE); - aworker = create_worker(prog, "New@Button", 3, 1, WORKER_TYPE); + aworker = create_worker(prog, "Button", 3, 1, WORKER_TYPE); aworker->implement_func=(custom_worker *)vis_button_new; aworker->input_types[0] = BUILTIN_TYPE_STRING; aworker->input_types[1] = BUILTIN_TYPE_REAL; @@ -1916,7 +1929,7 @@ current_method = 0; create_company(prog, "Input Box", 2, 0, FALSE); - aworker = create_worker(prog, "New@Input Box", 3, 1, WORKER_TYPE); + aworker = create_worker(prog, "Input Box", 3, 1, WORKER_TYPE); aworker->implement_func=(custom_worker *)vis_inputbox_new; aworker->input_types[0] = BUILTIN_TYPE_STRING; aworker->input_types[1] = BUILTIN_TYPE_REAL; @@ -1932,7 +1945,7 @@ #endif #ifndef NO_NET this_comp = create_company(prog, "Net Client", 3, 0, FALSE); - aworker = create_worker(prog, "New@Net Client", 2, 1, WORKER_TYPE); + aworker = create_worker(prog, "Net Client", 2, 1, WORKER_TYPE); aworker->implement_func =(custom_worker *)net_client_new; aworker->input_types[0] = BUILTIN_TYPE_STRING; aworker->input_types[1] = BUILTIN_TYPE_WHOLE; @@ -1972,7 +1985,7 @@ create_company(prog, "Program", 5, 0, FALSE); - aworker = create_worker(prog, "New@Program", 0, 1, WORKER_TYPE); + aworker = create_worker(prog, "Program", 0, 1, WORKER_TYPE); aworker->implement_func = (custom_worker *)vis_program_new; aworker = create_worker(prog, "New Worker@Program", 2, 2, WORKER_TYPE); @@ -2003,7 +2016,7 @@ #ifdef SYLLABLE create_company(prog, "Custom Widget", 2, 0, FALSE); - aworker = create_worker(prog, "New@Custom Widget", 3, 1, WORKER_TYPE); + aworker = create_worker(prog, "Custom Widget", 3, 1, WORKER_TYPE); aworker->implement_func=(custom_worker *)vis_customwidget_new; aworker->input_types[0] = BUILTIN_TYPE_STRING; aworker->input_types[1] = BUILTIN_TYPE_REAL; @@ -2082,7 +2095,7 @@ #endif create_company(prog, "Buffer", 7, 0, FALSE); - aworker = create_worker(prog, "New@Buffer", 1, 1, WORKER_TYPE); + aworker = create_worker(prog, "Buffer", 1, 1, WORKER_TYPE); aworker->implement_func=(custom_worker *)vis_buffer_new; aworker->input_types[0] = BUILTIN_TYPE_WHOLE; @@ -2138,7 +2151,7 @@ create_company(prog, "Blueprint", 4, 0, FALSE); - aworker = create_worker(prog, "New@Blueprint", 1, 1, WORKER_TYPE); + aworker = create_worker(prog, "Blueprint", 1, 1, WORKER_TYPE); aworker->implement_func=(custom_worker *)vis_blueprint_new; aworker->input_types[0] = BUILTIN_TYPE_STRING; @@ -2180,7 +2193,7 @@ #ifdef SYLLABLE create_company(prog, "Checkbox", 2, 0, FALSE); - aworker = create_worker(prog, "New@Checkbox", 4, 1, WORKER_TYPE); + aworker = create_worker(prog, "Checkbox", 4, 1, WORKER_TYPE); aworker->implement_func=(custom_worker *)vis_checkbox_new; aworker->input_types[0] = BUILTIN_TYPE_STRING; aworker->input_types[1] = BUILTIN_TYPE_REAL; @@ -2195,7 +2208,7 @@ create_company(prog, "Dropdown", 4, 0, FALSE); - aworker = create_worker(prog, "New@Dropdown", 3, 1, WORKER_TYPE); + aworker = create_worker(prog, "Dropdown", 3, 1, WORKER_TYPE); aworker->implement_func=(custom_worker *)vis_dropdown_new; aworker->input_types[0] = BUILTIN_TYPE_LIST; aworker->input_types[1] = BUILTIN_TYPE_REAL; @@ -3060,7 +3073,7 @@ DEBUGPRINTF( "Magic method: %s\n", process_def->name); if(!params || !params[0]) { - ERRORPRINTF("Error: null first parmeter or null parameter array for worker %s\n", process_def->name); + ERRORPRINTF("Error: null first parmeter or null parameter array for worker %s, params: %X, params[0]: %X\n", process_def->name, params, params[0]); print_stack_trace(worker_entry.instance); execute_active = FALSE; return -1;