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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 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);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情文学综合网| 91亚洲国产成人精品一区二三| 久久久久久久久久久久久久久99| 91视频xxxx| 国模无码大尺度一区二区三区| 国产精品私人影院| 精品女同一区二区| 精品视频在线免费看| 成人av影视在线观看| 蜜桃av一区二区在线观看| 伊人一区二区三区| 国产情人综合久久777777| 欧美一区二区三区在线看| 91在线国产观看| 国产精品69毛片高清亚洲| 三级欧美韩日大片在线看| 亚洲少妇最新在线视频| 久久九九全国免费| 欧美电影免费观看高清完整版| 欧美色手机在线观看| 不卡视频免费播放| 风间由美一区二区三区在线观看| 美女精品一区二区| 丁香另类激情小说| 美国十次综合导航| 蜜臀av一区二区| 亚洲成人av福利| 一区二区三区四区不卡视频| 中文字幕在线不卡视频| 中文字幕av免费专区久久| 久久女同互慰一区二区三区| 精品精品国产高清一毛片一天堂| 在线不卡a资源高清| 色婷婷综合激情| 色综合久久中文字幕| gogo大胆日本视频一区| caoporn国产精品| 99久久99久久免费精品蜜臀| 成人av免费网站| 972aa.com艺术欧美| 91免费精品国自产拍在线不卡| 成人av先锋影音| 99re66热这里只有精品3直播 | 亚洲美女屁股眼交| 亚洲欧美欧美一区二区三区| 亚洲视频 欧洲视频| 亚洲免费观看高清完整版在线观看| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 亚洲卡通欧美制服中文| 亚洲日穴在线视频| 一二三四社区欧美黄| 亚洲国产另类精品专区| 亚洲一区影音先锋| 天天综合色天天综合色h| 日本aⅴ免费视频一区二区三区 | 国产一区二区按摩在线观看| 国产成人丝袜美腿| 成人福利视频网站| 91成人网在线| 欧美剧在线免费观看网站| 91精品国产色综合久久不卡电影| 欧美日韩国产首页| 91精品国产综合久久国产大片| 在线不卡的av| 国产视频在线观看一区二区三区| 国产精品国产自产拍高清av| 亚洲成年人影院| 精油按摩中文字幕久久| jvid福利写真一区二区三区| 91官网在线观看| 精品捆绑美女sm三区| 经典三级在线一区| 99国产精品久久| 69av一区二区三区| 日本一二三不卡| 亚洲狠狠丁香婷婷综合久久久| 亚瑟在线精品视频| 国产成人福利片| 欧美日韩专区在线| 久久亚区不卡日本| 亚洲一区二区在线免费观看视频| 免费成人av在线| 99re6这里只有精品视频在线观看| 欧美日韩电影在线播放| 2020国产精品久久精品美国| 亚洲乱码日产精品bd| 麻豆一区二区在线| 91农村精品一区二区在线| 在线不卡欧美精品一区二区三区| 国产清纯白嫩初高生在线观看91 | 欧美性一二三区| 亚洲精品在线电影| 一区二区不卡在线视频 午夜欧美不卡在 | 日韩极品在线观看| gogo大胆日本视频一区| 精品国产不卡一区二区三区| 亚洲精品国产第一综合99久久| 免播放器亚洲一区| 99国产精品久久久| 久久久久国产精品麻豆ai换脸| 亚洲国产日韩精品| 成人av第一页| 久久久久综合网| 欧美色综合影院| 国产精品日日摸夜夜摸av| 天堂在线一区二区| 色视频成人在线观看免| 国产女同性恋一区二区| 久久精品国产成人一区二区三区| 在线观看网站黄不卡| 欧美激情中文不卡| 韩国精品在线观看| 日韩一区二区三区免费看| 亚洲一区精品在线| 色呦呦日韩精品| 日韩一区中文字幕| 国产成人免费av在线| 精品裸体舞一区二区三区| 日韩经典一区二区| 欧美精品久久一区| 亚洲午夜电影网| 色呦呦网站一区| 18涩涩午夜精品.www| 成人高清视频在线观看| 国产免费观看久久| 国产大片一区二区| 亚洲国产精品精华液2区45| 国产美女av一区二区三区| 日韩免费观看高清完整版在线观看| 亚洲成av人在线观看| 欧美视频一区二区在线观看| 一个色综合av| 欧美日韩亚洲国产综合| 亚洲二区在线视频| 欧美日本一道本| 亚洲中国最大av网站| 欧洲精品在线观看| 一区二区三区不卡视频| 日本韩国欧美在线| 色呦呦一区二区三区| 一区二区三区日韩欧美精品| 日本精品一区二区三区四区的功能| 亚洲天堂a在线| 日本黄色一区二区| 性久久久久久久久| 欧美成人福利视频| 国产在线不卡一卡二卡三卡四卡| 久久久久国产免费免费| 成人性生交大合| 亚洲人午夜精品天堂一二香蕉| 色噜噜狠狠色综合欧洲selulu| 亚洲成在人线免费| 日韩一区二区三区视频在线观看 | 日本中文字幕一区二区视频| 91精品国产aⅴ一区二区| 美洲天堂一区二卡三卡四卡视频| 日韩欧美成人激情| 国产福利一区在线| 亚洲视频在线一区观看| 欧美图片一区二区三区| 男人操女人的视频在线观看欧美 | 亚洲国产日韩a在线播放性色| 欧美精品亚洲一区二区在线播放| 另类综合日韩欧美亚洲| 亚洲国产成人在线| 欧美三级日韩在线| 久久99精品国产麻豆婷婷洗澡| 国产视频不卡一区| 在线精品视频一区二区三四| 日韩av二区在线播放| 欧美激情一区二区三区在线| 色婷婷av一区| 久久er99精品| 亚洲天堂网中文字| 欧美一区二区三区男人的天堂| 国产一区二区三区在线观看免费 | 亚洲r级在线视频| 精品久久久久久无| 91香蕉视频污| 久热成人在线视频| 亚洲欧美在线高清| 日韩三级精品电影久久久| 成人黄色软件下载| 亚洲国产精品自拍| 成人激情免费网站| 中文成人综合网| 91精品国产综合久久香蕉麻豆| 久久精品二区亚洲w码| 日韩毛片视频在线看| 91精品国产一区二区三区 | 国产精品456露脸| 亚洲国产精品久久久男人的天堂| 日韩精品专区在线| 91国偷自产一区二区开放时间 | 欧美精品丝袜中出| 岛国精品在线观看| 六月丁香婷婷久久| 亚洲自拍偷拍麻豆| 国产精品视频你懂的| 日韩欧美国产综合|