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

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

?? genrcbin.c

?? clips源代碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
   /*******************************************************/   /*      "C" Language Integrated Production System      */   /*                                                     */   /*             CLIPS Version 6.22  06/15/04            */   /*                                                     */   /*                                                     */   /*******************************************************//*************************************************************//* Purpose: Binary Load/Save Functions for Generic Functions *//*                                                           *//* Principal Programmer(s):                                  *//*      Brian L. Donnell                                     *//*                                                           *//* Contributing Programmer(s):                               *//*                                                           *//* Revision History:                                         *//*                                                           *//*************************************************************//* =========================================   *****************************************               EXTERNAL DEFINITIONS   =========================================   ***************************************** */#include "setup.h"#if DEFGENERIC_CONSTRUCT && (BLOAD || BLOAD_ONLY || BLOAD_AND_BSAVE)#include "constant.h"#include "envrnmnt.h"#include "memalloc.h"#include "bload.h"#include "bsave.h"#include "cstrcbin.h"#if OBJECT_SYSTEM#include "objbin.h"#endif#include "genrccom.h"#include "modulbin.h"#define _GENRCBIN_SOURCE_#include "genrcbin.h"#include "router.h"/* =========================================   *****************************************               MACROS AND TYPES   =========================================   ***************************************** */#define MethodPointer(i) (((i) == -1L) ? NULL : (DEFMETHOD *) &DefgenericBinaryData(theEnv)->MethodArray[i])#define RestrictionPointer(i) (((i) == -1L) ? NULL : (RESTRICTION *) &DefgenericBinaryData(theEnv)->RestrictionArray[i])#define TypePointer(i) (((i) == -1L) ? NULL : (void **) &DefgenericBinaryData(theEnv)->TypeArray[i])typedef struct bsaveRestriction  {   long types,query;   short tcnt;  } BSAVE_RESTRICTION;typedef struct bsaveMethod  {   unsigned index;   int restrictionCount,       minRestrictions,maxRestrictions,       localVarCount;   int system;   long restrictions,actions;  } BSAVE_METHOD;typedef struct bsaveGenericFunc  {   struct bsaveConstructHeader header;   long methods;   unsigned mcnt;  } BSAVE_GENERIC;typedef struct bsaveGenericModule  {   struct bsaveDefmoduleItemHeader header;  } BSAVE_DEFGENERIC_MODULE;/* =========================================   *****************************************      INTERNALLY VISIBLE FUNCTION HEADERS   =========================================   ***************************************** */#if BLOAD_AND_BSAVEstatic void BsaveGenericsFind(void *);static void MarkDefgenericItems(void *,struct constructHeader *,void *);static void BsaveGenericsExpressions(void *,FILE *);static void BsaveMethodExpressions(void *,struct constructHeader *,void *);static void BsaveRestrictionExpressions(void *,struct constructHeader *,void *);static void BsaveGenerics(void *,FILE *);static void BsaveDefgenericHeader(void *,struct constructHeader *,void *);static void BsaveMethods(void *,struct constructHeader *,void *);static void BsaveMethodRestrictions(void *,struct constructHeader *,void *);static void BsaveRestrictionTypes(void *,struct constructHeader *,void *);static void BsaveStorageGenerics(void *,FILE *);#endifstatic void BloadStorageGenerics(void *);static void BloadGenerics(void *);static void UpdateGenericModule(void *,void *,long);static void UpdateGeneric(void *,void *,long);static void UpdateMethod(void *,void *,long);static void UpdateRestriction(void *,void *,long);static void UpdateType(void *,void *,long);static void ClearBloadGenerics(void *);static void DeallocateDefgenericBinaryData(void *);/* =========================================   *****************************************          EXTERNALLY VISIBLE FUNCTIONS   =========================================   ***************************************** *//***********************************************************  NAME         : SetupGenericsBload  DESCRIPTION  : Initializes data structures and                   routines for binary loads of                   generic function constructs  INPUTS       : None  RETURNS      : Nothing useful  SIDE EFFECTS : Routines defined and structures initialized  NOTES        : None ***********************************************************/globle void SetupGenericsBload(  void *theEnv)  {   AllocateEnvironmentData(theEnv,GENRCBIN_DATA,sizeof(struct defgenericBinaryData),DeallocateDefgenericBinaryData);#if BLOAD_AND_BSAVE   AddBinaryItem(theEnv,"generic functions",0,BsaveGenericsFind,BsaveGenericsExpressions,                             BsaveStorageGenerics,BsaveGenerics,                             BloadStorageGenerics,BloadGenerics,                             ClearBloadGenerics);#endif#if BLOAD || BLOAD_ONLY   AddBinaryItem(theEnv,"generic functions",0,NULL,NULL,NULL,NULL,                             BloadStorageGenerics,BloadGenerics,                             ClearBloadGenerics);#endif  }  /***********************************************************//* DeallocateDefgenericBinaryData: Deallocates environment *//*    data for the defgeneric binary functionality.        *//***********************************************************/static void DeallocateDefgenericBinaryData(  void *theEnv)  {#if (BLOAD || BLOAD_ONLY || BLOAD_AND_BSAVE) && (! RUN_TIME)   size_t space;   space = DefgenericBinaryData(theEnv)->GenericCount * sizeof(struct defgeneric);   if (space != 0) genfree(theEnv,(void *) DefgenericBinaryData(theEnv)->DefgenericArray,space);   space = DefgenericBinaryData(theEnv)->MethodCount * sizeof(struct method);   if (space != 0) genfree(theEnv,(void *) DefgenericBinaryData(theEnv)->MethodArray,space);   space = DefgenericBinaryData(theEnv)->RestrictionCount * sizeof(struct restriction);   if (space != 0) genfree(theEnv,(void *) DefgenericBinaryData(theEnv)->RestrictionArray,space);   space = DefgenericBinaryData(theEnv)->TypeCount * sizeof(void *);   if (space != 0) genfree(theEnv,(void *) DefgenericBinaryData(theEnv)->TypeArray,space);   space =  DefgenericBinaryData(theEnv)->ModuleCount * sizeof(struct defgenericModule);   if (space != 0) genfree(theEnv,(void *) DefgenericBinaryData(theEnv)->ModuleArray,space);#endif  }/***************************************************  NAME         : BloadDefgenericModuleReference  DESCRIPTION  : Returns a pointer to the                 appropriate defgeneric module  INPUTS       : The index of the module  RETURNS      : A pointer to the module  SIDE EFFECTS : None  NOTES        : None ***************************************************/globle void *BloadDefgenericModuleReference(  void *theEnv,  int theIndex)  {   return ((void *) &DefgenericBinaryData(theEnv)->ModuleArray[theIndex]);  }/* =========================================   *****************************************          INTERNALLY VISIBLE FUNCTIONS   =========================================   ***************************************** */#if BLOAD_AND_BSAVE/***************************************************************************  NAME         : BsaveGenericsFind  DESCRIPTION  : For all generic functions and their                   methods, this routine marks all                   the needed symbols and system functions.                 Also, it also counts the number of                   expression structures needed.                 Also, counts total number of generics, methods,                   restrictions and types.  INPUTS       : None  RETURNS      : Nothing useful  SIDE EFFECTS : ExpressionCount (a global from BSAVE.C) is incremented                   for every expression needed                 Symbols and system function are marked in their structures  NOTES        : Also sets bsaveIndex for each generic function (assumes                   generic functions will be bsaved in order of binary list) ***************************************************************************/static void BsaveGenericsFind(  void *theEnv)  {   SaveBloadCount(theEnv,DefgenericBinaryData(theEnv)->ModuleCount);   SaveBloadCount(theEnv,DefgenericBinaryData(theEnv)->GenericCount);   SaveBloadCount(theEnv,DefgenericBinaryData(theEnv)->MethodCount);   SaveBloadCount(theEnv,DefgenericBinaryData(theEnv)->RestrictionCount);   SaveBloadCount(theEnv,DefgenericBinaryData(theEnv)->TypeCount);   DefgenericBinaryData(theEnv)->GenericCount = 0L;   DefgenericBinaryData(theEnv)->MethodCount = 0L;   DefgenericBinaryData(theEnv)->RestrictionCount = 0L;   DefgenericBinaryData(theEnv)->TypeCount = 0L;   DefgenericBinaryData(theEnv)->ModuleCount =       DoForAllConstructs(theEnv,MarkDefgenericItems,DefgenericData(theEnv)->DefgenericModuleIndex,                                    FALSE,NULL);  }/***************************************************  NAME         : MarkDefgenericItems  DESCRIPTION  : Marks the needed items for                 a defgeneric (and methods) bsave  INPUTS       : 1) The defgeneric                 2) User data buffer (ignored)  RETURNS      : Nothing useful  SIDE EFFECTS : Needed items marked  NOTES        : None ***************************************************/#if IBM_TBC#pragma argsused#endifstatic void MarkDefgenericItems(  void *theEnv,  struct constructHeader *theDefgeneric,  void *userBuffer)  {#if MAC_MCW || IBM_MCW || MAC_XCD#pragma unused(userBuffer)#endif   DEFGENERIC *gfunc = (DEFGENERIC *) theDefgeneric;   long i,j;   DEFMETHOD *meth;   RESTRICTION *rptr;   MarkConstructHeaderNeededItems(&gfunc->header,DefgenericBinaryData(theEnv)->GenericCount++);   DefgenericBinaryData(theEnv)->MethodCount += (long) gfunc->mcnt;   for (i = 0 ; i < gfunc->mcnt ; i++)     {      meth = &gfunc->methods[i];      ExpressionData(theEnv)->ExpressionCount += ExpressionSize(meth->actions);      MarkNeededItems(theEnv,meth->actions);      DefgenericBinaryData(theEnv)->RestrictionCount += meth->restrictionCount;      for (j = 0 ; j < meth->restrictionCount ; j++)        {         rptr = &meth->restrictions[j];         ExpressionData(theEnv)->ExpressionCount += ExpressionSize(rptr->query);         MarkNeededItems(theEnv,rptr->query);         DefgenericBinaryData(theEnv)->TypeCount += rptr->tcnt;        }     }  }/***************************************************  NAME         : BsaveGenericsExpressions  DESCRIPTION  : Writes out all expressions needed                   by generic functions  INPUTS       : The file pointer of the binary file  RETURNS      : Nothing useful  SIDE EFFECTS : File updated  NOTES        : None ***************************************************/static void BsaveGenericsExpressions(  void *theEnv,  FILE *fp)  {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91在线porny国产在线看| 欧美精品乱人伦久久久久久| 色婷婷av一区二区三区gif | 国产高清亚洲一区| 在线不卡中文字幕播放| 国产日韩欧美高清在线| 亚洲午夜影视影院在线观看| 福利一区福利二区| 6080午夜不卡| 一区二区在线观看免费| 国产精品99久久久久久有的能看| 99国产麻豆精品| 久久只精品国产| 亚洲成av人影院| voyeur盗摄精品| 精品国产99国产精品| 亚洲动漫第一页| 91亚洲精华国产精华精华液| 久久精品视频免费| 久久精工是国产品牌吗| 在线不卡中文字幕播放| 亚洲最色的网站| 成人精品视频一区| 中文字幕的久久| 国产精品88888| 日韩欧美一区电影| 奇米一区二区三区| 91精品国产综合久久久蜜臀图片 | 爽好久久久欧美精品| 欧美亚洲国产一区在线观看网站| ●精品国产综合乱码久久久久| 国产一区二区视频在线| 日韩午夜电影在线观看| 丝袜诱惑亚洲看片| 欧美精品日日鲁夜夜添| 日日噜噜夜夜狠狠视频欧美人| 欧美三级日韩三级国产三级| 亚洲国产精品久久久久婷婷884| 色婷婷激情一区二区三区| 亚洲精品日产精品乱码不卡| 91网站在线观看视频| 亚洲精品一卡二卡| 在线免费不卡视频| 亚洲午夜精品网| 欧美日韩国产精品成人| 成人精品一区二区三区中文字幕| 国产欧美日韩视频在线观看| 粉嫩一区二区三区性色av| 欧美国产乱子伦 | 韩国欧美国产1区| 欧美成人欧美edvon| 国产成人精品网址| 国产精品传媒入口麻豆| 91免费视频大全| 亚洲不卡一区二区三区| 欧美一级淫片007| 国产一区二区免费在线| 中文字幕中文乱码欧美一区二区| aaa国产一区| 亚洲超丰满肉感bbw| 精品免费国产二区三区 | 中文字幕欧美区| 91亚洲精品一区二区乱码| 亚洲午夜激情av| 欧美videofree性高清杂交| 成人免费视频视频在线观看免费| 一区二区三区在线视频免费观看| 欧美日韩国产bt| 国产麻豆精品一区二区| 伊人婷婷欧美激情| 欧美xxxxx牲另类人与| 丁香桃色午夜亚洲一区二区三区| 樱桃视频在线观看一区| 精品久久久久久久久久久久包黑料| 国产酒店精品激情| 亚洲一区二区偷拍精品| 久久久精品国产99久久精品芒果| 91丝袜高跟美女视频| 免费在线欧美视频| 亚洲欧美一区二区三区久本道91| 日韩一级精品视频在线观看| 99久久99久久久精品齐齐| 蜜乳av一区二区三区| 一区二区在线电影| 国产欧美一区二区三区在线老狼| 欧美日韩精品免费观看视频| jiyouzz国产精品久久| 青椒成人免费视频| 一区二区三区精品视频| 久久中文娱乐网| 欧美精品18+| 91在线一区二区三区| 国产精品自拍av| 久久国产免费看| 日本不卡高清视频| 亚洲第一成年网| 亚洲精品免费播放| 中文字幕成人在线观看| 欧美sm极限捆绑bd| 欧美美女bb生活片| 欧美日韩在线播放三区四区| caoporen国产精品视频| 高清成人免费视频| 国产精品中文字幕日韩精品| 免费不卡在线观看| 日韩电影在线免费| 偷偷要91色婷婷| 午夜欧美视频在线观看| 亚洲第一av色| 视频一区二区三区中文字幕| 亚洲mv大片欧洲mv大片精品| 亚洲精品免费播放| 亚洲精品老司机| 亚洲乱码日产精品bd| 麻豆久久久久久久| 日本欧美一区二区| 免费精品视频在线| 老汉av免费一区二区三区| 青青青爽久久午夜综合久久午夜| 天天av天天翘天天综合网| 一区二区在线观看视频在线观看| |精品福利一区二区三区| 亚洲三级小视频| 一区二区三区在线观看视频 | 欧美亚洲综合网| av激情成人网| 色美美综合视频| 国产91精品一区二区麻豆亚洲| 奇米一区二区三区av| 久久国产精品99久久人人澡| 奇米777欧美一区二区| 美女视频免费一区| 久久成人精品无人区| 国产精品99久久久| 成人小视频在线观看| 91玉足脚交白嫩脚丫在线播放| 天天亚洲美女在线视频| 韩国av一区二区三区四区| 懂色一区二区三区免费观看| 国产99久久久久久免费看农村| 色天天综合色天天久久| 91农村精品一区二区在线| 6080yy午夜一二三区久久| 777色狠狠一区二区三区| 久久久国产一区二区三区四区小说 | 91亚洲国产成人精品一区二区三| 色美美综合视频| 91久久人澡人人添人人爽欧美 | 中文字幕免费不卡| 亚洲视频免费观看| 亚洲一区二区三区在线| 韩国v欧美v日本v亚洲v| 成人在线综合网| 欧美欧美欧美欧美| www成人在线观看| 一区二区在线观看不卡| 偷拍一区二区三区四区| 成人短视频下载| 91麻豆精品国产综合久久久久久| 欧美精品一区二区精品网| 亚洲精选视频免费看| 天堂久久一区二区三区| 成人永久免费视频| 欧美中文字幕一区| 国产偷国产偷精品高清尤物| 国产精品白丝在线| 国产自产v一区二区三区c| 色8久久人人97超碰香蕉987| 日韩一区二区电影网| 一区二区三区久久| 国产综合色产在线精品| 欧美欧美午夜aⅴ在线观看| 久久综合色婷婷| 男人的天堂久久精品| 韩国av一区二区三区四区 | 韩国三级在线一区| 欧美亚洲动漫精品| 国产精品福利一区| 免费成人结看片| 欧美猛男超大videosgay| 欧美—级在线免费片| 午夜精品久久久久久久久| 国产精品一线二线三线精华| 欧美丝袜丝交足nylons| 国产欧美一区在线| 国产乱淫av一区二区三区| 精品国产1区2区3区| 亚洲高清视频的网址| 91麻豆文化传媒在线观看| 欧美成人一区二区三区在线观看| 亚洲国产日日夜夜| 99久久亚洲一区二区三区青草 | 中文字幕一区二区三区乱码在线| 日韩制服丝袜av| 欧美日产国产精品| 五月婷婷欧美视频| 91精品91久久久中77777| 亚洲乱码一区二区三区在线观看| 国产成人午夜精品影院观看视频| 欧美一区二区高清|