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: General */ 22 /* File: seed7/src/syvarutl.h */ 23 /* Changes: 1991, 1992, 1993, 1994 Thomas Mertes */ 24 /* Content: Maintains the interpreter system variables. */ 25 /* */ 26 /********************************************************************/ 27 28 /* If the number of values in sys_var is increased the definition */ 29 /* of NUMBER_OF_SYSVARS in data.h must be adjusted also. */ 30 31 #define EMPTY_OBJECT(prog) (prog)->sys_var[ 0] 32 #define MEM_EXCEPTION(prog) (prog)->sys_var[ 1] 33 #define NUM_EXCEPTION(prog) (prog)->sys_var[ 2] 34 #define OVF_EXCEPTION(prog) (prog)->sys_var[ 3] 35 #define RNG_EXCEPTION(prog) (prog)->sys_var[ 4] 36 #define IDX_EXCEPTION(prog) (prog)->sys_var[ 5] 37 #define FIL_EXCEPTION(prog) (prog)->sys_var[ 6] 38 #define DB_EXCEPTION(prog) (prog)->sys_var[ 7] 39 #define CLOSE_EXCEPTION(prog) (prog)->sys_var[ 8] 40 #define ACT_ILLEGAL_EXCEPTION(prog) (prog)->sys_var[ 9] 41 #define FALSE_OBJECT(prog) (prog)->sys_var[10] 42 #define TRUE_OBJECT(prog) (prog)->sys_var[11] 43 #define EXPR_TYPE(prog) (prog)->sys_var[12] 44 #define INT_TYPE(prog) (prog)->sys_var[13] 45 #define BIGINT_TYPE(prog) (prog)->sys_var[14] 46 #define CHAR_TYPE(prog) (prog)->sys_var[15] 47 #define STRI_TYPE(prog) (prog)->sys_var[16] 48 #define PROC_TYPE(prog) (prog)->sys_var[17] 49 #define FLT_TYPE(prog) (prog)->sys_var[18] 50 #define ASSIGN_OBJECT(prog) (prog)->sys_var[19] 51 #define CREA_OBJECT(prog) (prog)->sys_var[20] 52 #define DESTR_OBJECT(prog) (prog)->sys_var[21] 53 #define ORD_OBJECT(prog) (prog)->sys_var[22] 54 #define IN_OBJECT(prog) (prog)->sys_var[23] 55 #define DOT_OBJECT(prog) (prog)->sys_var[24] 56 #define VALUE_OBJECT(prog) (prog)->sys_var[25] 57 #define PROT_OUTFILE_OBJECT(prog) (prog)->sys_var[26] 58 #define FLUSH_OBJECT(prog) (prog)->sys_var[27] 59 #define WRITE_OBJECT(prog) (prog)->sys_var[28] 60 #define WRLN_OBJECT(prog) (prog)->sys_var[29] 61 #define MAIN_OBJECT(prog) (prog)->sys_var[30] 62 63 #define SYS_EMPTY_OBJECT EMPTY_OBJECT(prog) 64 #define SYS_MEM_EXCEPTION MEM_EXCEPTION(prog) 65 #define SYS_NUM_EXCEPTION NUM_EXCEPTION(prog) 66 #define SYS_OVF_EXCEPTION OVF_EXCEPTION(prog) 67 #define SYS_RNG_EXCEPTION RNG_EXCEPTION(prog) 68 #define SYS_IDX_EXCEPTION IDX_EXCEPTION(prog) 69 #define SYS_FIL_EXCEPTION FIL_EXCEPTION(prog) 70 #define SYS_DB_EXCEPTION DB_EXCEPTION(prog) 71 #define SYS_CLOSE_EXCEPTION CLOSE_EXCEPTION(prog) 72 #define SYS_ACT_ILLEGAL_EXCEPTION ACT_ILLEGAL_EXCEPTION(prog) 73 #define SYS_FALSE_OBJECT FALSE_OBJECT(prog) 74 #define SYS_TRUE_OBJECT TRUE_OBJECT(prog) 75 #define SYS_EXPR_TYPE EXPR_TYPE(prog) 76 #define SYS_INT_TYPE INT_TYPE(prog) 77 #define SYS_BIGINT_TYPE BIGINT_TYPE(prog) 78 #define SYS_CHAR_TYPE CHAR_TYPE(prog) 79 #define SYS_STRI_TYPE STRI_TYPE(prog) 80 #define SYS_PROC_TYPE PROC_TYPE(prog) 81 #define SYS_FLT_TYPE FLT_TYPE(prog) 82 #define SYS_ASSIGN_OBJECT ASSIGN_OBJECT(prog) 83 #define SYS_CREA_OBJECT CREA_OBJECT(prog) 84 #define SYS_DESTR_OBJECT DESTR_OBJECT(prog) 85 #define SYS_ORD_OBJECT ORD_OBJECT(prog) 86 #define SYS_IN_OBJECT IN_OBJECT(prog) 87 #define SYS_DOT_OBJECT DOT_OBJECT(prog) 88 #define SYS_VALUE_OBJECT VALUE_OBJECT(prog) 89 #define SYS_PROT_OUTFILE_OBJECT PROT_OUTFILE_OBJECT(prog) 90 #define SYS_FLUSH_OBJECT FLUSH_OBJECT(prog) 91 #define SYS_WRITE_OBJECT WRITE_OBJECT(prog) 92 #define SYS_WRLN_OBJECT WRLN_OBJECT(prog) 93 #define SYS_MAIN_OBJECT MAIN_OBJECT(prog) 94 95 96 int findSysvar (const_striType stri); 97 void init_sysvar (progType aProgram); 98