diff --git a/version3.0/nasal_builtin.h b/version3.0/nasal_builtin.h index e5e1030..a5d1bcf 100644 --- a/version3.0/nasal_builtin.h +++ b/version3.0/nasal_builtin.h @@ -5,7 +5,7 @@ int nasal_runtime::builtin_print(int local_scope_addr) { int vector_value_addr=-1; if(local_scope_addr>=0) - vector_value_addr=nasal_vm.gc_get(local_scope_addr).get_closure().get_value_address("dyn"); + vector_value_addr=nasal_vm.gc_get(local_scope_addr).get_closure().get_value_address("elements"); if(vector_value_addr<0 || nasal_vm.gc_get(vector_value_addr).get_type()!=vm_vector) { std::cout<<">> [runtime] builtin_print: cannot find values or wrong value type."<=0) + vector_value_addr=nasal_vm.gc_get(local_scope_addr).get_closure().get_value_address("vector"); + if(vector_value_addr<0 || nasal_vm.gc_get(vector_value_addr).get_type()!=vm_vector) + { + std::cout<<">> [runtime] builtin_append: cannot find values or wrong value type."<=0) + elem_value_addr=nasal_vm.gc_get(local_scope_addr).get_closure().get_value_address("elements"); + if(elem_value_addr<0 || nasal_vm.gc_get(elem_value_addr).get_type()!=vm_vector) + { + std::cout<<">> [runtime] builtin_append: cannot find values or wrong value type."<=0) + vector_value_addr=nasal_vm.gc_get(local_scope_addr).get_closure().get_value_address("vector"); + if(vector_value_addr<0 || nasal_vm.gc_get(vector_value_addr).get_type()!=vm_vector) + { + std::cout<<">> [runtime] builtin_setsize: cannot find values or wrong value type."<=0) + size_value_addr=nasal_vm.gc_get(local_scope_addr).get_closure().get_value_address("size"); + if(size_value_addr<0) + { + std::cout<<">> [runtime] builtin_setsize: cannot find values or wrong value type."<> [runtime] builtin_setsize: size is not a number."<> [runtime] builtin_setsize: size is not a numerable string."<> [runtime] builtin_setsize: size must be greater than -1."<vec_size) + for(int i=vec_size;i> [vm] nasal_hash::add_elem: "<