📄 genrcfun.h
字号:
/*******************************************************/ /* "C" Language Integrated Production System */ /* */ /* CLIPS Version 6.05 04/09/97 */ /* */ /* */ /*******************************************************//*************************************************************//* Purpose: *//* *//* Principal Programmer(s): *//* Brian L. Donnell *//* *//* Contributing Programmer(s): *//* *//* Revision History: *//* *//*************************************************************/#ifndef _H_genrcfun#define _H_genrcfun#define SaveBusyCount(gfunc) (OldGenericBusySave = gfunc->busy)#define RestoreBusyCount(gfunc) (gfunc->busy = OldGenericBusySave)typedef struct defgenericModule DEFGENERIC_MODULE;typedef struct restriction RESTRICTION;typedef struct method DEFMETHOD;typedef struct defgeneric DEFGENERIC;#ifndef _CLIPS_STDIO_#define _CLIPS_STDIO_#include <stdio.h>#endif#ifndef _H_constrct#include "constrct.h"#endif#ifndef _H_moduldef#include "moduldef.h"#endif#ifndef _H_symbol#include "symbol.h"#endif#ifndef _H_expressn#include "expressn.h"#endif#ifndef _H_evaluatn#include "evaluatn.h"#endif#if OBJECT_SYSTEM#ifndef _H_object#include "object.h"#endif#endifstruct defgenericModule { struct defmoduleItemHeader header; };struct restriction { VOID **types; EXPRESSION *query; unsigned tcnt; };struct method { unsigned index,busy; int restrictionCount, minRestrictions,maxRestrictions, localVarCount; unsigned system : 1; unsigned trace : 1; RESTRICTION *restrictions; EXPRESSION *actions; char *ppForm; };struct defgeneric { struct constructHeader header; unsigned busy,trace; DEFMETHOD *methods; unsigned mcnt,new_index; };#ifdef LOCALE#undef LOCALE#endif#ifdef _GENRCFUN_SOURCE_#define LOCALE#else#define LOCALE extern#endif#if ANSI_COMPILER#if ! RUN_TIMELOCALE BOOLEAN ClearDefgenericsReady(void);LOCALE VOID *AllocateDefgenericModule(void);LOCALE VOID FreeDefgenericModule(VOID *);#endif#if (! BLOAD_ONLY) && (! RUN_TIME)LOCALE int ClearDefmethods(void);LOCALE int RemoveAllExplicitMethods(DEFGENERIC *);LOCALE VOID RemoveDefgeneric(VOID *);LOCALE int ClearDefgenerics(void);LOCALE VOID MethodAlterError(DEFGENERIC *);LOCALE VOID DeleteMethodInfo(DEFGENERIC *,DEFMETHOD *);LOCALE int MethodsExecuting(DEFGENERIC *);#if ! OBJECT_SYSTEMLOCALE BOOLEAN SubsumeType(int,int);#endif#endifLOCALE int FindMethodByIndex(DEFGENERIC *,unsigned);#if DEBUGGING_FUNCTIONSLOCALE VOID PreviewGeneric(void);LOCALE VOID PrintMethod(char *,int,DEFMETHOD *);#endifLOCALE DEFGENERIC *CheckGenericExists(char *,char *);LOCALE int CheckMethodExists(char *,DEFGENERIC *,int);#if ! OBJECT_SYSTEMLOCALE char *TypeName(int);#endifLOCALE VOID PrintGenericName(char *,DEFGENERIC *);#else#if ! RUN_TIMELOCALE BOOLEAN ClearDefgenericsReady();LOCALE VOID *AllocateDefgenericModule();LOCALE VOID FreeDefgenericModule();#endif#if (! BLOAD_ONLY) && (! RUN_TIME)LOCALE int ClearDefmethods();LOCALE int RemoveAllExplicitMethods();LOCALE VOID RemoveDefgeneric();LOCALE int ClearDefgenerics();LOCALE VOID MethodAlterError();LOCALE VOID DeleteMethodInfo();LOCALE int MethodsExecuting();#if ! OBJECT_SYSTEMLOCALE BOOLEAN SubsumeType();#endif#endifLOCALE int FindMethodByIndex();#if DEBUGGING_FUNCTIONSLOCALE VOID PreviewGeneric();LOCALE VOID PrintMethod();#endifLOCALE DEFGENERIC *CheckGenericExists();LOCALE int CheckMethodExists();#if ! OBJECT_SYSTEMLOCALE char *TypeName();#endifLOCALE VOID PrintGenericName();#endif#ifndef _GENRCFUN_SOURCE_extern DEFGENERIC *CurrentGeneric;extern DEFMETHOD *CurrentMethod;extern DATA_OBJECT *GenericCurrentArgument;#if DEBUGGING_FUNCTIONSextern int WatchGenerics,WatchMethods;#endif#if (! RUN_TIME) && (! BLOAD_ONLY)extern int OldGenericBusySave;#endif#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -