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

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

?? factgen.c

?? clips源代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
/*******************************************************/globle struct expr *FactGenGetfield(  void *theEnv,  struct lhsParseNode *theNode)  {   /*===================================================*/   /* Generate call to retrieve single field slot value */   /* or the fact relation name.                        */   /*===================================================*/   if ((theNode->slotNumber > 0) && (theNode->withinMultifieldSlot == FALSE))     { return(GenConstant(theEnv,FACT_PN_VAR2,FactGetVarPN2(theEnv,theNode))); }   /*=====================================================*/   /* Generate call to retrieve a value from a multifield */   /* slot that contains at most one multifield variable  */   /* or contains no multifield variables before the      */   /* value to be retrieved.                              */   /*=====================================================*/   if (((theNode->type == SF_WILDCARD) || (theNode->type == SF_VARIABLE) || ConstantType(theNode->type)) &&       ((theNode->multiFieldsBefore == 0) ||        ((theNode->multiFieldsBefore == 1) && (theNode->multiFieldsAfter == 0))))     { return(GenConstant(theEnv,FACT_PN_VAR3,FactGetVarPN3(theEnv,theNode))); }   if (((theNode->type == MF_WILDCARD) || (theNode->type == MF_VARIABLE)) &&        (theNode->multiFieldsBefore == 0) && (theNode->multiFieldsAfter == 0))     { return(GenConstant(theEnv,FACT_PN_VAR3,FactGetVarPN3(theEnv,theNode))); }   /*=========================================*/   /* Generate call to retrieve a value using */   /* the most general retrieval function.    */   /*=========================================*/   return(GenConstant(theEnv,FACT_PN_VAR1,FactGetVarPN1(theEnv,theNode)));  }/**************************************************//* FactGenGetvar: Generates an expression for use *//*   in the join network that retrieves a value   *//*   from a single or multifield slot of a fact.  *//**************************************************/globle struct expr *FactGenGetvar(  void *theEnv,  struct lhsParseNode *theNode,  int side)  {   /*====================================================*/   /* Generate call to retrieve single field slot value. */   /*====================================================*/   if ((theNode->slotNumber > 0) && (theNode->withinMultifieldSlot == FALSE))     { return(GenConstant(theEnv,FACT_JN_VAR2,FactGetVarJN2(theEnv,theNode,side))); }   /*=====================================================*/   /* Generate call to retrieve a value from a multifield */   /* slot that contains at most one multifield variable  */   /* or contains no multifield variables before the      */   /* value to be retrieved.                              */   /*=====================================================*/   if (((theNode->type == SF_WILDCARD) || (theNode->type == SF_VARIABLE)) &&       ((theNode->multiFieldsBefore == 0) ||        ((theNode->multiFieldsBefore == 1) && (theNode->multiFieldsAfter == 0))))     { return(GenConstant(theEnv,FACT_JN_VAR3,FactGetVarJN3(theEnv,theNode,side))); }   if (((theNode->type == MF_WILDCARD) || (theNode->type == MF_VARIABLE)) &&       (theNode->multiFieldsBefore == 0) &&       (theNode->multiFieldsAfter == 0))     { return(GenConstant(theEnv,FACT_JN_VAR3,FactGetVarJN3(theEnv,theNode,side))); }   /*=========================================*/   /* Generate call to retrieve a value using */   /* the most general retrieval function.    */   /*=========================================*/   return(GenConstant(theEnv,FACT_JN_VAR1,FactGetVarJN1(theEnv,theNode,side)));  }/**************************************************************//* FactGenCheckLength: Generates an expression for use in the *//*   fact pattern network that determines if the value of a   *//*   multifield slot contains enough fields to satisfy the    *//*   number of pattern matching constaints. For example, the  *//*   slot constraints (foo ?x a $? ?y) couldn't be matched    *//*   unless the foo slot contained at least 3 fields.         *//**************************************************************/globle struct expr *FactGenCheckLength(  void *theEnv,  struct lhsParseNode *theNode)  {   struct factCheckLengthPNCall hack;   /*===================================================*/   /* If the slot contains no single field constraints, */   /* then a length test is not necessary.              */   /*===================================================*/   if ((theNode->singleFieldsAfter == 0) &&       (theNode->type != SF_VARIABLE) &&       (theNode->type != SF_WILDCARD))     { return(NULL); }   /*=======================================*/   /* Initialize the length test arguments. */   /*=======================================*/   ClearBitString(&hack,sizeof(struct factCheckLengthPNCall));   hack.whichSlot = (unsigned short) (theNode->slotNumber - 1);   /*============================================*/   /* If the slot has no multifield constraints, */   /* then the length must match exactly.        */   /*============================================*/   if ((theNode->type != MF_VARIABLE) &&       (theNode->type != MF_WILDCARD) &&       (theNode->multiFieldsAfter == 0))     { hack.exactly = 1; }   else     { hack.exactly = 0; }   /*============================================*/   /* The minimum length is the number of single */   /* field constraints contained in the slot.   */   /*============================================*/   if ((theNode->type == SF_VARIABLE) || (theNode->type == SF_WILDCARD))     { hack.minLength = (unsigned short) (1 + theNode->singleFieldsAfter); }   else     { hack.minLength = theNode->singleFieldsAfter; }   /*========================================================*/   /* Generate call to test the length of a multifield slot. */   /*========================================================*/   return(GenConstant(theEnv,FACT_SLOT_LENGTH,AddBitMap(theEnv,&hack,sizeof(struct factCheckLengthPNCall))));  }/**************************************************************//* FactGenCheckZeroLength: Generates an expression for use in *//*   the fact pattern network that determines if the value of *//*   a multifield slot is a zero length multifield value.     *//**************************************************************/globle struct expr *FactGenCheckZeroLength(  void *theEnv,  unsigned theSlot)  {   struct factCheckLengthPNCall hack;   ClearBitString(&hack,sizeof(struct factCheckLengthPNCall));   hack.whichSlot = (unsigned short) (theSlot - 1);   hack.exactly = 1;   hack.minLength = 0;   return(GenConstant(theEnv,FACT_SLOT_LENGTH,AddBitMap(theEnv,&hack,sizeof(struct factCheckLengthPNCall))));  }/*********************************************************************//* FactReplaceGetvar: Replaces a variable reference in an expression *//*   with a function call to retrieve the variable using the join    *//*   network variable access functions for facts.                    *//*********************************************************************/globle void FactReplaceGetvar(  void *theEnv,  struct expr *theItem,  struct lhsParseNode *theNode,  int side)  {   /*====================================================*/   /* Generate call to retrieve single field slot value. */   /*====================================================*/   if ((theNode->slotNumber > 0) && (theNode->withinMultifieldSlot == FALSE))     {      theItem->type = FACT_JN_VAR2;      theItem->value = FactGetVarJN2(theEnv,theNode,side);      return;     }   /*=====================================================*/   /* Generate call to retrieve a value from a multifield */   /* slot that contains at most one multifield variable  */   /* or contains no multifield variables before the      */   /* value to be retrieved.                              */   /*=====================================================*/   if (((theNode->type == SF_WILDCARD) || (theNode->type == SF_VARIABLE)) &&       ((theNode->multiFieldsBefore == 0) ||        ((theNode->multiFieldsBefore == 1) && (theNode->multiFieldsAfter == 0))))     {      theItem->type = FACT_JN_VAR3;      theItem->value = FactGetVarJN3(theEnv,theNode,side);      return;     }   if (((theNode->type == MF_WILDCARD) || (theNode->type == MF_VARIABLE)) &&       (theNode->multiFieldsBefore == 0) &&       (theNode->multiFieldsAfter == 0))     {      theItem->type = FACT_JN_VAR3;      theItem->value = FactGetVarJN3(theEnv,theNode,side);      return;     }   /*=========================================*/   /* Generate call to retrieve a value using */   /* the most general retrieval function.    */   /*=========================================*/   theItem->type = FACT_JN_VAR1;   theItem->value = FactGetVarJN1(theEnv,theNode,side);  }/***********************************************************************//* FactReplaceGetfield: Replaces a variable reference in an expression *//*   with a function call to retrieve the variable using the pattern   *//*   network variable access functions for facts.                      *//***********************************************************************/globle void FactReplaceGetfield(  void *theEnv,  struct expr *theItem,  struct lhsParseNode *theNode)  {   /*====================================================*/   /* Generate call to retrieve single field slot value. */   /*====================================================*/   if (theNode->withinMultifieldSlot == FALSE)     {      theItem->type = FACT_PN_VAR2;      theItem->value = FactGetVarPN2(theEnv,theNode);      return;     }   /*=====================================================*/   /* Generate call to retrieve a value from a multifield */   /* slot that contains at most one multifield variable  */   /* or contains no multifield variables before the      */   /* value to be retrieved.                              */   /*=====================================================*/   if (((theNode->type == SF_WILDCARD) || (theNode->type == SF_VARIABLE)) &&       ((theNode->multiFieldsBefore == 0) ||        ((theNode->multiFieldsBefore == 1) && (theNode->multiFieldsAfter == 0))))     {      theItem->type = FACT_PN_VAR3;      theItem->value = FactGetVarPN3(theEnv,theNode);      return;     }   if (((theNode->type == MF_WILDCARD) || (theNode->type == MF_VARIABLE)) &&       (theNode->multiFieldsBefore == 0) &&       (theNode->multiFieldsAfter == 0))     {      theItem->type = FACT_PN_VAR3;      theItem->value = FactGetVarPN3(theEnv,theNode);      return;     }   /*=========================================*/   /* Generate call to retrieve a value using */   /* the most general retrieval function.    */   /*=========================================*/   theItem->type = FACT_PN_VAR1;   theItem->value = FactGetVarPN1(theEnv,theNode);  }/*************************************************************//* FactGetVarJN1: Creates the arguments for the most general *//*   routine for retrieving a variable's value from the slot *//*   of a fact. The retrieval relies on information stored   *//*   in a partial match, so this retrieval mechanism is used *//*   by expressions in the join network or from the RHS of a *//*   rule.                                                   *//*************************************************************/static void *FactGetVarJN1(  void *theEnv,  struct lhsParseNode *theNode,  int side)  {   struct factGetVarJN1Call hack;   /*===================================================*/   /* Clear the bitmap for storing the argument values. */   /*===================================================*/   ClearBitString(&hack,sizeof(struct factGetVarJN1Call));   /*=========================================*/   /* Store the position in the partial match */   /* from which the fact will be retrieved.  */   /*=========================================*/   if (side == LHS)     {       hack.lhs = 1;       hack.whichPattern = (unsigned short) theNode->joinDepth;     }   else if (side == RHS)     {       hack.rhs = 1;       hack.whichPattern = (unsigned short) 0;     }   else if (side == NESTED_RHS)     {       hack.rhs = 1;       hack.whichPattern = (unsigned short) theNode->joinDepth;     }   else     { hack.whichPattern = (unsigned short) theNode->joinDepth; }        /*========================================*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线视频国内自拍亚洲视频| 欧美国产精品一区| 美女精品一区二区| 亚洲精品一区二区三区影院 | 99麻豆久久久国产精品免费优播| 国产精品久久国产精麻豆99网站| 91片在线免费观看| 亚洲成va人在线观看| 日韩西西人体444www| 国产精品亚洲第一| 亚洲精品中文字幕乱码三区| 欧美色图在线观看| 久久97超碰色| 国产精品久久久久久福利一牛影视| 色婷婷av一区二区| 日本不卡在线视频| 国产精品婷婷午夜在线观看| 在线中文字幕不卡| 免费不卡在线视频| 国产精品免费免费| 欧美日韩国产a| 国产不卡高清在线观看视频| 一区二区免费在线| 日韩一二三区不卡| 菠萝蜜视频在线观看一区| 婷婷开心激情综合| 国产三级精品三级在线专区| 在线免费观看视频一区| 久久超碰97中文字幕| 亚洲精品日韩专区silk| 555www色欧美视频| 成人av午夜电影| 午夜成人在线视频| 国产精品人成在线观看免费| 在线播放亚洲一区| 国产 日韩 欧美大片| 性做久久久久久免费观看| 久久久91精品国产一区二区三区| 在线影视一区二区三区| 国产乱子轮精品视频| 一级日本不卡的影视| 2020国产精品久久精品美国| 日本韩国精品在线| 国产九色精品成人porny| 亚洲第一主播视频| 中文无字幕一区二区三区| 欧美区一区二区三区| 成人美女在线观看| 捆绑变态av一区二区三区| 亚洲视频你懂的| 2020国产精品自拍| 欧美久久久影院| 99久久精品久久久久久清纯| 久久精品国产精品亚洲综合| 欧美三级日韩三级国产三级| 亚洲电影在线免费观看| 国产亚洲欧美日韩日本| 欧美一区二区视频观看视频 | 欧美日韩黄色一区二区| 国产高清不卡二三区| 日韩国产在线一| 亚洲免费毛片网站| 欧美激情艳妇裸体舞| 日韩视频不卡中文| 欧美日韩中文一区| proumb性欧美在线观看| 精品午夜久久福利影院| 日韩专区中文字幕一区二区| 亚洲桃色在线一区| 国产日韩综合av| 精品国产免费久久| 在线电影欧美成精品| 色天天综合色天天久久| 盗摄精品av一区二区三区| 国内精品自线一区二区三区视频| 午夜精品久久久久久久久久久 | 国产精品国产馆在线真实露脸 | 9191国产精品| 91国在线观看| 99精品欧美一区二区三区综合在线| 国产老肥熟一区二区三区| 久久国产综合精品| 蜜桃一区二区三区四区| 日本不卡中文字幕| 日韩国产在线观看| 日韩电影在线看| 午夜精品在线看| 日本高清不卡aⅴ免费网站| 成人午夜精品一区二区三区| 亚洲午夜免费福利视频| 亚洲精品久久7777| 自拍偷拍亚洲综合| 国产精品激情偷乱一区二区∴| 国产偷v国产偷v亚洲高清| 欧美精品一区二区三区四区| 日韩欧美区一区二| 日韩欧美一区电影| 日韩欧美一二区| 日韩美一区二区三区| 日韩欧美激情在线| 日韩欧美区一区二| 精品国产乱码久久久久久久| 欧美www视频| 久久亚洲二区三区| 久久―日本道色综合久久| 欧美精品一区二区蜜臀亚洲| www久久久久| 久久精品男人天堂av| 国产欧美视频在线观看| 中文字幕 久热精品 视频在线| 国产精品乱人伦| 日韩一区在线播放| 亚洲丝袜精品丝袜在线| 亚洲激情av在线| 亚洲午夜久久久久中文字幕久| 午夜精品久久久久久久久久| 人禽交欧美网站| 九九精品一区二区| 国产米奇在线777精品观看| 精品久久久久久亚洲综合网| 成人禁用看黄a在线| 国产精品一区专区| 成人性色生活片免费看爆迷你毛片| 成人国产精品免费观看| 日本精品免费观看高清观看| 欧美精品日韩一区| 日韩欧美国产1| 久久久久国产精品麻豆ai换脸 | 成人激情电影免费在线观看| 色婷婷av一区| 制服丝袜一区二区三区| 精品国产一区二区亚洲人成毛片 | 国产一区二区三区美女| 豆国产96在线|亚洲| 91麻豆国产香蕉久久精品| 欧美日韩一卡二卡| 欧美成人性福生活免费看| 国产午夜亚洲精品午夜鲁丝片| 亚洲色图在线播放| 午夜精品123| 国产精品一区专区| 色欧美片视频在线观看| 69堂精品视频| 久久婷婷成人综合色| 日韩伦理av电影| 日韩成人午夜精品| 成人免费视频国产在线观看| 欧美亚洲国产一区二区三区| 日韩欧美一区中文| 国产精品久久一卡二卡| 亚洲成人激情自拍| 国产高清在线精品| 欧美伊人久久大香线蕉综合69 | 欧美极品xxx| 亚洲成人免费看| 国产精品一区二区x88av| 91女人视频在线观看| 欧美一卡二卡在线| 日韩三级av在线播放| 丰满少妇在线播放bd日韩电影| 欧美在线免费观看视频| 欧美精品一区二区蜜臀亚洲| 一区二区三区日韩精品视频| 美女在线一区二区| 色综合天天在线| 日韩精品一区二区三区蜜臀| ㊣最新国产の精品bt伙计久久| 免费成人在线播放| 91在线视频在线| 日韩欧美二区三区| 亚洲免费色视频| 国产美女av一区二区三区| 91福利国产成人精品照片| 久久午夜羞羞影院免费观看| 亚洲国产精品一区二区尤物区| 国产精品99久久久久久有的能看 | 欧美精品久久99| 中文字幕 久热精品 视频在线| 日本伊人色综合网| 色婷婷久久久久swag精品| 久久久.com| 日本中文在线一区| 91蝌蚪porny成人天涯| www精品美女久久久tv| 午夜精品在线看| 91浏览器在线视频| 国产亚洲精品中文字幕| 青青草成人在线观看| 色天使久久综合网天天| 日本一二三四高清不卡| 免费欧美在线视频| 成人动漫一区二区在线| 欧美剧在线免费观看网站 | 免播放器亚洲一区| 色视频成人在线观看免| 欧美激情自拍偷拍| 麻豆精品在线播放| 欧美高清性hdvideosex| 亚洲精品中文在线观看| 粉嫩高潮美女一区二区三区|