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

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

?? msgfun.c

?? clips源代碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
   /*******************************************************/   /*      "C" Language Integrated Production System      */   /*                                                     */   /*               CLIPS Version 6.24  05/17/06          */   /*                                                     */   /*                  OBJECT MESSAGE FUNCTIONS           */   /*******************************************************//*************************************************************//* Purpose:                                                  *//*                                                           *//* Principal Programmer(s):                                  *//*      Brian L. Donnell                                     *//*                                                           *//* Contributing Programmer(s):                               *//*                                                           *//* Revision History:                                         *//*      6.23: Changed name of variable log to logName        *//*            because of Unix compiler warnings of shadowed  *//*            definitions.                                   *//*                                                           *//*      6.24: Removed IMPERATIVE_MESSAGE_HANDLERS and        *//*            AUXILIARY_MESSAGE_HANDLERS compilation flags.  *//*                                                           *//*            Renamed BOOLEAN macro type to intBool.         *//*                                                           *//*************************************************************//* =========================================   *****************************************               EXTERNAL DEFINITIONS   =========================================   ***************************************** */#include "setup.h"#if OBJECT_SYSTEM#include "classcom.h"#include "classfun.h"#include "memalloc.h"#include "envrnmnt.h"#include "extnfunc.h"#include "insfun.h"#include "msgcom.h"#include "prccode.h"#include "router.h"#define _MSGFUN_SOURCE_#include "msgfun.h"/* =========================================   *****************************************      INTERNALLY VISIBLE FUNCTION HEADERS   =========================================   ***************************************** */#if DEBUGGING_FUNCTIONSstatic HANDLER_LINK *DisplayPrimaryCore(void *,char *,HANDLER_LINK *,int);static void PrintPreviewHandler(void *,char *,HANDLER_LINK *,int,char *);#endif/* =========================================   *****************************************          EXTERNALLY VISIBLE FUNCTIONS   =========================================   ***************************************** *//********************************************************  NAME         : UnboundHandlerErr  DESCRIPTION  : Print out a synopis of the currently                   executing handler for unbound variable                   errors  INPUTS       : None  RETURNS      : Nothing useful  SIDE EFFECTS : Error synopsis printed to WERROR  NOTES        : None ********************************************************/globle void UnboundHandlerErr(  void *theEnv)  {   EnvPrintRouter(theEnv,WERROR,"message-handler ");   PrintHandler(theEnv,WERROR,MessageHandlerData(theEnv)->CurrentCore->hnd,TRUE);  }/*****************************************************************  NAME         : PrintNoHandlerError  DESCRIPTION  : Print "No primaries found" error message for send  INPUTS       : The name of the message  RETURNS      : Nothing useful  SIDE EFFECTS : None  NOTES        : None *****************************************************************/globle void PrintNoHandlerError(  void *theEnv,  char *msg)  {   PrintErrorID(theEnv,"MSGFUN",1,FALSE);   EnvPrintRouter(theEnv,WERROR,"No applicable primary message-handlers found for ");   EnvPrintRouter(theEnv,WERROR,msg);   EnvPrintRouter(theEnv,WERROR,".\n");  }/***************************************************************  NAME         : CheckHandlerArgCount  DESCRIPTION  : Verifies that the current argument                   list satisfies the current                   handler's parameter count restriction  INPUTS       : None  RETURNS      : TRUE if all OK, FALSE otherwise  SIDE EFFECTS : EvaluationError set on errors  NOTES        : Uses ProcParamArraySize and CurrentCore globals ***************************************************************/globle int CheckHandlerArgCount(  void *theEnv)  {   HANDLER *hnd;   hnd = MessageHandlerData(theEnv)->CurrentCore->hnd;   if ((hnd->maxParams == -1) ? (ProceduralPrimitiveData(theEnv)->ProcParamArraySize < hnd->minParams) :       (ProceduralPrimitiveData(theEnv)->ProcParamArraySize != hnd->minParams))     {      SetEvaluationError(theEnv,TRUE);      PrintErrorID(theEnv,"MSGFUN",2,FALSE);      EnvPrintRouter(theEnv,WERROR,"Message-handler ");      EnvPrintRouter(theEnv,WERROR,ValueToString(hnd->name));      EnvPrintRouter(theEnv,WERROR," ");      EnvPrintRouter(theEnv,WERROR,MessageHandlerData(theEnv)->hndquals[hnd->type]);      EnvPrintRouter(theEnv,WERROR," in class ");      EnvPrintRouter(theEnv,WERROR,EnvGetDefclassName(theEnv,(void *) hnd->cls));      EnvPrintRouter(theEnv,WERROR," expected ");      EnvPrintRouter(theEnv,WERROR,(char *) ((hnd->maxParams == -1) ? "at least " : "exactly "));      PrintLongInteger(theEnv,WERROR,(long long) (hnd->minParams-1));      EnvPrintRouter(theEnv,WERROR," argument(s).\n");      return(FALSE);     }   return(TRUE);  }/***************************************************  NAME         : SlotAccessViolationError  DESCRIPTION  : Prints out an error message when                 attempt is made to set a read-only                 or initialize-only slot improperly  INPUTS       : 1) The slot name                 2) A flag indicating if the source                    is a class or an instance                 3) A pointer to the source                    instance/class  RETURNS      : Nothing useful  SIDE EFFECTS : Error message printed  NOTES        : None ***************************************************/globle void SlotAccessViolationError(  void *theEnv,  char *slotName,  intBool instanceFlag,  void *theInstanceOrClass)  {   PrintErrorID(theEnv,"MSGFUN",3,FALSE);   EnvPrintRouter(theEnv,WERROR,slotName);   EnvPrintRouter(theEnv,WERROR," slot in ");   if (instanceFlag)     PrintInstanceNameAndClass(theEnv,WERROR,(INSTANCE_TYPE *) theInstanceOrClass,FALSE);   else     {      EnvPrintRouter(theEnv,WERROR,"class ");      PrintClassName(theEnv,WERROR,(DEFCLASS *) theInstanceOrClass,FALSE);     }   EnvPrintRouter(theEnv,WERROR,": write access denied.\n");  }/***************************************************  NAME         : SlotVisibilityViolationError  DESCRIPTION  : Prints out an error message when                 attempt is made to access a                 private slot improperly  INPUTS       : 1) The slot descriptor                 2) A pointer to the source class  RETURNS      : Nothing useful  SIDE EFFECTS : Error message printed  NOTES        : None ***************************************************/globle void SlotVisibilityViolationError(  void *theEnv,  SLOT_DESC *sd,  DEFCLASS *theDefclass)  {   PrintErrorID(theEnv,"MSGFUN",6,FALSE);   EnvPrintRouter(theEnv,WERROR,"Private slot ");   EnvPrintRouter(theEnv,WERROR,ValueToString(sd->slotName->name));   EnvPrintRouter(theEnv,WERROR," of class ");   PrintClassName(theEnv,WERROR,sd->cls,FALSE);   EnvPrintRouter(theEnv,WERROR," cannot be accessed directly\n   by handlers attached to class ");   PrintClassName(theEnv,WERROR,theDefclass,TRUE);  }#if ! RUN_TIME/******************************************************************************  NAME         : NewSystemHandler  DESCRIPTION  : Adds a new system handler for a system class                 The handler is assumed to be primary and of                 the form:                 (defmessage-handler <class> <handler> () (<func>))  INPUTS       : 1) Name-string of the system class                 2) Name-string of the system handler                 3) Name-string of the internal H/L function to implement                      this handler                 4) The number of extra arguments (past the instance itself)                    that the handler willl accept  RETURNS      : Nothing useful  SIDE EFFECTS : Creates the new handler and inserts it in the system class's                   handler array                 On errors, generate a system error and exits.  NOTES        : Does not check to see if handler already exists *******************************************************************************/globle void NewSystemHandler(  void *theEnv,  char *cname,  char *mname,  char *fname,  int extraargs)  {   DEFCLASS *cls;   HANDLER *hnd;   cls = LookupDefclassInScope(theEnv,cname);   hnd = InsertHandlerHeader(theEnv,cls,(SYMBOL_HN *) EnvAddSymbol(theEnv,mname),MPRIMARY);   IncrementSymbolCount(hnd->name);   hnd->system = 1;   hnd->minParams = hnd->maxParams = extraargs + 1;   hnd->localVarCount = 0;   hnd->actions = get_struct(theEnv,expr);   hnd->actions->argList = NULL;   hnd->actions->type = FCALL;   hnd->actions->value = (void *) FindFunction(theEnv,fname);   hnd->actions->nextArg = NULL;  }/***************************************************  NAME         : InsertHandlerHeader  DESCRIPTION  : Allocates a new handler header and                   inserts it in the proper (sorted)                   position in the class hnd array  INPUTS       : 1) The class                 2) The handler name                 3) The handler type  RETURNS      : The address of the new handler                   header, NULL on errors  SIDE EFFECTS : Class handler array reallocated                   and resorted  NOTES        : Assumes handler does not exist ***************************************************/globle HANDLER *InsertHandlerHeader(  void *theEnv,  DEFCLASS *cls,  SYMBOL_HN *mname,  int mtype)  {   HANDLER *nhnd,*hnd;   unsigned *narr,*arr;   long i;   long j,ni = -1;   hnd = cls->handlers;   arr = cls->handlerOrderMap;   nhnd = (HANDLER *) gm2(theEnv,(sizeof(HANDLER) * (cls->handlerCount+1)));   narr = (unsigned *) gm2(theEnv,(sizeof(unsigned) * (cls->handlerCount+1)));   GenCopyMemory(HANDLER,cls->handlerCount,nhnd,hnd);   for (i = 0 , j = 0 ; i < cls->handlerCount ; i++ , j++)     {      if (ni == -1)        {         if ((hnd[arr[i]].name->bucket > mname->bucket) ? TRUE :             (hnd[arr[i]].name == mname))           {            ni = i;            j++;           }        }      narr[j] = arr[i];     }   if (ni == -1)     ni = (int) cls->handlerCount;   narr[ni] = cls->handlerCount;   nhnd[cls->handlerCount].system = 0;   nhnd[cls->handlerCount].type = mtype;   nhnd[cls->handlerCount].busy = 0;   nhnd[cls->handlerCount].mark = 0;#if DEBUGGING_FUNCTIONS   nhnd[cls->handlerCount].trace = MessageHandlerData(theEnv)->WatchHandlers;#endif   nhnd[cls->handlerCount].name = mname;   nhnd[cls->handlerCount].cls = cls;   nhnd[cls->handlerCount].minParams = 0;   nhnd[cls->handlerCount].maxParams = 0;   nhnd[cls->handlerCount].localVarCount = 0;   nhnd[cls->handlerCount].actions = NULL;   nhnd[cls->handlerCount].ppForm = NULL;   nhnd[cls->handlerCount].usrData = NULL;   if (cls->handlerCount != 0)     {      rm(theEnv,(void *) hnd,(sizeof(HANDLER) * cls->handlerCount));      rm(theEnv,(void *) arr,(sizeof(unsigned) * cls->handlerCount));     }   cls->handlers = nhnd;   cls->handlerOrderMap = narr;   cls->handlerCount++;   return(&nhnd[cls->handlerCount-1]);  }#endif#if (! BLOAD_ONLY) && (! RUN_TIME)/*****************************************************  NAME         : HandlersExecuting  DESCRIPTION  : Determines if any message-handlers                   for a class are currently executing  INPUTS       : The class address  RETURNS      : TRUE if any handlers are executing,                   FALSE otherwise  SIDE EFFECTS : None  NOTES        : None *****************************************************/globle int HandlersExecuting(  DEFCLASS *cls)  {   long i;   for (i = 0 ; i < cls->handlerCount ; i++)     if (cls->handlers[i].busy > 0)       return(TRUE);   return(FALSE);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久毛片a| 国产精品热久久久久夜色精品三区| 成人国产一区二区三区精品| 国产成人av电影在线| 国产福利一区二区三区| 国产精品夜夜嗨| 国产成都精品91一区二区三| 国产成人免费9x9x人网站视频| 成人性视频免费网站| 成人av网在线| 日本电影欧美片| 欧美自拍偷拍一区| 欧美日韩国产欧美日美国产精品| 欧美精品v国产精品v日韩精品 | 91丨九色丨蝌蚪富婆spa| 成人免费视频app| 成人动漫一区二区在线| 色哟哟日韩精品| 欧美色大人视频| 欧美一区二区视频免费观看| 精品日韩在线观看| 日本一区二区三区四区在线视频 | 国产在线日韩欧美| 丁香婷婷深情五月亚洲| 色综合色狠狠天天综合色| 欧洲亚洲精品在线| 日韩欧美激情在线| 亚洲国产精品黑人久久久| 亚洲另类在线制服丝袜| 日本怡春院一区二区| 国产不卡一区视频| 欧美亚洲图片小说| 日韩免费观看高清完整版在线观看| 久久久久久久久久看片| 一区二区三区影院| 麻豆免费看一区二区三区| 成人深夜福利app| 欧美综合天天夜夜久久| 精品对白一区国产伦| 亚洲人成伊人成综合网小说| 日韩vs国产vs欧美| 不卡视频在线看| 51精品国自产在线| 国产精品久久久久久久久免费相片 | 亚洲国产精品二十页| 一区二区三区久久久| 精品在线播放午夜| 色妞www精品视频| 亚洲精品在线观看网站| 一区二区三区在线观看视频| 久久99热这里只有精品| 99精品在线观看视频| 欧美日韩国产综合一区二区| 国产欧美日韩不卡免费| 天天综合天天综合色| 成人一区二区三区视频 | 性久久久久久久久久久久| 国产不卡一区视频| 日韩欧美国产成人一区二区| 亚洲天堂精品在线观看| 国产精品一二一区| 91麻豆精品91久久久久同性| 一区精品在线播放| 韩国v欧美v日本v亚洲v| 欧美肥妇bbw| 亚洲乱码国产乱码精品精98午夜 | 国模一区二区三区白浆| 欧美精品色一区二区三区| 亚洲视频精选在线| 国产成人小视频| 日韩欧美美女一区二区三区| 亚洲综合成人在线| av在线这里只有精品| 国产香蕉久久精品综合网| 蜜芽一区二区三区| 欧美日韩国产电影| 一区二区在线看| 北条麻妃一区二区三区| 日本一区二区视频在线| 国产在线精品一区在线观看麻豆| 欧美精品丝袜久久久中文字幕| 一区二区三区成人在线视频| 99久久伊人久久99| 国产精品三级电影| 国产乱人伦偷精品视频不卡| 精品久久久久一区| 免费观看30秒视频久久| 欧美精品一级二级| 五月婷婷色综合| 欧美日韩一本到| 一区二区三区在线观看视频| 91视频免费观看| 亚洲色图第一区| 91免费视频网| 亚洲免费观看在线观看| 91在线你懂得| 亚洲黄一区二区三区| 在线看国产一区二区| 亚洲人成网站影音先锋播放| 成人国产电影网| 欧美成人猛片aaaaaaa| 激情偷乱视频一区二区三区| 久久99精品久久久久久国产越南| 国产老妇另类xxxxx| 日韩欧美www| 久久精品国产久精国产| 欧美精品一区二区三| 国内精品久久久久影院一蜜桃| 久久综合九色综合97婷婷女人 | 亚洲综合在线五月| 色哦色哦哦色天天综合| 亚洲一区二区三区在线播放| 欧美三级乱人伦电影| 三级在线观看一区二区| 日韩一区二区三区视频在线| 狠狠狠色丁香婷婷综合激情| 久久久www成人免费毛片麻豆| 高清在线成人网| 亚洲婷婷综合久久一本伊一区| 色综合天天做天天爱| 亚洲午夜久久久久久久久久久| 欧美日本乱大交xxxxx| 久久99日本精品| 国产精品久久久久影院老司| 国内精品国产成人国产三级粉色| 欧美精品一区二区三区在线播放| 国产精品一二三| 亚洲欧美国产三级| 欧美精品精品一区| 国产原创一区二区| 国产精品国产成人国产三级| 欧美在线free| 久久精品免费看| 欧美激情一区二区三区全黄| 日本韩国欧美一区二区三区| 日本欧美一区二区三区| 日本一区免费视频| 欧美亚洲禁片免费| 久久精品久久综合| 亚洲欧美中日韩| 678五月天丁香亚洲综合网| 国产精一品亚洲二区在线视频| 日韩一区在线播放| 日韩欧美亚洲国产精品字幕久久久 | 韩国精品在线观看| 亚洲欧美激情小说另类| 欧美v日韩v国产v| 99国产精品视频免费观看| 肉色丝袜一区二区| 欧美激情一区二区三区| 欧美肥胖老妇做爰| 成人福利视频在线看| 日韩电影免费在线| 亚洲视频一区二区在线| 欧美一区二区三区视频| jlzzjlzz亚洲女人18| 麻豆久久一区二区| 一级女性全黄久久生活片免费| 2017欧美狠狠色| 欧美日韩情趣电影| 成人夜色视频网站在线观看| 蜜臀av性久久久久蜜臀aⅴ流畅 | 日韩黄色免费网站| 国产精品国产自产拍高清av| 91精品国产一区二区三区蜜臀| av不卡在线观看| 国产一区二区三区四区五区入口 | 亚洲午夜三级在线| 国产日韩欧美一区二区三区综合| 欧美精品免费视频| 色激情天天射综合网| 国产91精品精华液一区二区三区 | 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲精品视频免费看| 国产网站一区二区| 欧美刺激脚交jootjob| 欧美图区在线视频| 95精品视频在线| 国产91精品一区二区麻豆网站| 男人的天堂久久精品| 亚洲成人你懂的| 亚洲精品久久久蜜桃| 国产三级欧美三级日产三级99| 91精品国产一区二区三区蜜臀 | 亚洲国产精品久久艾草纯爱| 亚洲视频一二三区| 国产精品毛片无遮挡高清| 久久久一区二区三区捆绑**| 日韩一级高清毛片| 91精品午夜视频| 9191精品国产综合久久久久久| 在线观看免费亚洲| 在线观看精品一区| 欧美做爰猛烈大尺度电影无法无天| 不卡视频在线看| av男人天堂一区| 91理论电影在线观看| 91蜜桃视频在线| 91麻豆精东视频| 欧美综合视频在线观看|