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

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

?? lgcldpnd.c

?? clips源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/************************************************************//* DestroyPMDependencies: Removes all logical support links *//*   from a partial match that point to any data entities.  *//************************************************************/globle void DestroyPMDependencies(  void *theEnv,  struct partialMatch *theBinds)  {   struct dependency *fdPtr, *nextPtr;   fdPtr = (struct dependency *) theBinds->dependents;   while (fdPtr != NULL)     {      nextPtr = fdPtr->next;      rtn_struct(theEnv,dependency,fdPtr);      fdPtr = nextPtr;     }   theBinds->dependents = NULL;  }/************************************************************************//* RemoveLogicalSupport: Removes the dependency links between a partial *//*   match and the data entities it logically supports. Also removes    *//*   the associated links from the data entities which point back to    *//*   the partial match by calling DetachAssociatedEntityDependencies.   *//*   If an entity has all of its logical support removed as a result of *//*   this procedure, the dependency link from the partial match is      *//*   added to the list of unsupported data entities so that the entity  *//*   will be deleted as a result of losing its logical support.         *//************************************************************************/globle void RemoveLogicalSupport(  void *theEnv,  struct partialMatch *theBinds)  {   struct dependency *dlPtr, *tempPtr, *theList;   struct patternEntity *theEntity;   /*========================================*/   /* If the partial match has no associated */   /* dependencies, then return.             */   /*========================================*/   if (theBinds->dependents == NULL) return;   /*=======================================*/   /* Loop through each of the dependencies */   /* attached to the partial match.        */   /*=======================================*/   dlPtr = (struct dependency *) theBinds->dependents;   while (dlPtr != NULL)     {      /*===============================*/      /* Remember the next dependency. */      /*===============================*/      tempPtr = dlPtr->next;      /*==========================================================*/      /* Determine the data entity associated with the dependency */      /* structure and delete its dependency references to this   */      /* partial match.                                           */      /*==========================================================*/      theEntity = (struct patternEntity *) dlPtr->dPtr;      theList = (struct dependency *) theEntity->dependents;      theList = DetachAssociatedDependencies(theEnv,theList,(void *) theBinds);      theEntity->dependents = (void *) theList;      /*==============================================================*/      /* If the data entity has lost all of its logical support, then */      /* add the dependency structure from the partial match to the   */      /* list of unsupported data entities to be deleted. Otherwise,  */      /* just delete the dependency structure.                        */      /*==============================================================*/      if (theEntity->dependents == NULL)        {         (*theEntity->theInfo->base.incrementBusyCount)(theEnv,theEntity);         dlPtr->next = EngineData(theEnv)->UnsupportedDataEntities;         EngineData(theEnv)->UnsupportedDataEntities = dlPtr;        }      else        { rtn_struct(theEnv,dependency,dlPtr); }      /*==================================*/      /* Move on to the next dependency.  */      /*==================================*/      dlPtr = tempPtr;     }   /*=====================================*/   /* The partial match no longer has any */   /* dependencies associated with it.    */   /*=====================================*/   theBinds->dependents = NULL;  }/********************************************************************//* ForceLogicalRetractions: Deletes the data entities found on the  *//*   list of items that have lost their logical support. The delete *//*   function associated with each data entity is called to delete  *//*   that data entity. Calling the delete function may in turn      *//*   add more data entities to the list of data entities which have *//*   lost their logical support.                                    *//********************************************************************/globle void ForceLogicalRetractions(  void *theEnv)  {   struct dependency *tempPtr;   struct patternEntity *theEntity;   /*===================================================*/   /* Don't reenter this function once it's called. Any */   /* new additions to the list of items to be deleted  */   /* as a result of losing their logical support will  */   /* be handled properly.                              */   /*===================================================*/   if (EngineData(theEnv)->alreadyEntered) return;   EngineData(theEnv)->alreadyEntered = TRUE;   /*=======================================================*/   /* Continue to delete the first item on the list as long */   /* as one exists. This is done because new items may be  */   /* placed at the beginning of the list as other data     */   /* entities are deleted.                                 */   /*=======================================================*/   while (EngineData(theEnv)->UnsupportedDataEntities != NULL)     {      /*==========================================*/      /* Determine the data entity to be deleted. */      /*==========================================*/      theEntity = (struct patternEntity *) EngineData(theEnv)->UnsupportedDataEntities->dPtr;      /*================================================*/      /* Remove the dependency structure from the list. */      /*================================================*/      tempPtr = EngineData(theEnv)->UnsupportedDataEntities;      EngineData(theEnv)->UnsupportedDataEntities = EngineData(theEnv)->UnsupportedDataEntities->next;      rtn_struct(theEnv,dependency,tempPtr);      /*=========================*/      /* Delete the data entity. */      /*=========================*/      (*theEntity->theInfo->base.decrementBusyCount)(theEnv,theEntity);      (*theEntity->theInfo->base.deleteFunction)(theEnv,theEntity);     }   /*============================================*/   /* Deletion of items on the list is complete. */   /*============================================*/   EngineData(theEnv)->alreadyEntered = FALSE;  }/****************************************************************//* Dependencies: C access routine for the dependencies command. *//****************************************************************/globle void Dependencies(  void *theEnv,  struct patternEntity *theEntity)  {   struct dependency *fdPtr;   /*=========================================*/   /* If the data entity has no dependencies, */   /* then print "None" and return.           */   /*=========================================*/   if (theEntity->dependents == NULL)     {      EnvPrintRouter(theEnv,WDISPLAY,"None\n");      return;     }   /*============================================*/   /* Loop through the list of the data entities */   /* dependencies and print them.               */   /*============================================*/   for (fdPtr = (struct dependency *) theEntity->dependents;        fdPtr != NULL;        fdPtr = fdPtr->next)     {      if (GetHaltExecution(theEnv) == TRUE) return;      PrintPartialMatch(theEnv,WDISPLAY,(struct partialMatch *) fdPtr->dPtr);      EnvPrintRouter(theEnv,WDISPLAY,"\n");     }  }/************************************************************//* Dependents: C access routine for the dependents command. *//************************************************************/globle void Dependents(  void *theEnv,  struct patternEntity *theEntity)  {   struct patternEntity *entityPtr = NULL;   struct patternParser *theParser = NULL;   struct dependency *fdPtr;   struct partialMatch *theBinds;   int found = FALSE;      /*=================================*/   /* Loop through every data entity. */   /*=================================*/   for (GetNextPatternEntity(theEnv,&theParser,&entityPtr);        entityPtr != NULL;        GetNextPatternEntity(theEnv,&theParser,&entityPtr))     {      if (GetHaltExecution(theEnv) == TRUE) return;      /*====================================*/      /* Loop through every dependency link */      /* associated with the data entity.   */      /*====================================*/      for (fdPtr = (struct dependency *) entityPtr->dependents;           fdPtr != NULL;           fdPtr = fdPtr->next)        {         if (GetHaltExecution(theEnv) == TRUE) return;         /*=====================================================*/         /* If the data entity which was the argument passed to */         /* the dependents command is contained in one of the   */         /* partial matches of the data entity currently being  */         /* examined, then the data entity being examined is a  */         /* dependent. Print the data entity and then move on   */         /* to the next data entity.                            */         /*=====================================================*/         theBinds = (struct partialMatch *) fdPtr->dPtr;         if (FindEntityInPartialMatch(theEntity,theBinds) == TRUE)           {            if (found) EnvPrintRouter(theEnv,WDISPLAY,",");            (*entityPtr->theInfo->base.shortPrintFunction)(theEnv,WDISPLAY,entityPtr);            found = TRUE;            break;           }        }     }   /*=================================================*/   /* If no dependents were found, then print "None." */   /* Otherwise print a carriage return after the     */   /* list of dependents.                             */   /*=================================================*/   if (! found) EnvPrintRouter(theEnv,WDISPLAY,"None\n");   else EnvPrintRouter(theEnv,WDISPLAY,"\n");  }#if DEBUGGING_FUNCTIONS/*********************************************//* DependenciesCommand: H/L access routine   *//*   for the dependencies command.           *//*********************************************/globle void DependenciesCommand(  void *theEnv)  {   DATA_OBJECT item;   void *ptr;   if (EnvArgCountCheck(theEnv,"dependencies",EXACTLY,1) == -1) return;   ptr = GetFactOrInstanceArgument(theEnv,1,&item,"dependencies");   if (ptr == NULL) return;#if DEFRULE_CONSTRUCT   Dependencies(theEnv,(struct patternEntity *) ptr);#else   EnvPrintRouter(theEnv,WDISPLAY,"None\n");#endif  }/*******************************************//* DependentsCommand: H/L access routine   *//*   for the dependents command.           *//*******************************************/globle void DependentsCommand(  void *theEnv)  {   DATA_OBJECT item;   void *ptr;   if (EnvArgCountCheck(theEnv,"dependents",EXACTLY,1) == -1) return;   ptr = GetFactOrInstanceArgument(theEnv,1,&item,"dependents");   if (ptr == NULL) return;#if DEFRULE_CONSTRUCT   Dependents(theEnv,(struct patternEntity *) ptr);#else   EnvPrintRouter(theEnv,WDISPLAY,"None\n");#endif  }#endif /* DEBUGGING_FUNCTIONS */#endif /* DEFRULE_CONSTRUCT */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人激情综合网| 蜜臀av亚洲一区中文字幕| 中文字幕制服丝袜一区二区三区| 91在线小视频| 91理论电影在线观看| 在线观看亚洲a| 制服丝袜亚洲播放| 精品sm捆绑视频| 日韩美女久久久| 美女网站视频久久| 99re亚洲国产精品| 91精品国产丝袜白色高跟鞋| 久久男人中文字幕资源站| 中文字幕中文字幕一区| 日韩精彩视频在线观看| 91在线视频免费91| 欧美一区二视频| 日韩毛片精品高清免费| 懂色av一区二区三区免费看| 91在线观看视频| 99综合影院在线| 日一区二区三区| 国产成a人无v码亚洲福利| 99精品在线免费| 久久理论电影网| 天天色 色综合| 色婷婷一区二区| 成人欧美一区二区三区| 美女脱光内衣内裤视频久久影院| 一本到三区不卡视频| 欧美韩国一区二区| 国产精品一区二区在线观看网站| 欧美一区在线视频| 亚州成人在线电影| 在线中文字幕不卡| 一区二区免费在线| 色综合天天性综合| 亚洲影视在线观看| 欧美中文字幕不卡| 亚洲一区二区美女| 欧美乱熟臀69xxxxxx| 亚洲成a人v欧美综合天堂下载| 欧美午夜精品一区| 亚洲国产视频网站| 欧美精品精品一区| 日韩福利电影在线观看| 欧美一级日韩不卡播放免费| 日本va欧美va欧美va精品| 精品日本一线二线三线不卡| 久久成人麻豆午夜电影| 久久精品一级爱片| 91亚洲永久精品| 午夜欧美一区二区三区在线播放| 日韩一区二区电影在线| 国产一区二区0| 亚洲影视资源网| 国产无遮挡一区二区三区毛片日本| 国产成人福利片| 午夜私人影院久久久久| 国产日韩av一区| 欧美精品在线一区二区三区| 极品少妇xxxx偷拍精品少妇| 亚洲精品高清在线| 精品久久五月天| 777久久久精品| 91在线看国产| 国产高清一区日本| 久久电影网电视剧免费观看| 亚洲视频一二区| 中文字幕不卡在线播放| 欧美一区二区三区系列电影| 91国产福利在线| 91在线播放网址| 成人精品在线视频观看| 久久精品二区亚洲w码| 亚洲成人精品一区| 亚洲九九爱视频| 亚洲日本欧美天堂| 亚洲欧洲日韩一区二区三区| 久久久精品黄色| 久久天堂av综合合色蜜桃网| 91麻豆精品国产91久久久资源速度| 一本色道久久综合亚洲91| www.性欧美| 91在线视频免费观看| 91视视频在线观看入口直接观看www | 麻豆精品久久精品色综合| 亚洲一区在线观看视频| 午夜精品视频一区| 日av在线不卡| 国产乱理伦片在线观看夜一区| 国产乱码一区二区三区| 成人黄色一级视频| 91浏览器在线视频| 91超碰这里只有精品国产| 日韩视频一区二区| 日本一区二区综合亚洲| 国产精品超碰97尤物18| 日韩激情一二三区| 夫妻av一区二区| 欧美天堂一区二区三区| 久久久亚洲高清| 一区二区三区 在线观看视频| 极品少妇一区二区三区精品视频| 国产.欧美.日韩| 9191成人精品久久| 久久女同精品一区二区| 亚洲影视资源网| 成人av一区二区三区| 精品国产欧美一区二区| 午夜久久久久久电影| 91精品国产91热久久久做人人 | 欧美三级电影精品| 精品少妇一区二区三区在线播放 | 日韩欧美国产1| 一区二区三区国产精华| 国产麻豆日韩欧美久久| 91精品婷婷国产综合久久 | 91麻豆国产香蕉久久精品| 久久一区二区三区四区| 亚洲综合男人的天堂| 成人动漫一区二区| 国产精品不卡视频| 高清不卡在线观看| 国产亚洲欧洲997久久综合| 久久精品二区亚洲w码| 777午夜精品视频在线播放| 亚洲香蕉伊在人在线观| 欧美视频中文字幕| 亚洲一区欧美一区| 欧美三级韩国三级日本三斤| 亚洲一区电影777| 91麻豆精品国产91久久久久| 亚洲一级片在线观看| 欧美精品v日韩精品v韩国精品v| 亚洲久本草在线中文字幕| 91福利在线看| 天天综合色天天综合| 欧美成人aa大片| 国产一区二区不卡在线| 国产精品传媒在线| 欧美日韩情趣电影| 蜜臀a∨国产成人精品| 337p日本欧洲亚洲大胆色噜噜| 久热成人在线视频| 国产精品视频yy9299一区| 色哟哟精品一区| 麻豆成人免费电影| 国产精品色噜噜| 欧美日韩一级大片网址| 激情图区综合网| 国产精品成人一区二区艾草| 日韩一区和二区| 91免费国产在线| 偷窥国产亚洲免费视频| 亚洲欧洲一区二区三区| 日韩一区二区三区av| 91亚洲精品久久久蜜桃网站| 精品一区二区三区在线播放| 综合在线观看色| 亚洲国产精品精华液2区45| 日韩一区国产二区欧美三区| 在线观看91视频| 97久久精品人人澡人人爽| 国产精品综合二区| 久久国产麻豆精品| 午夜欧美2019年伦理| 亚洲在线中文字幕| 亚洲人成精品久久久久| 亚洲蜜臀av乱码久久精品蜜桃| 国产视频一区不卡| 久久日韩粉嫩一区二区三区 | 亚洲一区在线免费观看| 亚洲一区二区成人在线观看| 亚洲免费在线看| 亚洲女同ⅹxx女同tv| 日韩伦理免费电影| 亚洲欧美一区二区三区久本道91| 中文字幕视频一区| 欧美剧在线免费观看网站| 91久久精品日日躁夜夜躁欧美| 风流少妇一区二区| 成人美女视频在线观看| 91福利精品视频| 91精品啪在线观看国产60岁| 久久综合九色综合欧美就去吻| 欧美大黄免费观看| 欧美国产一区二区| 亚洲日穴在线视频| 性做久久久久久免费观看| 免费高清在线一区| 高清beeg欧美| 91精品国产一区二区人妖| 91精品国产综合久久精品 | 国产蜜臀av在线一区二区三区| 亚洲欧美另类小说视频| 麻豆国产一区二区| 色婷婷久久综合| 欧美国产精品久久| 日韩电影在线一区|