📄 xlftab.c
字号:
/* xlftab.c - xlisp function table *//* Copyright (c) 1985, by David Michael Betz All Rights Reserved Permission is granted for unrestricted non-commercial useHISTORY23-Apr-03 Mazzoni Eliminated some compiler warnings 1-Apr-88 Dale Amon at CSD Added include file hook for local language extensions: localdefs.h and localptrs.h*/#include "switches.h"#include "xlisp.h"#ifndef NO_PROTOTYPES_IN_XLISP_H/* external functions */extern LVAL xbisubr(void),xbifsubr(void), rmhash(void),rmquote(void),rmdquote(void),rmbquote(void),rmcomma(void), clnew(void),clisnew(void),clanswer(void), obisnew(void),obclass(void),obshow(void), rmlpar(void),rmrpar(void),rmsemi(void), xeval(void),xapply(void),xfuncall(void),xquote(void),xfunction(void),xbquote(void), xlambda(void),xset(void),xsetq(void),xsetf(void),xdefun(void),xdefmacro(void), xgensym(void),xmakesymbol(void),xintern(void), xsymname(void),xsymvalue(void),xsymplist(void), xget(void),xputprop(void),xremprop(void), xhash(void),xmkarray(void),xaref(void), xcar(void),xcdr(void), xcaar(void),xcadr(void),xcdar(void),xcddr(void), xcaaar(void),xcaadr(void),xcadar(void),xcaddr(void), xcdaar(void),xcdadr(void),xcddar(void),xcdddr(void), xcaaaar(void),xcaaadr(void),xcaadar(void),xcaaddr(void), xcadaar(void),xcadadr(void),xcaddar(void),xcadddr(void), xcdaaar(void),xcdaadr(void),xcdadar(void),xcdaddr(void), xcddaar(void),xcddadr(void),xcdddar(void),xcddddr(void), xcons(void),xlist(void),xappend(void),xreverse(void),xlast(void),xnth(void),xnthcdr(void), xmember(void),xassoc(void),xsubst(void),xsublis(void),xlength(void),xsort(void), xremove(void),xremif(void),xremifnot(void), xmapc(void),xmapcar(void),xmapl(void),xmaplist(void), xrplca(void),xrplcd(void),xnconc(void), xdelete(void),xdelif(void),xdelifnot(void), xatom(void),xsymbolp(void),xnumberp(void),xboundp(void),xnull(void),xlistp(void),xendp(void),xconsp(void), xeq(void),xeql(void),xequal(void), xcond(void),xcase(void),xand(void),xor(void),xlet(void),xletstar(void),xif(void), xprog(void),xprogstar(void),xprog1(void),xprog2(void),xprogn(void),xgo(void),xreturn(void), xcatch(void),xthrow(void), xerror(void),xcerror(void),xbreak(void), xcleanup(void),xtoplevel(void),xcontinue(void),xerrset(void), xbaktrace(void),xevalhook(void), xdo(void),xdostar(void),xdolist(void),xdotimes(void), xminusp(void),xzerop(void),xplusp(void),xevenp(void),xoddp(void), xfix(void),xfloat(void), xgcd(void),xadd(void),xsub(void),xmul(void),xdiv(void),xrem(void),xmin(void),xmax(void),xabs(void), xadd1(void),xsub1(void),xlogand(void),xlogior(void),xlogxor(void),xlognot(void), xsin(void),xcos(void),xtan(void),xexpt(void),xexp(void),xsqrt(void),xrand(void), xlss(void),xleq(void),xequ(void),xneq(void),xgeq(void),xgtr(void), xstrcat(void),xsubseq(void),xstring(void),xchar(void), xread(void),xprint(void),xprin1(void),xprinc(void),xterpri(void), xflatsize(void),xflatc(void), xopen(void),xbopen(void),xclose(void),xrdchar(void),xpkchar(void),xwrchar(void),xreadline(void), xrdint(void),xwrint(void),xrdfloat(void),xwrfloat(void), xload(void),xtranscript(void), xtype(void),xquit(void),xexit(void),xpeek(void),xpoke(void),xaddrs(void), xvector(void),xblock(void),xrtnfrom(void),xtagbody(void), xpsetq(void),xflet(void),xlabels(void),xmacrolet(void),xunwindprotect(void),xpp(void), xstrlss(void),xstrleq(void),xstreql(void),xstrneq(void),xstrgeq(void),xstrgtr(void), xstrilss(void),xstrileq(void),xstrieql(void),xstrineq(void),xstrigeq(void),xstrigtr(void), xupcase(void),xdowncase(void),xnupcase(void),xndowncase(void), xtrim(void),xlefttrim(void),xrighttrim(void), xuppercasep(void),xlowercasep(void),xbothcasep(void),xdigitp(void),xalphanumericp(void), xcharcode(void),xcodechar(void),xchupcase(void),xchdowncase(void),xdigitchar(void), xchrlss(void),xchrleq(void),xchreql(void),xchrneq(void),xchrgeq(void),xchrgtr(void), xchrilss(void),xchrileq(void),xchrieql(void),xchrineq(void),xchrigeq(void),xchrigtr(void), xintegerp(void),xfloatp(void),xstringp(void),xarrayp(void),xstreamp(void),xobjectp(void), xwhen(void),xunless(void),xloop(void), xsymfunction(void),xfboundp(void),xsend(void),xsendsuper(void), xprogv(void),xrdbyte(void),xwrbyte(void),xformat(void), xcharp(void),xcharint(void),xintchar(void), xmkstrinput(void),xmkstroutput(void),xgetstroutput(void),xgetlstoutput(void), xgetlambda(void),xmacroexpand(void),x1macroexpand(void), xinfo(void), //Added by Ning Hu Apr.2001 xsetdir(void), //Added by Ning Hu May.2001 xtrace(void),xuntrace(void),xprofile(void),xstrsearch(void), xsetupconsole(void);#endif/* functions specific to xldmem.c */LVAL xgc(void),xexpand(void),xalloc(void),xmem(void);#ifdef SAVERESTORELVAL xsave(void),xrestore(void);#endif/* include system dependant definitions */#include "osdefs.h"#include "localdefs.h"/* SUBR/FSUBR indicator */#define S SUBR#define F FSUBR/* forward declarations */LOCAL LVAL xnotimp(void);/* the function table */FUNDEF funtab[] = { /* read macro functions */{ NULL, S, rmhash }, /* 0 */{ NULL, S, rmquote }, /* 1 */{ NULL, S, rmdquote }, /* 2 */{ NULL, S, rmbquote }, /* 3 */{ NULL, S, rmcomma }, /* 4 */{ NULL, S, rmlpar }, /* 5 */{ NULL, S, rmrpar }, /* 6 */{ NULL, S, rmsemi }, /* 7 */{ NULL, S, xnotimp }, /* 8 */{ NULL, S, xnotimp }, /* 9 */ /* methods */{ NULL, S, clnew }, /* 10 */{ NULL, S, clisnew }, /* 11 */{ NULL, S, clanswer }, /* 12 */{ NULL, S, obisnew }, /* 13 */{ NULL, S, obclass }, /* 14 */{ NULL, S, obshow }, /* 15 */{ NULL, S, xnotimp }, /* 16 */{ NULL, S, xnotimp }, /* 17 */{ NULL, S, xnotimp }, /* 18 */{ NULL, S, xnotimp }, /* 19 */ /* evaluator functions */{ "EVAL", S, xeval }, /* 20 */{ "APPLY", S, xapply }, /* 21 */{ "FUNCALL", S, xfuncall }, /* 22 */{ "QUOTE", F, xquote }, /* 23 */{ "FUNCTION", F, xfunction }, /* 24 */{ "BACKQUOTE", F, xbquote }, /* 25 */{ "LAMBDA", F, xlambda }, /* 26 */ /* symbol functions */{ "SET", S, xset }, /* 27 */{ "SETQ", F, xsetq }, /* 28 */{ "SETF", F, xsetf }, /* 29 */{ "DEFUN", F, xdefun }, /* 30 */{ "DEFMACRO", F, xdefmacro }, /* 31 */{ "GENSYM", S, xgensym }, /* 32 */{ "MAKE-SYMBOL", S, xmakesymbol }, /* 33 */{ "INTERN", S, xintern }, /* 34 */{ "SYMBOL-NAME", S, xsymname }, /* 35 */{ "SYMBOL-VALUE", S, xsymvalue }, /* 36 */{ "SYMBOL-PLIST", S, xsymplist }, /* 37 */{ "GET", S, xget }, /* 38 */{ "PUTPROP", S, xputprop }, /* 39 */{ "REMPROP", S, xremprop }, /* 40 */{ "HASH", S, xhash }, /* 41 */ /* array functions */{ "MAKE-ARRAY", S, xmkarray }, /* 42 */{ "AREF", S, xaref }, /* 43 */ /* list functions */{ "CAR", S, xcar }, /* 44 */{ "CDR", S, xcdr }, /* 45 */ { "CAAR", S, xcaar }, /* 46 */{ "CADR", S, xcadr }, /* 47 */{ "CDAR", S, xcdar }, /* 48 */{ "CDDR", S, xcddr }, /* 49 */{ "CAAAR", S, xcaaar }, /* 50 */{ "CAADR", S, xcaadr }, /* 51 */{ "CADAR", S, xcadar }, /* 52 */{ "CADDR", S, xcaddr }, /* 53 */{ "CDAAR", S, xcdaar }, /* 54 */{ "CDADR", S, xcdadr }, /* 55 */{ "CDDAR", S, xcddar }, /* 56 */{ "CDDDR", S, xcdddr }, /* 57 */{ "CAAAAR", S, xcaaaar }, /* 58 */{ "CAAADR", S, xcaaadr }, /* 59 */{ "CAADAR", S, xcaadar }, /* 60 */{ "CAADDR", S, xcaaddr }, /* 61 */{ "CADAAR", S, xcadaar }, /* 62 */{ "CADADR", S, xcadadr }, /* 63 */{ "CADDAR", S, xcaddar }, /* 64 */{ "CADDDR", S, xcadddr }, /* 65 */{ "CDAAAR", S, xcdaaar }, /* 66 */{ "CDAADR", S, xcdaadr }, /* 67 */{ "CDADAR", S, xcdadar }, /* 68 */{ "CDADDR", S, xcdaddr }, /* 69 */{ "CDDAAR", S, xcddaar }, /* 70 */{ "CDDADR", S, xcddadr }, /* 71 */{ "CDDDAR", S, xcdddar }, /* 72 */{ "CDDDDR", S, xcddddr }, /* 73 */{ "CONS", S, xcons }, /* 74 */{ "LIST", S, xlist }, /* 75 */{ "APPEND", S, xappend }, /* 76 */{ "REVERSE", S, xreverse }, /* 77 */{ "LAST", S, xlast }, /* 78 */{ "NTH", S, xnth }, /* 79 */{ "NTHCDR", S, xnthcdr }, /* 80 */{ "MEMBER", S, xmember }, /* 81 */{ "ASSOC", S, xassoc }, /* 82 */{ "SUBST", S, xsubst }, /* 83 */{ "SUBLIS", S, xsublis }, /* 84 */{ "REMOVE", S, xremove }, /* 85 */{ "LENGTH", S, xlength }, /* 86 */{ "MAPC", S, xmapc }, /* 87 */{ "MAPCAR", S, xmapcar }, /* 88 */{ "MAPL", S, xmapl }, /* 89 */{ "MAPLIST", S, xmaplist }, /* 90 */ /* destructive list functions */{ "RPLACA", S, xrplca }, /* 91 */{ "RPLACD", S, xrplcd }, /* 92 */{ "NCONC", S, xnconc }, /* 93 */{ "DELETE", S, xdelete }, /* 94 */ /* predicate functions */{ "ATOM", S, xatom }, /* 95 */{ "SYMBOLP", S, xsymbolp }, /* 96 */{ "NUMBERP", S, xnumberp }, /* 97 */{ "BOUNDP", S, xboundp }, /* 98 */{ "NULL", S, xnull }, /* 99 */{ "LISTP", S, xlistp }, /* 100 */{ "CONSP", S, xconsp }, /* 101 */{ "MINUSP", S, xminusp }, /* 102 */{ "ZEROP", S, xzerop }, /* 103 */{ "PLUSP", S, xplusp }, /* 104 */{ "EVENP", S, xevenp }, /* 105 */{ "ODDP", S, xoddp }, /* 106 */{ "EQ", S, xeq }, /* 107 */{ "EQL", S, xeql }, /* 108 */{ "EQUAL", S, xequal }, /* 109 */ /* special forms */{ "COND", F, xcond }, /* 110 */{ "CASE", F, xcase }, /* 111 */{ "AND", F, xand }, /* 112 */{ "OR", F, xor }, /* 113 */{ "LET", F, xlet }, /* 114 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -