00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _H_constant
00026
00027 #define _H_constant
00028
00029 #ifndef FALSE
00030 #define FALSE 0
00031 #endif
00032 #ifndef TRUE
00033 #define TRUE 1
00034 #endif
00035
00036 #define EXACTLY 0
00037 #define AT_LEAST 1
00038 #define NO_MORE_THAN 2
00039 #define RANGE 3
00040
00041 #define OFF 0
00042 #define ON 1
00043 #define LHS 0
00044 #define RHS 1
00045 #define NESTED_RHS 2
00046 #define NEGATIVE 0
00047 #define POSITIVE 1
00048 #define EOS '\0'
00049
00050 #define INSIDE 0
00051 #define OUTSIDE 1
00052
00053 #define LESS_THAN 0
00054 #define GREATER_THAN 1
00055 #define EQUAL 2
00056
00057 #define GLOBAL_SAVE 0
00058 #define LOCAL_SAVE 1
00059 #define VISIBLE_SAVE 2
00060
00061 #define NO_DEFAULT 0
00062 #define STATIC_DEFAULT 1
00063 #define DYNAMIC_DEFAULT 2
00064
00065 #ifndef WPROMPT_STRING
00066 #define WPROMPT_STRING "wclips"
00067 #endif
00068
00069 #ifndef APPLICATION_NAME
00070 #define APPLICATION_NAME "CLIPS"
00071 #endif
00072
00073 #ifndef COMMAND_PROMPT
00074 #define COMMAND_PROMPT "CLIPS> "
00075 #endif
00076
00077 #ifndef VERSION_STRING
00078 #define VERSION_STRING "6.30"
00079 #endif
00080
00081 #ifndef CREATION_DATE_STRING
00082 #define CREATION_DATE_STRING "5/31/08"
00083 #endif
00084
00085 #ifndef BANNER_STRING
00086 #define BANNER_STRING " CLIPS (Quicksilver Beta 5/31/08)\n"
00087 #endif
00088
00089
00090
00091
00092
00093 #define OBJECT_TYPE_NAME "OBJECT"
00094 #define USER_TYPE_NAME "USER"
00095 #define PRIMITIVE_TYPE_NAME "PRIMITIVE"
00096 #define NUMBER_TYPE_NAME "NUMBER"
00097 #define INTEGER_TYPE_NAME "INTEGER"
00098 #define FLOAT_TYPE_NAME "FLOAT"
00099 #define SYMBOL_TYPE_NAME "SYMBOL"
00100 #define STRING_TYPE_NAME "STRING"
00101 #define MULTIFIELD_TYPE_NAME "MULTIFIELD"
00102 #define LEXEME_TYPE_NAME "LEXEME"
00103 #define ADDRESS_TYPE_NAME "ADDRESS"
00104 #define EXTERNAL_ADDRESS_TYPE_NAME "EXTERNAL-ADDRESS"
00105 #define FACT_ADDRESS_TYPE_NAME "FACT-ADDRESS"
00106 #define INSTANCE_TYPE_NAME "INSTANCE"
00107 #define INSTANCE_NAME_TYPE_NAME "INSTANCE-NAME"
00108 #define INSTANCE_ADDRESS_TYPE_NAME "INSTANCE-ADDRESS"
00109
00110
00111
00112
00113
00114
00115
00116
00117 #define OBJECT_TYPE_CODE 9
00118 #define PRIMITIVE_TYPE_CODE 10
00119 #define NUMBER_TYPE_CODE 11
00120 #define LEXEME_TYPE_CODE 12
00121 #define ADDRESS_TYPE_CODE 13
00122 #define INSTANCE_TYPE_CODE 14
00123
00124
00125
00126
00127
00128
00129 #define FLOAT 0
00130 #define INTEGER 1
00131 #define SYMBOL 2
00132 #define STRING 3
00133 #define MULTIFIELD 4
00134 #define EXTERNAL_ADDRESS 5
00135 #define FACT_ADDRESS 6
00136 #define INSTANCE_ADDRESS 7
00137 #define INSTANCE_NAME 8
00138
00139 #define FCALL 30
00140 #define GCALL 31
00141 #define PCALL 32
00142 #define GBL_VARIABLE 33
00143 #define MF_GBL_VARIABLE 34
00144
00145 #define SF_VARIABLE 35
00146 #define MF_VARIABLE 36
00147 #define SF_WILDCARD 37
00148 #define MF_WILDCARD 38
00149 #define BITMAPARRAY 39
00150 #define DATA_OBJECT_ARRAY 40
00151
00152 #define FACT_PN_CMP1 50
00153 #define FACT_JN_CMP1 51
00154 #define FACT_JN_CMP2 52
00155 #define FACT_SLOT_LENGTH 53
00156 #define FACT_PN_VAR1 54
00157 #define FACT_PN_VAR2 55
00158 #define FACT_PN_VAR3 56
00159 #define FACT_JN_VAR1 57
00160 #define FACT_JN_VAR2 58
00161 #define FACT_JN_VAR3 59
00162 #define FACT_PN_CONSTANT1 60
00163 #define FACT_PN_CONSTANT2 61
00164 #define FACT_STORE_MULTIFIELD 62
00165 #define DEFTEMPLATE_PTR 63
00166
00167 #define OBJ_GET_SLOT_PNVAR1 70
00168 #define OBJ_GET_SLOT_PNVAR2 71
00169 #define OBJ_GET_SLOT_JNVAR1 72
00170 #define OBJ_GET_SLOT_JNVAR2 73
00171 #define OBJ_SLOT_LENGTH 74
00172 #define OBJ_PN_CONSTANT 75
00173 #define OBJ_PN_CMP1 76
00174 #define OBJ_JN_CMP1 77
00175 #define OBJ_PN_CMP2 78
00176 #define OBJ_JN_CMP2 79
00177 #define OBJ_PN_CMP3 80
00178 #define OBJ_JN_CMP3 81
00179 #define DEFCLASS_PTR 82
00180 #define HANDLER_GET 83
00181 #define HANDLER_PUT 84
00182
00183 #define DEFGLOBAL_PTR 90
00184
00185 #define PROC_PARAM 95
00186 #define PROC_WILD_PARAM 96
00187 #define PROC_GET_BIND 97
00188 #define PROC_BIND 98
00189
00190 #define PATTERN_CE 150
00191 #define AND_CE 151
00192 #define OR_CE 152
00193 #define NOT_CE 153
00194 #define TEST_CE 154
00195 #define NAND_CE 155
00196 #define EXISTS_CE 156
00197 #define FORALL_CE 157
00198
00199 #define NOT_CONSTRAINT 160
00200 #define AND_CONSTRAINT 161
00201 #define OR_CONSTRAINT 162
00202 #define PREDICATE_CONSTRAINT 163
00203 #define RETURN_VALUE_CONSTRAINT 164
00204
00205 #define LPAREN 170
00206 #define RPAREN 171
00207 #define STOP 172
00208 #define UNKNOWN_VALUE 173
00209
00210 #define RVOID 175
00211
00212 #define INTEGER_OR_FLOAT 180
00213 #define SYMBOL_OR_STRING 181
00214 #define INSTANCE_OR_INSTANCE_NAME 182
00215
00216 typedef long int FACT_ID;
00217
00218
00219
00220
00221
00222 #define CREATOR_STRING "CLIS"
00223 #define CREATOR_CODE 'CLIS'
00224
00225 #endif
00226
00227
00228
00229
00230
00231