📄 prmt.h
字号:
head 2.1;access;symbols;locks; strict;comment @ * @;2.1date 95.10.24.15.46.14; author tsurace; state Release;branches;next 1.1;1.1date 95.10.12.19.30.48; author tsurace; state Beta;branches;next ;desc@Unreadable interpreter macros.@2.1log@Roll.@text@/* prmt.h: Some #defines used in the operator and primitive handlers */
/* $Id: prmt.h 1.1 1995/10/12 19:30:48 tsurace Beta tsurace $ */
#define PDECL(name) void name(rf, argc, argv) Dframe *rf, *argv; int argc;
#define Dp1 (argv[0])
#define Dp2 (argv[1])
#define Dp3 (argv[2])
#define Dp4 (argv[3])
#define Dp Dp1
#define T1 (Dp1.type)
#define T2 (Dp2.type)
#define T3 (Dp3.type)
#define T4 (Dp4.type)
#define T T1
#define Int1 (Dp1.Dval)
#define Int2 (Dp2.Dval)
#define Int3 (Dp3.Dval)
#define Int4 (Dp4.Dval)
#define Int Int1
#define Un1 (Dp1.Dunode)
#define Un2 (Dp2.Dunode)
#define Un3 (Dp3.Dunode)
#define Un4 (Dp4.Dunode)
#define Un Un1
#define Prmterror(x) if (1) { outputf x; finish_error(); \
*rf = frame_error; return; } else
#define Terror if (1) { type_error(rf); return; } else
#define Tcheckgen(e) if (e) Terror
#define Tcheck1(t) Tcheckgen(T1 != (t))
#define Tcheck2(t1, t2) Tcheckgen(T1 != (t1) || T2 != (t2))
#define Tcheck3(t1, t2, t3) Tcheckgen(T1 != (t1) || T2 != (t2) || T3 != (t3))
#define Berror if (1) { bounds_error(rf); return; } else
#define Bcheck(e) if (e) Berror
#define Set_err(v, s) if (1) { vtc_errflag = v; vtc_errmsg = s; } else
#define Set_err_neg(s) Set_err(rf->Dval == -1, s)
#define Set_err_null(s) Set_err(rf->type == F_NULL, s)
#define Dffalse(df) ((df).type == F_INT && !(df).Dval || (df).type == F_NULL)
#define Dftrue(df) (!Dffalse(df))
#define Ainbounds(df) ((df).Dapos >= 0 && (df).Dapos < (df).Asize)
#define Awriteok(df) (Ainbounds(df) || !(df).Darray->fixed && (df).Dapos >= 0)
#define Sinbounds(df) ((df).Dspos >= 0 && (df).Dspos < (df).Slen)
#define Soelem(df) (Sinbounds(df) ? (df).Sbegin[(df).Dspos] : 0)
#define Socstr(df) (Sinbounds(df) ? Scstr(df) : empty_cstr)
#define Soastr(df) (Sinbounds(df) ? Sastr(df) : "")
#define Salen(df) ((df).Slen - (df).u.s.pos)
#define Solen(df) (Sinbounds(df) ? Salen(df) : 0)
@1.1log@Initial revision@text@d2 1a2 1/* $Id$ */@
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -