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

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

?? conscomp.c

?? clips源代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
   /*========================================*/   /* Return TRUE to indicate initialization */   /* file was successfully written.         */   /*========================================*/   return(TRUE);  }/**************************************************//* NewCFile: Opens a new file for writing C code. *//**************************************************/globle FILE *NewCFile(  void *theEnv,  char *fileName,  int id,  int version,  int reopenOldFile)  {   char fname[FILENAME_MAX+1];   FILE *newFP;   gensprintf(fname,"%s%d_%d.c",fileName,id,version);   newFP = GenOpen(theEnv,fname,(char *) (reopenOldFile ? "a" : "w"));   if (newFP == NULL)     {      OpenErrorMessage(theEnv,"constructs-to-c",fname);      return(NULL);     }   if (reopenOldFile == FALSE)     {      fprintf(newFP,"#include \"%s.h\"\n",fileName);      fprintf(newFP,"\n");     }   return(newFP);  }/**********************************************************//* HashedExpressionsToCode: Traverses the expression hash *//*   table and calls ExpressionToCode to write the C      *//*   code representation to a file of every expression in *//*   the table.                                           *//**********************************************************/static void HashedExpressionsToCode(  void *theEnv)  {   unsigned i;   EXPRESSION_HN *exphash;   for (i = 0; i < EXPRESSION_HASH_SIZE; i++)     {      for (exphash = ExpressionData(theEnv)->ExpressionHashTable[i];           exphash != NULL;           exphash = exphash->next)        {         exphash->bsaveID = ConstructCompilerData(theEnv)->ExpressionCount + (ConstructCompilerData(theEnv)->MaxIndices * ConstructCompilerData(theEnv)->ExpressionVersion);         ExpressionToCode(theEnv,NULL,exphash->exp);        }     }  }/*****************************************************//* PrintHashedExpressionReference: Writes the C code *//*   representation of a pointer to an expression    *//*   stored in the expression hash table.            *//*****************************************************/globle void PrintHashedExpressionReference(  void *theEnv,  FILE *theFile,  struct expr *theExpression,  int imageID,  int maxIndices)  {   long theIDValue;   if (theExpression == NULL)     { fprintf(theFile,"NULL"); }   else     {      theIDValue = HashedExpressionIndex(theEnv,theExpression);      fprintf(theFile,"&E%d_%ld[%ld]",                      imageID,                      theIDValue / maxIndices,                      theIDValue % maxIndices);     }  }/**************************************************************//* ExpressionToCode: Writes the C code reference of a pointer *//*   to an expression and then calls DumpExpression to write  *//*   the C code for the expression to the expression file.    *//**************************************************************/globle int ExpressionToCode(  void *theEnv,  FILE *fp,  struct expr *exprPtr)  {   /*========================================*/   /* Print the reference to the expression. */   /*========================================*/   if (exprPtr == NULL)     {      if (fp != NULL) fprintf(fp,"NULL");      return(FALSE);     }   else if (fp != NULL)     { fprintf(fp,"&E%d_%d[%ld]",ConstructCompilerData(theEnv)->ImageID,ConstructCompilerData(theEnv)->ExpressionVersion,ConstructCompilerData(theEnv)->ExpressionCount); }   /*==================================================*/   /* Create a new expression code file, if necessary. */   /*==================================================*/   if (ConstructCompilerData(theEnv)->ExpressionHeader == TRUE)     {      if ((ConstructCompilerData(theEnv)->ExpressionFP = NewCFile(theEnv,ConstructCompilerData(theEnv)->FilePrefix,3,ConstructCompilerData(theEnv)->ExpressionVersion,FALSE)) == NULL)        { return(-1); }      fprintf(ConstructCompilerData(theEnv)->ExpressionFP,"struct expr E%d_%d[] = {\n",ConstructCompilerData(theEnv)->ImageID,ConstructCompilerData(theEnv)->ExpressionVersion);      fprintf(ConstructCompilerData(theEnv)->HeaderFP,"extern struct expr E%d_%d[];\n",ConstructCompilerData(theEnv)->ImageID,ConstructCompilerData(theEnv)->ExpressionVersion);      ConstructCompilerData(theEnv)->ExpressionHeader = FALSE;     }   else     { fprintf(ConstructCompilerData(theEnv)->ExpressionFP,",\n"); }   /*===========================*/   /* Dump the expression code. */   /*===========================*/   DumpExpression(theEnv,exprPtr);   /*=========================================*/   /* Close the expression file if necessary. */   /*=========================================*/   if (ConstructCompilerData(theEnv)->ExpressionCount >= ConstructCompilerData(theEnv)->MaxIndices)     {      ConstructCompilerData(theEnv)->ExpressionCount = 0;      ConstructCompilerData(theEnv)->ExpressionVersion++;      fprintf(ConstructCompilerData(theEnv)->ExpressionFP,"};\n");      GenClose(theEnv,ConstructCompilerData(theEnv)->ExpressionFP);      ConstructCompilerData(theEnv)->ExpressionFP = NULL;      ConstructCompilerData(theEnv)->ExpressionHeader = TRUE;     }   /*==========================================*/   /* Return TRUE to indicate the expression   */   /* reference and expression data structures */   /* were succcessfully written to the file.  */   /*==========================================*/   return(TRUE);  }/**********************************************************//* DumpExpression: Writes the C code representation of an *//*   expression data structure to the expression file.    *//**********************************************************/static void DumpExpression(  void *theEnv,  struct expr *exprPtr)  {   while (exprPtr != NULL)     {      fprintf(ConstructCompilerData(theEnv)->ExpressionFP,"{");      fprintf(ConstructCompilerData(theEnv)->ExpressionFP,"%d,",exprPtr->type);      fprintf(ConstructCompilerData(theEnv)->ExpressionFP,"VS ");      switch (exprPtr->type)        {         case FCALL:           PrintFunctionReference(theEnv,ConstructCompilerData(theEnv)->ExpressionFP,(struct FunctionDefinition *) exprPtr->value);           break;         case INTEGER:           PrintIntegerReference(theEnv,ConstructCompilerData(theEnv)->ExpressionFP,(INTEGER_HN *) exprPtr->value);           break;         case FLOAT:           PrintFloatReference(theEnv,ConstructCompilerData(theEnv)->ExpressionFP,(FLOAT_HN *) exprPtr->value);           break;         case PCALL:#if DEFFUNCTION_CONSTRUCT           PrintDeffunctionReference(theEnv,ConstructCompilerData(theEnv)->ExpressionFP,(DEFFUNCTION *) exprPtr->value,                                     ConstructCompilerData(theEnv)->ImageID,ConstructCompilerData(theEnv)->MaxIndices);#else           fprintf(ConstructCompilerData(theEnv)->ExpressionFP,"NULL");#endif           break;         case GCALL:#if DEFGENERIC_CONSTRUCT           PrintGenericFunctionReference(theEnv,ConstructCompilerData(theEnv)->ExpressionFP,(DEFGENERIC *) exprPtr->value,                                         ConstructCompilerData(theEnv)->ImageID,ConstructCompilerData(theEnv)->MaxIndices);#else           fprintf(ConstructCompilerData(theEnv)->ExpressionFP,"NULL");#endif           break;         case DEFTEMPLATE_PTR:#if DEFTEMPLATE_CONSTRUCT           DeftemplateCConstructReference(theEnv,ConstructCompilerData(theEnv)->ExpressionFP,exprPtr->value,ConstructCompilerData(theEnv)->ImageID,ConstructCompilerData(theEnv)->MaxIndices);#else           fprintf(ConstructCompilerData(theEnv)->ExpressionFP,"NULL");#endif           break;         case DEFGLOBAL_PTR:#if DEFGLOBAL_CONSTRUCT           DefglobalCConstructReference(theEnv,ConstructCompilerData(theEnv)->ExpressionFP,exprPtr->value,ConstructCompilerData(theEnv)->ImageID,ConstructCompilerData(theEnv)->MaxIndices);#else           fprintf(ConstructCompilerData(theEnv)->ExpressionFP,"NULL");#endif           break;         case DEFCLASS_PTR:#if OBJECT_SYSTEM           PrintClassReference(theEnv,ConstructCompilerData(theEnv)->ExpressionFP,(DEFCLASS *) exprPtr->value,ConstructCompilerData(theEnv)->ImageID,ConstructCompilerData(theEnv)->MaxIndices);#else           fprintf(ConstructCompilerData(theEnv)->ExpressionFP,"NULL");#endif           break;          case FACT_ADDRESS:#if DEFTEMPLATE_CONSTRUCT           fprintf(ConstructCompilerData(theEnv)->ExpressionFP,"NULL");           fprintf(ConstructCompilerData(theEnv)->FixupFP,                   "   E%d_%d[%ld].value = &FactData(theEnv)->DummyFact;\n",                   ConstructCompilerData(theEnv)->ImageID,                   ConstructCompilerData(theEnv)->ExpressionVersion,                   ConstructCompilerData(theEnv)->ExpressionCount);#else           fprintf(ConstructCompilerData(theEnv)->ExpressionFP,"NULL");#endif           break;         case INSTANCE_ADDRESS:#if OBJECT_SYSTEM           fprintf(ConstructCompilerData(theEnv)->ExpressionFP,"NULL");           fprintf(ConstructCompilerData(theEnv)->FixupFP,                   "   E%d_%d[%ld].value = &InstanceData(theEnv)->DummyInstance;\n",                   ConstructCompilerData(theEnv)->ImageID,                   ConstructCompilerData(theEnv)->ExpressionVersion,                   ConstructCompilerData(theEnv)->ExpressionCount);#else           fprintf(ConstructCompilerData(theEnv)->ExpressionFP,"NULL");#endif           break;         case STRING:         case SYMBOL:         case INSTANCE_NAME:         case GBL_VARIABLE:           PrintSymbolReference(theEnv,ConstructCompilerData(theEnv)->ExpressionFP,(SYMBOL_HN *) exprPtr->value);           break;         case RVOID:           fprintf(ConstructCompilerData(theEnv)->ExpressionFP,"NULL");           break;         default:           if (EvaluationData(theEnv)->PrimitivesArray[exprPtr->type] == NULL)             { fprintf(ConstructCompilerData(theEnv)->ExpressionFP,"NULL"); }           else if (EvaluationData(theEnv)->PrimitivesArray[exprPtr->type]->bitMap)             { PrintBitMapReference(theEnv,ConstructCompilerData(theEnv)->ExpressionFP,(BITMAP_HN *) exprPtr->value); }           else             { fprintf(ConstructCompilerData(theEnv)->ExpressionFP,"NULL"); }           break;        }      fprintf(ConstructCompilerData(theEnv)->ExpressionFP,",");      ConstructCompilerData(theEnv)->ExpressionCount++;      if (exprPtr->argList == NULL)        { fprintf(ConstructCompilerData(theEnv)->ExpressionFP,"NULL,"); }      else        {         fprintf(ConstructCompilerData(theEnv)->ExpressionFP,"&E%d_%d[%ld],",ConstructCompilerData(theEnv)->ImageID,ConstructCompilerData(theEnv)->ExpressionVersion,                                                       ConstructCompilerData(theEnv)->ExpressionCount);        }      if (exprPtr->nextArg == NULL)        { fprintf(ConstructCompilerData(theEnv)->ExpressionFP,"NULL}"); }      else        {         fprintf(ConstructCompilerData(theEnv)->ExpressionFP,"&E%d_%d[%ld]}",ConstructCompilerData(theEnv)->ImageID,ConstructCompilerData(theEnv)->ExpressionVersion,                              ConstructCompilerData(theEnv)->ExpressionCount + ExpressionSize(exprPtr->argList));        }      if (exprPtr->argList != NULL)        {         fprintf(ConstructCompilerData(theEnv)->ExpressionFP,",\n");         DumpExpression(theEnv,exprPtr->argList);        }      exprPtr = exprPtr->nextArg;      if (exprPtr != NULL) fprintf(ConstructCompilerData(theEnv)->ExpressionFP,",\n");     }  }/***********************************************//* ConstructsToCCommandDefinition: Initializes *//*   the constructs-to-c command.              *//***********************************************/globle void ConstructsToCCommandDefinition(  void *theEnv)  {   EnvDefineFunction2(theEnv,"constructs-to-c",'v',                   PTIEF ConstructsToCCommand,                   "ConstructsToCCommand", "23*kii");  }/*********************************************************//* AddCodeGeneratorItem: Adds another code generator     *//*   item to the list of items for which code is         *//*   generated bythe constructs-to-c function. Typically *//*   each construct has its own code generator item.     *//*********************************************************/globle struct CodeGeneratorItem *AddCodeGeneratorItem(  void *theEnv,  char *name,  int priority,  void (*beforeFunction)(void *),  void (*initFunction)(void *,FILE *,int,int),  int (*generateFunction)(void *,char *,int,FILE *,int,int),  int arrayCount)  {   struct CodeGeneratorItem *newPtr, *currentPtr, *lastPtr = NULL;   register int i;   char theBuffer[3];   /*======================================*/   /* Create the code generator item data  */   /* structure and initialize its values. */   /*======================================*/   newPtr = get_struct(theEnv,CodeGeneratorItem);   newPtr->name = name;   newPtr->beforeFunction = beforeFunction;   newPtr->initFunction = initFunction;   newPtr->generateFunction = generateFunction;   newPtr->priority = priority;   newPtr->arrayCount = arrayCount;   /*================================================*/   /* Create the primary and secondary codes used to */   /* provide names for the C data structure arrays. */   /* (The maximum number of arrays is currently     */   /* limited to 47.                                 */   /*================================================*/   if (arrayCount != 0)     {      if ((arrayCount + ConstructCompilerData(theEnv)->CodeGeneratorCount) > (PRIMARY_LEN + SECONDARY_LEN))        {         SystemError(theEnv,"CONSCOMP",2);         EnvExitRouter(theEnv,EXIT_FAILURE);        }      newPtr->arrayNames = (char **) gm2(theEnv,(sizeof(char *) * arrayCount));      for (i = 0 ; i < arrayCount ; i++)        {         if (ConstructCompilerData(theEnv)->CodeGeneratorCount < PRIMARY_LEN)           { gensprintf(theBuffer,"%c",PRIMARY_CODES[ConstructCompilerData(theEnv)->CodeGeneratorCount]); }         else           { gensprintf(theBuffer,"%c_",SECONDARY_CODES[ConstructCompilerData(theEnv)->CodeGeneratorCount - PRIMARY_LEN]); }         ConstructCompilerData(theEnv)->CodeGeneratorCount++;         newPtr->arrayNames[i] = (char *) gm2(theEnv,(strlen(theBuffer) + 1));         genstrcpy(newPtr->arrayNames[i],theBuffer);        }     }   else     { newPtr->arrayNames = NULL; }   /*===========================================*/   /* Add the new item in the appropriate place */   /* in the code generator item list.          */   /*===========================================*/   if (ConstructCompilerData(theEnv)->ListOfCodeGeneratorItems == NULL)     {      newPtr->next = NULL;      ConstructCompilerData(theEnv)->ListOfCodeGeneratorItems = newPtr;      return(newPtr);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品自拍网站| 精品久久久三级丝袜| 欧美视频三区在线播放| 在线观看日韩国产| 欧美变态凌虐bdsm| 国产精品高潮呻吟| 亚洲一区二区视频在线| 激情综合亚洲精品| 99精品在线观看视频| 欧美欧美欧美欧美| 国产日韩精品一区二区浪潮av| 亚洲三级免费观看| 国产一区二三区| 555www色欧美视频| 亚洲男人的天堂av| 国产原创一区二区三区| 欧美精品 国产精品| 日韩伦理电影网| 国产成人综合网| 国产亚洲欧美在线| 国产精品一区在线观看乱码| 日本韩国欧美一区二区三区| 亚洲国产精品黑人久久久| 免费成人在线观看视频| 884aa四虎影成人精品一区| 亚洲欧美二区三区| 91美女精品福利| 亚洲视频一区二区在线观看| 99久久伊人精品| 中文字幕佐山爱一区二区免费| 国产成人在线色| 综合精品久久久| 欧美午夜寂寞影院| 另类小说欧美激情| 欧美日本一区二区在线观看| 天天影视网天天综合色在线播放| 欧美日韩久久久| 激情丁香综合五月| 国产欧美一区二区三区沐欲| 99久久精品国产导航| 亚洲精品日日夜夜| 在线播放欧美女士性生活| 日韩在线a电影| 日本一区二区三区四区| 一本一道久久a久久精品| 午夜影院久久久| 久久久亚洲国产美女国产盗摄| 91一区二区三区在线观看| 亚洲一区二区偷拍精品| 精品国产91九色蝌蚪| 在线观看日韩毛片| 国产成人午夜片在线观看高清观看| 国产精品久久久久一区二区三区| 欧美巨大另类极品videosbest | 欧美变态口味重另类| 91影视在线播放| 国产真实乱偷精品视频免| 亚洲品质自拍视频| 国产精品久久久久久久久动漫| 欧美一区二区三区白人| 色欧美88888久久久久久影院| 99久久久国产精品免费蜜臀| 国产91丝袜在线播放九色| 狠狠色狠狠色综合系列| 久久精品国产99久久6| 精品一区二区三区欧美| 精品影院一区二区久久久| 日韩高清一级片| 狠狠色狠狠色综合日日91app| 蜜桃av一区二区在线观看| 麻豆国产精品官网| 狠狠色2019综合网| youjizz国产精品| 在线精品视频一区二区三四| 在线一区二区视频| 精品久久五月天| 国产精品国产自产拍高清av王其| 日韩码欧中文字| 极品少妇xxxx精品少妇偷拍| 色综合色狠狠综合色| 91精品国产福利在线观看 | 国产一区二区在线看| av不卡在线观看| 精品国精品国产| 一区二区三区资源| 免费观看久久久4p| 欧美日韩在线一区二区| 久久五月婷婷丁香社区| 亚洲一区在线视频| 不卡视频一二三| 日韩欧美不卡在线观看视频| 一区二区免费在线| 国产精品一区二区果冻传媒| 欧美日韩一本到| 亚洲精品videosex极品| 国产白丝精品91爽爽久久| 欧美一区二区三区四区久久| 亚洲视频一二三| av影院午夜一区| 综合在线观看色| 99久久精品国产麻豆演员表| 国产目拍亚洲精品99久久精品| 精品一区二区三区不卡| 777午夜精品免费视频| 亚洲午夜久久久久久久久电影网 | 免费在线看成人av| 91精品国产乱| 国产一区二区三区免费看| 欧美成人精品高清在线播放| 毛片一区二区三区| 欧美大胆人体bbbb| 国产精品综合一区二区三区| 精品88久久久久88久久久| 美女在线观看视频一区二区| 日韩免费高清av| 不卡的看片网站| 日韩av不卡一区二区| 日韩免费一区二区| 国产成人免费在线观看| 国产精品不卡视频| 欧美视频一区二区三区在线观看| 日韩av一区二区三区| 欧美激情在线免费观看| 欧美日韩一区高清| 成人免费高清视频在线观看| 日精品一区二区三区| 欧美精品一区二区不卡| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲永久精品国产| 国产精品美女久久久久久2018| 欧美高清性hdvideosex| 日本电影亚洲天堂一区| 国产福利一区二区三区在线视频| 亚洲成人精品在线观看| 伊人婷婷欧美激情| 国产精品成人网| 国产精品久久久久一区| 久久综合九色综合97婷婷 | 精品国产乱码久久久久久老虎| 色综合激情五月| aaa国产一区| 91一区在线观看| 色综合欧美在线| 日本国产一区二区| 9人人澡人人爽人人精品| 成人高清视频免费观看| 国产美女在线精品| 成人免费视频caoporn| 国产91对白在线观看九色| 国产综合久久久久久久久久久久| 久草中文综合在线| 国产一区二区久久| 高清久久久久久| 欧美在线视频不卡| 精品乱人伦一区二区三区| 欧美国产1区2区| 亚洲一区二区中文在线| 午夜不卡av免费| 国产成人在线影院| 在线观看日韩毛片| 久久久99免费| 午夜视频在线观看一区二区三区| 日本视频一区二区| 91丨porny丨中文| 久久影院视频免费| 香蕉成人伊视频在线观看| 成人免费视频caoporn| 91高清在线观看| 中文字幕第一区综合| 日本不卡的三区四区五区| 色综合婷婷久久| 国产日产精品一区| 国产成人亚洲综合a∨婷婷 | 亚洲综合色视频| 国产91露脸合集magnet| 精品精品国产高清一毛片一天堂| 一区二区三区在线观看欧美| 国产一区二区不卡老阿姨| 91精品国产综合久久香蕉麻豆| 亚洲人成精品久久久久久| 99热在这里有精品免费| 中文字幕亚洲成人| 国产69精品一区二区亚洲孕妇| 欧美国产精品专区| 国产福利91精品一区| 国产精品视频看| 91亚洲永久精品| 亚洲国产精品影院| 欧美老肥妇做.爰bbww| 成人免费在线播放视频| 99精品在线免费| 亚洲资源在线观看| 91精品国产综合久久久久久久久久| 亚洲va欧美va国产va天堂影院| 在线视频你懂得一区| 日韩影院在线观看| 久久男人中文字幕资源站| 95精品视频在线| 日韩成人一区二区三区在线观看| 日韩亚洲欧美中文三级|