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

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

?? objrtcmp.c

?? clips源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
   /*******************************************************/   /*      "C" Language Integrated Production System      */   /*                                                     */   /*               CLIPS Version 6.24  05/17/06          */   /*                                                     */   /*    OBJECT PATTERN NETWORK CONSTRUCTS-TO-C MODULE    */   /*******************************************************//**************************************************************//* Purpose: Saves object pattern network for constructs-to-c  *//*                                                            *//* Principal Programmer(s):                                   *//*      Brian L. Donnell                                      *//*                                                            *//* Contributing Programmer(s):                                *//*                                                            *//* Revision History:                                          *//*                                                            *//*      6.24: Converted INSTANCE_PATTERN_MATCHING to          *//*            DEFRULE_CONSTRUCT.                              *//*                                                            *//*            Added environment parameter to GenClose.        *//*                                                            *//**************************************************************//* =========================================   *****************************************               EXTERNAL DEFINITIONS   =========================================   ***************************************** */#include "setup.h"#if DEFRULE_CONSTRUCT && OBJECT_SYSTEM && (! RUN_TIME) && CONSTRUCT_COMPILER#include <stdio.h>#define _STDIO_INCLUDED_#include "conscomp.h"#include "envrnmnt.h"#include "objrtfnx.h"#include "objrtmch.h"#include "pattern.h"#include "sysdep.h"#define _OBJRTCMP_SOURCE_#include "objrtcmp.h"/* =========================================   *****************************************                 MACROS AND TYPES   =========================================   ***************************************** */#define ObjectPNPrefix() ArbitraryPrefix(ObjectReteData(theEnv)->ObjectPatternCodeItem,0)#define ObjectANPrefix() ArbitraryPrefix(ObjectReteData(theEnv)->ObjectPatternCodeItem,1)/* =========================================   *****************************************      INTERNALLY VISIBLE FUNCTION HEADERS   =========================================   ***************************************** */static void BeforeObjectPatternsToCode(void *);static OBJECT_PATTERN_NODE *GetNextObjectPatternNode(OBJECT_PATTERN_NODE *);static void InitObjectPatternsCode(void *,FILE *,int,int);static int ObjectPatternsToCode(void *,char *,int,FILE *,int,int);static void IntermediatePatternNodeReference(void *,OBJECT_PATTERN_NODE *,FILE *,int,int);static int IntermediatePatternNodesToCode(void *,char *,int,FILE *,int,int,int);static int AlphaPatternNodesToCode(void *,char *,int,FILE *,int,int,int);/* =========================================   *****************************************          EXTERNALLY VISIBLE FUNCTIONS   =========================================   ***************************************** *//***************************************************  NAME         : ObjectPatternsCompilerSetup  DESCRIPTION  : Sets up interface for object                 patterns to construct compiler  INPUTS       : None  RETURNS      : Nothing useful  SIDE EFFECTS : Code generator item added  NOTES        : None ***************************************************/globle void ObjectPatternsCompilerSetup(  void *theEnv)  {   ObjectReteData(theEnv)->ObjectPatternCodeItem =         AddCodeGeneratorItem(theEnv,"object-patterns",0,BeforeObjectPatternsToCode,                              InitObjectPatternsCode,ObjectPatternsToCode,2);  }/***************************************************  NAME         : ObjectPatternNodeReference  DESCRIPTION  : Prints out a reference to an                 object pattern alpha memory for                 the join network interface to the                 construct compiler  INPUTS       : 1) A pointer to the object pattern                    alpha memory                 2) A pointer to the output file                 3) The id of constructs-to-c image                 4) The maximum number of indices                    allowed in any single array                    in the image  RETURNS      : Nothing useful  SIDE EFFECTS : Reference to object pattern alpha                 memory printed  NOTES        : None ***************************************************/globle void ObjectPatternNodeReference(  void *theEnv,  void *theVPattern,  FILE *theFile,  int imageID,  int maxIndices)  {   OBJECT_ALPHA_NODE *thePattern;   if (theVPattern == NULL)     fprintf(theFile,"NULL");   else     {      thePattern = (OBJECT_ALPHA_NODE *) theVPattern;      fprintf(theFile,"&%s%d_%d[%d]",                      ObjectANPrefix(),imageID,                      (((int) thePattern->bsaveID) / maxIndices) + 1,                      ((int) thePattern->bsaveID) % maxIndices);     }  }/* =========================================   *****************************************          INTERNALLY VISIBLE FUNCTIONS   =========================================   ***************************************** *//*****************************************************  NAME         : BeforeObjectPatternsToCode  DESCRIPTION  : Marks all object pattern intermediate                 and alpha memory nodes with a                 unique integer id prior to the                 constructs-to-c execution  INPUTS       : None  RETURNS      : Nothing useful  SIDE EFFECTS : bsaveIDs of nodes set  NOTES        : None *****************************************************/static void BeforeObjectPatternsToCode(  void *theEnv)  {   long whichPattern;   OBJECT_PATTERN_NODE *intermediateNode;   OBJECT_ALPHA_NODE *alphaNode;   whichPattern = 0L;   intermediateNode = ObjectNetworkPointer(theEnv);   while (intermediateNode != NULL)     {      intermediateNode->bsaveID = whichPattern++;      intermediateNode = GetNextObjectPatternNode(intermediateNode);     }   whichPattern = 0L;   alphaNode = ObjectNetworkTerminalPointer(theEnv);   while (alphaNode != NULL)     {      alphaNode->bsaveID = whichPattern++;      alphaNode = alphaNode->nxtTerminal;     }  }/***************************************************  NAME         : GetNextObjectPatternNode  DESCRIPTION  : Grabs the next node in a depth                 first perusal of the object pattern                 intermediate nodes  INPUTS       : The previous node  RETURNS      : The next node (NULL if done)  SIDE EFFECTS : None  NOTES        : Alpha meory nodes are ignored ***************************************************/static OBJECT_PATTERN_NODE *GetNextObjectPatternNode(  OBJECT_PATTERN_NODE *thePattern)  {   if (thePattern->nextLevel != NULL)     return(thePattern->nextLevel);   while (thePattern->rightNode == NULL)     {      thePattern = thePattern->lastLevel;      if (thePattern == NULL)        return(NULL);     }   return(thePattern->rightNode);  }/***************************************************  NAME         : InitObjectPatternsCode  DESCRIPTION  : Prints out run-time initialization                 code for object patterns  INPUTS       : 1) A pointer to the output file                 2) The id of constructs-to-c image                 3) The maximum number of indices                    allowed in any single array                    in the image  RETURNS      : Nothing useful  SIDE EFFECTS : Initialization code written  NOTES        : None ***************************************************/static void InitObjectPatternsCode(  void *theEnv,  FILE *initFP,  int imageID,  int maxIndices)  {   long firstIntermediateNode,firstAlphaNode;   if (ObjectNetworkPointer(theEnv) != NULL)     {      firstIntermediateNode = ObjectNetworkPointer(theEnv)->bsaveID;      firstAlphaNode = ObjectNetworkTerminalPointer(theEnv)->bsaveID;      fprintf(initFP,"   SetObjectNetworkPointer(theEnv,&%s%d_%d[%d]);\n",                       ObjectPNPrefix(),imageID,                       (int) ((firstIntermediateNode / maxIndices) + 1),                       (int) (firstIntermediateNode % maxIndices));      fprintf(initFP,"   SetObjectNetworkTerminalPointer(theEnv,&%s%d_%d[%d]);\n",                       ObjectANPrefix(),imageID,                       (int) ((firstAlphaNode / maxIndices) + 1),                       (int) (firstAlphaNode % maxIndices));     }   else     {      fprintf(initFP,"   SetObjectNetworkPointer(theEnv,NULL);\n");      fprintf(initFP,"   SetObjectNetworkTerminalPointer(theEnv,NULL);\n");     }  }/***********************************************************  NAME         : ObjectPatternsToCode  DESCRIPTION  : Writes out data structures for run-time                 creation of object patterns  INPUTS       : 1) The base image output file name                 2) The base image file id                 3) A pointer to the header output file                 4) The id of constructs-to-c image                 5) The maximum number of indices                    allowed in any single array                    in the image  RETURNS      : 1 if OK, 0 if could not open a file  SIDE EFFECTS : Object patterns code written to files  NOTES        : None ***********************************************************/static int ObjectPatternsToCode(  void *theEnv,  char *fileName,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品tushy高清| 欧美日免费三级在线| 国产精品久久久久久久第一福利 | 男女男精品视频| 欧美精品一级二级三级| 蓝色福利精品导航| 久久综合狠狠综合| 成人精品视频.| 亚洲欧美日韩一区| 欧美日本高清视频在线观看| 日韩一级黄色片| 一区二区三区不卡视频| 欧美伦理电影网| 久久99精品久久只有精品| 国产日韩欧美不卡在线| 97久久精品人人爽人人爽蜜臀| 亚洲一区视频在线观看视频| 欧美一区二区三区在| 国产精品一区二区久久不卡| 亚洲视频在线观看三级| 欧美美女黄视频| 国产99久久久久| 亚洲一区在线视频观看| 精品日韩一区二区三区| 99在线视频精品| 午夜视频久久久久久| 久久久精品日韩欧美| 色综合久久久久网| 蜜臀久久99精品久久久久宅男| 国产欧美一区二区三区沐欲| 欧美在线综合视频| 国产精品全国免费观看高清| 欧美日韩小视频| 国产主播一区二区| 一二三区精品福利视频| 欧美大片顶级少妇| 91蝌蚪porny九色| 久久精品免费观看| 亚洲乱码中文字幕综合| 成人自拍视频在线观看| 久久久国产综合精品女国产盗摄| 色94色欧美sute亚洲13| 久久91精品国产91久久小草| 亚洲四区在线观看| 精品久久人人做人人爱| 色老汉一区二区三区| 国内精品伊人久久久久av影院| 亚洲免费在线视频一区 二区| 日韩精品一区二区三区视频播放| 一本久久综合亚洲鲁鲁五月天| 蜜乳av一区二区| 一区二区三区成人| 国产精品午夜免费| 日韩西西人体444www| 91老师片黄在线观看| 国产精选一区二区三区| 午夜影院久久久| 1000精品久久久久久久久| 亚洲精品一区二区三区蜜桃下载| 欧美性色黄大片手机版| 成人在线一区二区三区| 中文字幕一区二区三区四区| 91精品国产乱| 色欧美日韩亚洲| 成人久久视频在线观看| 精品一区二区三区视频在线观看| 亚洲一级二级在线| 国产精品久久久久久久浪潮网站| 精品久久久三级丝袜| 欧美浪妇xxxx高跟鞋交| xnxx国产精品| 91精品国产综合久久久久久| 日本韩国精品在线| 成人精品小蝌蚪| 国产电影精品久久禁18| 日本一区中文字幕| 亚洲午夜av在线| 日韩美女视频一区二区| 精品国产91乱码一区二区三区| 欧美日韩国产高清一区二区| 色综合视频一区二区三区高清| 国产老女人精品毛片久久| 免费在线观看成人| 午夜不卡av免费| 亚洲综合区在线| 亚洲男人的天堂一区二区| 国产精品视频第一区| 国产日韩精品一区二区三区在线| xnxx国产精品| 久久久精品蜜桃| 2019国产精品| 亚洲精品一线二线三线无人区| 欧美一卡在线观看| 国产成人av电影在线| 激情国产一区二区| 美女脱光内衣内裤视频久久影院| 天堂在线一区二区| 午夜日韩在线电影| 午夜精品久久久久久久久久久 | 精品视频在线视频| 成人在线视频一区| 日本亚洲视频在线| 日韩国产精品久久久| 三级不卡在线观看| 天堂精品中文字幕在线| 日韩精品一级中文字幕精品视频免费观看 | 久久精品亚洲麻豆av一区二区| 精品免费视频一区二区| 日韩精品在线一区二区| 日韩午夜激情av| 欧美电视剧免费观看| 精品久久人人做人人爱| 久久久午夜精品理论片中文字幕| 久久―日本道色综合久久| 久久久五月婷婷| 中文幕一区二区三区久久蜜桃| 亚洲国产成人自拍| 中文字幕日韩一区| 亚洲乱码日产精品bd| 亚洲一区视频在线观看视频| 久久久亚洲精华液精华液精华液| 国产清纯白嫩初高生在线观看91| 国产欧美日韩综合| 国产精品久久久久一区二区三区共| 成人免费视频在线观看| 一区二区在线电影| 婷婷六月综合亚洲| 男人的j进女人的j一区| 国产一区二区三区免费播放| 国产成人免费9x9x人网站视频| 亚洲色欲色欲www| 久久久国产综合精品女国产盗摄| 国产精品久久久久久亚洲毛片| 一区二区在线观看免费| 视频一区二区中文字幕| 精品一区二区三区不卡| 成人性色生活片| 在线视频欧美精品| 3751色影院一区二区三区| 精品国产一区二区三区忘忧草| 欧美激情综合网| 伊人一区二区三区| 日韩高清不卡一区二区三区| 国产乱淫av一区二区三区| 暴力调教一区二区三区| 欧美日韩视频在线观看一区二区三区 | 激情欧美日韩一区二区| 成人免费视频网站在线观看| 色av综合在线| 日韩欧美一级二级三级| 中文欧美字幕免费| 久久精品视频免费观看| 亚洲男人的天堂网| 久久超碰97中文字幕| a美女胸又www黄视频久久| 欧美最猛性xxxxx直播| 欧美zozozo| 亚洲视频一区二区在线| 日本麻豆一区二区三区视频| 国产成人av影院| 欧美日韩精品福利| 久久久www免费人成精品| 99久久夜色精品国产网站| 欧美私人免费视频| 久久亚洲综合色一区二区三区| 亚洲女厕所小便bbb| 久久黄色级2电影| 91欧美一区二区| 欧美α欧美αv大片| 一区二区三区在线观看视频| 国模一区二区三区白浆| 91高清视频在线| 久久精品一二三| 日精品一区二区三区| 岛国精品在线播放| 91精品在线免费观看| 国产精品全国免费观看高清| 奇米精品一区二区三区在线观看一| 成人av影院在线| 日韩精品一区二区三区中文不卡| 亚洲日本一区二区| 国产专区欧美精品| 欧美伦理电影网| 亚洲欧美日韩国产手机在线 | 91社区在线播放| 精品国产青草久久久久福利| 一级特黄大欧美久久久| 日韩欧美不卡在线观看视频| 欧美一区二区在线看| 亚洲日本免费电影| 国产剧情一区二区| 欧美一区永久视频免费观看| 欧美一级二级三级蜜桃| 亚洲激情校园春色| 国产 日韩 欧美大片| 日韩亚洲欧美一区二区三区| 一片黄亚洲嫩模| 99在线精品视频| 久久久影视传媒| 麻豆91在线播放|