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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? insfun.c

?? clips源代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
  SYMBOL_HN *moduleAndInstanceName)  {   unsigned modulePosition,searchImports;   SYMBOL_HN *moduleName,*instanceName;   struct defmodule *currentModule,*theModule;   currentModule = ((struct defmodule *) EnvGetCurrentModule(theEnv));   /* =======================================      Instance names of the form [<name>] are      searched for only in the current module      ======================================= */   modulePosition = FindModuleSeparator(ValueToString(moduleAndInstanceName));   if (modulePosition == FALSE)     {      theModule = currentModule;      instanceName = moduleAndInstanceName;      searchImports = FALSE;     }   /* =========================================      Instance names of the form [::<name>] are      searched for in the current module and      imported modules in the definition order      ========================================= */   else if (modulePosition == 1)     {      theModule = currentModule;      instanceName = ExtractConstructName(theEnv,modulePosition,ValueToString(moduleAndInstanceName));      searchImports = TRUE;     }   /* =============================================      Instance names of the form [<module>::<name>]      are searched for in the specified module      ============================================= */   else     {      moduleName = ExtractModuleName(theEnv,modulePosition,ValueToString(moduleAndInstanceName));      theModule = (struct defmodule *) EnvFindDefmodule(theEnv,ValueToString(moduleName));      instanceName = ExtractConstructName(theEnv,modulePosition,ValueToString(moduleAndInstanceName));      if (theModule == NULL)        return(NULL);      searchImports = FALSE;     }   return(FindInstanceInModule(theEnv,instanceName,theModule,currentModule,searchImports));  }/***************************************************  NAME         : FindInstanceInModule  DESCRIPTION  : Finds an instance of the given name                 in the given module in scope of                 the given current module                 (will also search imported modules                  if specified)  INPUTS       : 1) The instance name (no module)                 2) The module to search                 3) The currently active module                 4) A flag indicating whether                    to search imported modules of                    given module as well  RETURNS      : The instance (NULL if none found)  SIDE EFFECTS : None  NOTES        : None ***************************************************/globle INSTANCE_TYPE *FindInstanceInModule(  void *theEnv,  SYMBOL_HN *instanceName,  struct defmodule *theModule,  struct defmodule *currentModule,  unsigned searchImports)  {   INSTANCE_TYPE *startInstance,*ins;   /* ===============================      Find the first instance of the      correct name in the hash chain      =============================== */   startInstance = InstanceData(theEnv)->InstanceTable[HashInstance(instanceName)];   while (startInstance != NULL)     {      if (startInstance->name == instanceName)        break;      startInstance = startInstance->nxtHash;     }   if (startInstance == NULL)     return(NULL);   /* ===========================================      Look for the instance in the specified      module - if the class of the found instance      is in scope of the current module, we have      found the instance      =========================================== */   for (ins = startInstance ;        (ins != NULL) ? (ins->name == startInstance->name) : FALSE ;        ins = ins->nxtHash)     if ((ins->cls->header.whichModule->theModule == theModule) &&          DefclassInScope(theEnv,ins->cls,currentModule))       return(ins);   /* ================================      For ::<name> formats, we need to      search imported modules too      ================================ */   if (searchImports == FALSE)     return(NULL);   MarkModulesAsUnvisited(theEnv);   return(FindImportedInstance(theEnv,theModule,currentModule,startInstance));  }/********************************************************************  NAME         : FindInstanceSlot  DESCRIPTION  : Finds an instance slot by name  INPUTS       : 1) The address of the instance                 2) The symbolic name of the slot  RETURNS      : The address of the slot, NULL if not found  SIDE EFFECTS : None  NOTES        : None ********************************************************************/globle INSTANCE_SLOT *FindInstanceSlot(  void *theEnv,  INSTANCE_TYPE *ins,  SYMBOL_HN *sname)  {   register int i;   i = FindInstanceTemplateSlot(theEnv,ins->cls,sname);   return((i != -1) ? ins->slotAddresses[i] : NULL);  }/********************************************************************  NAME         : FindInstanceTemplateSlot  DESCRIPTION  : Performs a search on an class's instance                   template slot array to find a slot by name  INPUTS       : 1) The address of the class                 2) The symbolic name of the slot  RETURNS      : The index of the slot, -1 if not found  SIDE EFFECTS : None  NOTES        : The slot's unique id is used as index into                 the slot map array. ********************************************************************/globle int FindInstanceTemplateSlot(  void *theEnv,  DEFCLASS *cls,  SYMBOL_HN *sname)  {   int sid;   sid = FindSlotNameID(theEnv,sname);   if (sid == -1)     return(-1);   if (sid > (int) cls->maxSlotNameID)     return(-1);   return((int) cls->slotNameMap[sid] - 1);  }/*******************************************************  NAME         : PutSlotValue  DESCRIPTION  : Evaluates new slot-expression and                   stores it as a multifield                   variable for the slot.  INPUTS       : 1) The address of the instance                    (NULL if no trace-messages desired)                 2) The address of the slot                 3) The address of the value                 4) DATA_OBJECT_PTR to store the                    set value                 5) The command doing the put-  RETURNS      : FALSE on errors, or TRUE  SIDE EFFECTS : Old value deleted and new one allocated                 Old value symbols deinstalled                 New value symbols installed  NOTES        : None *******************************************************/globle int PutSlotValue(  void *theEnv,  INSTANCE_TYPE *ins,  INSTANCE_SLOT *sp,  DATA_OBJECT *val,  DATA_OBJECT *setVal,  char *theCommand)  {   if (ValidSlotValue(theEnv,val,sp->desc,ins,theCommand) == FALSE)     {      SetpType(setVal,SYMBOL);      SetpValue(setVal,EnvFalseSymbol(theEnv));      return(FALSE);     }   return(DirectPutSlotValue(theEnv,ins,sp,val,setVal));  }/*******************************************************  NAME         : DirectPutSlotValue  DESCRIPTION  : Evaluates new slot-expression and                   stores it as a multifield                   variable for the slot.  INPUTS       : 1) The address of the instance                    (NULL if no trace-messages desired)                 2) The address of the slot                 3) The address of the value                 4) DATA_OBJECT_PTR to store the                    set value  RETURNS      : FALSE on errors, or TRUE  SIDE EFFECTS : Old value deleted and new one allocated                 Old value symbols deinstalled                 New value symbols installed  NOTES        : None *******************************************************/globle int DirectPutSlotValue(  void *theEnv,  INSTANCE_TYPE *ins,  INSTANCE_SLOT *sp,  DATA_OBJECT *val,  DATA_OBJECT *setVal)  {   register long i,j; /* 6.04 Bug Fix */#if DEFRULE_CONSTRUCT   int sharedTraversalID;   INSTANCE_SLOT *bsp,**spaddr;#endif   DATA_OBJECT tmpVal;   SetpType(setVal,SYMBOL);   SetpValue(setVal,EnvFalseSymbol(theEnv));   if (val == NULL)     {      SystemError(theEnv,"INSFUN",1);      EnvExitRouter(theEnv,EXIT_FAILURE);     }   else if (GetpValue(val) == ProceduralPrimitiveData(theEnv)->NoParamValue)     {      if (sp->desc->dynamicDefault)        {         val = &tmpVal;         if (!EvaluateAndStoreInDataObject(theEnv,sp->desc->multiple,                                           (EXPRESSION *) sp->desc->defaultValue,val,TRUE))           return(FALSE);        }      else        val = (DATA_OBJECT *) sp->desc->defaultValue;     }#if DEFRULE_CONSTRUCT   if (EngineData(theEnv)->JoinOperationInProgress && sp->desc->reactive &&       (ins->cls->reactive || sp->desc->shared))     {      PrintErrorID(theEnv,"INSFUN",5,FALSE);      EnvPrintRouter(theEnv,WERROR,"Cannot modify reactive instance slots while\n");      EnvPrintRouter(theEnv,WERROR,"  pattern-matching is in process.\n");      SetEvaluationError(theEnv,TRUE);      return(FALSE);     }   /* =============================================      If we are about to change a slot of an object      which is a basis for a firing rule, we need      to make sure that slot is copied first      ============================================= */   if (ins->basisSlots != NULL)     {      spaddr = &ins->slotAddresses[ins->cls->slotNameMap[sp->desc->slotName->id] - 1];      bsp = ins->basisSlots + (spaddr - ins->slotAddresses);      if (bsp->value == NULL)        {         bsp->type = sp->type;         bsp->value = sp->value;         if (sp->desc->multiple)           MultifieldInstall(theEnv,(MULTIFIELD_PTR) bsp->value);         else           AtomInstall(theEnv,(int) bsp->type,bsp->value);        }     }#endif   if (sp->desc->multiple == 0)     {      AtomDeinstall(theEnv,(int) sp->type,sp->value);      /* ======================================         Assumed that multfield already checked         to be of cardinality 1         ====================================== */      if (GetpType(val) == MULTIFIELD)        {         sp->type = GetMFType(GetpValue(val),GetpDOBegin(val));         sp->value = GetMFValue(GetpValue(val),GetpDOBegin(val));        }      else        {         sp->type = val->type;         sp->value = val->value;        }      AtomInstall(theEnv,(int) sp->type,sp->value);      SetpType(setVal,sp->type);      SetpValue(setVal,sp->value);     }   else     {      MultifieldDeinstall(theEnv,(MULTIFIELD_PTR) sp->value);      AddToMultifieldList(theEnv,(MULTIFIELD_PTR) sp->value);      sp->type = MULTIFIELD;      if (val->type == MULTIFIELD)        {         sp->value = CreateMultifield2(theEnv,(unsigned long) GetpDOLength(val));         for (i = 1 , j = GetpDOBegin(val) ; i <= GetpDOLength(val) ; i++ , j++)           {            SetMFType(sp->value,i,GetMFType(val->value,j));            SetMFValue(sp->value,i,GetMFValue(val->value,j));           }        }      else        {         sp->value = CreateMultifield2(theEnv,1L);         SetMFType(sp->value,1,(short) val->type);         SetMFValue(sp->value,1,val->value);        }      MultifieldInstall(theEnv,(struct multifield *) sp->value);      SetpType(setVal,MULTIFIELD);      SetpValue(setVal,sp->value);      SetpDOBegin(setVal,1);      SetpDOEnd(setVal,GetMFLength(sp->value));     }   /* ==================================================      6.05 Bug fix - any slot set directly or indirectly      by a slot override or other side-effect during an      instance initialization should not have its      default value set      ================================================== */   sp->override = ins->initializeInProgress;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品自拍偷拍| 欧美videos中文字幕| 欧美丝袜丝交足nylons图片| 7777精品久久久大香线蕉| 亚洲女人小视频在线观看| 亚洲午夜久久久久久久久电影院| 美女精品一区二区| 成人午夜激情在线| 在线不卡的av| 中文字幕av在线一区二区三区| 一区二区日韩av| 另类小说综合欧美亚洲| 色综合久久六月婷婷中文字幕| 9191精品国产综合久久久久久 | 亚洲激情第一区| 日韩不卡在线观看日韩不卡视频| 国产一区二区调教| 91国模大尺度私拍在线视频| 久久综合99re88久久爱| 亚洲美女视频在线| 国产suv精品一区二区883| 亚洲一区在线视频| 极品少妇一区二区三区精品视频 | 精品久久久久一区| 国产精品久久久久一区二区三区共| 亚洲第一搞黄网站| 成人美女视频在线观看| 欧美肥妇bbw| 国产精品久久久久精k8| 久草这里只有精品视频| 欧美视频中文一区二区三区在线观看| 欧美大片在线观看一区二区| 一区二区三区四区不卡视频| 国产精品一二三四| 91麻豆精品久久久久蜜臀| 国产精品伦理一区二区| 麻豆国产91在线播放| 欧美性一二三区| 中文字幕在线不卡视频| 美女国产一区二区三区| 欧美日韩精品一区视频| 国产精品久久久久婷婷| 精品一区二区综合| 欧美天堂一区二区三区| 亚洲女同ⅹxx女同tv| 高清不卡在线观看| 欧美一级在线免费| 洋洋av久久久久久久一区| 香蕉成人伊视频在线观看| 国产伦精一区二区三区| 欧美精品色综合| 亚洲综合色成人| 99热99精品| 国产精品无遮挡| 国产在线一区观看| 日韩女优av电影在线观看| 爽好久久久欧美精品| 欧美在线不卡视频| 一区二区三区在线播| 97久久精品人人爽人人爽蜜臀| 国产精品网站一区| 成人精品视频网站| 国产清纯在线一区二区www| 精彩视频一区二区| 精品91自产拍在线观看一区| 蜜臀91精品一区二区三区| 日韩午夜激情免费电影| 日本不卡视频一二三区| 欧美丰满少妇xxxxx高潮对白| 亚洲一区二三区| 欧美日韩视频不卡| 亚洲成av人片一区二区三区| 欧美日本国产视频| 日韩影视精彩在线| 91精品国产福利| 麻豆成人综合网| 久久亚洲精品国产精品紫薇| 国产伦精品一区二区三区视频青涩| 精品国产91久久久久久久妲己| 久久99精品网久久| 久久一留热品黄| 国产凹凸在线观看一区二区| 国产精品国产三级国产三级人妇 | 欧美激情自拍偷拍| av亚洲精华国产精华| 亚洲日本中文字幕区| 色天天综合久久久久综合片| 亚洲一区二区视频在线| 欧美日韩精品福利| 蜜桃一区二区三区四区| 精品对白一区国产伦| 成人深夜视频在线观看| 亚洲自拍偷拍九九九| 欧美电影影音先锋| 看电视剧不卡顿的网站| 久久精品人人做人人综合| 欧美一区二区福利视频| 国产精品一区二区男女羞羞无遮挡| 国产清纯白嫩初高生在线观看91| 成人性生交大片免费看在线播放 | 欧美日韩电影在线| 国内精品伊人久久久久av影院| 国产精品免费网站在线观看| 日本伦理一区二区| 免费成人av资源网| 中文字幕中文字幕中文字幕亚洲无线| 91久久人澡人人添人人爽欧美 | 精品国产3级a| 99久久精品一区| 亚洲www啪成人一区二区麻豆| 精品久久久久久久久久久久久久久久久| 国产一二精品视频| 亚洲精选免费视频| 欧美成人精品3d动漫h| www.综合网.com| 日日摸夜夜添夜夜添亚洲女人| 久久久亚洲精品一区二区三区 | 日韩高清一级片| 久久九九久精品国产免费直播| 91亚洲精品乱码久久久久久蜜桃| 日韩激情一二三区| 国产精品天天摸av网| 91精品国产综合久久福利| 成人高清视频在线| 日韩国产一二三区| 国产精品家庭影院| 欧美一区二区福利在线| 一本大道综合伊人精品热热| 久久黄色级2电影| 一区二区三区在线观看动漫| 久久久噜噜噜久久中文字幕色伊伊| 91久久精品一区二区| 国产精品一线二线三线精华| 亚洲一区二区美女| 国产精品进线69影院| 欧美大片国产精品| 欧美系列亚洲系列| 成人性色生活片免费看爆迷你毛片| 日本中文字幕不卡| 一区二区三区不卡视频在线观看| 精品久久人人做人人爽| 欧美挠脚心视频网站| www.视频一区| 欧美变态口味重另类| 一级日本不卡的影视| 欧美成人精品高清在线播放 | 国产精品欧美精品| 精品国产欧美一区二区| 欧美亚洲尤物久久| 91日韩一区二区三区| 成人综合婷婷国产精品久久免费| 麻豆精品视频在线观看免费| 亚洲一卡二卡三卡四卡五卡| 国产精品热久久久久夜色精品三区| 日韩欧美国产成人一区二区| 欧美午夜影院一区| 色综合天天综合网国产成人综合天 | av亚洲精华国产精华精华| 狠狠色丁香久久婷婷综合_中| 三级欧美韩日大片在线看| 亚洲麻豆国产自偷在线| 日本一区二区三级电影在线观看 | 丁香激情综合五月| 国产在线精品视频| 久久电影网电视剧免费观看| 天天影视涩香欲综合网 | 日韩欧美在线不卡| 欧美日韩国产经典色站一区二区三区| 91精品国产91久久久久久一区二区| 韩日欧美一区二区三区| 亚洲高清免费在线| 亚洲一区中文日韩| 亚洲精品乱码久久久久久| 亚洲卡通欧美制服中文| 国产精品久久毛片av大全日韩| 日本一区二区电影| 国产清纯美女被跳蛋高潮一区二区久久w | 欧美大胆人体bbbb| 欧美一级理论性理论a| 在线电影国产精品| 欧美久久一区二区| 欧美美女网站色| 欧美精品久久99久久在免费线| 欧美色欧美亚洲另类二区| 在线观看三级视频欧美| 在线观看国产一区二区| 欧美影院一区二区| 欧美美女黄视频| 3atv一区二区三区| 欧美一区二区观看视频| 精品第一国产综合精品aⅴ| www成人在线观看| 欧美激情一区二区三区蜜桃视频| 国产亚洲欧洲997久久综合 | 欧美影片第一页| 91精品1区2区| 欧美色视频在线| 51精品秘密在线观看| 欧美大片在线观看一区二区| 久久综合九色综合97婷婷|