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

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

?? factmngr.c

?? clips源代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
   /* Return TRUE to indicate that fact slot */   /* values were successfully copied.       */   /*========================================*/   return(TRUE);  }/*********************************************//* CreateFactBySize: Allocates a fact data   *//*   structure based on the number of slots. *//*********************************************/globle struct fact *CreateFactBySize(  void *theEnv,  unsigned size)  {   struct fact *theFact;   unsigned newSize;   if (size <= 0) newSize = 1;   else newSize = size;   theFact = get_var_struct(theEnv,fact,sizeof(struct field) * (newSize - 1));   theFact->depth = (unsigned) EvaluationData(theEnv)->CurrentEvaluationDepth;   theFact->garbage = FALSE;   theFact->factIndex = 0LL;   theFact->factHeader.busyCount = 0;   theFact->factHeader.theInfo = &FactData(theEnv)->FactInfo;   theFact->factHeader.dependents = NULL;   theFact->whichDeftemplate = NULL;   theFact->nextFact = NULL;   theFact->previousFact = NULL;   theFact->previousTemplateFact = NULL;   theFact->nextTemplateFact = NULL;   theFact->list = NULL;   theFact->theProposition.multifieldLength = size;   theFact->theProposition.depth = (short) EvaluationData(theEnv)->CurrentEvaluationDepth;   theFact->theProposition.busyCount = 0;   return(theFact);  }/*********************************************//* ReturnFact: Returns a fact data structure *//*   to the pool of free memory.             *//*********************************************/globle void ReturnFact(  void *theEnv,  struct fact *theFact)  {   struct multifield *theSegment, *subSegment;   long newSize, i;   theSegment = &theFact->theProposition;   for (i = 0; i < theSegment->multifieldLength; i++)     {      if (theSegment->theFields[i].type == MULTIFIELD)        {         subSegment = (struct multifield *) theSegment->theFields[i].value;         if (subSegment->busyCount == 0)           { ReturnMultifield(theEnv,subSegment); }         else           { AddToMultifieldList(theEnv,subSegment); }        }     }   if (theFact->theProposition.multifieldLength == 0) newSize = 1;   else newSize = theFact->theProposition.multifieldLength;         rtn_var_struct(theEnv,fact,sizeof(struct field) * (newSize - 1),theFact);  }/*************************************************************//* FactInstall: Increments the fact, deftemplate, and atomic *//*   data value busy counts associated with the fact.        *//*************************************************************/globle void FactInstall(  void *theEnv,  struct fact *newFact)  {   struct multifield *theSegment;   int i;   FactData(theEnv)->NumberOfFacts++;   newFact->whichDeftemplate->busyCount++;   theSegment = &newFact->theProposition;   for (i = 0 ; i < (int) theSegment->multifieldLength ; i++)     {      AtomInstall(theEnv,theSegment->theFields[i].type,theSegment->theFields[i].value);     }   newFact->factHeader.busyCount++;  }/***************************************************************//* FactDeinstall: Decrements the fact, deftemplate, and atomic *//*   data value busy counts associated with the fact.          *//***************************************************************/globle void FactDeinstall(  void *theEnv,  struct fact *newFact)  {   struct multifield *theSegment;   int i;   FactData(theEnv)->NumberOfFacts--;   theSegment = &newFact->theProposition;   newFact->whichDeftemplate->busyCount--;   for (i = 0 ; i < (int) theSegment->multifieldLength ; i++)     {      AtomDeinstall(theEnv,theSegment->theFields[i].type,theSegment->theFields[i].value);     }   newFact->factHeader.busyCount--;  }/************************************************//* EnvIncrementFactCount: Increments the number *//*   of references to a specified fact.         *//************************************************/#if IBM_TBC#pragma argsused#endifgloble void EnvIncrementFactCount(  void *theEnv,  void *factPtr)  {#if MAC_MCW || IBM_MCW || MAC_XCD#pragma unused(theEnv)#endif   ((struct fact *) factPtr)->factHeader.busyCount++;  }/************************************************//* EnvDecrementFactCount: Decrements the number *//*   of references to a specified fact.         *//************************************************/#if IBM_TBC#pragma argsused#endifgloble void EnvDecrementFactCount(  void *theEnv,  void *factPtr)  {#if MAC_MCW || IBM_MCW || MAC_XCD#pragma unused(theEnv)#endif   ((struct fact *) factPtr)->factHeader.busyCount--;  }/*********************************************************//* EnvGetNextFact: If passed a NULL pointer, returns the *//*   first fact in the fact-list. Otherwise returns the  *//*   next fact following the fact passed as an argument. *//*********************************************************/globle void *EnvGetNextFact(  void *theEnv,  void *factPtr)  {   if (factPtr == NULL)     { return((void *) FactData(theEnv)->FactList); }   if (((struct fact *) factPtr)->garbage) return(NULL);   return((void *) ((struct fact *) factPtr)->nextFact);  }/**************************************************//* GetNextFactInScope: Returns the next fact that *//*   is in scope of the current module. Works in  *//*   a similar fashion to GetNextFact, but skips  *//*   facts that are out of scope.                 *//**************************************************/globle void *GetNextFactInScope(  void *theEnv,  void *vTheFact)  {   struct fact *theFact = (struct fact *) vTheFact;   /*=======================================================*/   /* If fact passed as an argument is a NULL pointer, then */   /* we're just beginning a traversal of the fact list. If */   /* the module index has changed since that last time the */   /* fact list was traversed by this routine, then         */   /* determine all of the deftemplates that are in scope   */   /* of the current module.                                */   /*=======================================================*/   if (theFact == NULL)     {      theFact = FactData(theEnv)->FactList;      if (FactData(theEnv)->LastModuleIndex != DefmoduleData(theEnv)->ModuleChangeIndex)        {         UpdateDeftemplateScope(theEnv);         FactData(theEnv)->LastModuleIndex = DefmoduleData(theEnv)->ModuleChangeIndex;        }     }   /*==================================================*/   /* Otherwise, if the fact passed as an argument has */   /* been retracted, then there's no way to determine */   /* the next fact, so return a NULL pointer.         */   /*==================================================*/   else if (((struct fact *) theFact)->garbage)     { return(NULL); }   /*==================================================*/   /* Otherwise, start the search for the next fact in */   /* scope with the fact immediately following the    */   /* fact passed as an argument.                      */   /*==================================================*/   else     { theFact = theFact->nextFact; }   /*================================================*/   /* Continue traversing the fact-list until a fact */   /* is found that's associated with a deftemplate  */   /* that's in scope.                               */   /*================================================*/   while (theFact != NULL)     {      if (theFact->whichDeftemplate->inScope) return((void *) theFact);      theFact = theFact->nextFact;     }   return(NULL);  }/****************************************//* EnvGetFactPPForm: Returns the pretty *//*   print representation of a fact.    *//****************************************/globle void EnvGetFactPPForm(  void *theEnv,  char *buffer,  unsigned bufferLength,  void *theFact)  {   OpenStringDestination(theEnv,"FactPPForm",buffer,bufferLength);   PrintFactWithIdentifier(theEnv,"FactPPForm",(struct fact *) theFact);   CloseStringDestination(theEnv,"FactPPForm");  }/**********************************//* EnvFactIndex: C access routine *//*   for the fact-index function. *//**********************************/#if IBM_TBC#pragma argsused#endifgloble long long EnvFactIndex(  void *theEnv,  void *factPtr)  {#if MAC_MCW || IBM_MCW || MAC_XCD#pragma unused(theEnv)#endif   return(((struct fact *) factPtr)->factIndex);  }/*************************************//* EnvAssertString: C access routine *//*   for the assert-string function. *//*************************************/globle void *EnvAssertString(  void *theEnv,  char *theString)  {   struct fact *theFact;   if ((theFact = StringToFact(theEnv,theString)) == NULL) return(NULL);   return((void *) EnvAssert(theEnv,(void *) theFact));  }/******************************************************//* EnvGetFactListChanged: Returns the flag indicating *//*   whether a change to the fact-list has been made. *//******************************************************/globle int EnvGetFactListChanged(  void *theEnv)  {   return(FactData(theEnv)->ChangeToFactList);   }/***********************************************************//* EnvSetFactListChanged: Sets the flag indicating whether *//*   a change to the fact-list has been made.              *//***********************************************************/globle void EnvSetFactListChanged(  void *theEnv,  int value)  {   FactData(theEnv)->ChangeToFactList = value;  }/****************************************//* GetNumberOfFacts: Returns the number *//* of facts in the fact-list.           *//****************************************/globle unsigned long GetNumberOfFacts(  void *theEnv)  {      return(FactData(theEnv)->NumberOfFacts);   }/***********************************************************//* ResetFacts: Reset function for facts. Sets the starting *//*   fact index to zero and removes all facts.             *//***********************************************************/static void ResetFacts(  void *theEnv)  {   /*====================================*/   /* Initialize the fact index to zero. */   /*====================================*/   FactData(theEnv)->NextFactIndex = 0L;   /*======================================*/   /* Remove all facts from the fact list. */   /*======================================*/   RemoveAllFacts(theEnv);  }/************************************************************//* ClearFactsReady: Clear ready function for facts. Returns *//*   TRUE if facts were successfully removed and the clear  *//*   command can continue, otherwise FALSE.                 *//************************************************************/static int ClearFactsReady(  void *theEnv)  {   /*====================================*/   /* Initialize the fact index to zero. */   /*====================================*/   FactData(theEnv)->NextFactIndex = 0L;   /*======================================*/   /* Remove all facts from the fact list. */   /*======================================*/   RemoveAllFacts(theEnv);   /*==============================================*/   /* If for some reason there are any facts still */   /* remaining, don't continue with the clear.    */   /*==============================================*/   if (EnvGetNextFact(theEnv,NULL) != NULL) return(FALSE);   /*=============================*/   /* Return TRUE to indicate the */   /* clear command can continue. */   /*=============================*/   return(TRUE);  }/***************************************************//* FindIndexedFact: Returns a pointer to a fact in *//*   the fact list with the specified fact index.  *//***************************************************/globle struct fact *FindIndexedFact(  void *theEnv,  long long factIndexSought)  {   struct fact *theFact;   for (theFact = (struct fact *) EnvGetNextFact(theEnv,NULL);        theFact != NULL;        theFact = (struct fact *) EnvGetNextFact(theEnv,theFact))     {      if (theFact->factIndex == factIndexSought)        { return(theFact); }     }   return(NULL);  }#endif /* DEFTEMPLATE_CONSTRUCT && DEFRULE_CONSTRUCT */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区在线观看 | 久久99久久99| 久久久国产精品不卡| 欧美午夜精品久久久久久超碰| 另类综合日韩欧美亚洲| 亚洲视频一二三区| 久久奇米777| 欧美一级高清片| 91行情网站电视在线观看高清版| 久久激情五月激情| 亚洲综合一二三区| 国产精品女同互慰在线看| 日韩视频123| 在线电影一区二区三区| 91片黄在线观看| 国产精品综合av一区二区国产馆| 亚洲愉拍自拍另类高清精品| 国产视频不卡一区| 日韩午夜激情免费电影| 欧美乱熟臀69xxxxxx| 在线一区二区视频| 色综合天天性综合| 成人午夜精品一区二区三区| 精品一区二区久久| 日韩**一区毛片| 午夜精品一区在线观看| 亚洲黄色av一区| 亚洲欧洲精品成人久久奇米网| 久久久久国产精品人| 日韩精品中文字幕在线一区| 成人免费毛片片v| 国产美女娇喘av呻吟久久| 亚洲国产综合在线| 亚洲欧洲av在线| 精品久久久久久久久久久久包黑料 | 极品尤物av久久免费看| 亚洲成av人片一区二区梦乃| 国产精品嫩草久久久久| 精品动漫一区二区三区在线观看| 欧美军同video69gay| 在线亚洲免费视频| av电影在线观看一区| 国产成人免费视频网站 | 精品国产3级a| 日韩视频一区二区在线观看| 欧美视频一区二区三区在线观看| 91小视频免费看| 成人99免费视频| 99久久国产免费看| 成人av在线资源网| 成人av资源在线观看| 国产成人在线视频网站| 狠狠色综合色综合网络| 精品一区二区三区久久久| 强制捆绑调教一区二区| 三级影片在线观看欧美日韩一区二区 | 波多野结衣在线一区| 日韩国产精品大片| 日韩二区在线观看| 美女爽到高潮91| 精品在线免费视频| 国产一区不卡在线| 国产精品主播直播| 粉嫩高潮美女一区二区三区 | 日韩精品一级中文字幕精品视频免费观看 | 欧洲一区二区三区在线| 日本乱人伦一区| 欧美三级中文字幕| 欧美美女视频在线观看| 91麻豆精品国产自产在线观看一区| 欧美日韩免费观看一区二区三区| 欧美日韩在线免费视频| 91精品欧美一区二区三区综合在 | 日韩欧美一区在线| 日韩欧美一区二区久久婷婷| 久久久99精品久久| 自拍偷拍亚洲欧美日韩| 夜色激情一区二区| 蜜臀国产一区二区三区在线播放| 精品中文字幕一区二区小辣椒| 国产成人在线观看| 色综合激情久久| 欧美高清你懂得| wwwwxxxxx欧美| 亚洲人成在线观看一区二区| 亚洲午夜一区二区| 精品一二三四区| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 国产精品国模大尺度视频| 一区二区在线观看不卡| 免费成人av在线播放| 国产91露脸合集magnet| 在线精品视频一区二区| 欧美mv日韩mv| 亚洲色图清纯唯美| 免费在线观看不卡| av电影在线观看一区| 欧美视频完全免费看| 日韩免费性生活视频播放| 欧美国产国产综合| 午夜欧美大尺度福利影院在线看| 国产传媒久久文化传媒| 欧美丝袜丝nylons| 久久久久久免费网| 亚洲成av人片一区二区| 精品在线播放免费| 欧美在线视频全部完| 日本一区二区三区在线观看| 亚洲电影第三页| 成人h动漫精品| 日韩欧美你懂的| 亚洲美女在线一区| 国产精品夜夜嗨| 欧美一区二区精品| 亚洲男同性视频| 免费观看91视频大全| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 精品黑人一区二区三区久久| 依依成人精品视频| a4yy欧美一区二区三区| 欧美tk丨vk视频| 香蕉久久夜色精品国产使用方法| 成人精品在线视频观看| 日韩欧美高清在线| 亚洲电影你懂得| 色94色欧美sute亚洲线路二| 中日韩av电影| 国产精品1区2区| 欧美成人一区二区三区在线观看 | 久久久精品免费网站| 蜜桃一区二区三区四区| 精品视频999| 一区二区三区欧美在线观看| 成人av片在线观看| 久久精品夜夜夜夜久久| 午夜av电影一区| 欧美绝品在线观看成人午夜影视| 亚洲精品成人天堂一二三| av高清久久久| 国产精品美日韩| 成人性生交大片免费看中文网站| 2017欧美狠狠色| 韩国在线一区二区| 精品国产亚洲一区二区三区在线观看| 婷婷久久综合九色综合绿巨人 | 免费视频最近日韩| 91.com视频| 亚洲国产毛片aaaaa无费看| 在线免费av一区| 亚洲一区自拍偷拍| 欧美午夜一区二区| 亚洲地区一二三色| 欧美日韩成人综合在线一区二区| 亚洲国产精品欧美一二99| 欧亚洲嫩模精品一区三区| 夜夜嗨av一区二区三区| 欧美日韩一区二区欧美激情| 亚洲国产另类av| 91麻豆精品国产91久久久久久久久| 首页国产丝袜综合| 日韩欧美高清一区| 三级欧美在线一区| 久久这里只有精品视频网| 国产成人免费视频网站高清观看视频 | 精品系列免费在线观看| 精品蜜桃在线看| 国产精品综合二区| 国产精品福利影院| 国产精品系列在线观看| 国产亚洲一区二区三区四区 | 日本一区二区免费在线| 成人高清免费在线播放| 亚洲一区二区四区蜜桃| 91精品欧美综合在线观看最新 | 欧美日韩精品三区| 久久草av在线| 国产欧美综合色| 色天天综合久久久久综合片| 一区二区不卡在线播放| 日韩一卡二卡三卡国产欧美| 国产精品一卡二| 亚洲黄一区二区三区| 欧美一区中文字幕| 国产成人免费9x9x人网站视频| 国产精品久久久久久久久图文区| 在线观看免费成人| 精品一区二区国语对白| 成人免费一区二区三区视频| 91蜜桃网址入口| 免费成人在线网站| 国产亚洲综合性久久久影院| 在线视频你懂得一区| 精品中文av资源站在线观看| 中文字幕一区视频| 日韩一区二区在线观看| 91在线你懂得| 免费成人在线观看视频| 亚洲视频每日更新| 精品久久久久av影院| 在线观看日产精品|