亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国产二区国产一区在线观看| 一区二区三区四区乱视频| 免费观看一级特黄欧美大片| 欧美高清精品3d| 免费观看一级特黄欧美大片| 欧美变态tickling挠脚心| 九九精品视频在线看| 国产精品视频在线看| 色综合久久中文字幕综合网 | 蜜臀99久久精品久久久久久软件 | 91小视频在线免费看| 一区二区三区在线观看视频| 欧美丝袜丝交足nylons| 美女尤物国产一区| 欧美国产1区2区| 欧美日韩中文一区| 国内精品在线播放| 中文字幕在线观看一区| 欧美日韩大陆一区二区| 国内成人精品2018免费看| **性色生活片久久毛片| 欧美性色黄大片手机版| 国产曰批免费观看久久久| 亚洲欧洲精品天堂一级| 欧美一级精品在线| av在线一区二区三区| 蜜桃久久av一区| 中文字幕中文字幕一区二区| 欧美日韩你懂得| 国产剧情一区在线| 亚洲高清在线精品| 欧美高清一级片在线观看| 欧美人牲a欧美精品| 成人午夜免费视频| 久久成人免费日本黄色| 亚洲蜜臀av乱码久久精品蜜桃| 日韩欧美综合在线| 欧洲生活片亚洲生活在线观看| 麻豆国产精品视频| 一区二区免费在线| 国产欧美日韩在线| 在线成人午夜影院| 日本精品一区二区三区四区的功能| 日本在线不卡一区| 亚洲精品综合在线| 国产午夜亚洲精品羞羞网站| 欧美日韩高清一区二区三区| 99re免费视频精品全部| 国产一区二区三区观看| 视频一区欧美日韩| 亚洲一区国产视频| 日韩一区在线看| 久久色中文字幕| 欧美一级在线免费| 欧美色男人天堂| 色婷婷狠狠综合| av在线不卡免费看| 成人国产精品免费观看| 精品无人码麻豆乱码1区2区 | 在线视频欧美精品| 成人av资源在线观看| 久久99国内精品| 久久草av在线| 免费成人美女在线观看.| 亚洲bdsm女犯bdsm网站| 亚洲国产成人av网| 亚洲成av人片在线观看| 亚洲一区二区三区视频在线播放| 亚洲男人的天堂网| 亚洲人成亚洲人成在线观看图片| 综合久久久久久久| 亚洲女人小视频在线观看| 国产视频一区在线播放| 久久久精品蜜桃| 国产日韩欧美精品一区| 国产女主播视频一区二区| 久久久91精品国产一区二区精品| 日韩精品一区二区三区swag| 91精品欧美福利在线观看| 欧美另类z0zxhd电影| 欧美二区乱c少妇| 日韩视频免费观看高清完整版 | 国产成人av一区二区三区在线 | 免费精品视频在线| 经典一区二区三区| 高清不卡一二三区| 成人av资源下载| 色激情天天射综合网| 欧美亚洲禁片免费| 欧美久久婷婷综合色| 日韩一区国产二区欧美三区| 欧美一级高清大全免费观看| 26uuu国产日韩综合| 久久久不卡网国产精品一区| 中文字幕不卡在线播放| 亚洲综合男人的天堂| 日韩二区三区四区| 国产制服丝袜一区| av亚洲精华国产精华| 欧美主播一区二区三区| 日韩欧美亚洲国产另类| 国产人妖乱国产精品人妖| 日韩美女啊v在线免费观看| 亚洲主播在线观看| 精品亚洲国内自在自线福利| 成人黄色综合网站| 宅男在线国产精品| 中文字幕欧美日韩一区| 亚洲午夜免费电影| 国内成人免费视频| 欧洲国内综合视频| 国产日韩成人精品| 天堂影院一区二区| 国产一区二区三区四| 色综合久久久久久久久久久| 91精品国产综合久久久久久久久久 | 亚洲一卡二卡三卡四卡五卡| 免费高清不卡av| 91免费视频观看| 欧美大胆一级视频| 一区二区三区欧美日| 国内不卡的二区三区中文字幕| 日本精品一区二区三区高清 | 蜜桃精品在线观看| 色综合视频一区二区三区高清| 日韩色视频在线观看| 亚洲人一二三区| 国产精品自在欧美一区| 欧美日韩一级二级三级| 国产精品欧美极品| 黄色日韩三级电影| 91精品国产乱码久久蜜臀| 亚洲视频免费在线| 国产成人午夜99999| 制服丝袜av成人在线看| 一区二区不卡在线视频 午夜欧美不卡在 | 精品国产制服丝袜高跟| 亚洲国产va精品久久久不卡综合| 成人免费毛片app| 欧美成人精品3d动漫h| 亚洲成a天堂v人片| 99国产精品久| 国产区在线观看成人精品 | 国内精品自线一区二区三区视频| 欧美日韩久久久一区| 亚洲免费大片在线观看| a4yy欧美一区二区三区| 久久久精品影视| 韩国午夜理伦三级不卡影院| 日韩一级在线观看| 蜜臀国产一区二区三区在线播放| 欧美制服丝袜第一页| 亚洲视频每日更新| 色综合网站在线| 一区二区三区在线免费视频| 99久久精品国产网站| 国产精品美女久久久久久久| 国产麻豆成人精品| 亚洲精品一区二区三区香蕉| 免费久久99精品国产| 日韩欧美中文字幕一区| 美女一区二区三区在线观看| 日韩一卡二卡三卡四卡| 久久精品国产亚洲a| 欧美一区二区人人喊爽| 日本91福利区| www久久久久| 国产高清不卡一区二区| 久久精品在这里| 成人av资源下载| √…a在线天堂一区| 91美女片黄在线观看91美女| 亚洲天堂免费在线观看视频| 欧美色老头old∨ideo| 国产欧美一区二区在线观看| 丰满岳乱妇一区二区三区| 久久久91精品国产一区二区精品| 国产成人啪午夜精品网站男同| 国产午夜亚洲精品午夜鲁丝片| 国产在线播精品第三| 国产精品久久久久久久久久久免费看| 成人免费看黄yyy456| 亚洲欧洲综合另类在线| 在线观看亚洲精品视频| 五月婷婷久久综合| 精品国产一区二区三区av性色| 国内精品久久久久影院色| 日本一区二区不卡视频| 色婷婷综合久久久久中文 | 欧美一区二区三区四区在线观看| 日本美女一区二区| 国产婷婷一区二区| 夜夜精品浪潮av一区二区三区| 高清av一区二区| 国产精品久久久久aaaa樱花 | 欧美亚洲图片小说| 蜜臀av亚洲一区中文字幕| 国产日韩欧美综合一区| 色综合久久综合网| 激情国产一区二区|