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

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

?? classexm.c

?? clips源代碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
   /*******************************************************/   /*      "C" Language Integrated Production System      */   /*                                                     */   /*             CLIPS Version 6.24  07/01/05            */   /*                                                     */   /*                 CLASS EXAMINATION MODULE            */   /*******************************************************//**************************************************************//* Purpose: Class browsing and examination commands           *//*                                                            *//* Principal Programmer(s):                                   *//*      Brian L. Donnell                                      *//*                                                            *//* Contributing Programmer(s):                                *//*                                                            *//* Revision History:                                          *//*      6.23: Correction for FalseSymbol/TrueSymbol. DR0859   *//*                                                            *//*            Modified the slot-writablep function to return  *//*            FALSE for slots having initialize-only access.  *//*            DR0860                                          *//*                                                            *//*      6.24: Added allowed-classes slot facet.               *//*                                                            *//*            Converted INSTANCE_PATTERN_MATCHING to          *//*            DEFRULE_CONSTRUCT.                              *//*                                                            *//*            Renamed BOOLEAN macro type to intBool.          *//*                                                            *//*            The slot-default-value function crashes when no *//*            default exists for a slot (the ?NONE value was  *//*            specified). DR0870                              *//*                                                            *//*      6.30: Used %zd for printing size_t arguments.         *//*                                                            *//**************************************************************//* =========================================   *****************************************               EXTERNAL DEFINITIONS   =========================================   ***************************************** */#include "setup.h"#if OBJECT_SYSTEM#include <string.h>#include "argacces.h"#include "classcom.h"#include "classfun.h"#include "classini.h"#include "envrnmnt.h"#include "insfun.h"#include "memalloc.h"#include "msgcom.h"#include "msgfun.h"#include "router.h"#include "strngrtr.h"#include "sysdep.h"#define _CLASSEXM_SOURCE_#include "classexm.h"/* =========================================   *****************************************      INTERNALLY VISIBLE FUNCTION HEADERS   =========================================   ***************************************** */static int CheckTwoClasses(void *,char *,DEFCLASS **,DEFCLASS **);static SLOT_DESC *CheckSlotExists(void *,char *,DEFCLASS **,intBool,intBool);static SLOT_DESC *LookupSlot(void *,DEFCLASS *,char *,intBool);#if DEBUGGING_FUNCTIONSstatic DEFCLASS *CheckClass(void *,char *,char *);static char *GetClassNameArgument(void *,char *);static void PrintClassBrowse(void *,char *,DEFCLASS *,long);static void DisplaySeparator(void *,char *,char *,int,int);static void DisplaySlotBasicInfo(void *,char *,char *,char *,char *,DEFCLASS *);static intBool PrintSlotSources(void *,char *,SYMBOL_HN *,PACKED_CLASS_LINKS *,long,int);static void DisplaySlotConstraintInfo(void *,char *,char *,char *,unsigned,DEFCLASS *);static char *ConstraintCode(CONSTRAINT_RECORD *,unsigned,unsigned);#endif/* =========================================   *****************************************          EXTERNALLY VISIBLE FUNCTIONS   =========================================   ***************************************** */#if DEBUGGING_FUNCTIONS/****************************************************************  NAME         : BrowseClassesCommand  DESCRIPTION  : Displays a "graph" of the class hierarchy  INPUTS       : None  RETURNS      : Nothing useful  SIDE EFFECTS : None  NOTES        : Syntax : (browse-classes [<class>]) ****************************************************************/globle void BrowseClassesCommand(  void *theEnv)  {   register DEFCLASS *cls;      if (EnvRtnArgCount(theEnv) == 0)      /* ================================================         Find the OBJECT root class (has no superclasses)         ================================================ */      cls = LookupDefclassByMdlOrScope(theEnv,OBJECT_TYPE_NAME);   else     {      DATA_OBJECT tmp;      if (EnvArgTypeCheck(theEnv,"browse-classes",1,SYMBOL,&tmp) == FALSE)        return;      cls = LookupDefclassByMdlOrScope(theEnv,DOToString(tmp));      if (cls == NULL)        {         ClassExistError(theEnv,"browse-classes",DOToString(tmp));         return;        }     }   EnvBrowseClasses(theEnv,WDISPLAY,(void *) cls);  }/****************************************************************  NAME         : EnvBrowseClasses  DESCRIPTION  : Displays a "graph" of the class hierarchy  INPUTS       : 1) The logical name of the output                 2) Class pointer  RETURNS      : Nothing useful  SIDE EFFECTS : None  NOTES        : None ****************************************************************/globle void EnvBrowseClasses(  void *theEnv,  char *logicalName,  void *clsptr)  {   PrintClassBrowse(theEnv,logicalName,(DEFCLASS *) clsptr,0);  }/****************************************************************  NAME         : DescribeClassCommand  DESCRIPTION  : Displays direct superclasses and                   subclasses and the entire precedence                   list for a class  INPUTS       : None  RETURNS      : Nothing useful  SIDE EFFECTS : None  NOTES        : Syntax : (describe-class <class-name>) ****************************************************************/globle void DescribeClassCommand(  void *theEnv)  {   char *cname;   DEFCLASS *cls;      cname = GetClassNameArgument(theEnv,"describe-class");   if (cname == NULL)     return;   cls = CheckClass(theEnv,"describe-class",cname);   if (cls == NULL)     return;   EnvDescribeClass(theEnv,WDISPLAY,(void *) cls);  }/******************************************************  NAME         : EnvDescribeClass  DESCRIPTION  : Displays direct superclasses and                   subclasses and the entire precedence                   list for a class  INPUTS       : 1) The logical name of the output                 2) Class pointer  RETURNS      : Nothing useful  SIDE EFFECTS : None  NOTES        : None ******************************************************/globle void EnvDescribeClass(  void *theEnv,  char *logicalName,  void *clsptr)  {   DEFCLASS *cls;   char buf[83],        slotNamePrintFormat[12],        overrideMessagePrintFormat[12];   int messageBanner;   long i;   size_t slotNameLength, maxSlotNameLength;   size_t overrideMessageLength, maxOverrideMessageLength;   cls = (DEFCLASS *) clsptr;   DisplaySeparator(theEnv,logicalName,buf,82,'=');   DisplaySeparator(theEnv,logicalName,buf,82,'*');   if (cls->abstract)     EnvPrintRouter(theEnv,logicalName,"Abstract: direct instances of this class cannot be created.\n\n");   else     {      EnvPrintRouter(theEnv,logicalName,"Concrete: direct instances of this class can be created.\n");#if DEFRULE_CONSTRUCT      if (cls->reactive)        EnvPrintRouter(theEnv,logicalName,"Reactive: direct instances of this class can match defrule patterns.\n\n");      else        EnvPrintRouter(theEnv,logicalName,"Non-reactive: direct instances of this class cannot match defrule patterns.\n\n");#else      EnvPrintRouter(theEnv,logicalName,"\n");#endif     }   PrintPackedClassLinks(theEnv,logicalName,"Direct Superclasses:",&cls->directSuperclasses);   PrintPackedClassLinks(theEnv,logicalName,"Inheritance Precedence:",&cls->allSuperclasses);   PrintPackedClassLinks(theEnv,logicalName,"Direct Subclasses:",&cls->directSubclasses);   if (cls->instanceTemplate != NULL)     {      DisplaySeparator(theEnv,logicalName,buf,82,'-');      maxSlotNameLength = 5;      maxOverrideMessageLength = 8;      for (i = 0 ; i < cls->instanceSlotCount ; i++)        {         slotNameLength = strlen(ValueToString(cls->instanceTemplate[i]->slotName->name));         if (slotNameLength > maxSlotNameLength)           maxSlotNameLength = slotNameLength;         if (cls->instanceTemplate[i]->noWrite == 0)           {            overrideMessageLength =              strlen(ValueToString(cls->instanceTemplate[i]->overrideMessage));            if (overrideMessageLength > maxOverrideMessageLength)              maxOverrideMessageLength = overrideMessageLength;           }        }      if (maxSlotNameLength > 16)        maxSlotNameLength = 16;      if (maxOverrideMessageLength > 12)        maxOverrideMessageLength = 12;#if IBM_MSC      gensprintf(slotNamePrintFormat,"%%-%Id.%Ids : ",maxSlotNameLength,maxSlotNameLength);      gensprintf(overrideMessagePrintFormat,"%%-%Id.%Ids ",maxOverrideMessageLength,                                              maxOverrideMessageLength);#else      gensprintf(slotNamePrintFormat,"%%-%zd.%zds : ",maxSlotNameLength,maxSlotNameLength);      gensprintf(overrideMessagePrintFormat,"%%-%zd.%zds ",maxOverrideMessageLength,                                              maxOverrideMessageLength);#endif      DisplaySlotBasicInfo(theEnv,logicalName,slotNamePrintFormat,overrideMessagePrintFormat,buf,cls);      EnvPrintRouter(theEnv,logicalName,"\nConstraint information for slots:\n\n");      DisplaySlotConstraintInfo(theEnv,logicalName,slotNamePrintFormat,buf,82,cls);     }   if (cls->handlerCount > 0)     messageBanner = TRUE;   else     {      messageBanner = FALSE;      for (i = 1 ; i < cls->allSuperclasses.classCount ; i++)        if (cls->allSuperclasses.classArray[i]->handlerCount > 0)          {           messageBanner = TRUE;           break;          }     }   if (messageBanner)     {      DisplaySeparator(theEnv,logicalName,buf,82,'-');      EnvPrintRouter(theEnv,logicalName,"Recognized message-handlers:\n");      DisplayHandlersInLinks(theEnv,logicalName,&cls->allSuperclasses,0);     }   DisplaySeparator(theEnv,logicalName,buf,82,'*');   DisplaySeparator(theEnv,logicalName,buf,82,'=');  }#endif/**********************************************************  NAME         : GetCreateAccessorString  DESCRIPTION  : Gets a string describing which                 accessors are implicitly created                 for a slot: R, W, RW or NIL  INPUTS       : The slot descriptor  RETURNS      : The string description  SIDE EFFECTS : None  NOTES        : Used by (describe-class) and (slot-facets) **********************************************************/globle char *GetCreateAccessorString(  void *vsd)  {   SLOT_DESC *sd = (SLOT_DESC *) vsd;   if (sd->createReadAccessor && sd->createWriteAccessor)     return("RW");   if ((sd->createReadAccessor == 0) && (sd->createWriteAccessor == 0))     return("NIL");   else     return((char *) (sd->createReadAccessor ? "R" : "W"));  }/************************************************************  NAME         : GetDefclassModuleCommand  DESCRIPTION  : Determines to which module a class belongs  INPUTS       : None  RETURNS      : The symbolic name of the module  SIDE EFFECTS : None  NOTES        : H/L Syntax: (defclass-module <class-name>) ************************************************************/globle void *GetDefclassModuleCommand(  void *theEnv)  {   return(GetConstructModuleCommand(theEnv,"defclass-module",DefclassData(theEnv)->DefclassConstruct));  }/*********************************************************************  NAME         : SuperclassPCommand  DESCRIPTION  : Determines if a class is a superclass of another  INPUTS       : None  RETURNS      : TRUE if class-1 is a superclass of class-2  SIDE EFFECTS : None  NOTES        : H/L Syntax : (superclassp <class-1> <class-2>) *********************************************************************/globle intBool SuperclassPCommand(  void *theEnv)  {   DEFCLASS *c1,*c2;      if (CheckTwoClasses(theEnv,"superclassp",&c1,&c2) == FALSE)     return(FALSE);   return(EnvSuperclassP(theEnv,(void *) c1,(void *) c2));  }/***************************************************  NAME         : EnvSuperclassP  DESCRIPTION  : Determines if the first class is                 a superclass of the other  INPUTS       : 1) First class                 2) Second class  RETURNS      : TRUE if first class is a                 superclass of the first,                 FALSE otherwise  SIDE EFFECTS : None  NOTES        : None ***************************************************/#if IBM_TBC#pragma argsused#endifgloble intBool EnvSuperclassP(  void *theEnv,  void *firstClass,  void *secondClass)  {#if MAC_MCW || IBM_MCW || MAC_XCD#pragma unused(theEnv)#endif   return(HasSuperclass((DEFCLASS *) secondClass,(DEFCLASS *) firstClass));  }/*********************************************************************  NAME         : SubclassPCommand  DESCRIPTION  : Determines if a class is a subclass of another  INPUTS       : None  RETURNS      : TRUE if class-1 is a subclass of class-2  SIDE EFFECTS : None  NOTES        : H/L Syntax : (subclassp <class-1> <class-2>) *********************************************************************/globle intBool SubclassPCommand(  void *theEnv)  {   DEFCLASS *c1,*c2;      if (CheckTwoClasses(theEnv,"subclassp",&c1,&c2) == FALSE)     return(FALSE);   return(EnvSubclassP(theEnv,(void *) c1,(void *) c2));  }/***************************************************  NAME         : EnvSubclassP  DESCRIPTION  : Determines if the first class is                 a subclass of the other  INPUTS       : 1) First class                 2) Second class  RETURNS      : TRUE if first class is a                 subclass of the first,                 FALSE otherwise  SIDE EFFECTS : None  NOTES        : None ***************************************************/#if IBM_TBC#pragma argsused#endifgloble intBool EnvSubclassP(  void *theEnv,  void *firstClass,  void *secondClass)  {#if MAC_MCW || IBM_MCW || MAC_XCD#pragma unused(theEnv)#endif   return(HasSuperclass((DEFCLASS *) firstClass,(DEFCLASS *) secondClass));  }/*********************************************************************  NAME         : SlotExistPCommand  DESCRIPTION  : Determines if a slot is present in a class  INPUTS       : None  RETURNS      : TRUE if the slot exists, FALSE otherwise  SIDE EFFECTS : None  NOTES        : H/L Syntax : (slot-existp <class> <slot> [inherit]) *********************************************************************/globle int SlotExistPCommand(  void *theEnv)  {   DEFCLASS *cls;   SLOT_DESC *sd;   int inheritFlag = FALSE;   DATA_OBJECT dobj;      sd = CheckSlotExists(theEnv,"slot-existp",&cls,FALSE,TRUE);   if (sd == NULL)     return(FALSE);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丁香婷婷综合色啪| 日韩一级完整毛片| 一区二区三区在线视频免费 | 一区二区三区日韩在线观看| 九色|91porny| 久久综合久久鬼色| 国产精品99久久久久久似苏梦涵| 久久久天堂av| va亚洲va日韩不卡在线观看| 亚洲另类中文字| 欧美日韩久久久久久| 日本不卡123| 国产亚洲制服色| 91女神在线视频| 午夜一区二区三区视频| 欧美成人免费网站| 国产酒店精品激情| 一区二区三区在线看| 9191国产精品| 成人国产精品免费网站| 洋洋成人永久网站入口| 欧美v国产在线一区二区三区| 国产不卡一区视频| 亚洲国产精品久久人人爱| 欧美一三区三区四区免费在线看| 国产精品影视网| 亚洲国产精品嫩草影院| 2023国产精华国产精品| 91蜜桃网址入口| 美日韩黄色大片| 亚洲欧美激情小说另类| 日韩欧美国产不卡| 欧美日韩综合色| 欧美精品丝袜中出| 一级女性全黄久久生活片免费| 不卡一二三区首页| 97se亚洲国产综合自在线| 7777精品伊人久久久大香线蕉的 | 国产精品成人网| 欧美老年两性高潮| 国产精品69久久久久水密桃| 亚洲国产va精品久久久不卡综合| 日韩一区二区麻豆国产| 成人av网址在线观看| 日韩精品乱码免费| 亚洲美女屁股眼交3| 久久久亚洲精品石原莉奈| 69精品人人人人| 色悠悠久久综合| 国产精品77777| 久久精品久久精品| 亚洲图片欧美视频| 亚洲天堂久久久久久久| 久久久九九九九| 欧美一区二区精品| 91福利国产成人精品照片| 成人午夜激情片| 国产一区二区福利视频| 亚洲五码中文字幕| 最新久久zyz资源站| 国产一区二区在线看| 精品久久久久久久一区二区蜜臀| 久久成人综合网| 国产欧美日韩中文久久| 成人app在线| 一区二区三区精品在线| 欧亚一区二区三区| 日本欧美一区二区三区| 日韩视频在线你懂得| 国产在线视视频有精品| 国产日韩欧美制服另类| 91亚洲精品久久久蜜桃网站| 国产精品美女久久久久久久网站| 成av人片一区二区| 日本亚洲视频在线| 精品av综合导航| 日韩一级在线观看| 91欧美一区二区| 波多野结衣中文字幕一区二区三区 | 国产乱人伦偷精品视频不卡| 精品欧美乱码久久久久久| 国产成人免费网站| 色婷婷亚洲精品| 亚洲国产精品99久久久久久久久| 亚洲自拍偷拍麻豆| 亚洲一区自拍偷拍| 亚洲mv大片欧洲mv大片精品| 亚洲国产视频网站| 婷婷丁香激情综合| 青娱乐精品视频| 麻豆成人综合网| 国产精品一卡二| 国产91在线看| 色欲综合视频天天天| 欧美日韩国产影片| 欧美一级国产精品| 精品国产乱码久久久久久影片| 久久一区二区视频| 日韩一区在线免费观看| 亚洲综合一二区| 秋霞电影网一区二区| 岛国av在线一区| 日本韩国一区二区三区视频| 欧美高清视频在线高清观看mv色露露十八 | 一级女性全黄久久生活片免费| 五月综合激情网| 狠狠色狠狠色综合系列| eeuss鲁一区二区三区| 欧美午夜一区二区三区 | 91影视在线播放| 在线一区二区三区做爰视频网站| 欧美高清一级片在线| 国产日韩欧美一区二区三区综合| 亚洲欧美日韩一区二区三区在线观看| 亚洲国产精品久久人人爱| 久久99精品久久久| 色综合色综合色综合色综合色综合| 欧美日韩高清一区二区| 国产亚洲一区字幕| 亚洲五码中文字幕| 国v精品久久久网| 欧美日韩在线综合| 国产欧美一区二区三区网站| 亚洲综合图片区| 成人国产一区二区三区精品| 欧美日本韩国一区二区三区视频| 国产精品污www在线观看| 日韩国产高清在线| 91亚洲精品久久久蜜桃| 精品国产免费一区二区三区四区| 一区二区三区精品视频| 国产伦理精品不卡| 91麻豆精品国产91久久久久 | 欧美日韩在线播放一区| 中文字幕不卡一区| 老司机精品视频线观看86| 91福利区一区二区三区| 国产日韩欧美精品综合| 日韩成人一级片| 91视频.com| 国产亚洲欧洲一区高清在线观看| 日产国产高清一区二区三区 | 国产一区二区三区四区五区入口 | 欧美三级日韩在线| 日韩理论电影院| 欧美a一区二区| 91行情网站电视在线观看高清版| 久久精品免费在线观看| 蜜桃精品视频在线观看| 欧美日韩一级黄| 蜜臀精品久久久久久蜜臀 | 91无套直看片红桃| 国产精品久久久久久久久果冻传媒 | 亚洲欧洲日产国码二区| 久久99精品国产麻豆婷婷洗澡| 欧美无砖专区一中文字| 亚洲欧美一区二区三区极速播放 | 欧美激情综合五月色丁香| 一区二区成人在线观看| 91视视频在线观看入口直接观看www | 久久久精品蜜桃| 美腿丝袜在线亚洲一区| 欧美日韩亚洲综合| 人人狠狠综合久久亚洲| 欧美tickling网站挠脚心| 国产大陆a不卡| 亚洲韩国精品一区| 国产精品久久久久影院亚瑟| 高清av一区二区| 亚洲人成网站在线| 日韩一区二区中文字幕| 久久精品国产色蜜蜜麻豆| 中文字幕精品一区二区三区精品| 99综合电影在线视频| 欧美亚洲精品一区| 中文一区二区完整视频在线观看| 亚洲v日本v欧美v久久精品| 男人的j进女人的j一区| 日韩写真欧美这视频| 欧美另类z0zxhd电影| 精品久久久三级丝袜| 久久国内精品自在自线400部| 精品国产第一区二区三区观看体验| 久久精工是国产品牌吗| 欧美精品一区二区三区在线播放| 国产高清不卡二三区| 国产精品美女久久福利网站| www.欧美日韩| 亚洲成人自拍偷拍| 欧美一卡二卡三卡| 国产成人aaaa| 亚洲女同一区二区| 欧美二区在线观看| 国产裸体歌舞团一区二区| 中文字幕色av一区二区三区| 欧美亚洲一区二区三区四区| 蜜桃精品视频在线| 中文一区一区三区高中清不卡| 欧洲亚洲精品在线| 精品一区二区精品|