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

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

?? tmpltdef.c

?? clips源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
   /*******************************************************/   /*      "C" Language Integrated Production System      */   /*                                                     */   /*             CLIPS Version 6.24  06/05/06            */   /*                                                     */   /*                 DEFTEMPLATE MODULE                  */   /*******************************************************//*************************************************************//* Purpose: Defines basic deftemplate primitive functions    *//*   such as allocating and deallocating, traversing, and    *//*   finding deftemplate data structures.                    *//*                                                           *//* Principal Programmer(s):                                  *//*      Gary D. Riley                                        *//*                                                           *//* Contributing Programmer(s):                               *//*      Brian L. Donnell                                     *//*                                                           *//* Revision History:                                         *//*      6.23: Added support for templates maintaining their  *//*            own list of facts.                             *//*                                                           *//*      6.24: Renamed BOOLEAN macro type to intBool.         *//*                                                           *//*            Corrected code to remove run-time program      *//*            compiler warnings.                             *//*                                                           *//*************************************************************/#define _TMPLTDEF_SOURCE_#include "setup.h"#if DEFTEMPLATE_CONSTRUCT#include <stdio.h>#define _STDIO_INCLUDED_#include "memalloc.h"#include "exprnops.h"#include "cstrccom.h"#include "network.h"#include "tmpltpsr.h"#include "tmpltbsc.h"#include "tmpltutl.h"#include "tmpltfun.h"#include "router.h"#include "modulpsr.h"#include "modulutl.h"#include "cstrnchk.h"#include "envrnmnt.h"#if BLOAD || BLOAD_ONLY || BLOAD_AND_BSAVE#include "bload.h"#include "tmpltbin.h"#endif#if CONSTRUCT_COMPILER && (! RUN_TIME)#include "tmpltcmp.h"#endif#include "tmpltdef.h"/***************************************//* LOCAL INTERNAL FUNCTION DEFINITIONS *//***************************************/   static void                   *AllocateModule(void *);   static void                    ReturnModule(void *,void *);   static void                    ReturnDeftemplate(void *,void *);   static void                    InitializeDeftemplateModules(void *);   static void                    DeallocateDeftemplateData(void *);   static void                    DestroyDeftemplateAction(void *,struct constructHeader *,void *);   static void                    DestroyDeftemplate(void *,void *);#if RUN_TIME   static void                    RuntimeDeftemplateAction(void *,struct constructHeader *,void *);   static void                    SearchForHashedPatternNodes(void *,struct factPatternNode *);#endif/******************************************************************//* InitializeDeftemplates: Initializes the deftemplate construct. *//******************************************************************/globle void InitializeDeftemplates(  void *theEnv)  {   globle struct entityRecord deftemplatePtrRecord = { "DEFTEMPLATE_PTR",                                                           DEFTEMPLATE_PTR,1,0,0,                                                           NULL,                                                           NULL,NULL,                                                           NULL,                                                           NULL,                                                           DecrementDeftemplateBusyCount,                                                           IncrementDeftemplateBusyCount,                                                           NULL,NULL,NULL,NULL,NULL };   AllocateEnvironmentData(theEnv,DEFTEMPLATE_DATA,sizeof(struct deftemplateData),DeallocateDeftemplateData);   memcpy(&DeftemplateData(theEnv)->DeftemplatePtrRecord,&deftemplatePtrRecord,sizeof(struct entityRecord));      InitializeFacts(theEnv);   InitializeDeftemplateModules(theEnv);   DeftemplateBasicCommands(theEnv);   DeftemplateFunctions(theEnv);   DeftemplateData(theEnv)->DeftemplateConstruct =      AddConstruct(theEnv,"deftemplate","deftemplates",ParseDeftemplate,EnvFindDeftemplate,                   GetConstructNamePointer,GetConstructPPForm,                   GetConstructModuleItem,EnvGetNextDeftemplate,SetNextConstruct,                   EnvIsDeftemplateDeletable,EnvUndeftemplate,ReturnDeftemplate);   InstallPrimitive(theEnv,(ENTITY_RECORD_PTR) &DeftemplateData(theEnv)->DeftemplatePtrRecord,DEFTEMPLATE_PTR);  }  /******************************************************//* DeallocateDeftemplateData: Deallocates environment *//*    data for the deftemplate construct.             *//******************************************************/static void DeallocateDeftemplateData(  void *theEnv)  {#if ! RUN_TIME   struct deftemplateModule *theModuleItem;   void *theModule;#endif#if BLOAD || BLOAD_AND_BSAVE   if (Bloaded(theEnv)) return;#endif   DoForAllConstructs(theEnv,DestroyDeftemplateAction,DeftemplateData(theEnv)->DeftemplateModuleIndex,FALSE,NULL); #if ! RUN_TIME   for (theModule = EnvGetNextDefmodule(theEnv,NULL);        theModule != NULL;        theModule = EnvGetNextDefmodule(theEnv,theModule))     {      theModuleItem = (struct deftemplateModule *)                      GetModuleItem(theEnv,(struct defmodule *) theModule,                                    DeftemplateData(theEnv)->DeftemplateModuleIndex);      rtn_struct(theEnv,deftemplateModule,theModuleItem);     }#endif  }  /*****************************************************//* DestroyDeftemplateAction: Action used to remove   *//*   deftemplates as a result of DestroyEnvironment. *//*****************************************************/#if IBM_TBC#pragma argsused#endifstatic void DestroyDeftemplateAction(  void *theEnv,  struct constructHeader *theConstruct,  void *buffer)  {#if MAC_MCW || IBM_MCW || MAC_XCD#pragma unused(buffer)#endif   struct deftemplate *theDeftemplate = (struct deftemplate *) theConstruct;      if (theDeftemplate == NULL) return;      DestroyDeftemplate(theEnv,theDeftemplate);  }/*************************************************************//* InitializeDeftemplateModules: Initializes the deftemplate *//*   construct for use with the defmodule construct.         *//*************************************************************/static void InitializeDeftemplateModules(  void *theEnv)  {   DeftemplateData(theEnv)->DeftemplateModuleIndex = RegisterModuleItem(theEnv,"deftemplate",                                    AllocateModule,                                    ReturnModule,#if BLOAD_AND_BSAVE || BLOAD || BLOAD_ONLY                                    BloadDeftemplateModuleReference,#else                                    NULL,#endif#if CONSTRUCT_COMPILER && (! RUN_TIME)                                    DeftemplateCModuleReference,#else                                    NULL,#endif                                    EnvFindDeftemplate);#if (! BLOAD_ONLY) && (! RUN_TIME) && DEFMODULE_CONSTRUCT   AddPortConstructItem(theEnv,"deftemplate",SYMBOL);#endif  }/***************************************************//* AllocateModule: Allocates a deftemplate module. *//***************************************************/static void *AllocateModule(  void *theEnv)  {       return((void *) get_struct(theEnv,deftemplateModule));   }/*************************************************//* ReturnModule: Deallocates a deftemplate module. *//*************************************************/static void ReturnModule(  void *theEnv,  void *theItem)  {      FreeConstructHeaderModule(theEnv,(struct defmoduleItemHeader *) theItem,DeftemplateData(theEnv)->DeftemplateConstruct);   rtn_struct(theEnv,deftemplateModule,theItem);  }/****************************************************************//* GetDeftemplateModuleItem: Returns a pointer to the defmodule *//*  item for the specified deftemplate or defmodule.            *//****************************************************************/globle struct deftemplateModule *GetDeftemplateModuleItem(  void *theEnv,  struct defmodule *theModule)  {      return((struct deftemplateModule *) GetConstructModuleItemByIndex(theEnv,theModule,DeftemplateData(theEnv)->DeftemplateModuleIndex));   }/*****************************************************//* EnvFindDeftemplate: Searches for a deftemplate in *//*   the list of deftemplates. Returns a pointer to  *//*   the deftemplate if  found, otherwise NULL.      *//*****************************************************/globle void *EnvFindDeftemplate(  void *theEnv,  char *deftemplateName)  {     return(FindNamedConstruct(theEnv,deftemplateName,DeftemplateData(theEnv)->DeftemplateConstruct));   }/***********************************************************************//* EnvGetNextDeftemplate: If passed a NULL pointer, returns the first  *//*   deftemplate in the ListOfDeftemplates. Otherwise returns the next *//*   deftemplate following the deftemplate passed as an argument.      *//***********************************************************************/globle void *EnvGetNextDeftemplate(  void *theEnv,  void *deftemplatePtr)  {      return((void *) GetNextConstructItem(theEnv,(struct constructHeader *) deftemplatePtr,DeftemplateData(theEnv)->DeftemplateModuleIndex));   }/***********************************************************//* EnvIsDeftemplateDeletable: Returns TRUE if a particular *//*   deftemplate can be deleted, otherwise returns FALSE.  *//***********************************************************/globle intBool EnvIsDeftemplateDeletable(  void *theEnv,  void *vTheDeftemplate)  {   struct deftemplate *theDeftemplate = (struct deftemplate *) vTheDeftemplate;   if (! ConstructsDeletable(theEnv))     { return FALSE; }   if (theDeftemplate->busyCount > 0) return(FALSE);   if (theDeftemplate->patternNetwork != NULL) return(FALSE);   return(TRUE);  }/**************************************************************//* ReturnDeftemplate: Returns the data structures associated  *//*   with a deftemplate construct to the pool of free memory. *//**************************************************************/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产a级毛片一区| 国产精品一区二区久激情瑜伽| 欧美一区二区三区精品| 国产精品18久久久久久久久 | 国产精品毛片高清在线完整版| 在线观看日韩电影| 国产精品影视在线观看| 无码av免费一区二区三区试看| 国产精品天干天干在观线| 欧美成人艳星乳罩| 欧美亚洲综合一区| 成人免费看片app下载| 麻豆久久一区二区| 亚洲国产日产av| 国产精品美女久久久久av爽李琼| 欧美一区二区视频在线观看2020 | 91精品一区二区三区在线观看| 99久久精品国产观看| 国产制服丝袜一区| 免费看日韩精品| 丝袜脚交一区二区| 一区二区三区在线视频观看| 日韩精品1区2区3区| 中文字幕一区二区三区蜜月| 久久精品夜夜夜夜久久| 欧美猛男男办公室激情| 欧洲国产伦久久久久久久| www.av精品| 成人免费不卡视频| 成人一区在线看| 国产精品 欧美精品| 国产精品正在播放| 国产一区二区导航在线播放| 久久精品99国产精品日本| 日韩二区三区在线观看| 亚洲成人免费在线| 亚洲午夜久久久久久久久电影网| 亚洲视频在线一区| 亚洲另类一区二区| 亚洲免费电影在线| 亚洲免费视频成人| 亚洲欧美日韩系列| 一区二区三区.www| 亚洲午夜视频在线观看| 亚洲成人av一区| 日韩成人免费在线| 免费在线观看日韩欧美| 麻豆精品一区二区综合av| 日韩电影免费在线看| 美女网站视频久久| 国产尤物一区二区| 粉嫩一区二区三区在线看| 国产精品18久久久| 99re视频精品| 欧美性猛交xxxxxx富婆| 91精品国产综合久久精品图片| 欧美一区二区三区视频在线 | 欧美日韩一二三区| 91麻豆精品国产91久久久资源速度 | 欧美伦理影视网| 91麻豆精品国产91久久久久久久久| 91精品国产综合久久精品性色| 欧美一二三四在线| www亚洲一区| 亚洲国产精华液网站w| 亚洲特黄一级片| 亚洲成a人在线观看| 麻豆精品久久久| 成人av资源站| 欧美视频一区二| 欧美一区二区久久| 久久精品人人做人人爽人人| 成人欧美一区二区三区在线播放| 亚洲在线免费播放| 久久99久久精品| av不卡在线观看| 欧美肥胖老妇做爰| 中文字幕av资源一区| 亚洲一区二区三区四区中文字幕| 青青草91视频| 9i看片成人免费高清| 欧美肥胖老妇做爰| 欧美韩国日本不卡| 日韩精品一级二级| 成人av网址在线| 91精品国产福利在线观看| 国产天堂亚洲国产碰碰| 亚洲国产毛片aaaaa无费看| 麻豆91小视频| 91久久线看在观草草青青| 欧美zozozo| 亚洲小少妇裸体bbw| 国产一区二区三区av电影| 日本韩国一区二区三区视频| 精品国产亚洲一区二区三区在线观看| 国产精品第13页| 麻豆高清免费国产一区| 色婷婷亚洲综合| 久久久精品人体av艺术| 日韩精品福利网| 99精品视频一区二区三区| 精品美女在线播放| 亚洲va天堂va国产va久| 成人在线视频一区二区| 日韩午夜三级在线| 怡红院av一区二区三区| 国产91精品一区二区麻豆网站| 8v天堂国产在线一区二区| 亚洲欧美在线高清| 国产麻豆精品久久一二三| 在线播放国产精品二区一二区四区| 国产精品网站在线观看| 久久99精品一区二区三区三区| 91成人免费在线| 国产精品盗摄一区二区三区| 国产精品亚洲视频| 欧美草草影院在线视频| 五月天一区二区| 在线免费观看日韩欧美| 国产精品毛片高清在线完整版| 国产久卡久卡久卡久卡视频精品| 欧美一三区三区四区免费在线看| 一区二区在线看| 成人97人人超碰人人99| 国产欧美一区二区精品忘忧草| 麻豆91在线观看| 日韩免费高清av| 日本不卡免费在线视频| 欧美高清视频一二三区 | 欧美成人性福生活免费看| 午夜久久久影院| 欧美在线不卡视频| 夜夜嗨av一区二区三区四季av| 99re66热这里只有精品3直播| 国产精品毛片高清在线完整版| 粉嫩av一区二区三区粉嫩| 国产午夜精品一区二区| 国产精品一区二区男女羞羞无遮挡| 精品国产一区二区在线观看| 美女视频一区二区| 精品剧情在线观看| 国产精品1024久久| 国产精品乱码妇女bbbb| av不卡一区二区三区| 亚洲欧洲色图综合| 色94色欧美sute亚洲线路一久| 亚洲精品精品亚洲| 欧美日韩中字一区| 日韩在线卡一卡二| 精品成人在线观看| 国产精品原创巨作av| 国产精品第五页| 欧美性videosxxxxx| 午夜视频在线观看一区| 日韩午夜激情免费电影| 国产一区二区在线观看视频| 欧美极品少妇xxxxⅹ高跟鞋 | 国产xxx精品视频大全| 亚洲国产激情av| 色综合天天综合给合国产| 亚洲一区二区三区四区的| 欧美三级电影网| 久久精品理论片| 国产女主播视频一区二区| 99久久精品国产导航| 午夜视频一区在线观看| 26uuu精品一区二区在线观看| 成人黄色小视频在线观看| 亚洲精品成人精品456| 欧美一区二区三区视频在线 | 91精品国产欧美一区二区| 黄页视频在线91| 国产精品二三区| 91精品国产aⅴ一区二区| 国产成人精品亚洲午夜麻豆| 亚洲精品乱码久久久久| 精品噜噜噜噜久久久久久久久试看| 大美女一区二区三区| 亚洲国产另类av| 国产亚洲成aⅴ人片在线观看| 一本色道亚洲精品aⅴ| 日本 国产 欧美色综合| 自拍偷拍国产精品| 日韩免费电影网站| 色婷婷av久久久久久久| 激情综合色综合久久综合| 亚洲视频免费在线| 欧美xxxx在线观看| 欧美一a一片一级一片| 国产精品中文有码| 日韩在线一区二区三区| 国产精品成人免费精品自在线观看| 欧美精品xxxxbbbb| 不卡高清视频专区| 精品一区精品二区高清| 一二三区精品视频| 国产精品视频麻豆| 日韩欧美国产高清| 欧美视频完全免费看| 成人精品高清在线|