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

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

?? rulecom.c

?? clips源代碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
   /*******************************************************/   /*      "C" Language Integrated Production System      */   /*                                                     */   /*             CLIPS Version 6.30  10/19/06            */   /*                                                     */   /*                RULE COMMANDS MODULE                 */   /*******************************************************//*************************************************************//* Purpose: Provides the matches command. Also provides the  *//*   the developer commands show-joins and rule-complexity.  *//*   Also provides the initialization routine which          *//*   registers rule commands found in other modules.         *//*                                                           *//* Principal Programmer(s):                                  *//*      Gary D. Riley                                        *//*                                                           *//* Contributing Programmer(s):                               *//*                                                           *//* Revision History:                                         *//*                                                           *//*      6.24: Removed CONFLICT_RESOLUTION_STRATEGIES         *//*            INCREMENTAL_RESET, and LOGICAL_DEPENDENCIES    *//*            compilation flags.                             *//*                                                           *//*            Renamed BOOLEAN macro type to intBool.         *//*                                                           *//*      6.30: Added support for hashed alpha memories.       *//*                                                           *//*            Added matches-count function.                  *//*                                                           *//*            Added get-join-hashing and set-join-hashing    *//*            functions.                                     *//*                                                           *//*************************************************************/#define _RULECOM_SOURCE_#include <stdio.h>#define _STDIO_INCLUDED_#include <string.h>#include "setup.h"#if DEFRULE_CONSTRUCT#include "argacces.h"#include "constant.h"#include "constrct.h"#include "crstrtgy.h"#include "engine.h"#include "envrnmnt.h"#include "evaluatn.h"#include "extnfunc.h"#include "incrrset.h"#include "lgcldpnd.h"#include "memalloc.h"#include "pattern.h"#include "reteutil.h"#include "router.h"#include "ruledlt.h"#include "sysdep.h"#include "watch.h"#if BLOAD || BLOAD_AND_BSAVE || BLOAD_ONLY#include "rulebin.h"#endif#include "rulecom.h"/***************************************//* LOCAL INTERNAL FUNCTION DEFINITIONS *//***************************************/#if DEVELOPER   static void                    ShowJoins(void *,void *);#endif   static int                     ListAlphaMatches(void *,struct joinNode *,int);   static int                     ListBetaMatches(void *,struct joinNode *,int);   static int                     ListBetaJoinActivity(void *,struct joinNode *,int,long long *,int);   static void                    PrintMatchesMemory(void *,struct joinNode *,struct betaMemory *,int,int);   /****************************************************************//* DefruleCommands: Initializes defrule commands and functions. *//****************************************************************/globle void DefruleCommands(  void *theEnv)  {#if ! RUN_TIME   EnvDefineFunction2(theEnv,"run",'v', PTIEF RunCommand,"RunCommand", "*1i");   EnvDefineFunction2(theEnv,"halt",'v', PTIEF HaltCommand,"HaltCommand","00");   EnvDefineFunction2(theEnv,"focus",'b', PTIEF FocusCommand,"FocusCommand", "1*w");   EnvDefineFunction2(theEnv,"clear-focus-stack",'v',PTIEF ClearFocusStackCommand,                                       "ClearFocusStackCommand","00");   EnvDefineFunction2(theEnv,"get-focus-stack",'m',PTIEF GetFocusStackFunction,                                     "GetFocusStackFunction","00");   EnvDefineFunction2(theEnv,"pop-focus",'w',PTIEF PopFocusFunction,                               "PopFocusFunction","00");   EnvDefineFunction2(theEnv,"get-focus",'w',PTIEF GetFocusFunction,                               "GetFocusFunction","00");#if DEBUGGING_FUNCTIONS   EnvDefineFunction2(theEnv,"set-break",'v', PTIEF SetBreakCommand,                               "SetBreakCommand","11w");   EnvDefineFunction2(theEnv,"remove-break",'v', PTIEF RemoveBreakCommand,                                  "RemoveBreakCommand", "*1w");   EnvDefineFunction2(theEnv,"show-breaks",'v', PTIEF ShowBreaksCommand,                                 "ShowBreaksCommand", "01w");   EnvDefineFunction2(theEnv,"matches",'v',PTIEF MatchesCommand,"MatchesCommand","11w");   EnvDefineFunction2(theEnv,"join-activity",'g',PTIEF JoinActivityCommand,"JoinActivityCommand","11w");   EnvDefineFunction2(theEnv,"matches-count",'v',PTIEF MatchesCountCommand,"MatchesCountCommand","11w");   EnvDefineFunction2(theEnv,"list-focus-stack",'v', PTIEF ListFocusStackCommand,                                      "ListFocusStackCommand", "00");   EnvDefineFunction2(theEnv,"dependencies", 'v', PTIEF DependenciesCommand,                                   "DependenciesCommand", "11h");   EnvDefineFunction2(theEnv,"dependents",   'v', PTIEF DependentsCommand,                                   "DependentsCommand", "11h");   EnvDefineFunction2(theEnv,"timetag",   'g', PTIEF TimetagFunction,                                   "TimetagFunction", "11h");#endif /* DEBUGGING_FUNCTIONS */   EnvDefineFunction2(theEnv,"get-incremental-reset",'b',                   GetIncrementalResetCommand,"GetIncrementalResetCommand","00");   EnvDefineFunction2(theEnv,"set-incremental-reset",'b',                   SetIncrementalResetCommand,"SetIncrementalResetCommand","11");   EnvDefineFunction2(theEnv,"get-beta-memory-resizing",'b',                   GetBetaMemoryResizingCommand,"GetBetaMemoryResizingCommand","00");   EnvDefineFunction2(theEnv,"set-beta-memory-resizing",'b',                   SetBetaMemoryResizingCommand,"SetBetaMemoryResizingCommand","11");   EnvDefineFunction2(theEnv,"get-strategy", 'w', PTIEF GetStrategyCommand,  "GetStrategyCommand", "00");   EnvDefineFunction2(theEnv,"set-strategy", 'w', PTIEF SetStrategyCommand,  "SetStrategyCommand", "11w");#if DEVELOPER && (! BLOAD_ONLY)   EnvDefineFunction2(theEnv,"rule-complexity",'l', PTIEF RuleComplexityCommand,"RuleComplexityCommand", "11w");   EnvDefineFunction2(theEnv,"show-joins",   'v', PTIEF ShowJoinsCommand,    "ShowJoinsCommand", "11w");   EnvDefineFunction2(theEnv,"show-aht",   'v', PTIEF ShowAlphaHashTable,    "ShowAlphaHashTable", "00");#if DEBUGGING_FUNCTIONS   AddWatchItem(theEnv,"rule-analysis",0,&DefruleData(theEnv)->WatchRuleAnalysis,0,NULL,NULL);#endif#endif /* DEVELOPER && (! BLOAD_ONLY) */#else#if MAC_MCW || IBM_MCW || MAC_XCD#pragma unused(theEnv)#endif#endif /* ! RUN_TIME */  }/***********************************************//* EnvGetBetaMemoryResizing: C access routine  *//*   for the get-beta-memory-resizing command. *//***********************************************/globle intBool EnvGetBetaMemoryResizing(  void *theEnv)  {      return(DefruleData(theEnv)->BetaMemoryResizingFlag);  }/***********************************************//* EnvSetBetaMemoryResizing: C access routine  *//*   for the set-beta-memory-resizing command. *//***********************************************/globle intBool EnvSetBetaMemoryResizing(  void *theEnv,  int value)  {   int ov;   ov = DefruleData(theEnv)->BetaMemoryResizingFlag;   DefruleData(theEnv)->BetaMemoryResizingFlag = value;   return(ov);  }/****************************************************//* SetBetaMemoryResizingCommand: H/L access routine *//*   for the set-beta-memory-resizing command.      *//****************************************************/globle int SetBetaMemoryResizingCommand(  void *theEnv)  {   int oldValue;   DATA_OBJECT argPtr;   oldValue = EnvGetBetaMemoryResizing(theEnv);   /*============================================*/   /* Check for the correct number of arguments. */   /*============================================*/   if (EnvArgCountCheck(theEnv,"set-beta-memory-resizing",EXACTLY,1) == -1)     { return(oldValue); }   /*=================================================*/   /* The symbol FALSE disables beta memory resizing. */   /* Any other value enables beta memory resizing.   */   /*=================================================*/   EnvRtnUnknown(theEnv,1,&argPtr);   if ((argPtr.value == EnvFalseSymbol(theEnv)) && (argPtr.type == SYMBOL))     { EnvSetBetaMemoryResizing(theEnv,FALSE); }   else     { EnvSetBetaMemoryResizing(theEnv,TRUE); }   /*=======================*/   /* Return the old value. */   /*=======================*/   return(oldValue);  }/****************************************************//* GetBetaMemoryResizingCommand: H/L access routine *//*   for the get-beta-memory-resizing command.      *//****************************************************/globle int GetBetaMemoryResizingCommand(  void *theEnv)  {   int oldValue;   oldValue = EnvGetBetaMemoryResizing(theEnv);   if (EnvArgCountCheck(theEnv,"get-beta-memory-resizing",EXACTLY,0) == -1)     { return(oldValue); }   return(oldValue);  }#if DEBUGGING_FUNCTIONS/****************************************//* MatchesCommand: H/L access routine   *//*   for the matches command.           *//****************************************/globle void MatchesCommand(  void *theEnv)  {   char *ruleName;   void *rulePtr;   ruleName = GetConstructName(theEnv,"matches","rule name");   if (ruleName == NULL) return;   rulePtr = EnvFindDefrule(theEnv,ruleName);   if (rulePtr == NULL)     {      CantFindItemErrorMessage(theEnv,"defrule",ruleName);      return;     }   EnvMatches(theEnv,rulePtr);  }/********************************//* EnvMatches: C access routine *//*   for the matches command.   *//********************************/globle intBool EnvMatches(  void *theEnv,  void *theRule)  {   struct defrule *rulePtr, *tmpPtr;   struct joinNode *lastJoin;   ACTIVATION *agendaPtr;   int flag;   /*=================================================*/   /* Loop through each of the disjuncts for the rule */   /*=================================================*/   for (rulePtr = (struct defrule *) theRule, tmpPtr = rulePtr;        rulePtr != NULL;        rulePtr = rulePtr->disjunct)     {      /*======================================*/      /* Determine the last join in the rule. */      /*======================================*/      lastJoin = rulePtr->lastJoin;      /*========================================*/      /* List the alpha memory partial matches. */      /*========================================*/      ListAlphaMatches(theEnv,lastJoin->lastLevel,0);      /*=======================================*/      /* List the beta memory partial matches. */      /*=======================================*/      ListBetaMatches(theEnv,lastJoin,1);     }   /*===================*/   /* List activations. */   /*===================*/   rulePtr = tmpPtr;   EnvPrintRouter(theEnv,WDISPLAY,"Activations\n");   flag = 1;   for (agendaPtr = (struct activation *) EnvGetNextActivation(theEnv,NULL);        agendaPtr != NULL;        agendaPtr = (struct activation *) EnvGetNextActivation(theEnv,agendaPtr))     {      if (GetHaltExecution(theEnv) == TRUE) return(TRUE);      if (((struct activation *) agendaPtr)->theRule->header.name == rulePtr->header.name)        {         flag = 0;         PrintPartialMatch(theEnv,WDISPLAY,GetActivationBasis(agendaPtr));         EnvPrintRouter(theEnv,WDISPLAY,"\n");        }     }   if (flag) EnvPrintRouter(theEnv,WDISPLAY," None\n");   return(TRUE);  }/*********************//* ListAlphaMatches: *//*********************/static int ListAlphaMatches(  void *theEnv,  struct joinNode *theJoin,  int priorPatterns)  {   struct alphaMemoryHash *listOfHashNodes;   struct partialMatch *listOfMatches;   int flag;   if (theJoin == NULL)      { return(priorPatterns); }        if (theJoin->rightSideEntryStructure == NULL)     {       priorPatterns++;      EnvPrintRouter(theEnv,WDISPLAY,"Matches for Pattern ");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜桃视频在线一区| 欧美疯狂做受xxxx富婆| 亚洲丝袜精品丝袜在线| 日韩三级高清在线| 欧美视频一区二区在线观看| 粉嫩av亚洲一区二区图片| 麻豆精品在线看| 精品剧情在线观看| 成人中文字幕在线| 国产欧美日韩精品一区| 日韩精品一区二区三区在线| 69堂成人精品免费视频| 国产欧美一区在线| 欧美一区二区人人喊爽| 精品系列免费在线观看| 麻豆精品在线看| 国内精品自线一区二区三区视频| 国产一区二区三区免费观看| 国产乱人伦偷精品视频免下载| 精品一区二区三区在线播放| 国产成人综合在线| 91在线视频免费91| 日精品一区二区| 亚洲午夜在线观看视频在线| 亚洲久草在线视频| 国产精品久久久久久久久果冻传媒 | 久久久99精品久久| 欧美日韩你懂得| 正在播放亚洲一区| 日韩一区二区视频| 精品国产一区二区三区久久影院 | 色av一区二区| 欧美亚洲高清一区二区三区不卡| 国产69精品久久99不卡| 丁香另类激情小说| 成人av影院在线| 91国产免费观看| 欧美tickling挠脚心丨vk| 欧美性色综合网| 色网站国产精品| 国产成人综合在线观看| 成人国产精品免费网站| 精品对白一区国产伦| 欧美剧情片在线观看| 成人黄色网址在线观看| 色婷婷国产精品久久包臀| 欧美一区二区三区四区视频| 国产亚洲欧美激情| 尤物视频一区二区| 精品无人区卡一卡二卡三乱码免费卡| 成人一道本在线| 欧美精品视频www在线观看| 国产婷婷一区二区| 午夜精品一区二区三区电影天堂| 国产高清一区日本| 91成人在线免费观看| 久久人人97超碰com| 亚洲日本在线观看| 久久电影网电视剧免费观看| 成人午夜精品在线| 欧美高清视频不卡网| 日韩一级高清毛片| 一区二区三区在线影院| 久久精品久久精品| 欧美日韩极品在线观看一区| 久久久久久免费网| 麻豆精品在线播放| 欧美另类高清zo欧美| 国产精品进线69影院| 国产精品性做久久久久久| 欧美日韩国产精选| 一区二区久久久久| 国产91在线观看| 国产亚洲短视频| 狠狠色丁香久久婷婷综合_中| 欧美精品亚洲二区| 日日夜夜精品免费视频| 91久久精品网| 亚洲精品亚洲人成人网 | 久久99精品久久久久久动态图| 久久成人免费网| 国产精品亚洲视频| 亚洲黄色av一区| 亚洲蜜臀av乱码久久精品蜜桃| 成人亚洲精品久久久久软件| 一区二区三区四区精品在线视频 | 欧美日韩五月天| 国产精品国产精品国产专区不片| 国内成+人亚洲+欧美+综合在线| 91精品国产91久久综合桃花| 一区二区三区四区精品在线视频| 不卡大黄网站免费看| 欧美国产精品v| 国产成人精品亚洲午夜麻豆| 国产精品色眯眯| 日本高清免费不卡视频| 五月婷婷欧美视频| 欧美一区二区三区小说| 国内一区二区在线| 一二三区精品视频| 这里只有精品免费| 日韩电影免费在线看| 欧美日韩亚洲丝袜制服| 精品一区二区三区在线播放视频| 国产色产综合产在线视频| 91在线观看成人| 肉丝袜脚交视频一区二区| 久久精品视频免费观看| 欧美军同video69gay| 国产福利精品一区二区| 性感美女极品91精品| 国产天堂亚洲国产碰碰| 欧美日韩视频在线观看一区二区三区| 亚洲成a人片在线观看中文| 精品盗摄一区二区三区| 色94色欧美sute亚洲线路二| 日本在线观看不卡视频| 亚洲欧美日韩国产成人精品影院 | 日本vs亚洲vs韩国一区三区| 国产色爱av资源综合区| 久久久三级国产网站| 欧美亚洲国产bt| 国产成人无遮挡在线视频| 国产精品久久毛片av大全日韩| 韩国成人精品a∨在线观看| 日韩美女精品在线| 久久久蜜臀国产一区二区| 亚洲精品国产a| 成人性生交大合| 亚洲人吸女人奶水| 色视频欧美一区二区三区| 亚洲综合久久久| 日韩一卡二卡三卡国产欧美| 国产一区二区三区av电影| 亚洲国产高清不卡| 日本精品一区二区三区高清| 亚洲午夜激情网页| 日韩精品中午字幕| 成人综合婷婷国产精品久久| 亚洲一区二区视频在线| 亚洲一区二区三区三| 亚洲精品免费看| 亚洲午夜免费电影| 亚洲在线观看免费| 亚洲福利视频一区| 日本不卡123| 国产成人精品一区二| 国产成人久久精品77777最新版本| 亚洲一区二区在线免费观看视频| 一区二区三区在线观看国产| 亚洲成av人片一区二区| 亚洲va欧美va人人爽| 五月激情丁香一区二区三区| 免费国产亚洲视频| 成人精品视频网站| a级精品国产片在线观看| 欧美性生活久久| 精品少妇一区二区三区日产乱码 | 亚洲精品写真福利| 亚洲精品久久嫩草网站秘色| 亚洲主播在线播放| 国产高清精品久久久久| 色国产精品一区在线观看| 久久婷婷色综合| 亚洲欧美自拍偷拍| 蜜桃久久av一区| 无码av免费一区二区三区试看 | 成人动漫精品一区二区| 777久久久精品| aaa亚洲精品| 久草中文综合在线| 亚洲综合一区二区| 国产亚洲精品精华液| 9191精品国产综合久久久久久 | 在线不卡免费欧美| 成人av在线资源| 久国产精品韩国三级视频| 亚洲精品一区二区三区精华液 | 成人免费毛片片v| 51精品秘密在线观看| 日韩网站在线看片你懂的| 国产精品久99| 国产毛片精品视频| 欧美电影免费观看高清完整版在线观看 | 色综合久久综合网欧美综合网| 免费成人在线视频观看| 一区二区三区小说| 成人免费在线视频| 久久欧美一区二区| 国产成+人+日韩+欧美+亚洲| 精品国产一区二区在线观看| 国产午夜亚洲精品不卡| 欧美午夜精品电影| 99精品视频在线观看| 韩日精品视频一区| 日本大胆欧美人术艺术动态| 亚洲综合小说图片| 夜夜精品视频一区二区| 亚洲女人的天堂| 亚洲欧洲在线观看av|