1 /********************************************************************/
2 /*                                                                  */
3 /*  s7   Seed7 interpreter                                          */
4 /*  Copyright (C) 1990 - 2000  Thomas Mertes                        */
5 /*                                                                  */
6 /*  This program is free software; you can redistribute it and/or   */
7 /*  modify it under the terms of the GNU General Public License as  */
8 /*  published by the Free Software Foundation; either version 2 of  */
9 /*  the License, or (at your option) any later version.             */
10 /*                                                                  */
11 /*  This program is distributed in the hope that it will be useful, */
12 /*  but WITHOUT ANY WARRANTY; without even the implied warranty of  */
13 /*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   */
14 /*  GNU General Public License for more details.                    */
15 /*                                                                  */
16 /*  You should have received a copy of the GNU General Public       */
17 /*  License along with this program; if not, write to the           */
18 /*  Free Software Foundation, Inc., 51 Franklin Street,             */
19 /*  Fifth Floor, Boston, MA  02110-1301, USA.                       */
20 /*                                                                  */
21 /*  Module: Interpreter                                             */
22 /*  File: seed7/src/executl.h                                       */
23 /*  Changes: 1993, 1994  Thomas Mertes                              */
24 /*  Content: Initialization operation procedures used at runtime.   */
25 /*                                                                  */
26 /********************************************************************/
27 
28 objectType get_create_call_obj (objectType obj, errInfoType *err_info);
29 objectType get_destroy_call_obj (objectType obj, errInfoType *err_info);
30 void do_create (objectType destination, objectType source,
31     errInfoType *err_info);
32 void do_destroy (objectType old_obj, errInfoType *err_info);
33 intType do_ord (objectType any_obj, errInfoType *err_info);
34 boolType do_in (objectType elem_obj, objectType set_obj,
35     errInfoType *err_info);
36 objectType getValue (objectType type_obj);
37 objectType param1_call (objectType function_obj, objectType param1);
38 objectType param2_call (objectType function_obj, objectType param1,
39     objectType param2);
40 objectType param3_call (objectType function_obj, objectType param1,
41     objectType param2, objectType param3);
42 objectType create_return_object (const_locObjType local, objectType init_value,
43     errInfoType *err_info);
44 void create_local_object (const_locObjType local, objectType init_value,
45     errInfoType *err_info);
46 void destroy_local_object (const_locObjType local, boolType ignoreError);
47 void destroy_local_init_value (const_locObjType local, errInfoType *err_info);
48 void destr_struct (objectType old_elem, memSizeType old_size);
49 boolType crea_struct (objectType elem_to, objectType elem_from,
50     memSizeType new_size);
51 boolType arr_elem_initialisation (typeType dest_type, objectType obj_to,
52     objectType obj_from);
53 void destr_array (objectType old_elem, memSizeType old_size);
54 boolType crea_array (objectType elem_to, objectType elem_from,
55     memSizeType new_size);
56 void cpy_array (objectType elem_to, objectType elem_from,
57     memSizeType new_size);
58