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

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

?? clsltpsr.c

?? clips源代碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
   /*******************************************************/   /*      "C" Language Integrated Production System      */   /*                                                     */   /*               CLIPS Version 6.24  05/17/06          */   /*                                                     */   /*                  CLASS PARSER MODULE                */   /*******************************************************//**************************************************************//* Purpose: Parsing Routines for Defclass Construct           *//*                                                            *//* Principal Programmer(s):                                   *//*      Brian L. Donnell                                      *//*                                                            *//* Contributing Programmer(s):                                *//*                                                            *//* Revision History:                                          *//*                                                            *//*      6.24: Converted INSTANCE_PATTERN_MATCHING to          *//*            DEFRULE_CONSTRUCT.                              *//*                                                            *//*            Renamed BOOLEAN macro type to intBool.          *//*                                                            *//**************************************************************//* =========================================   *****************************************               EXTERNAL DEFINITIONS   =========================================   ***************************************** */#include "setup.h"#if OBJECT_SYSTEM && (! BLOAD_ONLY) && (! RUN_TIME)#include <string.h>#include "classcom.h"#include "classfun.h"#include "cstrnchk.h"#include "cstrnpsr.h"#include "cstrnutl.h"#include "default.h"#include "envrnmnt.h"#include "insfun.h"#include "memalloc.h"#include "prntutil.h"#include "router.h"#include "scanner.h"#define _CLSLTPSR_SOURCE_#include "clsltpsr.h"/* =========================================   *****************************************                   CONSTANTS   =========================================   ***************************************** */#define DEFAULT_FACET         "default"#define DYNAMIC_FACET         "default-dynamic"#define VARIABLE_VAR          "VARIABLE"#define STORAGE_FACET         "storage"#define SLOT_SHARE_RLN        "shared"#define SLOT_LOCAL_RLN        "local"#define ACCESS_FACET          "access"#define SLOT_RDONLY_RLN       "read-only"#define SLOT_RDWRT_RLN        "read-write"#define SLOT_INIT_RLN         "initialize-only"#define PROPAGATION_FACET     "propagation"#define SLOT_NO_INH_RLN       "no-inherit"#define SLOT_INH_RLN          "inherit"#define SOURCE_FACET          "source"#define SLOT_COMPOSITE_RLN    "composite"#define SLOT_EXCLUSIVE_RLN    "exclusive"#define MATCH_FACET           MATCH_RLN#define SLOT_REACTIVE_RLN     REACTIVE_RLN#define SLOT_NONREACTIVE_RLN  NONREACTIVE_RLN#define VISIBILITY_FACET      "visibility"#define SLOT_PUBLIC_RLN       "public"#define SLOT_PRIVATE_RLN      "private"#define CREATE_ACCESSOR_FACET "create-accessor"#define SLOT_READ_RLN         "read"#define SLOT_WRITE_RLN        "write"#define SLOT_NONE_RLN         "NONE"#define OVERRIDE_MSG_FACET    "override-message"#define SLOT_DEFAULT_RLN      "DEFAULT"#define STORAGE_BIT           0#define FIELD_BIT             1#define ACCESS_BIT            2#define PROPAGATION_BIT       3#define SOURCE_BIT            4#define MATCH_BIT             5#define DEFAULT_BIT           6#define DEFAULT_DYNAMIC_BIT   7#define VISIBILITY_BIT        8#define CREATE_ACCESSOR_BIT   9#define OVERRIDE_MSG_BIT      10/* =========================================   *****************************************      INTERNALLY VISIBLE FUNCTION HEADERS   =========================================   ***************************************** */static SLOT_DESC *NewSlot(void *,SYMBOL_HN *);static TEMP_SLOT_LINK *InsertSlot(void *,TEMP_SLOT_LINK *,SLOT_DESC *);static int ParseSimpleFacet(void *,char *,char*,char *,int,char *,char *,char *,char *,SYMBOL_HN **);static intBool ParseDefaultFacet(void *,char *,char *,SLOT_DESC *);static void BuildCompositeFacets(void *,SLOT_DESC *,PACKED_CLASS_LINKS *,char *,                                 CONSTRAINT_PARSE_RECORD *);static intBool CheckForFacetConflicts(void *,SLOT_DESC *,CONSTRAINT_PARSE_RECORD *);static intBool EvaluateSlotDefaultValue(void *,SLOT_DESC *,char *);/* =========================================   *****************************************          EXTERNALLY VISIBLE FUNCTIONS   =========================================   ***************************************** *//************************************************************  NAME         : ParseSlot  DESCRIPTION  : Parses slot definitions for a                   defclass statement  INPUTS       : 1) The logical name of the input source                 2) The current slot list                 3) The class precedence list for the class                    to which this slot is being attached                    (used to find facets for composite slots)                 4) A flag indicating if this is a multifield                    slot or not                 5) A flag indicating if the type of slot                    (single or multi) was explicitly                    specified or not  RETURNS      : The address of the list of slots,                   NULL if there was an error  SIDE EFFECTS : The slot list is allocated  NOTES        : Assumes "(slot" has already been parsed. ************************************************************/globle TEMP_SLOT_LINK *ParseSlot(  void *theEnv,  char *readSource,  TEMP_SLOT_LINK *slist,  PACKED_CLASS_LINKS *preclist,  int multiSlot,  int fieldSpecified)  {   SLOT_DESC *slot;   CONSTRAINT_PARSE_RECORD parsedConstraint;   char specbits[2];   int rtnCode;   SYMBOL_HN *newOverrideMsg;   /* ===============================================================      Bits in specbits are when slot qualifiers are specified so that      duplicate or conflicting qualifiers can be detected.      Shared/local                          bit-0      Single/multiple                       bit-1      Read-only/Read-write/Initialize-Only  bit-2      Inherit/No-inherit                    bit-3      Composite/Exclusive                   bit-4      Reactive/Nonreactive                  bit-5      Default                               bit-6      Default-dynamic                       bit-7      Visibility                            bit-8      Override-message                      bit-9      =============================================================== */   SavePPBuffer(theEnv," ");   specbits[0] = specbits[1] = '\0';   GetToken(theEnv,readSource,&DefclassData(theEnv)->ObjectParseToken);   if (GetType(DefclassData(theEnv)->ObjectParseToken) != SYMBOL)     {      DeleteSlots(theEnv,slist);      SyntaxErrorMessage(theEnv,"defclass slot");      return(NULL);     }   if ((DefclassData(theEnv)->ObjectParseToken.value == (void *) DefclassData(theEnv)->ISA_SYMBOL) ||       (DefclassData(theEnv)->ObjectParseToken.value == (void *) DefclassData(theEnv)->NAME_SYMBOL))     {      DeleteSlots(theEnv,slist);      SyntaxErrorMessage(theEnv,"defclass slot");      return(NULL);     }   slot = NewSlot(theEnv,(SYMBOL_HN *) GetValue(DefclassData(theEnv)->ObjectParseToken));   slist = InsertSlot(theEnv,slist,slot);   if (slist == NULL)     return(NULL);   if (multiSlot)     slot->multiple = TRUE;   if (fieldSpecified)     SetBitMap(specbits,FIELD_BIT);   GetToken(theEnv,readSource,&DefclassData(theEnv)->ObjectParseToken);   IncrementIndentDepth(theEnv,3);   InitializeConstraintParseRecord(&parsedConstraint);   while (GetType(DefclassData(theEnv)->ObjectParseToken) == LPAREN)     {      PPBackup(theEnv);      PPCRAndIndent(theEnv);      SavePPBuffer(theEnv,"(");      GetToken(theEnv,readSource,&DefclassData(theEnv)->ObjectParseToken);      if (GetType(DefclassData(theEnv)->ObjectParseToken) != SYMBOL)        {         SyntaxErrorMessage(theEnv,"defclass slot");         goto ParseSlotError;        }      else if (strcmp(DOToString(DefclassData(theEnv)->ObjectParseToken),DEFAULT_FACET) == 0)        {         if (ParseDefaultFacet(theEnv,readSource,specbits,slot) == FALSE)           goto ParseSlotError;        }      else if (strcmp(DOToString(DefclassData(theEnv)->ObjectParseToken),DYNAMIC_FACET) == 0)        {         SetBitMap(specbits,DEFAULT_DYNAMIC_BIT);         if (ParseDefaultFacet(theEnv,readSource,specbits,slot) == FALSE)           goto ParseSlotError;        }      else if (strcmp(DOToString(DefclassData(theEnv)->ObjectParseToken),ACCESS_FACET) == 0)        {         rtnCode = ParseSimpleFacet(theEnv,readSource,specbits,ACCESS_FACET,ACCESS_BIT,                                    SLOT_RDWRT_RLN,SLOT_RDONLY_RLN,SLOT_INIT_RLN,                                    NULL,NULL);         if (rtnCode == -1)           goto ParseSlotError;         else if (rtnCode == 1)           slot->noWrite = 1;         else if (rtnCode == 2)           slot->initializeOnly = 1;        }      else if (strcmp(DOToString(DefclassData(theEnv)->ObjectParseToken),STORAGE_FACET) == 0)        {         rtnCode = ParseSimpleFacet(theEnv,readSource,specbits,STORAGE_FACET,STORAGE_BIT,                                    SLOT_LOCAL_RLN,SLOT_SHARE_RLN,NULL,NULL,NULL);         if (rtnCode == -1)           goto ParseSlotError;         slot->shared = rtnCode;        }      else if (strcmp(DOToString(DefclassData(theEnv)->ObjectParseToken),PROPAGATION_FACET) == 0)        {         rtnCode = ParseSimpleFacet(theEnv,readSource,specbits,PROPAGATION_FACET,PROPAGATION_BIT,                                    SLOT_INH_RLN,SLOT_NO_INH_RLN,NULL,NULL,NULL);         if (rtnCode == -1)           goto ParseSlotError;         slot->noInherit = rtnCode;        }      else if (strcmp(DOToString(DefclassData(theEnv)->ObjectParseToken),SOURCE_FACET) == 0)        {         rtnCode = ParseSimpleFacet(theEnv,readSource,specbits,SOURCE_FACET,SOURCE_BIT,                                    SLOT_EXCLUSIVE_RLN,SLOT_COMPOSITE_RLN,NULL,NULL,NULL);         if (rtnCode == -1)           goto ParseSlotError;         slot->composite = rtnCode;        }#if DEFRULE_CONSTRUCT      else if (strcmp(DOToString(DefclassData(theEnv)->ObjectParseToken),MATCH_FACET) == 0)        {         rtnCode = ParseSimpleFacet(theEnv,readSource,specbits,MATCH_FACET,MATCH_BIT,                                    SLOT_NONREACTIVE_RLN,SLOT_REACTIVE_RLN,NULL,NULL,NULL);         if (rtnCode == -1)           goto ParseSlotError;         slot->reactive = rtnCode;        }#endif      else if (strcmp(DOToString(DefclassData(theEnv)->ObjectParseToken),VISIBILITY_FACET) == 0)        {         rtnCode = ParseSimpleFacet(theEnv,readSource,specbits,VISIBILITY_FACET,VISIBILITY_BIT,                                    SLOT_PRIVATE_RLN,SLOT_PUBLIC_RLN,NULL,NULL,NULL);         if (rtnCode == -1)           goto ParseSlotError;         slot->publicVisibility = rtnCode;        }      else if (strcmp(DOToString(DefclassData(theEnv)->ObjectParseToken),CREATE_ACCESSOR_FACET) == 0)        {         rtnCode = ParseSimpleFacet(theEnv,readSource,specbits,CREATE_ACCESSOR_FACET,                                    CREATE_ACCESSOR_BIT,                                    SLOT_READ_RLN,SLOT_WRITE_RLN,SLOT_RDWRT_RLN,                                    SLOT_NONE_RLN,NULL);         if (rtnCode == -1)           goto ParseSlotError;         if ((rtnCode == 0) || (rtnCode == 2))           slot->createReadAccessor = TRUE;         if ((rtnCode == 1) || (rtnCode == 2))           slot->createWriteAccessor = TRUE;        }      else if (strcmp(DOToString(DefclassData(theEnv)->ObjectParseToken),OVERRIDE_MSG_FACET) == 0)        {         rtnCode = ParseSimpleFacet(theEnv,readSource,specbits,OVERRIDE_MSG_FACET,OVERRIDE_MSG_BIT,                                    NULL,NULL,NULL,SLOT_DEFAULT_RLN,&newOverrideMsg);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美a级理论片| 色婷婷av久久久久久久| 久久久久久9999| 欧美福利视频导航| 日韩一区二区三区在线| 成人美女视频在线观看| 一区二区三区在线播放| 中文字幕欧美一| 欧美国产日本韩| 亚洲国产精品成人综合| 欧美激情综合网| 国产清纯在线一区二区www| 久久久久97国产精华液好用吗| 26uuu国产电影一区二区| 日韩精品一区二区三区在线播放| 中文字幕 久热精品 视频在线| 精品国一区二区三区| 国产美女主播视频一区| 夜夜操天天操亚洲| 久久久青草青青国产亚洲免观| 91丨porny丨国产入口| 国产精选一区二区三区| 日欧美一区二区| 亚洲欧洲韩国日本视频| 国产女主播一区| 欧美变态tickle挠乳网站| 91精品国产综合久久香蕉麻豆 | 国产一区二区三区免费播放| 亚洲综合999| 亚洲欧洲性图库| 中文字幕一区二区在线观看| 在线不卡欧美精品一区二区三区| 国产尤物一区二区| 老色鬼精品视频在线观看播放| 日韩码欧中文字| 亚洲男女毛片无遮挡| 日韩欧美视频一区| 欧美综合视频在线观看| 99久久久久久99| 亚洲欧美偷拍卡通变态| 2023国产精品视频| 久久丝袜美腿综合| 亚洲国产美国国产综合一区二区| 一本色道亚洲精品aⅴ| 日韩一区二区在线看| 精品理论电影在线| 国产精品三级视频| 亚洲一区二区三区国产| 看电影不卡的网站| 91同城在线观看| 欧美一级爆毛片| 最新成人av在线| 日本欧美在线观看| 国产成人综合视频| 日韩国产一二三区| 韩国一区二区三区| 色哟哟亚洲精品| 日韩一本二本av| 亚洲精品欧美二区三区中文字幕| 久久久天堂av| 亚洲一区二区在线观看视频| 精品系列免费在线观看| 一本大道久久a久久精二百| 国产精品久久久久久福利一牛影视| 免费成人av在线播放| 99re66热这里只有精品3直播| 亚洲乱码精品一二三四区日韩在线| 91网站在线播放| 日韩有码一区二区三区| xfplay精品久久| 99久久99久久精品免费看蜜桃| 亚洲国产一区二区a毛片| 在线成人av网站| 亚洲欧美激情一区二区| 国产在线精品一区二区三区不卡| 在线观看日韩高清av| 国产精品色在线| 在线亚洲免费视频| 欧美日韩视频一区二区| 色婷婷狠狠综合| 91精品欧美综合在线观看最新| 国产精品网站在线观看| 久久国产精品色婷婷| 欧美午夜在线一二页| 国产精品国模大尺度视频| 国产乱人伦偷精品视频不卡| 欧美一卡二卡三卡四卡| 一区二区三区四区中文字幕| 成人黄色电影在线 | 色婷婷综合久久久| 国产午夜三级一区二区三| 久久精品噜噜噜成人av农村| 欧美日韩另类一区| 亚洲图片一区二区| 在线亚洲一区观看| 一区二区三区免费在线观看| 99久久精品国产麻豆演员表| 国产精品毛片大码女人| 国产91高潮流白浆在线麻豆| 久久婷婷国产综合精品青草| 久久精品国产99国产精品| 欧美一区二区三区四区久久| 五月婷婷久久综合| 欧美女孩性生活视频| 亚洲成人激情综合网| 欧美日韩国产精品成人| 亚洲123区在线观看| 欧美三级欧美一级| 亚洲国产aⅴ天堂久久| 欧美三级在线视频| 午夜av区久久| 日韩一级完整毛片| 久久国产成人午夜av影院| 亚洲精品在线免费观看视频| 紧缚捆绑精品一区二区| 国产婷婷一区二区| 成人短视频下载| 一区二区在线观看av| 91.com在线观看| 久久99久久久久久久久久久| 久久久不卡网国产精品二区| 国产1区2区3区精品美女| 欧美激情一区不卡| 成人激情黄色小说| 最好看的中文字幕久久| 精品午夜一区二区三区在线观看| 久久精品一区二区三区不卡| 99精品国产99久久久久久白柏| 国产精品免费av| 欧美亚洲尤物久久| 亚洲国产中文字幕| 精品国偷自产国产一区| 日本在线不卡一区| 日韩一区二区三区在线视频| 国产成人综合在线| 国产精品黄色在线观看 | 色婷婷国产精品综合在线观看| 亚洲国产综合色| 欧美丰满高潮xxxx喷水动漫| 国产在线视频不卡二| 久久久三级国产网站| 成人免费毛片a| 尤物av一区二区| 欧美精选一区二区| 精品在线免费视频| 亚洲日本在线天堂| 在线成人av网站| 国产精品中文有码| 亚洲一区在线观看视频| 7777女厕盗摄久久久| 国产精品亚洲人在线观看| 国产精品天天看| 欧美日韩小视频| 黄色成人免费在线| 国产精品久久久久久久第一福利| 欧美群妇大交群中文字幕| 男人的天堂久久精品| 亚洲欧洲www| 欧美视频第二页| 福利电影一区二区| 日韩欧美精品三级| 91色婷婷久久久久合中文| 久久99精品久久久久久| 中文av一区二区| 日韩午夜av一区| zzijzzij亚洲日本少妇熟睡| 日本不卡一区二区三区高清视频| 日韩欧美电影在线| 欧美在线观看一区二区| 国产精品亚洲第一| 天使萌一区二区三区免费观看| 中文字幕第一区二区| 在线日韩av片| 国产suv精品一区二区6| 亚洲二区在线观看| 亚洲少妇最新在线视频| 久久综合精品国产一区二区三区| 91免费观看国产| 高清在线成人网| 日一区二区三区| 一区二区三区在线免费播放| 制服丝袜亚洲精品中文字幕| 色综合色狠狠天天综合色| 国产精品小仙女| 日韩精品亚洲一区| 洋洋av久久久久久久一区| 久久久久久久久久看片| 欧美一区二区三区的| 在线观看欧美日本| 国产高清不卡一区| 精品一区二区综合| 亚洲午夜一二三区视频| 亚洲免费资源在线播放| 精品精品国产高清a毛片牛牛| 欧美视频一区二区三区| 91搞黄在线观看| 成人app在线观看| 风间由美中文字幕在线看视频国产欧美| 日韩午夜三级在线| 91精品在线麻豆|