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

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

?? objrtfnx.c

?? clips源代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
  NOTES        : None ****************************************************/static void GetPatternObjectAndMarks(  void *theEnv,  int pattern,  int lhs,  int rhs,  INSTANCE_TYPE **theInstance,  struct multifieldMarker **theMarkers)  {   if (lhs)     {      *theInstance = (INSTANCE_TYPE *)        get_nth_pm_match(EngineData(theEnv)->GlobalLHSBinds,pattern)->matchingItem;      *theMarkers =        get_nth_pm_match(EngineData(theEnv)->GlobalLHSBinds,pattern)->markers;     }   else if (rhs)     {      *theInstance = (INSTANCE_TYPE *)        get_nth_pm_match(EngineData(theEnv)->GlobalRHSBinds,pattern)->matchingItem;      *theMarkers =        get_nth_pm_match(EngineData(theEnv)->GlobalRHSBinds,pattern)->markers;     }   else if (EngineData(theEnv)->GlobalRHSBinds == NULL)     {      *theInstance = (INSTANCE_TYPE *)        get_nth_pm_match(EngineData(theEnv)->GlobalLHSBinds,pattern)->matchingItem;      *theMarkers =        get_nth_pm_match(EngineData(theEnv)->GlobalLHSBinds,pattern)->markers;     }   else if ((((int) EngineData(theEnv)->GlobalJoin->depth) - 1) == pattern)     {      *theInstance = (INSTANCE_TYPE *)         get_nth_pm_match(EngineData(theEnv)->GlobalRHSBinds,0)->matchingItem;      *theMarkers = get_nth_pm_match(EngineData(theEnv)->GlobalRHSBinds,0)->markers;     }   else     {      *theInstance = (INSTANCE_TYPE *)        get_nth_pm_match(EngineData(theEnv)->GlobalLHSBinds,pattern)->matchingItem;      *theMarkers =        get_nth_pm_match(EngineData(theEnv)->GlobalLHSBinds,pattern)->markers;     }  }/***************************************************  NAME         : GetObjectValueGeneral  DESCRIPTION  : Access function for getting                 pattern variable values within the                 object pattern and join networks  INPUTS       : 1) The result data object buffer                 2) The instance to access                 3) The list of multifield markers                    for the pattern                 4) Data for variable reference  RETURNS      : Nothing useful  SIDE EFFECTS : Data object is filled with the                 values of the pattern variable  NOTES        : None ***************************************************/static void GetObjectValueGeneral(  void *theEnv,  DATA_OBJECT *result,  INSTANCE_TYPE *theInstance,  struct multifieldMarker *theMarks,  struct ObjectMatchVar1 *matchVar)  {   long field, extent; /* 6.04 Bug Fix */   INSTANCE_SLOT **insSlot,*basisSlot;      if (matchVar->objectAddress)     {      result->type = INSTANCE_ADDRESS;      result->value = (void *) theInstance;      return;     }   if (matchVar->whichSlot == ISA_ID)     {      result->type = SYMBOL;      result->value = (void *) GetDefclassNamePointer((void *) theInstance->cls);      return;     }   if (matchVar->whichSlot == NAME_ID)     {      result->type = INSTANCE_NAME;      result->value = (void *) theInstance->name;      return;     }   insSlot =     &theInstance->slotAddresses     [theInstance->cls->slotNameMap[matchVar->whichSlot] - 1];   /* =========================================      We need to reference the basis slots if      the slot of this object has changed while      the RHS was executing      However, if the reference is being done      by the LHS of a rule (as a consequence of      an RHS action), give the pattern matcher      the real value of the slot      ========================================= */   if ((theInstance->basisSlots != NULL) &&       (! EngineData(theEnv)->JoinOperationInProgress))     {      basisSlot = theInstance->basisSlots + (insSlot - theInstance->slotAddresses);      if (basisSlot->value != NULL)        insSlot = &basisSlot;     }   /* ==================================================      If we know we are accessing the entire slot,      the don't bother with searching multifield markers      or calculating offsets      ================================================== */   if (matchVar->allFields)     {      result->type = (unsigned short) (*insSlot)->type;      result->value = (*insSlot)->value;      if (result->type == MULTIFIELD)        {         result->begin = 0;         SetpDOEnd(result,GetMFLength((*insSlot)->value));        }      return;     }   /* =============================================      Access a general field in a slot pattern with      two or more multifield variables      ============================================= */   field = CalculateSlotField(theMarks,*insSlot,matchVar->whichField,&extent);   if (extent == -1)     {      if ((*insSlot)->desc->multiple)        {         result->type = GetMFType((*insSlot)->value,field);         result->value = GetMFValue((*insSlot)->value,field);        }      else        {         result->type = (unsigned short) (*insSlot)->type;         result->value = (*insSlot)->value;        }     }   else     {      result->type = MULTIFIELD;      result->value = (*insSlot)->value;      result->begin = field - 1;      result->end = field + extent - 2;     }  }/***************************************************  NAME         : GetObjectValueSimple  DESCRIPTION  : Access function for getting                 pattern variable values within the                 object pattern and join networks  INPUTS       : 1) The result data object buffer                 2) The instance to access                 3) Data for variable reference  RETURNS      : Nothing useful  SIDE EFFECTS : Data object is filled with the                 values of the pattern variable  NOTES        : None ***************************************************/static void GetObjectValueSimple(  void *theEnv,  DATA_OBJECT *result,  INSTANCE_TYPE *theInstance,  struct ObjectMatchVar2 *matchVar)  {   INSTANCE_SLOT **insSlot,*basisSlot;   SEGMENT *segmentPtr;   FIELD *fieldPtr;      insSlot =     &theInstance->slotAddresses     [theInstance->cls->slotNameMap[matchVar->whichSlot] - 1];   /* =========================================      We need to reference the basis slots if      the slot of this object has changed while      the RHS was executing      However, if the reference is being done      by the LHS of a rule (as a consequence of      an RHS action), give the pattern matcher      the real value of the slot      ========================================= */   if ((theInstance->basisSlots != NULL) &&       (! EngineData(theEnv)->JoinOperationInProgress))     {      basisSlot = theInstance->basisSlots + (insSlot - theInstance->slotAddresses);      if (basisSlot->value != NULL)        insSlot = &basisSlot;     }   if ((*insSlot)->desc->multiple)     {      segmentPtr = (SEGMENT *) (*insSlot)->value;      if (matchVar->fromBeginning)        {         if (matchVar->fromEnd)           {            result->type = MULTIFIELD;            result->value = (void *) segmentPtr;            result->begin = matchVar->beginningOffset;            SetpDOEnd(result,GetMFLength(segmentPtr) - matchVar->endOffset);           }         else           {            fieldPtr = &segmentPtr->theFields[matchVar->beginningOffset];            result->type = fieldPtr->type;            result->value = fieldPtr->value;           }        }      else        {         fieldPtr = &segmentPtr->theFields[segmentPtr->multifieldLength -                                           (matchVar->endOffset + 1)];         result->type = fieldPtr->type;         result->value = fieldPtr->value;        }     }   else     {      result->type = (unsigned short) (*insSlot)->type;      result->value = (*insSlot)->value;     }  }/****************************************************  NAME         : CalculateSlotField  DESCRIPTION  : Determines the actual index into the                 an object slot for a given pattern                 variable  INPUTS       : 1) The list of markers to examine                 2) The instance slot (can be NULL)                 3) The pattern index of the variable                 4) A buffer in which to store the                    extent of the pattern variable                    (-1 for single-field vars)  RETURNS      : The actual index  SIDE EFFECTS : None  NOTES        : None ****************************************************/static long CalculateSlotField(  struct multifieldMarker *theMarkers,  INSTANCE_SLOT *theSlot,  long theIndex,  long *extent)  {   register long actualIndex;   void *theSlotName;   actualIndex = theIndex;   *extent = -1;   if (theSlot == NULL)     return(actualIndex);   theSlotName = (void *) theSlot->desc->slotName->name;   while (theMarkers != NULL)     {      if (theMarkers->where.whichSlot == theSlotName)        break;      theMarkers = theMarkers->next;     }   while ((theMarkers != NULL) ? (theMarkers->where.whichSlot == theSlotName) : FALSE)     {      if (theMarkers->whichField == theIndex)        {         *extent = theMarkers->endPosition - theMarkers->startPosition + 1;         return(actualIndex);        }      if (theMarkers->whichField > theIndex)        return(actualIndex);      actualIndex += theMarkers->endPosition - theMarkers->startPosition;      theMarkers = theMarkers->next;     }   return(actualIndex);  }/****************************************************  NAME         : GetInsMultiSlotField  DESCRIPTION  : Gets the values of simple single                 field references in multifield                 slots for Rete comparisons  INPUTS       : 1) A multifield field structure                    to store the type and value in                 2) The instance                 3) The id of the slot                 4) A flag indicating if offset is                    from beginning or end of                    multifield slot                 5) The offset  RETURNS      : The multifield field  SIDE EFFECTS : None  NOTES        : Should only be used to access                 single-field reference in multifield                 slots for pattern and join network                 comparisons ****************************************************/static void GetInsMultiSlotField(  FIELD *theField,  INSTANCE_TYPE *theInstance,  unsigned theSlotID,  unsigned fromBeginning,  unsigned offset)  {   register INSTANCE_SLOT * insSlot;   register SEGMENT *theSegment;   register FIELD *tmpField;   insSlot = theInstance->slotAddresses               [theInstance->cls->slotNameMap[theSlotID] - 1];   /* Bug fix for 6.05 */   if (insSlot->desc->multiple)     {      theSegment = (SEGMENT *) insSlot->value;      if (fromBeginning)        tmpField = &theSegment->theFields[offset];      else        tmpField = &theSegment->theFields[theSegment->multifieldLength - offset - 1];      theField->type = tmpField->type;      theField->value = tmpField->value;     }   else     {      theField->type = (unsigned short) insSlot->type;      theField->value = insSlot->value;     }  }#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
337p粉嫩大胆色噜噜噜噜亚洲| 精品国产第一区二区三区观看体验| 国产精品一级片在线观看| 五月天欧美精品| 自拍偷拍国产亚洲| 国产精品电影一区二区| 国产精品丝袜久久久久久app| 日韩欧美亚洲国产精品字幕久久久 | 中国av一区二区三区| 精品国精品国产| 91精品国产福利在线观看| 欧美人与性动xxxx| 欧美网站大全在线观看| 欧美视频在线播放| 欧美日韩不卡一区| 一本到高清视频免费精品| 不卡视频免费播放| 北条麻妃国产九九精品视频| 成人av电影在线| 成人激情开心网| 91视视频在线观看入口直接观看www| 成人性生交大片免费看视频在线 | 日本视频一区二区三区| 日韩精品亚洲一区二区三区免费| 偷拍亚洲欧洲综合| 爽好久久久欧美精品| 日本欧洲一区二区| 另类小说一区二区三区| 日本不卡视频在线| 国模无码大尺度一区二区三区| 国内精品久久久久影院薰衣草| 国产精品影视在线观看| 成人性生交大片免费| 99re8在线精品视频免费播放| 91丨九色丨尤物| 欧美日韩国产一二三| 欧美日韩一区不卡| 欧美一区二区视频在线观看2020| 日韩视频一区二区| 国产欧美日韩一区二区三区在线观看| 久久精品视频在线免费观看| 亚洲精品一区二区在线观看| 日韩欧美自拍偷拍| 91精品国产欧美一区二区18| 欧美理论电影在线| 国产精品色婷婷| 一色屋精品亚洲香蕉网站| 国产精品进线69影院| 亚洲日韩欧美一区二区在线| 一区二区三区在线观看国产| 五月婷婷另类国产| 精品一区二区三区欧美| 高清beeg欧美| 欧美日本精品一区二区三区| 欧美日韩高清一区二区| 日韩午夜中文字幕| 久久久91精品国产一区二区三区| 亚洲一线二线三线视频| 一级精品视频在线观看宜春院 | 91丨porny丨中文| 丁香激情综合国产| 欧美理论片在线| 国产乱人伦偷精品视频不卡| 午夜婷婷国产麻豆精品| 国产欧美日韩精品一区| 亚洲国产视频在线| 国产一区二区三区精品欧美日韩一区二区三区 | 国产亚洲一区二区三区在线观看| 国产精品久久久爽爽爽麻豆色哟哟| 午夜av电影一区| 成人激情免费视频| 欧美影院午夜播放| 色香蕉成人二区免费| 7777精品伊人久久久大香线蕉 | 麻豆成人在线观看| 成人动漫视频在线| 久久久国际精品| 亚洲精品视频免费看| 国产精品 欧美精品| 欧美一级理论性理论a| 一区二区三区欧美日| 精品一区二区久久| 日韩欧美一区二区免费| 一区二区三区不卡在线观看| 成人少妇影院yyyy| 亚洲一区在线观看网站| 色又黄又爽网站www久久| 久久女同性恋中文字幕| 粉嫩av一区二区三区粉嫩| 欧美在线你懂的| 欧美性大战久久| 亚洲精选免费视频| 日本道免费精品一区二区三区| 亚洲成人动漫一区| 亚洲色图欧美偷拍| 精品一区二区日韩| 成人激情黄色小说| 精品对白一区国产伦| 舔着乳尖日韩一区| 92国产精品观看| 亚洲国产激情av| 国产一区999| 欧美一级片免费看| 午夜精品久久久久久久久久| 91国偷自产一区二区三区观看 | 老司机午夜精品99久久| 欧美一级欧美三级在线观看| 奇米影视7777精品一区二区| 日韩精品一区二区三区中文精品| 亚洲天堂精品在线观看| 蜜桃一区二区三区在线观看| 精品国产露脸精彩对白| 高清国产一区二区三区| 亚洲国产成人porn| 亚洲一区二区三区四区在线 | 久久91精品国产91久久小草| 精品久久久久香蕉网| 91色乱码一区二区三区| 日韩国产一二三区| 久久久99精品久久| 51精品秘密在线观看| 成人激情小说乱人伦| 一本久久综合亚洲鲁鲁五月天| 69堂国产成人免费视频| 图片区小说区区亚洲影院| 8x8x8国产精品| 奇米影视一区二区三区| 亚洲精品在线观| 国产乱妇无码大片在线观看| 色999日韩国产欧美一区二区| 日本伊人精品一区二区三区观看方式| 图片区小说区区亚洲影院| 久久99精品久久久久久久久久久久| 国产精品水嫩水嫩| 在线观看91视频| 成年人网站91| 国产精品主播直播| 国产自产v一区二区三区c| 亚洲成在人线免费| 亚洲欧洲在线观看av| 久久精品日韩一区二区三区| 欧美一区二区三区影视| 91福利资源站| 日韩福利视频导航| 欧美精品一区二区精品网| 国产成人综合在线观看| 亚洲欧美日韩国产另类专区| 欧美绝品在线观看成人午夜影视| 麻豆精品一区二区综合av| 欧美国产综合一区二区| 欧美在线观看一区二区| 蜜臀精品一区二区三区在线观看 | 日韩你懂的电影在线观看| 久久精品国产99国产| 国产欧美视频一区二区三区| 在线亚洲人成电影网站色www| 视频一区二区三区入口| 国产日韩欧美a| 日本久久精品电影| 久久av中文字幕片| 亚洲品质自拍视频| 欧美成人午夜电影| 色综合一区二区| 美日韩一级片在线观看| 国产精品久久久久久久久果冻传媒| 欧美亚洲国产一区二区三区va | 国产在线一区二区| 日韩美女啊v在线免费观看| 日韩一区二区三免费高清| 本田岬高潮一区二区三区| 日韩福利视频导航| 专区另类欧美日韩| 久久先锋影音av鲁色资源| 欧美亚洲免费在线一区| 丁香激情综合国产| 日本成人超碰在线观看| 亚洲色图视频网| 精品国产伦一区二区三区免费| 91免费版pro下载短视频| 国产美女视频91| 亚洲成人精品一区二区| 国产精品免费av| 日韩午夜在线影院| 欧美日韩综合在线免费观看| 懂色av中文字幕一区二区三区| 欧美猛男gaygay网站| 一区二区三区国产| 国产日韩v精品一区二区| 日韩二区三区四区| eeuss鲁片一区二区三区| 精品国产免费一区二区三区香蕉| 依依成人精品视频| 成人一区二区视频| 久久综合精品国产一区二区三区 | 欧美一区二区免费视频| 中文字幕日本不卡| 91精品国产综合久久福利| 黄色小说综合网站| 亚洲国产一区二区视频| 欧美激情一区二区三区蜜桃视频|