1 /*******************************************************/ 2 /* "C" Language Integrated Production System */ 3 /* */ 4 /* CLIPS Version 6.30 08/16/14 */ 5 /* */ 6 /* LOGICAL DEPENDENCIES HEADER FILE */ 7 /*******************************************************/ 8 9 /*************************************************************/ 10 /* Purpose: Provide support routines for managing truth */ 11 /* maintenance using the logical conditional element. */ 12 /* */ 13 /* Principal Programmer(s): */ 14 /* Gary D. Riley */ 15 /* */ 16 /* Contributing Programmer(s): */ 17 /* */ 18 /* Revision History: */ 19 /* */ 20 /* 6.24: Removed LOGICAL_DEPENDENCIES compilation flag. */ 21 /* */ 22 /* Renamed BOOLEAN macro type to intBool. */ 23 /* */ 24 /* Rule with exists CE has incorrect activation. */ 25 /* DR0867 */ 26 /* */ 27 /* 6.30: Added support for hashed memories. */ 28 /* */ 29 /*************************************************************/ 30 31 #ifndef _H_lgcldpnd 32 33 #define _H_lgcldpnd 34 35 struct dependency 36 { 37 void *dPtr; 38 struct dependency *next; 39 }; 40 41 #ifndef _H_match 42 #include "match.h" 43 #endif 44 #ifndef _H_pattern 45 #include "pattern.h" 46 #endif 47 48 #ifdef LOCALE 49 #undef LOCALE 50 #endif 51 #ifdef _LGCLDPND_SOURCE_ 52 #define LOCALE 53 #else 54 #define LOCALE extern 55 #endif 56 57 LOCALE intBool AddLogicalDependencies(void *,struct patternEntity *,int); 58 LOCALE void RemoveEntityDependencies(void *,struct patternEntity *); 59 LOCALE void RemovePMDependencies(void *,struct partialMatch *); 60 LOCALE void DestroyPMDependencies(void *,struct partialMatch *); 61 LOCALE void RemoveLogicalSupport(void *,struct partialMatch *); 62 LOCALE void ForceLogicalRetractions(void *); 63 LOCALE void Dependencies(void *,struct patternEntity *); 64 LOCALE void Dependents(void *,struct patternEntity *); 65 LOCALE void DependenciesCommand(void *); 66 LOCALE void DependentsCommand(void *); 67 LOCALE void ReturnEntityDependencies(void *,struct patternEntity *); 68 LOCALE struct partialMatch *FindLogicalBind(struct joinNode *,struct partialMatch *); 69 70 #endif /* _H_lgcldpnd */ 71 72 73 74 75 76