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

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

?? symblcmp.c

?? clips源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
   /*******************************************************/   /*      "C" Language Integrated Production System      */   /*                                                     */   /*             CLIPS Version 6.24  06/05/06            */   /*                                                     */   /*           SYMBOL CONSTRUCT COMPILER MODULE          */   /*******************************************************//*************************************************************//* Purpose: Implements the constructs-to-c feature for       *//*   atomic data values: symbols, integers, floats, and      *//*   bit maps.                                               *//*                                                           *//* Principal Programmer(s):                                  *//*      Gary D. Riley                                        *//*      Barry Cameron                                        *//*                                                           *//* Contributing Programmer(s):                               *//*      Brian L. Donnell                                     *//*                                                           *//* Revision History:                                         *//*                                                           *//*      6.24: Added environment parameter to GenClose.       *//*                                                           *//*            Corrected code to remove compiler warnings.    *//*                                                           *//*************************************************************/#define _SYMBLCMP_SOURCE_#include "setup.h"#if CONSTRUCT_COMPILER && (! RUN_TIME)#include <stdio.h>#define _STDIO_INCLUDED_#include <string.h>#include "envrnmnt.h"#include "symbol.h"#include "memalloc.h"#include "constant.h"#include "exprnpsr.h"#include "cstrccom.h"#include "constrct.h"#include "argacces.h"#include "cstrncmp.h"#include "router.h"#include "conscomp.h"#include "sysdep.h"#include "utility.h"#include "symblcmp.h"/***************************************//* LOCAL INTERNAL FUNCTION DEFINITIONS *//***************************************/   static int                         SymbolHashNodesToCode(void *,char *,int);   static int                         BitMapHashNodesToCode(void *,char *,int);   static int                         BitMapValuesToCode(void *,char *,int);   static int                         FloatHashNodesToCode(void *,char *,int);   static int                         IntegerHashNodesToCode(void *,char *,int);   static int                         HashTablesToCode(void *,char *);   static void                        PrintCString(FILE *,char *);/**************************************************************//* AtomicValuesToCode: Driver routine for generating the code *//*  used by the symbol, integer, float, and bit map tables.   *//**************************************************************/globle void AtomicValuesToCode(  void *theEnv,  char *fileName)  {   int version;   SetAtomicValueIndices(theEnv,TRUE);   HashTablesToCode(theEnv,fileName);   version = SymbolHashNodesToCode(theEnv,fileName,5);   version = FloatHashNodesToCode(theEnv,fileName,version);   version = IntegerHashNodesToCode(theEnv,fileName,version);   version = BitMapHashNodesToCode(theEnv,fileName,version);   BitMapValuesToCode(theEnv,fileName,version);  }/*****************************************************//* SymbolHashNodesToCode: Produces the code for the  *//*   symbol hash table entries for a run-time module *//*   created using the constructs-to-c function.     *//*****************************************************/static int SymbolHashNodesToCode(  void *theEnv,  char *fileName,  int version)  {   unsigned long i, j;   struct symbolHashNode *hashPtr;   int count;   int numberOfEntries;   struct symbolHashNode **symbolTable;   int newHeader = TRUE;   int arrayVersion = 1;   FILE *fp;   /*====================================*/   /* Count the total number of entries. */   /*====================================*/   symbolTable = GetSymbolTable(theEnv);   count = numberOfEntries = 0;   for (i = 0; i < SYMBOL_HASH_SIZE; i++)     {      for (hashPtr = symbolTable[i];           hashPtr != NULL;           hashPtr = hashPtr->next)        { numberOfEntries++; }     }   if (numberOfEntries == 0) return(version);   for (i = 1; i <= (unsigned long) (numberOfEntries / ConstructCompilerData(theEnv)->MaxIndices) + 1 ; i++)     { fprintf(ConstructCompilerData(theEnv)->HeaderFP,"extern struct symbolHashNode S%d_%ld[];\n",ConstructCompilerData(theEnv)->ImageID,i); }   /*==================*/   /* Create the file. */   /*==================*/   if ((fp = NewCFile(theEnv,fileName,1,version,FALSE)) == NULL) return(-1);   /*===================*/   /* List the entries. */   /*===================*/   j = 0;   for (i = 0; i < SYMBOL_HASH_SIZE; i++)     {      for (hashPtr = symbolTable[i];           hashPtr != NULL;           hashPtr = hashPtr->next)        {         if (newHeader)           {            fprintf(fp,"struct symbolHashNode S%d_%d[] = {\n",ConstructCompilerData(theEnv)->ImageID,arrayVersion);            newHeader = FALSE;           }         if (hashPtr->next == NULL)           { fprintf(fp,"{NULL,"); }         else           {            if ((j + 1) >= (unsigned long) ConstructCompilerData(theEnv)->MaxIndices)              { fprintf(fp,"{&S%d_%d[%d],",ConstructCompilerData(theEnv)->ImageID,arrayVersion + 1,0); }            else              { fprintf(fp,"{&S%d_%d[%ld],",ConstructCompilerData(theEnv)->ImageID,arrayVersion,j + 1); }           }         fprintf(fp,"%ld,0,1,0,0,%ld,",hashPtr->count + 1,i);         PrintCString(fp,hashPtr->contents);         count++;         j++;         if ((count == numberOfEntries) || (j >= (unsigned) ConstructCompilerData(theEnv)->MaxIndices))           {            fprintf(fp,"}};\n");            GenClose(theEnv,fp);            j = 0;            arrayVersion++;            version++;            if (count < numberOfEntries)              {               if ((fp = NewCFile(theEnv,fileName,1,version,FALSE)) == NULL) return(0);               newHeader = TRUE;              }           }         else           { fprintf(fp,"},\n"); }        }     }   return(version);  }/******************************************************//* BitMapHashNodesToCode: Produces the code for the   *//*   bit map hash table entries for a run-time module *//*   created using the constructs-to-c function.      *//******************************************************/static int BitMapHashNodesToCode(  void *theEnv,  char *fileName,  int version)  {   int i, j;   struct bitMapHashNode *hashPtr;   int count;   int numberOfEntries;   struct bitMapHashNode **bitMapTable;   int newHeader = TRUE;   int arrayVersion = 1;   FILE *fp;   int longsReqdPartition = 1,longsReqdPartitionCount = 0;   /*====================================*/   /* Count the total number of entries. */   /*====================================*/   bitMapTable = GetBitMapTable(theEnv);   count = numberOfEntries = 0;   for (i = 0; i < BITMAP_HASH_SIZE; i++)     {      for (hashPtr = bitMapTable[i];           hashPtr != NULL;           hashPtr = hashPtr->next)        { numberOfEntries++; }     }   if (numberOfEntries == 0) return(version);   for (i = 1; i <= (numberOfEntries / ConstructCompilerData(theEnv)->MaxIndices) + 1 ; i++)     { fprintf(ConstructCompilerData(theEnv)->HeaderFP,"extern struct bitMapHashNode B%d_%d[];\n",ConstructCompilerData(theEnv)->ImageID,i); }   /*==================*/   /* Create the file. */   /*==================*/   if ((fp = NewCFile(theEnv,fileName,1,version,FALSE)) == NULL) return(-1);   /*===================*/   /* List the entries. */   /*===================*/   j = 0;   for (i = 0; i < BITMAP_HASH_SIZE; i++)     {      for (hashPtr = bitMapTable[i];           hashPtr != NULL;           hashPtr = hashPtr->next)        {         if (newHeader)           {            fprintf(fp,"struct bitMapHashNode B%d_%d[] = {\n",ConstructCompilerData(theEnv)->ImageID,arrayVersion);            newHeader = FALSE;           }         if (hashPtr->next == NULL)           { fprintf(fp,"{NULL,"); }         else           {            if ((j + 1) >= ConstructCompilerData(theEnv)->MaxIndices)              { fprintf(fp,"{&B%d_%d[%d],",ConstructCompilerData(theEnv)->ImageID,arrayVersion + 1,0); }            else              { fprintf(fp,"{&B%d_%d[%d],",ConstructCompilerData(theEnv)->ImageID,arrayVersion,j + 1); }           }         fprintf(fp,"%ld,0,1,0,0,%d,(char *) &L%d_%d[%d],%d",                     hashPtr->count + 1,i,                     ConstructCompilerData(theEnv)->ImageID,longsReqdPartition,longsReqdPartitionCount,                     hashPtr->size);         longsReqdPartitionCount += (int) (hashPtr->size / sizeof(unsigned long));         if ((hashPtr->size % sizeof(unsigned long)) != 0)           longsReqdPartitionCount++;         if (longsReqdPartitionCount >= ConstructCompilerData(theEnv)->MaxIndices)           {            longsReqdPartitionCount = 0;            longsReqdPartition++;           }         count++;         j++;         if ((count == numberOfEntries) || (j >= ConstructCompilerData(theEnv)->MaxIndices))           {            fprintf(fp,"}};\n");            GenClose(theEnv,fp);            j = 0;            arrayVersion++;            version++;            if (count < numberOfEntries)              {               if ((fp = NewCFile(theEnv,fileName,1,version,FALSE)) == NULL) return(0);               newHeader = TRUE;              }           }         else           { fprintf(fp,"},\n"); }        }     }   return(version);  }/*****************************************************//* BitMapValuesToCode: Produces the code for the bit *//*   map strings for a run-time module created using *//*   the constructs-to-c function.                   *//*****************************************************/static int BitMapValuesToCode(  void *theEnv,  char *fileName,  int version)  {   int i, j, k;   unsigned l;   struct bitMapHashNode *hashPtr;   int count;   int numberOfEntries;   struct bitMapHashNode **bitMapTable;   int newHeader = TRUE;   int arrayVersion = 1;   FILE *fp;   unsigned long tmpLong;   int longsReqd;   /*====================================*/   /* Count the total number of entries. */   /*====================================*/   bitMapTable = GetBitMapTable(theEnv);   count = numberOfEntries = 0;   for (i = 0; i < BITMAP_HASH_SIZE; i++)     {      for (hashPtr = bitMapTable[i];           hashPtr != NULL;           hashPtr = hashPtr->next)        {         numberOfEntries += (int) (hashPtr->size / sizeof(unsigned long));         if ((hashPtr->size % sizeof(unsigned long)) != 0)           { numberOfEntries++; }        }     }   if (numberOfEntries == 0) return(version);   for (i = 1; i <= (numberOfEntries / ConstructCompilerData(theEnv)->MaxIndices) + 1 ; i++)     { fprintf(ConstructCompilerData(theEnv)->HeaderFP,"extern unsigned long L%d_%d[];\n",ConstructCompilerData(theEnv)->ImageID,i); }   /*==================*/   /* Create the file. */   /*==================*/   if ((fp = NewCFile(theEnv,fileName,1,version,FALSE)) == NULL) return(-1);   /*===================*/   /* List the entries. */   /*===================*/   j = 0;   for (i = 0; i < BITMAP_HASH_SIZE; i++)     {      for (hashPtr = bitMapTable[i];           hashPtr != NULL;           hashPtr = hashPtr->next)        {         if (newHeader)           {            fprintf(fp,"unsigned long L%d_%d[] = {\n",ConstructCompilerData(theEnv)->ImageID,arrayVersion);            newHeader = FALSE;           }         longsReqd = (int) (hashPtr->size / sizeof(unsigned long));         if ((hashPtr->size % sizeof(unsigned long)) != 0)           longsReqd++;         for (k = 0 ; k < longsReqd ; k++)           {            if (k > 0)              fprintf(fp,",");            tmpLong = 0L;            for (l = 0 ;                 ((l < sizeof(unsigned long)) &&                 (((k * sizeof(unsigned long)) + l) < hashPtr->size)) ;                 l++)              ((char *) &tmpLong)[l] = hashPtr->contents[(k * sizeof(unsigned long)) + l];            fprintf(fp,"0x%lxL",tmpLong);           }         count += longsReqd;         j += longsReqd;         if ((count == numberOfEntries) || (j >= ConstructCompilerData(theEnv)->MaxIndices))           {            fprintf(fp,"};\n");            GenClose(theEnv,fp);            j = 0;            arrayVersion++;            version++;            if (count < numberOfEntries)              {               if ((fp = NewCFile(theEnv,fileName,1,version,FALSE)) == NULL) return(0);               newHeader = TRUE;              }           }         else           { fprintf(fp,",\n"); }        }     }   return(version);  }/****************************************************//* FloatHashNodesToCode: Produces the code for the  *//*   float hash table entries for a run-time module *//*   created using the constructs-to-c function.    *//****************************************************/static int FloatHashNodesToCode(  void *theEnv,  char *fileName,  int version)  {   int i, j;   struct floatHashNode *hashPtr;   int count;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
综合激情成人伊人| 午夜电影一区二区| 9久草视频在线视频精品| 国产精品无圣光一区二区| 国产精品亚洲综合一区在线观看| 欧美tickling网站挠脚心| 捆绑紧缚一区二区三区视频| 欧美精品乱码久久久久久按摩| 日韩精品免费视频人成| 日韩免费性生活视频播放| 国产老肥熟一区二区三区| 国产精品高潮久久久久无| 色噜噜狠狠色综合中国| 亚洲电影一级黄| 日韩一区二区三区在线观看| 国产最新精品免费| 亚洲视频精选在线| 欧美高清你懂得| 国产一区二区三区免费在线观看| 国产精品久久久久久久久免费相片| 99这里只有精品| 日韩精品欧美精品| 中文字幕免费在线观看视频一区| fc2成人免费人成在线观看播放| 一卡二卡欧美日韩| 26uuu精品一区二区在线观看| 9i看片成人免费高清| 美女视频黄免费的久久| 欧美韩国日本综合| 欧美乱妇20p| 成人免费观看视频| 三级在线观看一区二区| 中日韩免费视频中文字幕| 欧美日韩aaaaa| 成人av动漫网站| 97国产精品videossex| 久久嫩草精品久久久久| 在线亚洲精品福利网址导航| 国产一区欧美二区| 亚洲电影一级片| 亚洲欧洲无码一区二区三区| 欧美一级片在线看| 在线影院国内精品| 国产精品香蕉一区二区三区| 午夜精品123| 亚洲欧美在线观看| 久久午夜羞羞影院免费观看| 欧美亚洲综合在线| 国产91在线观看丝袜| 日韩制服丝袜先锋影音| 中文字幕一区二区视频| 久久久综合视频| 91精品久久久久久久久99蜜臂| av一区二区三区在线| 国产一区二区三区四区五区入口| 日本免费在线视频不卡一不卡二| 综合婷婷亚洲小说| 久久影院午夜片一区| 欧美精品久久99久久在免费线 | 日韩一级成人av| 在线影视一区二区三区| av在线播放一区二区三区| 国产999精品久久久久久绿帽| 日韩黄色免费电影| 五月综合激情日本mⅴ| 一区二区三区四区五区视频在线观看| 国产日产亚洲精品系列| 精品成人一区二区三区| 91精品国产综合久久小美女| 欧美在线看片a免费观看| 一本大道久久a久久综合婷婷| 国产999精品久久久久久绿帽| 国产成人综合自拍| 国产成人av一区| 国产v综合v亚洲欧| 国产+成+人+亚洲欧洲自线| 91麻豆精东视频| 成人黄页毛片网站| 成人app在线观看| 成人99免费视频| av高清不卡在线| 色哟哟亚洲精品| 欧美亚洲一区二区在线| 91电影在线观看| 欧美日韩和欧美的一区二区| 欧美亚洲综合色| 欧美群妇大交群中文字幕| 欧美日韩免费电影| 欧美一级免费大片| 日韩免费电影网站| 国产亚洲女人久久久久毛片| 欧美激情资源网| 中文字幕视频一区二区三区久| 欧美激情一区二区三区在线| 国产精品欧美综合在线| 亚洲欧美另类小说| 亚洲不卡一区二区三区| 日本sm残虐另类| 九九九久久久精品| 成人涩涩免费视频| 91黄视频在线| 欧美岛国在线观看| 国产精品素人一区二区| 亚洲品质自拍视频| 日产国产高清一区二区三区| 韩国成人在线视频| 色综合久久九月婷婷色综合| 欧美日韩国产不卡| 久久久久97国产精华液好用吗| 国产精品福利一区| 五月婷婷激情综合网| 精品一区二区免费看| 成人av网站在线观看免费| 99精品热视频| 日韩一级大片在线观看| 国产精品久久影院| 日韩影院在线观看| 成人午夜短视频| 制服丝袜亚洲网站| 国产精品成人网| 奇米亚洲午夜久久精品| 99久久婷婷国产综合精品电影 | 亚洲视频在线一区二区| 婷婷丁香久久五月婷婷| 国产精品亚洲一区二区三区妖精| 成人高清视频免费观看| 欧美日韩高清一区二区| 国产亲近乱来精品视频| 亚洲二区视频在线| 粉嫩一区二区三区性色av| 欧美日韩精品电影| 中文字幕制服丝袜一区二区三区| 亚洲第一会所有码转帖| 99久久久久久| 欧美videos大乳护士334| 一区二区高清在线| 99久久精品国产一区二区三区| 日韩一级视频免费观看在线| 一个色综合av| 成人99免费视频| 久久九九久久九九| 午夜精品福利视频网站| 97精品国产露脸对白| 久久久久久一二三区| 日韩成人伦理电影在线观看| 色欲综合视频天天天| 亚洲国产精品t66y| 精品一区二区三区在线视频| 欧美日韩综合在线| 一区二区三区在线高清| 成人av片在线观看| 中日韩av电影| 国产一区二区剧情av在线| 欧美大片一区二区| 日日夜夜免费精品| 欧美高清视频www夜色资源网| 一区二区三区在线看| 波多野洁衣一区| 亚洲国产成人私人影院tom| 极品销魂美女一区二区三区| 欧美一级夜夜爽| 五月天国产精品| 欧美久久高跟鞋激| 亚洲影视在线播放| 欧美无砖砖区免费| 亚洲国产精品久久艾草纯爱| 在线视频国内自拍亚洲视频| 亚洲欧美一区二区三区久本道91| 成人av在线影院| 中文字幕人成不卡一区| 99视频精品免费视频| 一区视频在线播放| 91免费视频网| 一区二区免费在线播放| 欧美视频一区在线| 丝袜美腿一区二区三区| 欧美日韩精品一区视频| 天使萌一区二区三区免费观看| 91精品在线一区二区| 老司机精品视频导航| 精品国产乱码久久久久久久久| 国产在线麻豆精品观看| 国产欧美日韩不卡| 不卡一区二区在线| 亚洲日本电影在线| 欧美少妇bbb| 免费在线观看日韩欧美| 精品国产欧美一区二区| 国产不卡免费视频| 亚洲精品免费看| 欧美日韩精品一区二区三区| 男人的天堂久久精品| 久久日韩粉嫩一区二区三区| www.在线欧美| 午夜精品国产更新| 久久综合九色综合欧美就去吻| 岛国av在线一区| 亚洲国产精品一区二区www在线 | 欧美三级日本三级少妇99| 日韩av网站在线观看|