8 #ifndef _SCHEME_PRIVATE_H
9 #define _SCHEME_PRIVATE_H
13 enum scheme_port_kind {
68 #define CELL_SEGSIZE 5000
69 #define CELL_NSEGMENT 10
70 char* alloc_seg[CELL_NSEGMENT];
71 pointer cell_seg[CELL_NSEGMENT];
116 port load_stack[MAXFIL];
117 int nesting_stack[MAXFIL];
124 #define LINESIZE 1024
125 char linebuff[LINESIZE];
137 struct scheme_interface* vptr;
143 enum scheme_opcodes {
144 #define _OP_DEF(A, B, C, D, E, OP) OP,
149 #define cons(sc, a, b) _cons(sc, a, b, 0)
150 #define immutable_cons(sc, a, b) _cons(sc, a, b, 1)
152 int is_string(pointer p);
153 char* string_value(pointer p);
154 int is_number(pointer p);
155 num nvalue(pointer p);
156 long ivalue(pointer p);
157 double rvalue(pointer p);
158 int is_integer(pointer p);
159 int is_real(pointer p);
160 int is_character(pointer p);
161 long charvalue(pointer p);
162 int is_vector(pointer p);
164 int is_port(pointer p);
166 int is_pair(pointer p);
167 pointer pair_car(pointer p);
168 pointer pair_cdr(pointer p);
169 pointer set_car(pointer p, pointer q);
170 pointer set_cdr(pointer p, pointer q);
172 int is_symbol(pointer p);
173 char* symname(pointer p);
174 int hasprop(pointer p);
176 int is_syntax(pointer p);
177 int is_proc(pointer p);
178 int is_foreign(pointer p);
179 char* syntaxname(pointer p);
180 int is_closure(pointer p);
182 int is_macro(pointer p);
184 pointer closure_code(pointer p);
185 pointer closure_env(pointer p);
187 int is_continuation(pointer p);
188 int is_promise(pointer p);
189 int is_environment(pointer p);
190 int is_immutable(pointer p);
191 void setimmutable(pointer p);
More support data for the TinyScheme parser.
Header info for the TinyScheme compiler.