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

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

?? dffnxpsr.c

?? clips源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
   /*******************************************************/   /*      "C" Language Integrated Production System      */   /*                                                     */   /*               CLIPS Version 6.24  06/05/06          */   /*                                                     */   /*                                                     */   /*******************************************************//*************************************************************//* Purpose: Deffunction Parsing Routines                     *//*                                                           *//* Principal Programmer(s):                                  *//*      Brian L. Donnell                                     *//*                                                           *//* Contributing Programmer(s):                               *//*                                                           *//* Revision History:                                         *//*                                                           *//*      6.24: Renamed BOOLEAN macro type to intBool.         *//*                                                           *//*            If the last construct in a loaded file is a    *//*            deffunction or defmethod with no closing right *//*            parenthesis, an error should be issued, but is *//*            not. DR0872                                    *//*                                                           *//*            Added pragmas to prevent unused variable       *//*            warnings.                                      *//*                                                           *//*************************************************************//* =========================================   *****************************************               EXTERNAL DEFINITIONS   =========================================   ***************************************** */#include "setup.h"#if DEFFUNCTION_CONSTRUCT && (! BLOAD_ONLY) && (! RUN_TIME)#if BLOAD || BLOAD_AND_BSAVE#include "bload.h"#endif#if DEFRULE_CONSTRUCT#include "network.h"#endif#if DEFGENERIC_CONSTRUCT#include "genrccom.h"#endif#include "constant.h"#include "cstrcpsr.h"#include "constrct.h"#include "dffnxfun.h"#include "envrnmnt.h"#include "expressn.h"#include "exprnpsr.h"#include "extnfunc.h"#include "memalloc.h"#include "prccode.h"#include "router.h"#include "scanner.h"#include "symbol.h"#define _DFFNXPSR_SOURCE_#include "dffnxpsr.h"/* =========================================   *****************************************      INTERNALLY VISIBLE FUNCTION HEADERS   =========================================   ***************************************** */static intBool ValidDeffunctionName(void *,char *);static DEFFUNCTION *AddDeffunction(void *,SYMBOL_HN *,EXPRESSION *,int,int,int,int);/* =========================================   *****************************************          EXTERNALLY VISIBLE FUNCTIONS   =========================================   ***************************************** *//***************************************************************************  NAME         : ParseDeffunction  DESCRIPTION  : Parses the deffunction construct  INPUTS       : The input logical name  RETURNS      : FALSE if successful parse, TRUE otherwise  SIDE EFFECTS : Creates valid deffunction definition  NOTES        : H/L Syntax :                 (deffunction <name> [<comment>]                    (<single-field-varible>* [<multifield-variable>])                    <action>*) ***************************************************************************/globle intBool ParseDeffunction(  void *theEnv,  char *readSource)  {   SYMBOL_HN *deffunctionName;   EXPRESSION *actions;   EXPRESSION *parameterList;   SYMBOL_HN *wildcard;   int min,max,lvars,DeffunctionError = FALSE;   short overwrite = FALSE, owMin = 0, owMax = 0;   DEFFUNCTION *dptr;   SetPPBufferStatus(theEnv,ON);   FlushPPBuffer(theEnv);   SetIndentDepth(theEnv,3);   SavePPBuffer(theEnv,"(deffunction ");#if BLOAD || BLOAD_AND_BSAVE   if ((Bloaded(theEnv) == TRUE) && (! ConstructData(theEnv)->CheckSyntaxMode))     {      CannotLoadWithBloadMessage(theEnv,"deffunctions");      return(TRUE);     }#endif   /* =====================================================      Parse the name and comment fields of the deffunction.      ===================================================== */   deffunctionName = GetConstructNameAndComment(theEnv,readSource,&DeffunctionData(theEnv)->DFInputToken,"deffunction",                                                EnvFindDeffunction,NULL,                                                "!",TRUE,TRUE,TRUE);   if (deffunctionName == NULL)     return(TRUE);   if (ValidDeffunctionName(theEnv,ValueToString(deffunctionName)) == FALSE)     return(TRUE);   /*==========================*/   /* Parse the argument list. */   /*==========================*/   parameterList = ParseProcParameters(theEnv,readSource,&DeffunctionData(theEnv)->DFInputToken,NULL,&wildcard,                                       &min,&max,&DeffunctionError,NULL);   if (DeffunctionError)     return(TRUE);   /*===================================================================*/   /* Go ahead and add the deffunction so it can be recursively called. */   /*===================================================================*/   if (ConstructData(theEnv)->CheckSyntaxMode)     {      dptr = (DEFFUNCTION *) EnvFindDeffunction(theEnv,ValueToString(deffunctionName));      if (dptr == NULL)        { dptr = AddDeffunction(theEnv,deffunctionName,NULL,min,max,0,TRUE); }      else        {         overwrite = TRUE;         owMin = (short) dptr->minNumberOfParameters;         owMax = (short) dptr->maxNumberOfParameters;         dptr->minNumberOfParameters = min;         dptr->maxNumberOfParameters = max;        }     }   else     { dptr = AddDeffunction(theEnv,deffunctionName,NULL,min,max,0,TRUE); }   if (dptr == NULL)     {      ReturnExpression(theEnv,parameterList);      return(TRUE);     }   /*==================================================*/   /* Parse the actions contained within the function. */   /*==================================================*/   PPCRAndIndent(theEnv);   ExpressionData(theEnv)->ReturnContext = TRUE;   actions = ParseProcActions(theEnv,"deffunction",readSource,                              &DeffunctionData(theEnv)->DFInputToken,parameterList,wildcard,                              NULL,NULL,&lvars,NULL);   /*=============================================================*/   /* Check for the closing right parenthesis of the deffunction. */   /*=============================================================*/   if ((DeffunctionData(theEnv)->DFInputToken.type != RPAREN) && /* DR0872 */       (actions != NULL))     {      SyntaxErrorMessage(theEnv,"deffunction");            ReturnExpression(theEnv,parameterList);      ReturnPackedExpression(theEnv,actions);      if (overwrite)        {         dptr->minNumberOfParameters = owMin;         dptr->maxNumberOfParameters = owMax;        }      if ((dptr->busy == 0) && (! overwrite))        {         RemoveConstructFromModule(theEnv,(struct constructHeader *) dptr);         RemoveDeffunction(theEnv,dptr);        }      return(TRUE);     }   if (actions == NULL)     {      ReturnExpression(theEnv,parameterList);      if (overwrite)        {         dptr->minNumberOfParameters = owMin;         dptr->maxNumberOfParameters = owMax;        }      if ((dptr->busy == 0) && (! overwrite))        {         RemoveConstructFromModule(theEnv,(struct constructHeader *) dptr);         RemoveDeffunction(theEnv,dptr);        }      return(TRUE);     }   /*==============================================*/   /* If we're only checking syntax, don't add the */   /* successfully parsed deffunction to the KB.   */   /*==============================================*/   if (ConstructData(theEnv)->CheckSyntaxMode)     {      ReturnExpression(theEnv,parameterList);      ReturnPackedExpression(theEnv,actions);      if (overwrite)        {         dptr->minNumberOfParameters = owMin;         dptr->maxNumberOfParameters = owMax;        }      else        {         RemoveConstructFromModule(theEnv,(struct constructHeader *) dptr);         RemoveDeffunction(theEnv,dptr);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩久久一区二区| 麻豆视频观看网址久久| 亚洲精品视频一区| 国产成人在线观看| 一区二区视频免费在线观看| 亚洲精品一线二线三线| 中文字幕成人网| 国产亚洲精品免费| 亚洲欧美成人一区二区三区| 国产精品久久久久久户外露出| 久久先锋资源网| 久久―日本道色综合久久| 菠萝蜜视频在线观看一区| 精品在线一区二区| 亚洲激情五月婷婷| 麻豆视频观看网址久久| 一区二区在线观看免费视频播放| 久久久久久久免费视频了| 久久久久久久电影| 欧美日韩国产欧美日美国产精品| 精品视频在线免费观看| 亚洲综合另类小说| 国产一区二区在线观看视频| 亚洲男人的天堂网| 久久色视频免费观看| 99视频精品全部免费在线| 99国产精品久久久久| 中文字幕中文乱码欧美一区二区| 欧美日韩精品欧美日韩精品一| 欧美视频在线播放| 亚洲午夜一区二区| 午夜一区二区三区视频| 蜜桃av噜噜一区| 久久久精品黄色| 91蝌蚪porny成人天涯| 欧美日韩高清影院| 欧美性videosxxxxx| 99精品在线观看视频| 国产精品传媒入口麻豆| 91亚洲国产成人精品一区二三| 成人视屏免费看| 国产精品美女久久久久久| 亚洲国产日韩av| 欧美日本一道本在线视频| 日日摸夜夜添夜夜添精品视频| 国产精品66部| 欧美日韩国产123区| 免费在线观看不卡| 国产婷婷色一区二区三区| 亚洲线精品一区二区三区八戒| 国产在线不卡一区| 国产精品无人区| a在线播放不卡| 国产精品伦理一区二区| 91黄色小视频| 日韩av一区二区三区| 精品日韩欧美一区二区| 国产不卡视频在线观看| 亚洲激情图片小说视频| 日韩精品一区二区三区视频在线观看 | 亚洲男人的天堂在线aⅴ视频| 久久成人麻豆午夜电影| 国产精品免费人成网站| 欧美精品一卡二卡| 亚洲一线二线三线久久久| 欧美久久一二区| 成人午夜碰碰视频| 午夜欧美大尺度福利影院在线看| 日本韩国欧美一区二区三区| 蜜臀va亚洲va欧美va天堂| 欧美日韩在线播放三区四区| 国产精品国产三级国产三级人妇| 国产成人午夜99999| 国产日韩影视精品| 欧美日韩在线播| 国产高清在线观看免费不卡| 亚洲精品视频在线观看网站| 欧美成人精品福利| 精品一区二区三区免费播放| 亚洲天天做日日做天天谢日日欢| proumb性欧美在线观看| 奇米四色…亚洲| 精品久久久久久亚洲综合网| 在线免费观看成人短视频| 国产精品自拍一区| 蜜臀91精品一区二区三区| 亚洲三级电影网站| 国产日韩成人精品| 欧美一区二区精品在线| 日本高清不卡在线观看| 丁香网亚洲国际| 国产一区美女在线| 免费成人你懂的| 久久精品亚洲麻豆av一区二区| 国产宾馆实践打屁股91| 日韩国产欧美在线观看| 亚洲男人电影天堂| 日本不卡一区二区三区| 日韩一区二区三区电影| 男男视频亚洲欧美| 天天影视网天天综合色在线播放| 欧美高清精品3d| 色视频成人在线观看免| 日本免费在线视频不卡一不卡二| 日韩一区二区三区在线观看| 在线精品视频一区二区三四| 99国产欧美另类久久久精品| 午夜视频一区在线观看| 一区二区三区精品视频在线| 亚洲日本在线天堂| 亚洲欧美色图小说| 一区二区三区在线免费视频| 欧美一区二区福利在线| 在线播放欧美女士性生活| 欧美日韩精品系列| 国产一区二区在线电影| 精品一区二区三区免费毛片爱| 中文字幕欧美激情一区| 国产精品理伦片| 欧美高清在线一区二区| 国产精品久久久久9999吃药| 国产精品久久久久久久久图文区| 在线国产电影不卡| 欧美日韩精品一区二区在线播放| 激情久久五月天| 国产99精品在线观看| 成人高清av在线| 91丝袜美女网| 国产在线观看一区二区| 成人黄色小视频在线观看| 91丨porny丨蝌蚪视频| 精品一区二区免费视频| 国产精品资源网站| 色综合久久中文综合久久97| 欧美日韩你懂的| 日韩欧美亚洲国产精品字幕久久久 | 91一区二区在线观看| 色88888久久久久久影院野外| 国内精品伊人久久久久影院对白| 亚洲国产日产av| 久久精品国产99| 成人晚上爱看视频| 国产酒店精品激情| 91麻豆免费观看| 欧美久久一区二区| 国产亚洲欧洲一区高清在线观看| 91精品国产色综合久久不卡蜜臀| 91网站在线观看视频| 欧美另类一区二区三区| 国产视频不卡一区| 亚洲综合色视频| 国产资源精品在线观看| 色94色欧美sute亚洲线路一ni| 成人福利电影精品一区二区在线观看| 狠狠色丁香婷综合久久| 99久久国产综合精品女不卡| 欧美巨大另类极品videosbest| 欧美性受极品xxxx喷水| 成人精品免费网站| 欧美日韩电影一区| 亚洲国产电影在线观看| 国产精品乱人伦| 日本欧美一区二区在线观看| 97久久超碰国产精品| 欧美一级视频精品观看| 亚洲精品日产精品乱码不卡| 国产一区二区精品久久91| 欧美日韩国产另类不卡| 国产精品成人免费精品自在线观看 | 欧美午夜在线观看| 欧美激情一区二区三区四区 | 欧美一区二区在线免费观看| 国产精品三级久久久久三级| 蜜臀91精品一区二区三区| 欧美在线一二三四区| 国产精品视频yy9299一区| 中文字幕中文字幕在线一区 | 色狠狠一区二区| 日本一区二区综合亚洲| 久久不见久久见免费视频7 | 午夜电影网一区| 91小视频免费观看| 国产精品人成在线观看免费| 亚洲欧美韩国综合色| 成人av手机在线观看| 久久久久国产精品免费免费搜索| 中文字幕av在线一区二区三区| 亚洲天堂福利av| 懂色中文一区二区在线播放| 精品入口麻豆88视频| 日韩福利视频导航| 欧美精品v日韩精品v韩国精品v| 91精品国产丝袜白色高跟鞋| 亚洲高清一区二区三区| 在线精品视频免费播放| 亚洲欧美国产毛片在线| 日本高清不卡一区| 亚洲福利一区二区| 欧美美女bb生活片| 国产精品不卡在线|