1 /*******************************************************/ 2 /* "C" Language Integrated Production System */ 3 /* */ 4 /* CLIPS Version 6.30 08/16/14 */ 5 /* */ 6 /* FACT BUILD HEADER FILE */ 7 /*******************************************************/ 8 9 /*************************************************************/ 10 /* Purpose: */ 11 /* */ 12 /* Principal Programmer(s): */ 13 /* Gary D. Riley */ 14 /* */ 15 /* Contributing Programmer(s): */ 16 /* */ 17 /* Revision History: */ 18 /* */ 19 /* 6.30: Added support for hashed alpha memories. */ 20 /* */ 21 /* Added support for hashed comparisons to */ 22 /* constants. */ 23 /* */ 24 /*************************************************************/ 25 26 #ifndef _H_factbld 27 28 #define _H_factbld 29 30 #ifndef _H_pattern 31 #include "pattern.h" 32 #endif 33 #ifndef _H_network 34 #include "network.h" 35 #endif 36 37 #ifdef LOCALE 38 #undef LOCALE 39 #endif 40 41 struct factPatternNode 42 { 43 struct patternNodeHeader header; 44 long bsaveID; 45 unsigned short whichField; 46 unsigned short whichSlot; 47 unsigned short leaveFields; 48 struct expr *networkTest; 49 struct factPatternNode *nextLevel; 50 struct factPatternNode *lastLevel; 51 struct factPatternNode *leftNode; 52 struct factPatternNode *rightNode; 53 }; 54 55 #ifdef _FACTBUILD_SOURCE_ 56 #define LOCALE 57 #else 58 #define LOCALE extern 59 #endif 60 61 LOCALE void InitializeFactPatterns(void *); 62 LOCALE void DestroyFactPatternNetwork(void *, 63 struct factPatternNode *); 64 65 #endif /* _H_factbld */ 66