⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rulebin.h

📁 NASA 开发使用的一个专家系统
💻 H
字号:
   /*******************************************************/   /*      "C" Language Integrated Production System      */   /*                                                     */   /*             CLIPS Version 6.05  04/09/97            */   /*                                                     */   /*           DEFRULE BSAVE/BLOAD HEADER FILE           */   /*******************************************************//*************************************************************//* Purpose: Implements the binary save/load feature for the  *//*    defrule construct.                                     *//*                                                           *//* Principal Programmer(s):                                  *//*      Gary D. Riley                                        *//*                                                           *//* Contributing Programmer(s):                               *//*      Brian L. Donnell                                     *//*                                                           *//* Revision History:                                         *//*                                                           *//*************************************************************/#if (! RUN_TIME)#ifndef _H_rulebin#define _H_rulebin#include "modulbin.h"#include "cstrcbin.h"#ifndef _H_network#include "network.h"#endif    struct bsaveDefrule  {   struct bsaveConstructHeader header;   int salience;   int localVarCnt;   unsigned int complexity      : 12;   unsigned int autoFocus       :  1;   long dynamicSalience;   long actions;   long logicalJoin;   long lastJoin;   long disjunct;  };  struct bsavePatternNodeHeader  {   long entryJoin;   unsigned int singlefieldNode : 1;   unsigned int multifieldNode : 1;   unsigned int stopNode : 1;   unsigned int blocked : 1;    unsigned int initialize : 1;   unsigned int marked : 1;   unsigned int beginSlot : 1;   unsigned int endSlot : 1;  };  struct bsaveDefruleModule  {   struct bsaveDefmoduleItemHeader header;  };  struct bsaveJoinNode  {    unsigned int firstJoin : 1;   unsigned int logicalJoin : 1;   unsigned int joinFromTheRight : 1;   unsigned int patternIsNegated : 1;   unsigned int rhsType : 3;   unsigned int depth : 7;   long networkTest;   long rightSideEntryStructure;   long nextLevel;   long lastLevel;   long rightDriveNode;   long rightMatchNode;   long ruleToActivate;  };#define BloadDefrulePointer(x,i) ((struct defrule *) (( i == -1L) ? NULL : &x[i]))#define BsaveJoinIndex(joinPtr) ((joinPtr == NULL) ? -1L :  ((struct joinNode *) joinPtr)->bsaveID)#define BloadJoinPointer(i) ((struct joinNode *) ((i == -1L) ? NULL : &JoinArray[i]))#ifdef LOCALE#undef LOCALE#endif#ifdef _RULEBIN_SOURCE_#define LOCALE#else#define LOCALE extern#endif#if ANSI_COMPILER      LOCALE VOID                           DefruleBinarySetup(void);   LOCALE VOID                           UpdatePatternNodeHeader(struct patternNodeHeader *,                                                                 struct bsavePatternNodeHeader *);   LOCALE VOID                           AssignBsavePatternHeaderValues(struct bsavePatternNodeHeader *,                                                                 struct patternNodeHeader *);   LOCALE VOID                          *BloadDefruleModuleReference(int);#else   LOCALE VOID                           DefruleBinarySetup();   LOCALE VOID                           UpdatePatternNodeHeader();   LOCALE VOID                           AssignBsavePatternHeaderValues();   LOCALE VOID                          *BloadDefruleModuleReference();#endif#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -