📄 setup.h
字号:
/*******************************************************/ /* "C" Language Integrated Production System */ /* */ /* CLIPS Version 6.05 04/09/97 */ /* */ /* SETUP HEADER FILE */ /*******************************************************//*************************************************************//* Purpose: *//* *//* Principal Programmer(s): *//* Gary D. Riley *//* Brian L. Donnell *//* *//* Contributing Programmer(s): *//* *//* Revision History: *//* *//*************************************************************//****************************************************************//* This file is the general header file for CLIPS. It contains *//* the global definitions used by CLIPS, and the compiler flags *//* you have to edit to create a version of CLIPS for a specific *//* system. *//* *//* If CLIPS is being used as an embedded tool, then this file *//* should be included in at least the main program. Any other *//* files which contain functions referring to things defined in *//* this file must also include this file. *//****************************************************************/#ifndef _H_setup#define _H_setup/****************************************************************//* -------------------- COMPILER FLAGS ------------------------ *//****************************************************************//****************************************************************//* Flag denoting what kind of machine CLIPS is to run on. Only *//* one of these flags should be turned on (set to 1) at a time. *//****************************************************************/#define GENERIC 0 /* Generic CLIPS (any machine) */#define VAX_VMS 0 /* VAX VMS */#define UNIX_V 0 /* UNIX System V or 4.2bsd or HP Unix */#define UNIX_7 0 /* UNIX System III Version 7 or Sun Unix */#define MAC_SC6 0 /* Macintosh, with Symantec C 6.0 */#define MAC_SC7 0 /* Macintosh, with Symantec C 7.0 */#define MAC_SC8 0 /* Macintosh, with Symantec C 8.0 */#define MAC_MPW 0 /* Macintosh, with MPW 3.2 C */#define MAC_MCW 0 /* Macintosh, with Code Warrior 2.0 IDE */#define IBM_ZTC 0 /* IBM PC, with Zortech C++ 3.1 */#define IBM_MSC 0 /* IBM PC, with Microsoft C 6.0 */#define IBM_TBC 1 /* IBM PC, with Borland C++ 5.0 */#define IBM_ICB 0 /* IBM PC, with Intel C Code Builder 1.0 */#define IBM_SC 0 /* IBM PC, with Symantec C++ 6.1 */#define IBM_GCC 0 /* IBM PC, with DJGPP 2.01 */#if IBM_ZTC || IBM_MSC || IBM_TBC || IBM_ICB || IBM_SC#define IBM 1#else#define IBM 0#endif#if MAC_SC6 || MAC_SC7 || MAC_SC8#define MAC_SC 1#else#define MAC_SC 0#endif#if MAC_SC || MAC_MPW || MAC_MCW#define MAC 1#else#define MAC 0#endif/***************************************************************//* WIN_32: Set this flag to 1 if creating a Win32 application. *//***************************************************************/#define WIN_32 1#if ! IBM#undef WIN_32#define WIN_32 0#endif/************************************************************//* ANSI_COMPILER: Set this flag to 1 if the compiler being *//* used follows the draft proposed ANSI C standards *//* (including the ANSI C libraries). Set this flag to 0, *//* if the compiler being used follows the K & R standard. *//************************************************************/#define ANSI_COMPILER 1#if ANSI_COMPILER#define VOID void#define VOID_ARG void#define CLIPS_STD_SIZE size_t#else#define VOID char#define VOID_ARG#define CLIPS_STD_SIZE int#endif#define BOOLEAN int#define globle/*********************************************//* HUGE POINTER KEY WORDS FOR PC COMPATIBLES *//*********************************************/#if (IBM_MSC || IBM_TBC || IBM_SC) && (! WIN_32)#if IBM_SC#ifdef __SMALL__ /* For flat 32 bit memory model, */#define HUGE_ADDR /* huge pointers not needed. */#else#define HUGE_ADDR __huge /* Huge pointer key word for */#endif /* Symantec C. */#else#define HUGE_ADDR huge /* Huge pointer key word for */#endif /* Microsoft and Turbo C. */#else#define HUGE_ADDR /* Huge pointers only needed for PCs. */#endif#if IBM_ICB#define far#define near#endif/****************************************************//* RUN_TIME: Produces a run-time module for CLIPS. *//****************************************************/#ifndef RUN_TIME#define RUN_TIME 0#endif/**************************************************//* DEFRULE_CONSTRUCT: Determines whether defrule *//* construct is included. *//**************************************************/#define DEFRULE_CONSTRUCT 1#define CONFLICT_RESOLUTION_STRATEGIES 1#define DYNAMIC_SALIENCE 1#define INCREMENTAL_RESET 1#define LOGICAL_DEPENDENCIES 1#if ! DEFRULE_CONSTRUCT#undef CONFLICT_RESOLUTION_STRATEGIES#undef DYNAMIC_SALIENCE#undef INCREMENTAL_RESET#undef LOGICAL_DEPENDENCIES#define CONFLICT_RESOLUTION_STRATEGIES 0#define DYNAMIC_SALIENCE 0#define INCREMENTAL_RESET 0#define LOGICAL_DEPENDENCIES 0#endif/************************************************//* DEFMODULE_CONSTRUCT: Determines whether the *//* defmodule construct is included. *//************************************************/#define DEFMODULE_CONSTRUCT 1 /****************************************************//* DEFTEMPLATE_CONSTRUCT: Determines whether facts *//* and the deftemplate construct are included. *//****************************************************/#define DEFTEMPLATE_CONSTRUCT 1#if ! DEFRULE_CONSTRUCT#undef DEFTEMPLATE_CONSTRUCT#define DEFTEMPLATE_CONSTRUCT 0#endif/****************************************************//* DEFFACTS_CONSTRUCT: Determines whether deffacts *//* construct is included. *//****************************************************/#define DEFFACTS_CONSTRUCT 1#if ! DEFTEMPLATE_CONSTRUCT#undef DEFFACTS_CONSTRUCT#define DEFFACTS_CONSTRUCT 0#endif/************************************************//* DEFGLOBAL_CONSTRUCT: Determines whether the *//* defglobal construct is included. *//************************************************/#define DEFGLOBAL_CONSTRUCT 1/**********************************************//* DEFFUNCTION_CONSTRUCT: Determines whether *//* deffunction construct is included. *//**********************************************/#define DEFFUNCTION_CONSTRUCT 1/*********************************************//* DEFGENERIC_CONSTRUCT: Determines whether *//* generic functions are included. *//*********************************************/#define DEFGENERIC_CONSTRUCT 1/******************************************************************//* IMPERATIVE_METHODS: Determines if call-next-method and *//* override-next-method can be used to execute shadowed methods *//******************************************************************/#define IMPERATIVE_METHODS 1#if ! DEFGENERIC_CONSTRUCT#undef IMPERATIVE_METHODS#define IMPERATIVE_METHODS 0#endif/*****************************************************************//* OBJECT_SYSTEM: Determines whether object system is included. *//* The MULTIFIELD_FUNCTIONS flag should also be on if you want *//* to be able to manipulate multi-field slots. *//*****************************************************************/#define OBJECT_SYSTEM 1/*****************************************************************//* DEFINSTANCES_CONSTRUCT: Determines whether the definstances *//* construct is enabled. *//*****************************************************************/#define DEFINSTANCES_CONSTRUCT 1 /* sed */#if ! OBJECT_SYSTEM#undef DEFINSTANCES_CONSTRUCT#define DEFINSTANCES_CONSTRUCT 0#endif/******************************************************************//* IMPERATIVE_MESSAGE_HANDLERS: Determines if "around" message- *//* handlers are allowed. Also determines if call-next-handler *//* and override-next-handler can be used to execute shadowed *//* handlers */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -