00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00035 #ifndef ASC_COMPILER_H
00036 #define ASC_COMPILER_H
00037
00042 #include <utilities/ascConfig.h>
00043
00044
00045
00046
00047
00048
00049
00050 #ifndef TIMECOMPILER
00051 #define TIMECOMPILER 0
00052
00053 #endif
00054
00055 #ifndef CHECK_SYMBOL_USE
00056 #ifdef NDEBUG
00057 #define CHECK_SYMBOL_USE 0
00058 #else
00059 #define CHECK_SYMBOL_USE 1
00060 #endif
00061 #endif
00062
00067 #if CHECK_SYMBOL_USE
00068
00069 #ifndef __GNUC__
00070
00071 extern int strcmp(CONST char *s1, CONST char *s2);
00072 #endif
00073 typedef CONST double symchar;
00074 #else
00075
00076 typedef CONST char symchar;
00077 #endif
00078
00099 #define SCP(s) ((CONST char *)(s))
00100
00106 #define SCLEN(s) (*(int *)(((char *)s)-sizeof(int)))
00107
00114 struct bracechar;
00115
00116
00117
00118 ASC_DLLSPEC int g_compiler_warnings;
00125 ASC_DLLSPEC int g_parser_warnings;
00132 extern int g_parse_relns;
00138 ASC_DLLSPEC int g_simplify_relations;
00145 ASC_DLLSPEC int g_use_copyanon;
00154
00155 #define BASE_REAL_NAME "real"
00156 #define BASE_INTEGER_NAME "integer"
00157 #define BASE_SYMBOL_NAME "symbol"
00158 #define BASE_BOOLEAN_NAME "boolean"
00159 #define BASE_SET_NAME "set"
00160
00161 #define BASE_CON_REAL_NAME "real_constant"
00162 #define BASE_CON_INTEGER_NAME "integer_constant"
00163 #define BASE_CON_BOOLEAN_NAME "boolean_constant"
00164 #define BASE_CON_SYMBOL_NAME "symbol_constant"
00165
00166 #define BASE_REL_NAME "relation"
00167 #define BASE_LOGREL_NAME "logic_relation"
00168 #define BASE_WHEN_NAME "when"
00169 #define BASE_EXT_NAME "EXTERNAL_MODEL"
00170 #define BASE_UNSELECTED "unSELECTed_part"
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183 #endif
00184