亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? inscom.c

?? clips源代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
   /*******************************************************/   /*      "C" Language Integrated Production System      */   /*                                                     */   /*              CLIPS Version 6.24  05/17/06           */   /*                                                     */   /*                INSTANCE COMMAND MODULE              */   /*******************************************************//*************************************************************//* Purpose:  Kernel Interface Commands for Instances         *//*                                                           *//* Principal Programmer(s):                                  *//*      Brian L. Donnell                                     *//*                                                           *//* Contributing Programmer(s):                               *//*                                                           *//* Revision History:                                         *//*      6.23: Correction for FalseSymbol/TrueSymbol. DR0859  *//*                                                           *//*            Corrected compilation errors for files         *//*            generated by constructs-to-c. DR0861           *//*                                                           *//*      6.24: Loading a binary instance file from a run-time *//*            program caused a bus error. DR0866             *//*                                                           *//*            Removed LOGICAL_DEPENDENCIES compilation flag. *//*                                                           *//*            Converted INSTANCE_PATTERN_MATCHING to         *//*            DEFRULE_CONSTRUCT.                             *//*                                                           *//*            Renamed BOOLEAN macro type to intBool.         *//*                                                           *//*************************************************************//* =========================================   *****************************************               EXTERNAL DEFINITIONS   =========================================   ***************************************** */#include "setup.h"#if OBJECT_SYSTEM#include "argacces.h"#include "classcom.h"#include "classfun.h"#include "classinf.h"#include "envrnmnt.h"#include "exprnpsr.h"#include "evaluatn.h"#include "insfile.h"#include "insfun.h"#include "insmngr.h"#include "insmoddp.h"#include "insmult.h"#include "inspsr.h"#include "lgcldpnd.h"#include "memalloc.h"#include "msgcom.h"#include "msgfun.h"#include "router.h"#include "strngrtr.h"#include "sysdep.h"#include "utility.h"#include "commline.h"#define _INSCOM_SOURCE_#include "inscom.h"/* =========================================   *****************************************                   CONSTANTS   =========================================   ***************************************** */#define ALL_QUALIFIER      "inherit"/* =========================================   *****************************************      INTERNALLY VISIBLE FUNCTION HEADERS   =========================================   ***************************************** */#if DEBUGGING_FUNCTIONSstatic long ListInstancesInModule(void *,int,char *,char *,intBool,intBool);static long TabulateInstances(void *,int,char *,DEFCLASS *,intBool,intBool);#endifstatic void PrintInstance(void *,char *,INSTANCE_TYPE *,char *);static INSTANCE_SLOT *FindISlotByName(void *,INSTANCE_TYPE *,char *);static void DeallocateInstanceData(void *);/* =========================================   *****************************************          EXTERNALLY VISIBLE FUNCTIONS   =========================================   ***************************************** *//*********************************************************  NAME         : SetupInstances  DESCRIPTION  : Initializes instance Hash Table,                   Function Parsers, and Data Structures  INPUTS       : None  RETURNS      : Nothing useful  SIDE EFFECTS : None  NOTES        : None *********************************************************/globle void SetupInstances(  void *theEnv)  {   struct patternEntityRecord instanceInfo = { { "INSTANCE_ADDRESS",                                                     INSTANCE_ADDRESS,0,0,0,                                                     PrintInstanceName,                                                     PrintInstanceLongForm,                                                     EnvUnmakeInstance,                                                     NULL,                                                     EnvGetNextInstance,                                                     EnvDecrementInstanceCount,                                                     EnvIncrementInstanceCount,                                                     NULL,NULL,NULL,NULL,NULL                                                   },#if DEFRULE_CONSTRUCT && OBJECT_SYSTEM                                                  DecrementObjectBasisCount,                                                  IncrementObjectBasisCount,                                                  MatchObjectFunction,                                                  NetworkSynchronized#else                                                  NULL,NULL,NULL,NULL#endif                                                };                                                   INSTANCE_TYPE dummyInstance = { { NULL, NULL, 0, 0L },                                    NULL, NULL, 0, 1, 0, 0, 0,                                    NULL,  0, 0, 0, NULL, NULL, NULL, NULL,                                   NULL, NULL, NULL, NULL, NULL };   AllocateEnvironmentData(theEnv,INSTANCE_DATA,sizeof(struct instanceData),DeallocateInstanceData);      InstanceData(theEnv)->MkInsMsgPass = TRUE;   memcpy(&InstanceData(theEnv)->InstanceInfo,&instanceInfo,sizeof(struct patternEntityRecord));    dummyInstance.header.theInfo = &InstanceData(theEnv)->InstanceInfo;       memcpy(&InstanceData(theEnv)->DummyInstance,&dummyInstance,sizeof(INSTANCE_TYPE));     InitializeInstanceTable(theEnv);   InstallPrimitive(theEnv,(struct entityRecord *) &InstanceData(theEnv)->InstanceInfo,INSTANCE_ADDRESS);#if ! RUN_TIME#if DEFRULE_CONSTRUCT && OBJECT_SYSTEM   EnvDefineFunction2(theEnv,"initialize-instance",'u',                  PTIEF InactiveInitializeInstance,"InactiveInitializeInstance",NULL);   EnvDefineFunction2(theEnv,"active-initialize-instance",'u',                  PTIEF InitializeInstanceCommand,"InitializeInstanceCommand",NULL);   AddFunctionParser(theEnv,"active-initialize-instance",ParseInitializeInstance);   EnvDefineFunction2(theEnv,"make-instance",'u',PTIEF InactiveMakeInstance,"InactiveMakeInstance",NULL);   EnvDefineFunction2(theEnv,"active-make-instance",'u',PTIEF MakeInstanceCommand,"MakeInstanceCommand",NULL);   AddFunctionParser(theEnv,"active-make-instance",ParseInitializeInstance);#else   EnvDefineFunction2(theEnv,"initialize-instance",'u',                  PTIEF InitializeInstanceCommand,"InitializeInstanceCommand",NULL);   EnvDefineFunction2(theEnv,"make-instance",'u',PTIEF MakeInstanceCommand,"MakeInstanceCommand",NULL);#endif   AddFunctionParser(theEnv,"initialize-instance",ParseInitializeInstance);   AddFunctionParser(theEnv,"make-instance",ParseInitializeInstance);   EnvDefineFunction2(theEnv,"init-slots",'u',PTIEF InitSlotsCommand,"InitSlotsCommand","00");   EnvDefineFunction2(theEnv,"delete-instance",'b',PTIEF DeleteInstanceCommand,                   "DeleteInstanceCommand","00");   EnvDefineFunction2(theEnv,"(create-instance)",'b',PTIEF CreateInstanceHandler,                   "CreateInstanceHandler","00");   EnvDefineFunction2(theEnv,"unmake-instance",'b',PTIEF UnmakeInstanceCommand,                   "UnmakeInstanceCommand","1*e");#if DEBUGGING_FUNCTIONS   EnvDefineFunction2(theEnv,"instances",'v',PTIEF InstancesCommand,"InstancesCommand","*3w");   EnvDefineFunction2(theEnv,"ppinstance",'v',PTIEF PPInstanceCommand,"PPInstanceCommand","00");#endif   EnvDefineFunction2(theEnv,"symbol-to-instance-name",'u',                  PTIEF SymbolToInstanceName,"SymbolToInstanceName","11w");   EnvDefineFunction2(theEnv,"instance-name-to-symbol",'w',                  PTIEF InstanceNameToSymbol,"InstanceNameToSymbol","11p");   EnvDefineFunction2(theEnv,"instance-address",'u',PTIEF InstanceAddressCommand,                   "InstanceAddressCommand","12eep");   EnvDefineFunction2(theEnv,"instance-addressp",'b',PTIEF InstanceAddressPCommand,                   "InstanceAddressPCommand","11");   EnvDefineFunction2(theEnv,"instance-namep",'b',PTIEF InstanceNamePCommand,                   "InstanceNamePCommand","11");   EnvDefineFunction2(theEnv,"instance-name",'u',PTIEF InstanceNameCommand,                   "InstanceNameCommand","11e");   EnvDefineFunction2(theEnv,"instancep",'b',PTIEF InstancePCommand,"InstancePCommand","11");   EnvDefineFunction2(theEnv,"instance-existp",'b',PTIEF InstanceExistPCommand,                   "InstanceExistPCommand","11e");   EnvDefineFunction2(theEnv,"class",'u',PTIEF ClassCommand,"ClassCommand","11");   SetupInstanceModDupCommands(theEnv);   /* SetupInstanceFileCommands(theEnv); DR0866 */   SetupInstanceMultifieldCommands(theEnv);#endif   SetupInstanceFileCommands(theEnv); /* DR0866 */   AddCleanupFunction(theEnv,"instances",CleanupInstances,0);   EnvAddResetFunction(theEnv,"instances",DestroyAllInstances,60);  }  /***************************************//* DeallocateInstanceData: Deallocates *//*    environment data for instances.  *//***************************************/static void DeallocateInstanceData(  void *theEnv)  {   INSTANCE_TYPE *tmpIPtr, *nextIPtr;   long i;   INSTANCE_SLOT *sp;   IGARBAGE *tmpGPtr, *nextGPtr;   struct patternMatch *theMatch, *tmpMatch;      /*=================================*/   /* Remove the instance hash table. */   /*=================================*/      rm(theEnv,InstanceData(theEnv)->InstanceTable,      (int) (sizeof(INSTANCE_TYPE *) * INSTANCE_TABLE_HASH_SIZE));         /*=======================*/   /* Return all instances. */   /*=======================*/      tmpIPtr = InstanceData(theEnv)->InstanceList;   while (tmpIPtr != NULL)     {      nextIPtr = tmpIPtr->nxtList;            theMatch = (struct patternMatch *) tmpIPtr->partialMatchList;              while (theMatch != NULL)        {         tmpMatch = theMatch->next;         rtn_struct(theEnv,patternMatch,theMatch);         theMatch = tmpMatch;        }#if DEFRULE_CONSTRUCT      ReturnEntityDependencies(theEnv,(struct patternEntity *) tmpIPtr);#endif      for (i = 0 ; i < tmpIPtr->cls->instanceSlotCount ; i++)        {         sp = tmpIPtr->slotAddresses[i];         if ((sp == &sp->desc->sharedValue) ?             (--sp->desc->sharedCount == 0) : TRUE)           {            if (sp->desc->multiple)              { ReturnMultifield(theEnv,(MULTIFIELD_PTR) sp->value); }           }        }           if (tmpIPtr->cls->instanceSlotCount != 0)        {         rm(theEnv,(void *) tmpIPtr->slotAddresses,            (tmpIPtr->cls->instanceSlotCount * sizeof(INSTANCE_SLOT *)));         if (tmpIPtr->cls->localInstanceSlotCount != 0)           {            rm(theEnv,(void *) tmpIPtr->slots,               (tmpIPtr->cls->localInstanceSlotCount * sizeof(INSTANCE_SLOT)));           }        }        rtn_struct(theEnv,instance,tmpIPtr);      tmpIPtr = nextIPtr;     }        /*===============================*/   /* Get rid of garbage instances. */   /*===============================*/      tmpGPtr = InstanceData(theEnv)->InstanceGarbageList;   while (tmpGPtr != NULL)     {      nextGPtr = tmpGPtr->nxt;      rtn_struct(theEnv,instance,tmpGPtr->ins);      rtn_struct(theEnv,igarbage,tmpGPtr);      tmpGPtr = nextGPtr;     }  }/*******************************************************************  NAME         : EnvDeleteInstance  DESCRIPTION  : DIRECTLY removes a named instance from the                   hash table and its class's                   instance list  INPUTS       : The instance address (NULL to delete all instances)  RETURNS      : 1 if successful, 0 otherwise  SIDE EFFECTS : Instance is deallocated  NOTES        : C interface for deleting instances *******************************************************************/globle intBool EnvDeleteInstance(  void *theEnv,  void *iptr)  {   INSTANCE_TYPE *ins,*itmp;   int success = 1;   if (iptr != NULL)     return(QuashInstance(theEnv,(INSTANCE_TYPE *) iptr));   ins = InstanceData(theEnv)->InstanceList;   while (ins != NULL)     {      itmp = ins;      ins = ins->nxtList;      if (QuashInstance(theEnv,(INSTANCE_TYPE *) itmp) == 0)        success = 0;     }   if ((EvaluationData(theEnv)->CurrentEvaluationDepth == 0) && (! CommandLineData(theEnv)->EvaluatingTopLevelCommand) &&       (EvaluationData(theEnv)->CurrentExpression == NULL))     { PeriodicCleanup(theEnv,TRUE,FALSE); }   return(success);  }/*******************************************************************  NAME         : EnvUnmakeInstance  DESCRIPTION  : Removes a named instance via message-passing  INPUTS       : The instance address (NULL to delete all instances)  RETURNS      : 1 if successful, 0 otherwise  SIDE EFFECTS : Instance is deallocated  NOTES        : C interface for deleting instances *******************************************************************/globle intBool EnvUnmakeInstance(  void *theEnv,  void *iptr)  {   INSTANCE_TYPE *ins;   int success = 1,svmaintain;   svmaintain = InstanceData(theEnv)->MaintainGarbageInstances;   InstanceData(theEnv)->MaintainGarbageInstances = TRUE;   ins = (INSTANCE_TYPE *) iptr;   if (ins != NULL)     {      if (ins->garbage)        success = 0;      else        {         DirectMessage(theEnv,MessageHandlerData(theEnv)->DELETE_SYMBOL,ins,NULL,NULL);         if (ins->garbage == 0)           success = 0;        }     }   else     {      ins = InstanceData(theEnv)->InstanceList;      while (ins != NULL)        {         DirectMessage(theEnv,MessageHandlerData(theEnv)->DELETE_SYMBOL,ins,NULL,NULL);         if (ins->garbage == 0)           success = 0;         ins = ins->nxtList;         while ((ins != NULL) ? ins->garbage : FALSE)           ins = ins->nxtList;        }     }   InstanceData(theEnv)->MaintainGarbageInstances = svmaintain;   CleanupInstances(theEnv);   if ((EvaluationData(theEnv)->CurrentEvaluationDepth == 0) && (! CommandLineData(theEnv)->EvaluatingTopLevelCommand) &&       (EvaluationData(theEnv)->CurrentExpression == NULL))     { PeriodicCleanup(theEnv,TRUE,FALSE); }   return(success);  }#if DEBUGGING_FUNCTIONS/*******************************************************************  NAME         : InstancesCommand  DESCRIPTION  : Lists all instances associated                   with a particular class  INPUTS       : None  RETURNS      : Nothing useful  SIDE EFFECTS : None  NOTES        : H/L Syntax : (instances [<class-name> [inherit]]) *******************************************************************/globle void InstancesCommand(  void *theEnv)  {   int argno, inheritFlag = FALSE;   void *theDefmodule;   char *className = NULL;   DATA_OBJECT temp;   theDefmodule = (void *) EnvGetCurrentModule(theEnv);   argno = EnvRtnArgCount(theEnv);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人激情自拍| 欧洲精品一区二区三区在线观看| 亚洲成人av一区二区| 亚洲黄色小视频| 亚洲欧美一区二区三区孕妇| 国产精品久久久久久福利一牛影视| 欧美一区二区三区四区高清| 色天天综合久久久久综合片| 国产成人h网站| 国产一区二区三区av电影| 日产国产欧美视频一区精品| 亚洲国产精品久久人人爱| 亚洲免费看黄网站| 亚洲国产成人av| 麻豆国产精品视频| 国产一区二区主播在线| 成人黄页毛片网站| 91色在线porny| 欧美日本在线播放| 精品久久久久久久人人人人传媒| 国产亚洲精品aa午夜观看| 国产精品视频看| 伊人色综合久久天天| 天堂午夜影视日韩欧美一区二区| 午夜精品久久久久影视| 男女激情视频一区| 成人免费高清在线观看| 欧美日韩一区二区欧美激情| 精品日韩99亚洲| 亚洲国产岛国毛片在线| 亚洲一区二区三区美女| 天堂成人免费av电影一区| 国产曰批免费观看久久久| 不卡欧美aaaaa| 欧美日韩一区二区欧美激情| 久久久久久日产精品| 亚洲一级二级在线| 韩国成人在线视频| 色8久久人人97超碰香蕉987| 88在线观看91蜜桃国自产| 欧美激情综合网| 一区二区三区国产精华| 久久爱www久久做| 99re热视频精品| 欧美一级日韩不卡播放免费| 亚洲三级电影网站| 国产精品资源站在线| 欧美精品在线观看一区二区| 国产精品美女久久久久久久久 | 国产在线播精品第三| 9l国产精品久久久久麻豆| 日韩免费在线观看| 亚洲精品日韩综合观看成人91| 国产一区二区三区四区五区入口 | 日韩理论在线观看| 视频一区二区不卡| 91香蕉国产在线观看软件| 91精品国产日韩91久久久久久| 中文字幕中文字幕在线一区| 国产一区二区三区久久久| 91片在线免费观看| 国产欧美一区二区三区在线看蜜臀| 免费成人美女在线观看.| 成人午夜免费电影| 久久综合久色欧美综合狠狠| 蜜臀av性久久久久蜜臀aⅴ四虎| 99国产精品久久久久| 国产欧美一区二区精品性色超碰 | 欧美国产在线观看| 六月丁香综合在线视频| 欧美日韩国产一二三| 亚洲在线观看免费| 在线视频一区二区三| 亚洲精品国产一区二区三区四区在线| 国产成人一区二区精品非洲| www国产精品av| 麻豆成人在线观看| 日韩视频国产视频| 久久国产精品99久久人人澡| 日韩亚洲欧美中文三级| 久久国产精品色婷婷| 精品国产亚洲在线| 国产一区91精品张津瑜| 国产丝袜美腿一区二区三区| 成人小视频在线观看| 国产精品麻豆久久久| 91蜜桃在线观看| 亚洲精品福利视频网站| 成人sese在线| 国产精品天天摸av网| 色诱视频网站一区| 亚洲国产另类精品专区| 一区二区三区在线观看国产| 色婷婷综合久色| 亚洲欧美视频一区| 欧美精选午夜久久久乱码6080| 日韩国产成人精品| 久久先锋影音av鲁色资源| 成人丝袜高跟foot| 夜夜爽夜夜爽精品视频| 日韩欧美在线网站| 国产91精品入口| 日本一区二区视频在线| 色婷婷狠狠综合| 国产精品国产成人国产三级 | 国产一区二区免费在线| 中文字幕免费在线观看视频一区| 色综合天天综合色综合av | www成人在线观看| www.激情成人| 午夜一区二区三区在线观看| 精品日韩成人av| 欧美午夜不卡在线观看免费| 国产一区二区三区高清播放| 亚洲一区二区三区在线看| 91麻豆精品久久久久蜜臀| 成人av免费网站| 在线观看91av| 国产精品福利一区二区三区| 五月天婷婷综合| 国产高清久久久| 国产成人在线免费观看| 欧美一卡二卡在线观看| 99国产精品久久久久久久久久 | 麻豆成人av在线| 国产寡妇亲子伦一区二区| 欧美午夜精品久久久久久超碰| 欧美精品一区二区三区蜜桃视频| 91视频在线观看| 久久理论电影网| 久久99精品久久只有精品| 99视频精品免费视频| 精品国产91久久久久久久妲己 | 国产精品一级二级三级| 欧美日韩黄视频| 国产成人精品免费网站| 欧美三级视频在线| 亚洲视频小说图片| 丁香亚洲综合激情啪啪综合| 欧美成人伊人久久综合网| 欧美日韩二区三区| 亚洲国产精品二十页| 国产精品2024| 日韩经典中文字幕一区| av网站一区二区三区| 亚洲精品一区二区三区福利 | 免费国产亚洲视频| 亚洲一卡二卡三卡四卡无卡久久| 亚洲人吸女人奶水| 国产精品热久久久久夜色精品三区 | 欧美一级黄色录像| 欧美日韩国产综合视频在线观看 | 6080亚洲精品一区二区| 一本色道亚洲精品aⅴ| 91色porny在线视频| 在线观看视频91| 欧美午夜精品久久久久久超碰| 一本色道久久综合亚洲aⅴ蜜桃| 亚洲黄色小说网站| 亚洲精品美腿丝袜| 一区二区三区电影在线播| 亚洲精品国产一区二区三区四区在线| 中文字幕日韩av资源站| 中文字幕在线播放不卡一区| 中文字幕一区二区三区色视频| 一区在线观看视频| 伊人色综合久久天天| 91精品国产高清一区二区三区| 日韩欧美黄色影院| 国产嫩草影院久久久久| 亚洲欧美影音先锋| 亚洲18女电影在线观看| 久久99国产精品免费| 国产91色综合久久免费分享| 色婷婷综合久色| 日韩精品一区二区三区视频播放| 精品国产免费久久| 色欲综合视频天天天| 欧美一区永久视频免费观看| 国产欧美精品一区二区三区四区| 亚洲欧美日韩国产另类专区| 亚洲成人7777| 国产高清视频一区| 91成人免费网站| 日韩一区二区精品在线观看| 久久久综合九色合综国产精品| 国产精品欧美精品| 欧美日韩午夜影院| 精品国产乱码久久久久久老虎| 久久久国产精品午夜一区ai换脸| 国产精品卡一卡二| 日本伊人精品一区二区三区观看方式| 国产精品一卡二| 欧美日韩国产精品自在自线| 久久久五月婷婷| 婷婷久久综合九色国产成人| eeuss影院一区二区三区| 亚洲五月六月丁香激情| 成人一级片在线观看| 7777精品伊人久久久大香线蕉|