Added patch by Siddharth Heroor
[Klink.git] / opdefines.h
blob04976a2e0150e04ebc6a62362e03df5e6905289a
1 _OP_DEF(opexe_0, "kernel", 0, 0, 0, OP_KERNEL )
2 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_KERNEL_CALL )
3 _OP_DEF(opexe_0, "load", 1, 1, TST_STRING, OP_LOAD )
4 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_T0LVL )
5 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_T1LVL )
6 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_READ_INTERNAL )
7 _OP_DEF(opexe_0, "gensym", 0, 0, 0, OP_GENSYM )
8 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_VALUEPRINT )
9 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_EVAL )
10 #if USE_TRACING
11 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_REAL_EVAL )
12 #endif
13 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_E0ARGS )
14 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_E1ARGS )
15 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_APPLY )
16 #if USE_TRACING
17 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_REAL_APPLY )
18 _OP_DEF(opexe_0, "tracing", 1, 1, TST_NATURAL, OP_TRACING )
19 #endif
20 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_DOMACRO )
21 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_LAMBDA )
22 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_LAMBDA1 )
23 _OP_DEF(opexe_0, "make-closure", 1, 2, TST_PAIR TST_ENVIRONMENT, OP_MKCLOSURE )
24 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_QUOTE )
25 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_DEF0 )
26 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_DEF1 )
27 _OP_DEF(opexe_0, "defined?", 1, 2, TST_SYMBOL TST_ENVIRONMENT, OP_DEFP )
28 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_BEGIN )
29 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_IF0 )
30 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_IF1 )
31 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_SET0 )
32 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_SET1 )
33 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_LET0 )
34 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_LET1 )
35 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_LET2 )
36 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_LET0AST )
37 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_LET1AST )
38 _OP_DEF(opexe_0, 0, 0, 0, 0, OP_LET2AST )
39 _OP_DEF(opexe_1, 0, 0, 0, 0, OP_LET0REC )
40 _OP_DEF(opexe_1, 0, 0, 0, 0, OP_LET1REC )
41 _OP_DEF(opexe_1, 0, 0, 0, 0, OP_LET2REC )
42 _OP_DEF(opexe_1, 0, 0, 0, 0, OP_COND0 )
43 _OP_DEF(opexe_1, 0, 0, 0, 0, OP_COND1 )
44 _OP_DEF(opexe_1, 0, 0, 0, 0, OP_DELAY )
45 _OP_DEF(opexe_1, 0, 0, 0, 0, OP_AND0 )
46 _OP_DEF(opexe_1, 0, 0, 0, 0, OP_AND1 )
47 _OP_DEF(opexe_1, 0, 0, 0, 0, OP_OR0 )
48 _OP_DEF(opexe_1, 0, 0, 0, 0, OP_OR1 )
49 _OP_DEF(opexe_1, 0, 0, 0, 0, OP_C0STREAM )
50 _OP_DEF(opexe_1, 0, 0, 0, 0, OP_C1STREAM )
51 _OP_DEF(opexe_1, 0, 0, 0, 0, OP_MACRO0 )
52 _OP_DEF(opexe_1, 0, 0, 0, 0, OP_MACRO1 )
53 _OP_DEF(opexe_1, 0, 0, 0, 0, OP_CASE0 )
54 _OP_DEF(opexe_1, 0, 0, 0, 0, OP_CASE1 )
55 _OP_DEF(opexe_1, 0, 0, 0, 0, OP_CASE2 )
56 _OP_DEF(opexe_1, "eval", 1, 2, TST_ANY TST_ENVIRONMENT, OP_PEVAL )
57 _OP_DEF(opexe_1, "apply", 1, INF_ARG, TST_NONE, OP_PAPPLY )
58 _OP_DEF(opexe_1, "call-with-current-continuation", 1, 1, TST_NONE, OP_CONTINUATION )
59 #if USE_MATH
60 _OP_DEF(opexe_2, "inexact->exact", 1, 1, TST_NUMBER, OP_INEX2EX )
61 _OP_DEF(opexe_2, "exp", 1, 1, TST_NUMBER, OP_EXP )
62 _OP_DEF(opexe_2, "log", 1, 1, TST_NUMBER, OP_LOG )
63 _OP_DEF(opexe_2, "sin", 1, 1, TST_NUMBER, OP_SIN )
64 _OP_DEF(opexe_2, "cos", 1, 1, TST_NUMBER, OP_COS )
65 _OP_DEF(opexe_2, "tan", 1, 1, TST_NUMBER, OP_TAN )
66 _OP_DEF(opexe_2, "asin", 1, 1, TST_NUMBER, OP_ASIN )
67 _OP_DEF(opexe_2, "acos", 1, 1, TST_NUMBER, OP_ACOS )
68 _OP_DEF(opexe_2, "atan", 1, 2, TST_NUMBER, OP_ATAN )
69 _OP_DEF(opexe_2, "sqrt", 1, 1, TST_NUMBER, OP_SQRT )
70 _OP_DEF(opexe_2, "expt", 2, 2, TST_NUMBER, OP_EXPT )
71 _OP_DEF(opexe_2, "floor", 1, 1, TST_NUMBER, OP_FLOOR )
72 _OP_DEF(opexe_2, "ceiling", 1, 1, TST_NUMBER, OP_CEILING )
73 _OP_DEF(opexe_2, "truncate", 1, 1, TST_NUMBER, OP_TRUNCATE )
74 _OP_DEF(opexe_2, "round", 1, 1, TST_NUMBER, OP_ROUND )
75 #endif
76 _OP_DEF(opexe_2, "+", 0, INF_ARG, TST_NUMBER, OP_ADD )
77 _OP_DEF(opexe_2, "-", 1, INF_ARG, TST_NUMBER, OP_SUB )
78 _OP_DEF(opexe_2, "*", 0, INF_ARG, TST_NUMBER, OP_MUL )
79 _OP_DEF(opexe_2, "/", 1, INF_ARG, TST_NUMBER, OP_DIV )
80 _OP_DEF(opexe_2, "quotient", 1, INF_ARG, TST_INTEGER, OP_INTDIV )
81 _OP_DEF(opexe_2, "remainder", 2, 2, TST_INTEGER, OP_REM )
82 _OP_DEF(opexe_2, "modulo", 2, 2, TST_INTEGER, OP_MOD )
83 _OP_DEF(opexe_2, "car", 1, 1, TST_PAIR, OP_CAR )
84 _OP_DEF(opexe_2, "cdr", 1, 1, TST_PAIR, OP_CDR )
85 _OP_DEF(opexe_2, "cons", 2, 2, TST_NONE, OP_CONS )
86 _OP_DEF(opexe_2, "set-car!", 2, 2, TST_PAIR TST_ANY, OP_SETCAR )
87 _OP_DEF(opexe_2, "set-cdr!", 2, 2, TST_PAIR TST_ANY, OP_SETCDR )
88 _OP_DEF(opexe_2, "char->integer", 1, 1, TST_CHAR, OP_CHAR2INT )
89 _OP_DEF(opexe_2, "integer->char", 1, 1, TST_NATURAL, OP_INT2CHAR )
90 _OP_DEF(opexe_2, "char-upcase", 1, 1, TST_CHAR, OP_CHARUPCASE )
91 _OP_DEF(opexe_2, "char-downcase", 1, 1, TST_CHAR, OP_CHARDNCASE )
92 _OP_DEF(opexe_2, "symbol->string", 1, 1, TST_SYMBOL, OP_SYM2STR )
93 _OP_DEF(opexe_2, "atom->string", 1, 1, TST_ANY, OP_ATOM2STR )
94 _OP_DEF(opexe_2, "string->symbol", 1, 1, TST_STRING, OP_STR2SYM )
95 _OP_DEF(opexe_2, "string->atom", 1, 1, TST_STRING, OP_STR2ATOM )
96 _OP_DEF(opexe_2, "make-string", 1, 2, TST_NATURAL TST_CHAR, OP_MKSTRING )
97 _OP_DEF(opexe_2, "string-length", 1, 1, TST_STRING, OP_STRLEN )
98 _OP_DEF(opexe_2, "string-ref", 2, 2, TST_STRING TST_NATURAL, OP_STRREF )
99 _OP_DEF(opexe_2, "string-set!", 3, 3, TST_STRING TST_NATURAL TST_CHAR, OP_STRSET )
100 _OP_DEF(opexe_2, "string-append", 0, INF_ARG, TST_STRING, OP_STRAPPEND )
101 _OP_DEF(opexe_2, "substring", 2, 3, TST_STRING TST_NATURAL, OP_SUBSTR )
102 _OP_DEF(opexe_2, "vector", 0, INF_ARG, TST_NONE, OP_VECTOR )
103 _OP_DEF(opexe_2, "make-vector", 1, 2, TST_NATURAL TST_ANY, OP_MKVECTOR )
104 _OP_DEF(opexe_2, "vector-length", 1, 1, TST_VECTOR, OP_VECLEN )
105 _OP_DEF(opexe_2, "vector-ref", 2, 2, TST_VECTOR TST_NATURAL, OP_VECREF )
106 _OP_DEF(opexe_2, "vector-set!", 3, 3, TST_VECTOR TST_NATURAL TST_ANY, OP_VECSET )
107 _OP_DEF(opexe_3, "not", 1, 1, TST_NONE, OP_NOT )
108 _OP_DEF(opexe_3, "boolean?", 1, 1, TST_NONE, OP_BOOLP )
109 _OP_DEF(opexe_3, "eof-object?", 1, 1, TST_NONE, OP_EOFOBJP )
110 _OP_DEF(opexe_3, "null?", 1, 1, TST_NONE, OP_NULLP )
111 _OP_DEF(opexe_3, "=", 2, INF_ARG, TST_NUMBER, OP_NUMEQ )
112 _OP_DEF(opexe_3, "<", 2, INF_ARG, TST_NUMBER, OP_LESS )
113 _OP_DEF(opexe_3, ">", 2, INF_ARG, TST_NUMBER, OP_GRE )
114 _OP_DEF(opexe_3, "<=", 2, INF_ARG, TST_NUMBER, OP_LEQ )
115 _OP_DEF(opexe_3, ">=", 2, INF_ARG, TST_NUMBER, OP_GEQ )
116 _OP_DEF(opexe_3, "symbol?", 1, 1, TST_ANY, OP_SYMBOLP )
117 _OP_DEF(opexe_3, "number?", 1, 1, TST_ANY, OP_NUMBERP )
118 _OP_DEF(opexe_3, "string?", 1, 1, TST_ANY, OP_STRINGP )
119 _OP_DEF(opexe_3, "integer?", 1, 1, TST_ANY, OP_INTEGERP )
120 _OP_DEF(opexe_3, "real?", 1, 1, TST_ANY, OP_REALP )
121 _OP_DEF(opexe_3, "char?", 1, 1, TST_ANY, OP_CHARP )
122 #if USE_CHAR_CLASSIFIERS
123 _OP_DEF(opexe_3, "char-alphabetic?", 1, 1, TST_CHAR, OP_CHARAP )
124 _OP_DEF(opexe_3, "char-numeric?", 1, 1, TST_CHAR, OP_CHARNP )
125 _OP_DEF(opexe_3, "char-whitespace?", 1, 1, TST_CHAR, OP_CHARWP )
126 _OP_DEF(opexe_3, "char-upper-case?", 1, 1, TST_CHAR, OP_CHARUP )
127 _OP_DEF(opexe_3, "char-lower-case?", 1, 1, TST_CHAR, OP_CHARLP )
128 #endif
129 _OP_DEF(opexe_3, "port?", 1, 1, TST_ANY, OP_PORTP )
130 _OP_DEF(opexe_3, "input-port?", 1, 1, TST_ANY, OP_INPORTP )
131 _OP_DEF(opexe_3, "output-port?", 1, 1, TST_ANY, OP_OUTPORTP )
132 _OP_DEF(opexe_3, "procedure?", 1, 1, TST_ANY, OP_PROCP )
133 _OP_DEF(opexe_3, "pair?", 1, 1, TST_ANY, OP_PAIRP )
134 _OP_DEF(opexe_3, "list?", 1, 1, TST_ANY, OP_LISTP )
135 _OP_DEF(opexe_3, "environment?", 1, 1, TST_ANY, OP_ENVP )
136 _OP_DEF(opexe_3, "vector?", 1, 1, TST_ANY, OP_VECTORP )
137 _OP_DEF(opexe_3, "eq?", 2, 2, TST_ANY, OP_EQ )
138 _OP_DEF(opexe_3, "eqv?", 2, 2, TST_ANY, OP_EQV )
139 _OP_DEF(opexe_4, "force", 1, 1, TST_ANY, OP_FORCE )
140 _OP_DEF(opexe_4, 0, 0, 0, 0, OP_SAVE_FORCED )
141 _OP_DEF(opexe_4, "write", 1, 2, TST_ANY TST_OUTPORT, OP_WRITE )
142 _OP_DEF(opexe_4, "write-char", 1, 2, TST_CHAR TST_OUTPORT, OP_WRITE_CHAR )
143 _OP_DEF(opexe_4, "display", 1, 2, TST_ANY TST_OUTPORT, OP_DISPLAY )
144 _OP_DEF(opexe_4, "newline", 0, 1, TST_OUTPORT, OP_NEWLINE )
145 _OP_DEF(opexe_4, "error", 1, INF_ARG, TST_NONE, OP_ERR0 )
146 _OP_DEF(opexe_4, 0, 0, 0, 0, OP_ERR1 )
147 _OP_DEF(opexe_4, "reverse", 1, 1, TST_PAIR, OP_REVERSE )
148 _OP_DEF(opexe_4, "list*", 1, INF_ARG, TST_NONE, OP_LIST_STAR )
149 _OP_DEF(opexe_4, "append", 0, INF_ARG, TST_NONE, OP_APPEND )
150 _OP_DEF(opexe_4, "put", 3, 3, TST_NONE, OP_PUT )
151 _OP_DEF(opexe_4, "get", 2, 2, TST_NONE, OP_GET )
152 _OP_DEF(opexe_4, "quit", 0, 1, TST_NUMBER, OP_QUIT )
153 _OP_DEF(opexe_4, "gc", 0, 0, 0, OP_GC )
154 _OP_DEF(opexe_4, "gc-verbose", 0, 1, TST_NONE, OP_GCVERB )
155 _OP_DEF(opexe_4, "new-segment", 0, 1, TST_NUMBER, OP_NEWSEGMENT )
156 _OP_DEF(opexe_4, "oblist", 0, 0, 0, OP_OBLIST )
157 _OP_DEF(opexe_4, "current-input-port", 0, 0, 0, OP_CURR_INPORT )
158 _OP_DEF(opexe_4, "current-output-port", 0, 0, 0, OP_CURR_OUTPORT )
159 _OP_DEF(opexe_4, "open-input-file", 1, 1, TST_STRING, OP_OPEN_INFILE )
160 _OP_DEF(opexe_4, "open-output-file", 1, 1, TST_STRING, OP_OPEN_OUTFILE )
161 _OP_DEF(opexe_4, "open-input-output-file", 1, 1, TST_STRING, OP_OPEN_INOUTFILE )
162 #if USE_STRING_PORTS
163 _OP_DEF(opexe_4, "open-input-string", 1, 1, TST_STRING, OP_OPEN_INSTRING )
164 _OP_DEF(opexe_4, "open-input-output-string", 1, 1, TST_STRING, OP_OPEN_INOUTSTRING )
165 _OP_DEF(opexe_4, "open-output-string", 0, 1, TST_STRING, OP_OPEN_OUTSTRING )
166 _OP_DEF(opexe_4, "get-output-string", 1, 1, TST_OUTPORT, OP_GET_OUTSTRING )
167 #endif
168 _OP_DEF(opexe_4, "close-input-port", 1, 1, TST_INPORT, OP_CLOSE_INPORT )
169 _OP_DEF(opexe_4, "close-output-port", 1, 1, TST_OUTPORT, OP_CLOSE_OUTPORT )
170 _OP_DEF(opexe_4, "interaction-environment", 0, 0, 0, OP_INT_ENV )
171 _OP_DEF(opexe_4, "current-environment", 0, 0, 0, OP_CURR_ENV )
172 _OP_DEF(opexe_5, "read", 0, 1, TST_INPORT, OP_READ )
173 _OP_DEF(opexe_5, "read-char", 0, 1, TST_INPORT, OP_READ_CHAR )
174 _OP_DEF(opexe_5, "peek-char", 0, 1, TST_INPORT, OP_PEEK_CHAR )
175 _OP_DEF(opexe_5, "char-ready?", 0, 1, TST_INPORT, OP_CHAR_READY )
176 _OP_DEF(opexe_5, "set-input-port", 1, 1, TST_INPORT, OP_SET_INPORT )
177 _OP_DEF(opexe_5, "set-output-port", 1, 1, TST_OUTPORT, OP_SET_OUTPORT )
178 _OP_DEF(opexe_5, 0, 0, 0, 0, OP_RDSEXPR )
179 _OP_DEF(opexe_5, 0, 0, 0, 0, OP_RDLIST )
180 _OP_DEF(opexe_5, 0, 0, 0, 0, OP_RDDOT )
181 _OP_DEF(opexe_5, 0, 0, 0, 0, OP_RDQUOTE )
182 _OP_DEF(opexe_5, 0, 0, 0, 0, OP_RDQQUOTE )
183 _OP_DEF(opexe_5, 0, 0, 0, 0, OP_RDQQUOTEVEC )
184 _OP_DEF(opexe_5, 0, 0, 0, 0, OP_RDUNQUOTE )
185 _OP_DEF(opexe_5, 0, 0, 0, 0, OP_RDUQTSP )
186 _OP_DEF(opexe_5, 0, 0, 0, 0, OP_RDVEC )
187 _OP_DEF(opexe_5, 0, 0, 0, 0, OP_P0LIST )
188 _OP_DEF(opexe_5, 0, 0, 0, 0, OP_P1LIST )
189 _OP_DEF(opexe_5, 0, 0, 0, 0, OP_PVECFROM )
190 _OP_DEF(opexe_6, "length", 1, 1, TST_LIST, OP_LIST_LENGTH )
191 _OP_DEF(opexe_6, "assq", 2, 2, TST_NONE, OP_ASSQ )
192 _OP_DEF(opexe_6, "get-closure-code", 1, 1, TST_NONE, OP_GET_CLOSURE )
193 _OP_DEF(opexe_6, "closure?", 1, 1, TST_NONE, OP_CLOSUREP )
194 _OP_DEF(opexe_6, "macro?", 1, 1, TST_NONE, OP_MACROP )
195 #undef _OP_DEF