Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
clips:apg [2010/01/04 21:25] admin |
clips:apg [2010/01/05 01:02] admin |
\\ | ====== CLIPS APG ====== |
| |
\\ {{clips:CLIPS%20Advanced%206.20_html_701a74d5.gif}}**Reference Manual** | \\ **Reference Manual** |
| |
\\ **Volume II** | \\ **Volume II** |
| |
**Advanced Programming Guide** | \\ \\ **XSI/CLIPS Advanced Programming Guide** |
| |
\\ \\ //Version 6.xx//\\ \\ | |
| |
//January 2010// | |
| |
\\ \\ \\ \\ \\ \\ **XSI/CLIPS Advanced Programming Guide** | |
| |
Version 6.xx , January 2010 | Version 6.xx , January 2010 |
\\ Since version 6.2 CLIPS contains two major enhancements. First, CLIPS now provides a mechanism which allows an embedded application to create multiple environments into which programs can be loaded. Second, an improved Windows 95/98/NT CLIPS interface is now available and the Macintosh CLIPS interface has been enhanced to support MacOS X. For a detailed listing of differences between the 6.x releases of CLIPS, refer to appendix B of the //Basic Programming Guide// and appendix C of the //Advanced Programming Guide//. | \\ Since version 6.2 CLIPS contains two major enhancements. First, CLIPS now provides a mechanism which allows an embedded application to create multiple environments into which programs can be loaded. Second, an improved Windows 95/98/NT CLIPS interface is now available and the Macintosh CLIPS interface has been enhanced to support MacOS X. For a detailed listing of differences between the 6.x releases of CLIPS, refer to appendix B of the //Basic Programming Guide// and appendix C of the //Advanced Programming Guide//. |
| |
**CLIPS Documentation** | ==== CLIPS Documentation ==== |
| |
\\ Two documents are provided with CLIPS. | |
| |
\\ • The //CLIPS Reference Manual// which is split into the following parts: | |
| |
\\ • [[clips:bpg|//Volume I - The Basic Programming Guide//]], which provides the definitive description of CLIPS syntax and examples of usage. | |
| |
\\ • [[clips:apg|//Volume II - The Advanced Programming Guide//]], which provides detailed discussions of the more sophisticated features in CLIPS and is intended for people with extensive programming experience who are using CLIPS for advanced applications. | Two documents are provided with CLIPS. |
| |
\\ • [[clips:ifg|//Volume III - The Interfaces Guide//]], which provides information on machine specific interfaces. | The //CLIPS Reference Manual// which is split into the following parts: |
| |
\\ • The //CLIPS User’s Guide// which provides an introduction to CLIPS rule based and object oriented programming and is intended for people with little or no expert system experience. | * [[clips:bpg|Volume I - The Basic Programming Guide]], which provides the definitive description of CLIPS syntax and examples of usage. |
| * [[clips:apg|Volume II - The Advanced Programming Guide]], which provides detailed discussions of the more sophisticated features in CLIPS and is intended for people with extensive programming experience who are using CLIPS for advanced applications. |
| * [[clips:ifg|Volume III - The Interfaces Guide]], which provides information on machine specific interfaces. |
| * The //CLIPS User’s Guide// which provides an introduction to CLIPS rule based and object oriented programming and is intended for people with little or no expert system experience. |
| |
====== Acknowledgements ====== | ====== Acknowledgements ====== |
%%*/%% | %%*/%% |
| |
\\ ====== Appendix C Update Release Notes ====== | |
| |
The following sections denote the changes and bug fixes for CLIPS versions 6.05, 6.1, and 6.2. | |
| |
===== C.1 Version 6.2 ===== | |
| |
• **Environments** -- It is now possible in an embedded application to create multiple environments into which programs can be loaded (see section 9). | |
| |
\\ • **External Function Interface** - Several new functions have been added including: | |
| |
\\ **GetClassDefaultsMode** (see section 4.12.10) | |
| |
**SetClassDefaultsMode** (see section 4.12.19) | |
| |
\\ • **Run-time Programs** -- Support for environments requires some changes in code for loading run-time programs (see section 5). | |
| |
\\ • **Compiler Directives** -- Two new flags have been added: ENVIRONMENT_API_ONLY and ALLOW_ENVIRONMENT_GLOBALS. | |
| |
\\ • **New Source Files** -- New source files have been added (see section 2.1 for a complete list of source files): | |
| |
\\ **envrnmnt.c** | |
| |
**envrnmnt.h** | |
| |
===== C.2 Version 6.1 ===== | |
| |
• **C++ Compatible** -- The CLIPS source code can now be compiled using either an ANSI C or C++ compiler. Minimally, non-ANSI C compilers must support full ANSI style function prototypes and the void data type in order to compile CLIPS. | |
| |
\\ • **Obsolete External Function Interface Changes** - The following functions should be replaced with the specified functions. If clips.h is included in your C files, macros will automatically map these functions to their new names. | |
| |
\\ **CLIPSFunctionCall** (use **FunctionCall** instead) | |
| |
**ExitCLIPS** (use **ExitRouter** instead) | |
| |
**GetcCLIPS** (use **GetcRouter** instead) | |
| |
**InitializeCLIPS** (use **InitializeEnvironment** instead) | |
| |
**PrintCLIPS** (use **PrintRouter** instead) | |
| |
**UngetcCLIPS** (use **UngetcRouter** instead) | |
| |
\\ • **Obsolete Constants and Variables Changes** - The following constants and variables should be replaced with the specified replacements. If clips.h is included in your C files, macros will automatically map the old names to their new names. | |
| |
\\ **CLIPS_FALSE** (use **FALSE** instead) | |
| |
**CLIPS_TRUE** (use **TRUE** instead) | |
| |
**CLIPSFalseSymbol** (use **FalseSymbol** instead) | |
| |
**CLIPSTrueSymbol** (use **TrueSymbol** instead) | |
| |
**WCLIPS** (use **WPROMPT** instead) | |
| |
\\ • **Source File Name Changes** - The names of the following source files have been changed: | |
| |
\\ **clipsmem.h** (use **memalloc.h** instead) | |
| |
**memory.c** (use **memalloc.c** instead) | |
| |
\\ • **Compiler Directives** -- Some of the compiler directive flags in the file setup.h have been changed. The CLP_TEXTPRO and CLP_HELP flags have been renamed to TEXTPRO_FUNCTIONS and HELP_FUNCTIONS. The ANSI_COMPILER flag has been removed. | |
| |
\\ • **External Function Interface** - Several new functions have been added including: | |
| |
\\ **GetNextInstanceInClassAndSubclasses** (see section 4.13.15) | |
| |
\\ • **New Source Files** -- Several new source files have been added (see section 2.1 for a complete list of source files): | |
| |
\\ **parsefun.c** | |
| |
**parsefun.h** | |
| |
**proflfun.c** | |
| |
**proflfun.h** | |
| |
**sortfun.c** | |
| |
**sortfun.h** | |
| |
===== C.3 Version 6.05 ===== | |
| |
• **Compiler Directives** The CLP_EDIT flag in the file setup.h has been renamed to EMACS_EDITOR. | |
| |
\\ • **External Function Interface** - Several new functions have been added including: | |
| |
\\ **BatchStar** (see section 4.1.23) | |
| |
**Build** (see section 4.1.24) | |
| |
**Eval** (see section 4.1.25) | |
| |
**FactExistp** (see section 4.4.20) | |
| |
**FactSlotNames** (see section 4.4.21) | |
| |
**GetFactList** (see section 4.4.22) | |
| |
**LoadFactsFromString** (see section 4.4.23) | |
| |
**LoadInstancesFromString** (see section 4.13.26) | |
| |
**RestoreInstancesFromString** (see section 4.13.27) | |
| |
| |