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

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

?? modulcmp.c

?? clips源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
   /*******************************************************/   /*      "C" Language Integrated Production System      */   /*                                                     */   /*             CLIPS Version 6.24  06/05/06            */   /*                                                     */   /*           DEFMODULE CONSTRUCTS-TO-C MODULE          */   /*******************************************************//*************************************************************//* Purpose: Implements the constructs-to-c feature for the   *//*    defmodule construct.                                   *//*                                                           *//* Principal Programmer(s):                                  *//*      Gary D. Riley                                        *//*                                                           *//* Contributing Programmer(s):                               *//*                                                           *//* Revision History:                                         *//*                                                           *//*      6.24: Added environment parameter to GenClose.       *//*                                                           *//*************************************************************/#define _MODULCMP_SOURCE_#include "setup.h"#if CONSTRUCT_COMPILER && (! RUN_TIME)#include <stdio.h>#define _STDIO_INCLUDED_#include "conscomp.h"#include "moduldef.h"#include "sysdep.h"#include "envrnmnt.h"#include "modulcmp.h"/***************//* DEFINITIONS *//***************/#define ItemPrefix()      ArbitraryPrefix(DefmoduleData(theEnv)->DefmoduleCodeItem,0)#define DefmodulePrefix() ArbitraryPrefix(DefmoduleData(theEnv)->DefmoduleCodeItem,1)#define PortPrefix()      ArbitraryPrefix(DefmoduleData(theEnv)->DefmoduleCodeItem,2)/***************************************//* LOCAL INTERNAL FUNCTION DEFINITIONS *//***************************************/   static int                     ConstructToCode(void *,char *,int,FILE *,int,int);   static void                    InitDefmoduleCode(void *,FILE *,int,int);   static struct portItem        *GetNextPortItem(void *,struct defmodule **,struct portItem **,                                                  int *,int *);   static int                     PortItemsToCode(void *,char *,int,FILE *,int,int,int *);   static void                    BeforeDefmodulesToCode(void *);/***************************************************************//* DefmoduleCompilerSetup: Initializes the defmodule construct *//*    for use with the constructs-to-c command.                *//***************************************************************/globle void DefmoduleCompilerSetup(  void *theEnv)  {   DefmoduleData(theEnv)->DefmoduleCodeItem =       AddCodeGeneratorItem(theEnv,"defmodule",200,BeforeDefmodulesToCode,                           InitDefmoduleCode,ConstructToCode,3);  }/***********************************************************//* BeforeDefmodulesToCode: Assigns each defmodule a unique *//*   ID which will be used for pointer references when the *//*   data structures are written to a file as C code       *//***********************************************************/static void BeforeDefmodulesToCode(  void *theEnv)  {   int value = 0;   struct defmodule *theModule;   for (theModule = (struct defmodule *) EnvGetNextDefmodule(theEnv,NULL);        theModule != NULL;        theModule = (struct defmodule *) EnvGetNextDefmodule(theEnv,theModule))     { theModule->bsaveID = value++; }  }/*************************************************************//* PrintDefmoduleReference: Writes the C code representation *//*   of a reference to a defmodule data structure.           *//*************************************************************/globle void PrintDefmoduleReference(  void *theEnv,  FILE *theFile,  struct defmodule *theModule)  {   if (theModule == NULL) fprintf(theFile,"NULL");   else fprintf(theFile,"&%s%d_%ld[%ld]",DefmodulePrefix(),ConstructCompilerData(theEnv)->ImageID,                                    (long) ((theModule->bsaveID / ConstructCompilerData(theEnv)->MaxIndices) + 1),                                    (long) (theModule->bsaveID % ConstructCompilerData(theEnv)->MaxIndices));  }/************************************************//* InitDefmoduleCode: Writes out initialization *//*   code for defmodules for a run-time module. *//************************************************/#if IBM_TBC#pragma argsused#endifstatic void InitDefmoduleCode(  void *theEnv,  FILE *initFP,  int imageID,  int maxIndices)  {#if MAC_MCW || IBM_MCW || MAC_XCD#pragma unused(maxIndices)#endif   if (EnvGetNextDefmodule(theEnv,NULL) != NULL)     { fprintf(initFP,"   SetListOfDefmodules(theEnv,(void *) %s%d_1);\n",DefmodulePrefix(),imageID); }   else     { fprintf(initFP,"   SetListOfDefmodules(theEnv,NULL);\n"); }   fprintf(initFP,"   EnvSetCurrentModule(theEnv,(void *) EnvGetNextDefmodule(theEnv,NULL));\n");  }/***********************************************************//* ConstructToCode: Produces defmodule code for a run-time *//*   module created using the constructs-to-c function.    *//***********************************************************/static int ConstructToCode(  void *theEnv,  char *fileName,  int fileID,  FILE *headerFP,  int imageID,  int maxIndices)  {   struct defmodule *theConstruct;   FILE *moduleFile = NULL, *itemsFile;   int portItemCount = 0;   struct portItem *portItemPtr;   int mihCount = 0, moduleCount = 0;   int j;   struct moduleItem *theItem;   int moduleArrayVersion = 1;   int fileCount = 2;   /*================================================*/   /* Include the appropriate defmodule header file. */   /*================================================*/   fprintf(headerFP,"#include \"moduldef.h\"\n");   /*============================================*/   /* Open up the items file for the defmodules. */   /* Only one file of this type is created so   */   /* the maximum number of indices is ignored.  */   /*============================================*/   if ((itemsFile = NewCFile(theEnv,fileName,fileID,1,FALSE)) == NULL)     { return(FALSE); }   fprintf(itemsFile,"struct defmoduleItemHeader *%s%d_%d[] = {\n",ItemPrefix(),imageID,1);   fprintf(headerFP,"extern struct defmoduleItemHeader *%s%d_%d[];\n",ItemPrefix(),imageID,1);   /*======================================================*/   /* Loop through all the defmodules writing their C code */   /* representation to the file as they are traversed.    */   /*======================================================*/   for (theConstruct = (struct defmodule *) EnvGetNextDefmodule(theEnv,NULL);        theConstruct != NULL;        theConstruct = (struct defmodule *) EnvGetNextDefmodule(theEnv,theConstruct))     {      /*===========================================*/      /* Open a new file to write to if necessary. */      /*===========================================*/      moduleFile = OpenFileIfNeeded(theEnv,moduleFile,fileName,fileID,imageID,                                    &fileCount,moduleArrayVersion,headerFP,                                    "struct defmodule",DefmodulePrefix(),                                    FALSE,NULL);      if (moduleFile == NULL)        {         moduleCount = maxIndices;         CloseFileIfNeeded(theEnv,moduleFile,&moduleCount,                           &moduleArrayVersion,maxIndices,NULL,NULL);         GenClose(theEnv,itemsFile);         return(FALSE);        }      /*======================================*/      /* Write the construct name and ppform. */      /*======================================*/      fprintf(moduleFile,"{");      PrintSymbolReference(theEnv,moduleFile,theConstruct->name);      fprintf(moduleFile,",NULL,");      /*=====================================================*/      /* Write the items array pointers to other constructs. */      /*=====================================================*/      fprintf(moduleFile,"&%s%d_1[%d],",ItemPrefix(),imageID,mihCount);      for (j = 0, theItem = GetListOfModuleItems(theEnv);           (j < GetNumberOfModuleItems(theEnv)) && (theItem != NULL) ;           j++, theItem = theItem->next)        {         mihCount++;         if (theItem->constructsToCModuleReference == NULL)           { fprintf(itemsFile,"NULL"); }         else           { (*theItem->constructsToCModuleReference)(theEnv,itemsFile,(int) theConstruct->bsaveID,imageID,maxIndices); }         if ((j + 1) < GetNumberOfModuleItems(theEnv)) fprintf(itemsFile,",");         else if (theConstruct->next != NULL) fprintf(itemsFile,",\n");        }      /*=================================*/      /* Write the importList reference. */      /*=================================*/      if (theConstruct->importList == NULL)        { fprintf(moduleFile,"NULL,"); }      else        {         fprintf(moduleFile,"&%s%d_%d[%d],",PortPrefix(),imageID,                                     (portItemCount / maxIndices) + 1,                                     portItemCount % maxIndices);         for (portItemPtr = theConstruct->importList;              portItemPtr != NULL;              portItemPtr = portItemPtr->next)           { portItemCount++; }        }      /*=================================*/      /* Write the exportList reference. */      /*=================================*/      if (theConstruct->exportList == NULL)        { fprintf(moduleFile,"NULL,"); }      else        {         fprintf(moduleFile,"&%s%d_%d[%d],",PortPrefix(),imageID,                                     (portItemCount / maxIndices) + 1,                                     portItemCount % maxIndices);         for (portItemPtr = theConstruct->exportList;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美va欧美不卡在线| 色婷婷综合激情| 亚洲美女精品一区| 91精品国产高清一区二区三区| k8久久久一区二区三区| 一区二区激情小说| 成人ar影院免费观看视频| 亚洲国产精品成人综合| 免费观看一级欧美片| 一本大道综合伊人精品热热| 一二三四社区欧美黄| 丁香婷婷综合网| 亚洲va韩国va欧美va精品| 2017欧美狠狠色| 欧洲精品在线观看| 国产成人精品免费在线| 香蕉影视欧美成人| 国产精品高潮呻吟| 久久综合色综合88| 91热门视频在线观看| 国产酒店精品激情| 国产综合色视频| 美女www一区二区| 无吗不卡中文字幕| 亚洲一区二三区| 国产日产欧美一区| 欧美一区二区日韩| 在线电影院国产精品| 欧美三级电影在线看| 日本精品一区二区三区高清| 国产福利一区二区三区视频在线| 日韩电影在线观看一区| 五月婷婷激情综合| 日韩一区欧美二区| 亚洲不卡在线观看| 精品一区二区三区日韩| 国产在线一区观看| 国产大片一区二区| 91片在线免费观看| 欧美亚洲高清一区二区三区不卡| 91九色最新地址| 欧美日本不卡视频| 日韩精品一区二区三区视频播放 | 亚洲免费伊人电影| 欧美v亚洲v综合ⅴ国产v| 久久久久久一级片| 亚洲三级免费电影| 亚洲超碰精品一区二区| 久久精品国产99国产| 成人一区二区视频| 欧美色视频一区| 欧美成人精品3d动漫h| 欧美韩国日本不卡| 亚洲男同1069视频| 蓝色福利精品导航| 日本久久一区二区| 久久精品在线免费观看| 婷婷开心激情综合| 成人亚洲精品久久久久软件| 久久精品欧美日韩| 亚洲柠檬福利资源导航| 男人的天堂久久精品| 成人激情校园春色| 精品国产区一区| 午夜精品久久久久久久久久久| 国产98色在线|日韩| 337p亚洲精品色噜噜狠狠| 精品久久久久一区| 精油按摩中文字幕久久| 91麻豆蜜桃一区二区三区| 久久精品一区八戒影视| 免费观看在线综合| 欧美精品粉嫩高潮一区二区| 亚洲蜜桃精久久久久久久| 波多野结衣在线aⅴ中文字幕不卡 波多野结衣在线一区 | 老司机午夜精品99久久| 欧美日韩精品欧美日韩精品| 亚洲乱码精品一二三四区日韩在线| 国产成人免费视频一区| 久久久久久99精品| 国产一区二区视频在线播放| 日韩精品中午字幕| 老司机精品视频在线| 91精品国产综合久久久久| 日韩成人精品在线观看| 91麻豆精品国产91久久久久久| 日韩中文字幕不卡| 91精品一区二区三区久久久久久| 日韩电影免费在线观看网站| 欧美日韩aaa| 亚洲午夜久久久| 99久精品国产| 日韩国产高清在线| 欧美三级韩国三级日本一级| 日本不卡的三区四区五区| 精品精品欲导航| 538prom精品视频线放| 国产精品456| 一区二区三区免费看视频| 欧美日韩中文精品| 久久9热精品视频| 亚洲欧美韩国综合色| 欧美猛男超大videosgay| 久久精品国产77777蜜臀| 久久久精品一品道一区| 日本韩国欧美国产| 美女视频第一区二区三区免费观看网站| 日韩三级高清在线| 日韩精品一区二区三区在线观看 | 欧美性猛交xxxxxx富婆| 国产精品一区在线观看你懂的| 性做久久久久久| 日韩成人精品在线观看| 偷拍日韩校园综合在线| 偷拍日韩校园综合在线| 中文字幕电影一区| 亚洲色图欧美激情| 一区二区三区久久久| 亚洲国产美国国产综合一区二区| 一区二区三区四区亚洲| 亚洲欧洲日产国码二区| 亚洲欧美另类小说视频| 欧美三级视频在线| 色综合久久中文字幕| 欧美高清视频一二三区| 欧美大白屁股肥臀xxxxxx| 国产亚洲欧美一区在线观看| 亚洲欧洲av另类| 麻豆中文一区二区| 99久久综合国产精品| 欧美另类一区二区三区| 精品日韩成人av| 玉米视频成人免费看| 麻豆精品新av中文字幕| 99久久免费国产| 日韩女优视频免费观看| 日韩毛片在线免费观看| 日本免费新一区视频| 丁香天五香天堂综合| 欧美年轻男男videosbes| 国产亚洲欧美日韩日本| 亚洲精品中文字幕在线观看| 日本va欧美va瓶| 色综合天天综合在线视频| 欧美日产国产精品| 国产午夜精品久久久久久久 | 国产麻豆日韩欧美久久| 日韩一卡二卡三卡四卡| 亚洲欧美色一区| 不卡的av网站| 久久精品视频网| 国产精品一色哟哟哟| 日韩欧美国产一区二区在线播放| 亚洲专区一二三| 欧美亚洲免费在线一区| 亚洲国产精品一区二区www在线| jlzzjlzz亚洲女人18| 国产精品水嫩水嫩| 韩日欧美一区二区三区| 日韩一区国产二区欧美三区| 丝袜亚洲另类欧美| 3751色影院一区二区三区| 日本中文一区二区三区| 日韩欧美你懂的| 国产自产视频一区二区三区| 国产欧美一二三区| 不卡av在线免费观看| 夜夜爽夜夜爽精品视频| 欧美午夜免费电影| 秋霞国产午夜精品免费视频| 欧美成人精品3d动漫h| 成人综合在线网站| 亚洲男人电影天堂| 欧美一区二区三区婷婷月色| 麻豆91精品视频| 国产人久久人人人人爽| 成人免费黄色大片| 一区av在线播放| 欧美日韩精品一区二区三区四区| 日本美女一区二区三区视频| 欧美成人精品1314www| 国产一区二区三区黄视频| 亚洲一区二区视频在线观看| 精品乱码亚洲一区二区不卡| 91老司机福利 在线| 国产福利视频一区二区三区| 日韩二区在线观看| 亚洲成人动漫av| 一区二区三区资源| 中文字幕在线观看不卡| 久久久777精品电影网影网 | 欧美国产日本韩| 日本道免费精品一区二区三区| 日韩电影在线免费观看| 中文字幕一区二区在线观看| 欧美人动与zoxxxx乱| 99国产精品久久久| 99久久er热在这里只有精品15| 成人污污视频在线观看| 国产高清成人在线|