⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mal_type.h

📁 一个内存数据库的源代码这是服务器端还有客户端
💻 H
字号:
#ifndef MAL_TYPE_H#define MAL_TYPE_H#include "mal.h"/* #define DEBUG_MAL_TYPE 1 */typedef int malType;#define malVARG " malVARG"#define TMPMARKER '_'#define REFMARKER 'X'#define newBatType(H,T)  (1<<16 | (((H & 0377) <<8) | (T & 0377) ))#define newColType(T)  (1<<25 | (((TYPE_void & 0377) <<8) | (T & 0377) ))#define getHeadType(X)  ((X>>8) & 0377 )#define getTailType(X)  ((X) & 0377 )#define isaBatType(X)   ((1<<16) & (X) && (X)!= TYPE_any)#define setAnyHeadIndex(X,I) X |= ((I & 017)<<22);#define setAnyTailIndex(X,I) X |= ((I & 017)<<18);#define isAnyExpression(X) ((X) >> 17)#define isPolymorphic(X) (((X) >> 17) || (X)== TYPE_any)#define isPolyType(X) (isAnyExpression(X) && (getHeadIndex(X)>0 ||getTailIndex(X)>0))#define getHeadIndex(X)  (((X)>>22) & 017)#define getTailIndex(X)  (((X)>>18) & 017)#define RAISEsymbol     21	/* flow of control modifiers */#define CATCHsymbol     22#define RETURNsymbol    23#define BARRIERsymbol   24#define REDOsymbol      25#define LEAVEsymbol     26#define YIELDsymbol     27#define EXITsymbol      29#define ASSIGNsymbol    40	/* interpreter entry points */#define ENDsymbol       41#define NOOPsymbol      43	/* no operation required */#define COMMANDsymbol   61	/* these tokens should be the last group !! */#define FUNCTIONsymbol  62	/* the designate the signature start */#define FACTORYsymbol   63	/* the co-routine infrastructure */#define PATTERNsymbol   64	/* the MAL self-reflection commands */#define FCNcall     50		/* internal symbols */#define FACcall     51#define CMDcall     52#define THRDcall    53#define PATcall     54		/* pattern call */#define REMsymbol     99	/* commentary to be retained */mal_export str getTypeName(malType tpe);mal_export malType coercion(malType t1, malType t2);mal_export int getTypeIndex(str nme, int len, int deftpe);mal_export malType reverseBatType(malType v);mal_export malType malAnyBatType(malType t1, malType t2);mal_export int idcmp(str n, str m);mal_export str newTmpName(char tag, int i);mal_export int isTmpName(str n);mal_export int isTypeName(str n);mal_export int isIdentifier(str s);mal_export int findGDKtype(int type);	/* used in src/mal/mal_interpreter.c */#endif /* MAL_TYPE_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -