亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
欧美日韩中文字幕一区二区| 日本欧美在线观看| 精品黑人一区二区三区久久| 狠狠色丁香久久婷婷综合_中| 亚洲伦理在线免费看| 一色桃子久久精品亚洲| 成人欧美一区二区三区白人| 欧美人xxxx| 国产精品久久久久一区| 久久免费看少妇高潮| 在线电影院国产精品| 欧美剧情片在线观看| 日韩一区和二区| 亚洲综合一区二区| 国产午夜精品一区二区三区视频| 国产精品成人网| 免费成人小视频| 精品成人在线观看| 9久草视频在线视频精品| 久久久久国产精品人| 99国产精品久| 成人国产精品免费网站| 性欧美疯狂xxxxbbbb| 精品日韩一区二区三区| 91国产成人在线| 国产美女视频一区| 欧美亚日韩国产aⅴ精品中极品| 亚洲精品久久久蜜桃| 日本韩国一区二区| 亚洲欧美视频在线观看视频| 色综合久久中文综合久久97| 亚洲图片欧美视频| 欧美一区二区三区电影| 国产精品正在播放| 亚洲国产精品尤物yw在线观看| 日韩一区二区三区四区| 国内久久婷婷综合| 国产女同性恋一区二区| 欧美一区二区视频在线观看2020| 成人精品视频网站| 亚洲精品欧美在线| 亚洲一区二区三区影院| 国产偷国产偷精品高清尤物| 成人在线视频一区| 丁香婷婷深情五月亚洲| 日本美女一区二区三区视频| 自拍视频在线观看一区二区| 国产亚洲成av人在线观看导航| 欧美疯狂做受xxxx富婆| 91蝌蚪porny九色| 国产一区91精品张津瑜| 麻豆高清免费国产一区| 精品国产免费人成电影在线观看四季| 国产精品久久久久影院亚瑟| 精品一区二区三区在线播放| 制服视频三区第一页精品| 国产精品国产三级国产aⅴ原创 | 欧美视频一区二区三区| 91精品蜜臀在线一区尤物| 激情欧美日韩一区二区| 五月天中文字幕一区二区| 国产夫妻精品视频| 欧美一级日韩不卡播放免费| 精品一区二区三区日韩| 免费观看在线综合| www.亚洲激情.com| 国产三级欧美三级日产三级99| 国产精品123| 亚洲444eee在线观看| 欧美一区二区三区性视频| 国产乱子轮精品视频| 一区二区中文视频| 欧美日韩黄色一区二区| 色婷婷综合在线| 久久久亚洲精品一区二区三区 | 91精品久久久久久久99蜜桃| 麻豆国产欧美日韩综合精品二区 | 亚洲制服丝袜av| 精品精品国产高清a毛片牛牛 | 欧美午夜寂寞影院| 成人激情午夜影院| 精品亚洲国内自在自线福利| 一区2区3区在线看| 国产精品国产三级国产普通话蜜臀 | 免费成人美女在线观看.| 亚洲视频一区二区在线| 久久这里只有精品首页| 51精品国自产在线| 色94色欧美sute亚洲13| 福利视频网站一区二区三区| 麻豆精品一区二区三区| 亚洲二区在线视频| 亚洲免费av网站| 国产精品系列在线| 国产无一区二区| 一区二区久久久| wwww国产精品欧美| 青青草国产精品亚洲专区无| 国产片一区二区三区| 在线综合视频播放| 色狠狠色噜噜噜综合网| av高清久久久| 91在线视频免费观看| 不卡在线观看av| 高清国产一区二区| 成人网男人的天堂| 国产69精品久久久久毛片| 丁香激情综合国产| 精品国精品国产| youjizz国产精品| 九一九一国产精品| 亚洲成年人网站在线观看| 中文字幕制服丝袜成人av| 亚洲男人的天堂在线aⅴ视频| 91在线国产观看| 亚洲一区二区三区视频在线| 国产精品一区二区久激情瑜伽| 免费的国产精品| 一区二区三区不卡在线观看| 国产精品萝li| 国产专区综合网| 日韩主播视频在线| 一区二区三区中文在线观看| 欧美日韩在线三级| 国产精品中文字幕欧美| 亚洲主播在线播放| 舔着乳尖日韩一区| 亚洲国产精品久久一线不卡| 亚洲日本一区二区三区| 亚洲高清免费观看高清完整版在线观看| 亚洲人成人一区二区在线观看 | 亚洲色图在线看| 成人性生交大片免费看在线播放| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产v日产∨综合v精品视频| 老司机精品视频导航| 久久国产精品72免费观看| 国产成都精品91一区二区三| 欧美性猛交一区二区三区精品| 91视频免费观看| 欧美亚洲高清一区| 欧美videossexotv100| 欧美成人vr18sexvr| 91精品国产一区二区三区| 91精品国产色综合久久不卡电影| 这里只有精品免费| 日韩国产在线观看一区| 成人免费高清在线观看| 欧美一区二区在线观看| 欧美一区二区三区四区视频| 日本一二三四高清不卡| 午夜久久久久久久久| 91视频在线观看| 欧美日韩大陆一区二区| 亚洲国产一区二区在线播放| 日韩av电影天堂| 欧美一区二区视频免费观看| 99r国产精品| 在线成人小视频| 欧美激情中文不卡| 水野朝阳av一区二区三区| 丁香啪啪综合成人亚洲小说 | 色悠悠久久综合| 成人午夜视频福利| 日本高清视频一区二区| 日韩精品一区二区三区四区| 国产精品视频yy9299一区| 日韩国产欧美在线视频| 91一区二区在线| 精品国产麻豆免费人成网站| 一区二区三区波多野结衣在线观看| 久久99最新地址| 欧美一区二区三区在线视频| 日韩伦理免费电影| 国产一区二区免费在线| 欧美久久一二区| 中文字幕一区二区三区在线观看| 久久精品国产亚洲高清剧情介绍| 一本色道久久加勒比精品| 久久久不卡网国产精品一区| 视频一区在线视频| 在线欧美小视频| 亚洲天堂成人网| 成人久久18免费网站麻豆| 欧美一级久久久| 天堂影院一区二区| 欧美日韩黄色一区二区| 一区二区三区在线免费播放| 成人免费视频视频在线观看免费| 欧美mv日韩mv国产网站app| 亚洲一区二区综合| 在线观看一区不卡| 一区二区在线观看视频在线观看| 丁香另类激情小说| 中文一区二区完整视频在线观看| 国产高清视频一区| 久久先锋影音av| 国产一区二区中文字幕| 日韩欧美在线观看一区二区三区| 青青草97国产精品免费观看 |