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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? globldef.c

?? clips源代碼
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
   /*******************************************************/   /*      "C" Language Integrated Production System      */   /*                                                     */   /*             CLIPS Version 6.24  06/05/06            */   /*                                                     */   /*                  DEFGLOBAL MODULE                   */   /*******************************************************//*************************************************************//* Purpose: Provides core routines for the creation and      *//*   maintenance of the defglobal construct.                 *//*                                                           *//* Principal Programmer(s):                                  *//*      Gary D. Riley                                        *//*                                                           *//* Contributing Programmer(s):                               *//*      Brian L. Donnell                                     *//*                                                           *//* Revision History:                                         *//*      6.23: Correction for FalseSymbol/TrueSymbol. DR0859  *//*                                                           *//*      6.24: Renamed BOOLEAN macro type to intBool.         *//*                                                           *//*            Corrected code to remove run-time program      *//*            compiler warning.                              *//*                                                           *//*************************************************************/#define _GLOBLDEF_SOURCE_#include "setup.h"#if DEFGLOBAL_CONSTRUCT#include <stdio.h>#define _STDIO_INCLUDED_#include "memalloc.h"#include "modulpsr.h"#include "multifld.h"#include "router.h"#include "strngrtr.h"#include "modulutl.h"#include "globlbsc.h"#include "globlpsr.h"#include "globlcom.h"#include "utility.h"#include "commline.h"#include "envrnmnt.h"#if BLOAD || BLOAD_ONLY || BLOAD_AND_BSAVE#include "bload.h"#include "globlbin.h"#endif#if CONSTRUCT_COMPILER && (! RUN_TIME)#include "globlcmp.h"#endif#include "globldef.h"/***************************************//* LOCAL INTERNAL FUNCTION DEFINITIONS *//***************************************/   static void                   *AllocateModule(void *);   static void                    ReturnModule(void *,void *);   static void                    ReturnDefglobal(void *,void *);   static void                    InitializeDefglobalModules(void *);   static intBool                 GetDefglobalValue2(void *,void *,DATA_OBJECT_PTR);   static void                    IncrementDefglobalBusyCount(void *,void *);   static void                    DecrementDefglobalBusyCount(void *,void *);   static void                    DeallocateDefglobalData(void *);   static void                    DestroyDefglobalAction(void *,struct constructHeader *,void *);   static void                    DestroyDefglobal(void *,void *);/**************************************************************//* InitializeDefglobals: Initializes the defglobal construct. *//**************************************************************/globle void InitializeDefglobals(  void *theEnv)  {     struct entityRecord globalInfo = { "GBL_VARIABLE", GBL_VARIABLE,0,0,0,                                                       NULL,                                                       NULL,                                                       NULL,                                                       GetDefglobalValue2,                                                       NULL,NULL,                                                       NULL,NULL,NULL,NULL,NULL,NULL };   struct entityRecord defglobalPtrRecord = { "DEFGLOBAL_PTR", DEFGLOBAL_PTR,0,0,0,                                                       NULL,NULL,NULL,                                                       QGetDefglobalValue,                                                       NULL,                                                       DecrementDefglobalBusyCount,                                                       IncrementDefglobalBusyCount,                                                       NULL,NULL,NULL,NULL,NULL };      AllocateEnvironmentData(theEnv,DEFGLOBAL_DATA,sizeof(struct defglobalData),DeallocateDefglobalData);      memcpy(&DefglobalData(theEnv)->GlobalInfo,&globalInfo,sizeof(struct entityRecord));      memcpy(&DefglobalData(theEnv)->DefglobalPtrRecord,&defglobalPtrRecord,sizeof(struct entityRecord));      DefglobalData(theEnv)->ResetGlobals = TRUE;   DefglobalData(theEnv)->LastModuleIndex = -1;      InstallPrimitive(theEnv,&DefglobalData(theEnv)->GlobalInfo,GBL_VARIABLE);   InstallPrimitive(theEnv,&DefglobalData(theEnv)->DefglobalPtrRecord,DEFGLOBAL_PTR);   InitializeDefglobalModules(theEnv);   DefglobalBasicCommands(theEnv);   DefglobalCommandDefinitions(theEnv);   DefglobalData(theEnv)->DefglobalConstruct =      AddConstruct(theEnv,"defglobal","defglobals",ParseDefglobal,EnvFindDefglobal,                   GetConstructNamePointer,GetConstructPPForm,                   GetConstructModuleItem,EnvGetNextDefglobal,SetNextConstruct,                   EnvIsDefglobalDeletable,EnvUndefglobal,ReturnDefglobal);  }/****************************************************//* DeallocateDefglobalData: Deallocates environment *//*    data for the defglobal construct.             *//****************************************************/static void DeallocateDefglobalData(  void *theEnv)  {#if ! RUN_TIME   struct defglobalModule *theModuleItem;   void *theModule;   #if BLOAD || BLOAD_AND_BSAVE   if (Bloaded(theEnv)) return;#endif   DoForAllConstructs(theEnv,DestroyDefglobalAction,DefglobalData(theEnv)->DefglobalModuleIndex,FALSE,NULL);    for (theModule = EnvGetNextDefmodule(theEnv,NULL);        theModule != NULL;        theModule = EnvGetNextDefmodule(theEnv,theModule))     {      theModuleItem = (struct defglobalModule *)                      GetModuleItem(theEnv,(struct defmodule *) theModule,                                    DefglobalData(theEnv)->DefglobalModuleIndex);      rtn_struct(theEnv,defglobalModule,theModuleItem);     }#else   DoForAllConstructs(theEnv,DestroyDefglobalAction,DefglobalData(theEnv)->DefglobalModuleIndex,FALSE,NULL); #endif  }  /***************************************************//* DestroyDefglobalAction: Action used to remove   *//*   defglobals as a result of DestroyEnvironment. *//***************************************************/#if IBM_TBC#pragma argsused#endifstatic void DestroyDefglobalAction(  void *theEnv,  struct constructHeader *theConstruct,  void *buffer)  {#if MAC_MCW || IBM_MCW || MAC_XCD#pragma unused(buffer)#endif#if (! BLOAD_ONLY)   struct defglobal *theDefglobal = (struct defglobal *) theConstruct;      if (theDefglobal == NULL) return;   DestroyDefglobal(theEnv,theDefglobal);#else#if MAC_MCW || IBM_MCW || MAC_XCD#pragma unused(theEnv,theConstruct)#endif#endif  }/*********************************************************//* InitializeDefglobalModules: Initializes the defglobal *//*   construct for use with the defmodule construct.     *//*********************************************************/static void InitializeDefglobalModules(  void *theEnv)  {   DefglobalData(theEnv)->DefglobalModuleIndex = RegisterModuleItem(theEnv,"defglobal",                                    AllocateModule,                                    ReturnModule,#if BLOAD_AND_BSAVE || BLOAD || BLOAD_ONLY                                    BloadDefglobalModuleReference,#else                                    NULL,#endif#if CONSTRUCT_COMPILER && (! RUN_TIME)                                    DefglobalCModuleReference,#else                                    NULL,#endif                                    EnvFindDefglobal);#if (! BLOAD_ONLY) && (! RUN_TIME) && DEFMODULE_CONSTRUCT   AddPortConstructItem(theEnv,"defglobal",SYMBOL);#endif  }/*************************************************//* AllocateModule: Allocates a defglobal module. *//*************************************************/static void *AllocateModule(  void *theEnv)  {      return((void *) get_struct(theEnv,defglobalModule));   }/***********************************************//* ReturnModule: Deallocates a defglobal module. *//***********************************************/static void ReturnModule(  void *theEnv,  void *theItem)  {   FreeConstructHeaderModule(theEnv,(struct defmoduleItemHeader *) theItem,DefglobalData(theEnv)->DefglobalConstruct);   rtn_struct(theEnv,defglobalModule,theItem);  }/**************************************************************//* GetDefglobalModuleItem: Returns a pointer to the defmodule *//*  item for the specified defglobal or defmodule.            *//**************************************************************/globle struct defglobalModule *GetDefglobalModuleItem(  void *theEnv,  struct defmodule *theModule)  {   return((struct defglobalModule *) GetConstructModuleItemByIndex(theEnv,theModule,DefglobalData(theEnv)->DefglobalModuleIndex));  }/*****************************************************//* EnvFindDefglobal: Searches for a defglobal in the *//*   list of defglobals. Returns a pointer to the    *//*   defglobal if found, otherwise NULL.             *//*****************************************************/globle void *EnvFindDefglobal(  void *theEnv,  char *defglobalName)  {    return(FindNamedConstruct(theEnv,defglobalName,DefglobalData(theEnv)->DefglobalConstruct));   }/********************************************************************//* EnvGetNextDefglobal: If passed a NULL pointer, returns the first *//*   defglobal in the defglobal list. Otherwise returns the next    *//*   defglobal following the defglobal passed as an argument.       *//********************************************************************/globle void *EnvGetNextDefglobal(  void *theEnv,  void *defglobalPtr)  {    return((void *) GetNextConstructItem(theEnv,(struct constructHeader *) defglobalPtr,DefglobalData(theEnv)->DefglobalModuleIndex));   }/*********************************************************//* EnvIsDefglobalDeletable: Returns TRUE if a particular *//*   defglobal can be deleted, otherwise returns FALSE.  *//*********************************************************/globle intBool EnvIsDefglobalDeletable(  void *theEnv,  void *ptr)  {   if (! ConstructsDeletable(theEnv))     { return FALSE; }   if (((struct defglobal *) ptr)->busyCount) return(FALSE);   return(TRUE);  }/************************************************************//* ReturnDefglobal: Returns the data structures associated  *//*   with a defglobal construct to the pool of free memory. *//************************************************************/static void ReturnDefglobal(  void *theEnv,  void *vTheDefglobal)  {#if (MAC_MCW || IBM_MCW) && (RUN_TIME || BLOAD_ONLY)#pragma unused(theEnv,vTheDefglobal)#endif   #if (! BLOAD_ONLY) && (! RUN_TIME)   struct defglobal *theDefglobal = (struct defglobal *) vTheDefglobal;      if (theDefglobal == NULL) return;   /*====================================*/   /* Return the global's current value. */   /*====================================*/   ValueDeinstall(theEnv,&theDefglobal->current);   if (theDefglobal->current.type == MULTIFIELD)     { ReturnMultifield(theEnv,(struct multifield *) theDefglobal->current.value); }   /*================================================*/   /* Return the expression representing the initial */   /* value of the defglobal when it was defined.    */   /*================================================*/   RemoveHashedExpression(theEnv,theDefglobal->initial);   /*===============================*/   /* Release items stored in the   */   /* defglobal's construct header. */   /*===============================*/   DeinstallConstructHeader(theEnv,&theDefglobal->header);   /*======================================*/   /* Return the defglobal data structure. */   /*======================================*/   rtn_struct(theEnv,defglobal,theDefglobal);   /*===========================================*/   /* Set the variable indicating that a change */   /* has been made to a global variable.       */   /*===========================================*/   DefglobalData(theEnv)->ChangeToGlobals = TRUE;#endif  }  /************************************************************//* DestroyDefglobal: Returns the data structures associated  *//*   with a defglobal construct to the pool of free memory. *//************************************************************/static void DestroyDefglobal(  void *theEnv,  void *vTheDefglobal)  {#if (MAC_MCW || IBM_MCW) && BLOAD_ONLY#pragma unused(theEnv,vTheDefglobal)#endif   #if (! BLOAD_ONLY)   struct defglobal *theDefglobal = (struct defglobal *) vTheDefglobal;      if (theDefglobal == NULL) return;   /*====================================*/   /* Return the global's current value. */   /*====================================*/   if (theDefglobal->current.type == MULTIFIELD)     { ReturnMultifield(theEnv,(struct multifield *) theDefglobal->current.value); }     #if (! RUN_TIME)   /*===============================*/   /* Release items stored in the   */   /* defglobal's construct header. */   /*===============================*/   DeinstallConstructHeader(theEnv,&theDefglobal->header);   /*======================================*/   /* Return the defglobal data structure. */   /*======================================*/   rtn_struct(theEnv,defglobal,theDefglobal);#endif#endif  }  /************************************************//* QSetDefglobalValue: Lowest level routine for *//*   setting a defglobal's value.               *//************************************************/globle void QSetDefglobalValue(  void *theEnv,  struct defglobal *theGlobal,  DATA_OBJECT_PTR vPtr,  int resetVar)  {   /*====================================================*/   /* If the new value passed for the defglobal is NULL, */   /* then reset the defglobal to the initial value it   */   /* had when it was defined.                           */   /*====================================================*/   if (resetVar)     {      EvaluateExpression(theEnv,theGlobal->initial,vPtr);      if (EvaluationData(theEnv)->EvaluationError)        {         vPtr->type = SYMBOL;         vPtr->value = EnvFalseSymbol(theEnv);        }     }   /*==========================================*/   /* If globals are being watch, then display */   /* the change to the global variable.       */   /*==========================================*/#if DEBUGGING_FUNCTIONS

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲女人久久久久毛片| 亚洲人成伊人成综合网小说| 一区二区三区日韩| 精品一二三四区| 亚洲欧美另类在线| 欧美一卡2卡3卡4卡| 色综合av在线| 国产精品一区在线观看乱码| 婷婷开心激情综合| |精品福利一区二区三区| 日韩欧美自拍偷拍| 欧美无砖砖区免费| 99免费精品视频| 国产寡妇亲子伦一区二区| 丝袜亚洲另类丝袜在线| 亚洲精品视频一区二区| 久久久久国产精品麻豆ai换脸| 欧美久久久久久蜜桃| 91同城在线观看| thepron国产精品| 国产精品一二三| 久久99精品久久久久| 首页国产欧美久久| 亚洲一区二区三区三| 亚洲少妇最新在线视频| 中文久久乱码一区二区| 久久精品无码一区二区三区| 日韩国产一区二| 亚洲影视在线观看| 国产精品日韩成人| 久久久精品综合| 欧美一级电影网站| 日韩精品一区在线| 欧美一区二区三区在线看| 欧美在线观看一区| 欧美影片第一页| 欧美性猛交xxxx黑人交| 欧美在线三级电影| 欧美日韩黄色影视| 欧美三区在线观看| 欧美裸体一区二区三区| 欧美日韩国产影片| 欧美狂野另类xxxxoooo| 91精品国产麻豆国产自产在线| 欧美日韩一区久久| 欧美日韩黄视频| 欧美一区二区不卡视频| 日韩欧美一级在线播放| 日韩一二三区不卡| 精品国产乱码久久久久久牛牛| 精品国产在天天线2019| 中文字幕第一区综合| 中文天堂在线一区| 国产精品美女久久久久久| 欧美极品aⅴ影院| 国产精品国产三级国产aⅴ原创 | 欧美日韩国产小视频在线观看| 欧洲精品在线观看| 宅男噜噜噜66一区二区66| 精品久久人人做人人爱| 欧美高清一级片在线观看| 国产精品久久久久久福利一牛影视| 国产精品女上位| 亚洲乱码国产乱码精品精可以看| 亚洲一线二线三线久久久| 国产成人丝袜美腿| 91女人视频在线观看| 欧美日韩黄色影视| 精品久久久久香蕉网| 中文字幕五月欧美| 午夜天堂影视香蕉久久| 久久66热偷产精品| 色综合天天在线| 91精品国产福利在线观看| 国产亚洲欧美色| 欧美日韩国产影片| 欧美亚日韩国产aⅴ精品中极品| 日韩视频免费观看高清完整版在线观看 | 91在线视频播放地址| 欧美精品丝袜中出| 日本一二三不卡| 亚洲午夜精品网| 国产成人av电影在线| 在线电影一区二区三区| 中文字幕精品一区二区三区精品| 亚洲丰满少妇videoshd| 黄色成人免费在线| 欧美三级视频在线观看| 国产三级欧美三级| 性欧美大战久久久久久久久| 国产91清纯白嫩初高中在线观看| 欧美日韩午夜影院| 中文幕一区二区三区久久蜜桃| 午夜av一区二区| 波多野结衣精品在线| 欧美一级精品大片| 亚洲精品综合在线| 高清成人免费视频| 正在播放亚洲一区| 一区二区三区免费看视频| 成人性生交大片免费看中文 | 福利一区二区在线观看| 欧美日韩精品一区视频| 亚洲一区二区四区蜜桃| 国产麻豆精品久久一二三| 欧美日韩小视频| 亚洲欧美一区二区在线观看| 久久成人免费网站| 欧美日韩在线三区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 免费在线看成人av| 欧美视频在线观看一区二区| 国产亚洲一区二区三区在线观看| 日韩高清不卡一区二区| 欧美在线高清视频| 综合精品久久久| 国产精品一区二区果冻传媒| 91精品国产日韩91久久久久久| 一区二区在线观看不卡| 欧美性猛片xxxx免费看久爱| 国产精品国产三级国产aⅴ入口| 精品一区二区久久久| 欧美一区二区视频在线观看2022 | 777奇米成人网| 亚洲成人自拍网| 欧美唯美清纯偷拍| 一区二区三区色| 色综合激情久久| 亚洲欧美国产77777| 99久久精品国产一区| 国产伦精一区二区三区| 日韩天堂在线观看| 免费看欧美女人艹b| 在线播放亚洲一区| 日日噜噜夜夜狠狠视频欧美人 | 视频一区在线播放| 欧美二区在线观看| 日本不卡一区二区三区 | 国产夜色精品一区二区av| 久久97超碰色| 欧美xxxxxxxx| 国产很黄免费观看久久| 中文字幕欧美国产| eeuss鲁片一区二区三区| 国产精品久久久久精k8 | 欧美一区二区三区人| 日本午夜一区二区| 精品免费99久久| 国产精品一级黄| 国产精品卡一卡二| 色综合视频在线观看| 亚洲一区二区三区四区在线| 欧美丰满嫩嫩电影| 国产原创一区二区| 国产精品久久久久一区二区三区| 国产精品1区2区3区| 久久超碰97人人做人人爱| 51精品秘密在线观看| 首页亚洲欧美制服丝腿| 欧美成人一区二区| 国产a级毛片一区| 亚洲女与黑人做爰| 欧美日韩国产成人在线免费| 久久精品国产一区二区三区免费看| 欧美电视剧在线观看完整版| 国产精品66部| 亚洲一区二区三区中文字幕在线| 欧美一级欧美三级在线观看 | 石原莉奈一区二区三区在线观看| 日韩欧美激情在线| 成人小视频在线观看| 亚洲午夜一区二区三区| 精品少妇一区二区| 99久久综合99久久综合网站| 午夜a成v人精品| 国产女人水真多18毛片18精品视频 | 亚洲国产视频直播| 久久久久久免费毛片精品| 成人av在线电影| 免费xxxx性欧美18vr| 国产精品久久久久婷婷二区次| 亚洲免费观看高清在线观看| 一本久久a久久免费精品不卡| 午夜精品久久久久久| 久久九九久久九九| 欧美日韩一卡二卡| 国产成人免费视频精品含羞草妖精| 亚洲一区二区精品3399| 久久久欧美精品sm网站| 欧美日韩一区久久| 亚洲欧美另类久久久精品| 精品在线播放午夜| 欧美另类videos死尸| 国产激情91久久精品导航| 亚洲综合色自拍一区| 国产午夜亚洲精品羞羞网站| 欧美日韩亚洲综合在线| 成人av在线资源| 国产一区二区三区国产| 亚洲第一综合色|