52 LISP (*
leval)(LISP, LISP *, LISP *);
69 #define NEWCELL(_into,_type) \ 70 {if (gc_kind_copying == 1) \ 71 {if ((_into = heap) >= heap_end) \ 78 freelist = CDR(freelist); \ 79 ++gc_cells_allocated;} \ 80 (*_into).gc_mark = 0; \ 81 (*_into).type = (short) _type;} 83 #define NEWCELL(_into,_type) NNEWCELL(&_into,_type) 84 void NNEWCELL (LISP *_into,
long _type);
87 #define INTERRUPT_CHECK() 91 #define STACK_LIMIT(_ptr,_amt) (((char *)_ptr) - (_amt)) 94 #define STACK_CHECK(_ptr) \ 95 if (((char *) (_ptr)) < stack_limit_ptr) err_stack((char *) _ptr); 101 #if defined(VMS) && defined(VAX) 102 #define SIG_restargs ,... 131 void put_st(
const char *st);
139 LISP
extend_env(LISP actuals,LISP formals,LISP env);
141 LISP
closure(LISP env,LISP code);
145 void pprintf(FILE *fd,LISP exp,
int indent,
int width,
int depth,
int length);
150 void err_ctrl_c(
void);
160 void gc_mark_and_sweep(
void);
161 void gc_ms_stats_start(
void);
162 void gc_ms_stats_end(
void);
163 void mark_protected_registers(
void);
164 void mark_locations(LISP *
start,LISP *
end);
165 void mark_locations_array(LISP *x,
long n);
167 LISP leval_setq(LISP args,LISP env);
168 LISP syntax_define(LISP args);
169 LISP leval_define(LISP args,LISP env);
170 LISP leval_if(LISP *pform,LISP *penv);
171 LISP leval_lambda(LISP args,LISP env);
172 LISP leval_progn(LISP *pform,LISP *penv);
173 LISP leval_or(LISP *pform,LISP *penv);
174 LISP leval_and(LISP *pform,LISP *penv);
175 LISP leval_catch(LISP args,LISP env);
176 LISP lthrow(LISP
tag,LISP value);
177 LISP leval_let(LISP *pform,LISP *penv);
180 LISP leval_quote(LISP args,LISP env);
181 LISP leval_tenv(LISP args,LISP env);
185 LISP arglchk(LISP x);
187 int rfs_getc(
unsigned char **p);
188 void rfs_ungetc(
unsigned char c,
unsigned char **p);
191 void file_gc_free(LISP ptr);
192 void file_prin1(LISP ptr,FILE *
f);
193 LISP fd_to_scheme_file(
int fd,
194 const char *
name,
const char *how,
197 LISP
lputc(LISP c,LISP p);
198 LISP
lputs(LISP str,LISP p);
201 LISP
lfseek(LISP file,LISP offset,LISP direction);
202 LISP lfread(LISP size,LISP file);
203 LISP lfwrite(LISP
string,LISP file);
206 LISP leval_while(LISP args,LISP env);
208 void init_subrs_a(
void);
209 void init_subrs_1(
void);
219 LISP lwhile(LISP form,LISP env);
LISP closure_env(LISP exp)
LISP envlookup(LISP var, LISP env)
LISP(* fast_print)(LISP, LISP)
float end(const EST_Item &item)
LISP readtl(struct gen_readio *f)
repl_getc_fn siod_fancy_getc
LISP extend_env(LISP actuals, LISP formals, LISP env)
void init_subrs_base(void)
void sock_acknowledge_error()
void(* repl_ungetc_fn)(int, FILE *)
void close_open_files_upto(LISP end)
LISP siod_send_lisp_to_client(LISP x)
void init_subrs_list(void)
struct catch_frame * next
void gc_stop_and_copy(void)
void init_subrs_xtr(void)
struct gc_protected * next
void init_subrs_math(void)
void(* prin1)(LISP, FILE *)
void init_subrs_file(void)
void handle_sigint(int sig SIG_restargs)
void(* print_string)(LISP, char *)
LISP(* leval)(LISP, LISP *, LISP *)
void init_subrs_format(void)
LISP(* equal)(LISP, LISP)
void scan_registers(void)
void init_storage(int init_heap_size)
void free_oldspace(LISP space, LISP end)
void pprintf(FILE *fd, LISP exp, int indent, int width, int depth, int length)
void grepl_puts(char *st, void(*repl_putss)(char *))
void NNEWCELL(LISP *_into, long _type)
long no_interrupt(long n)
void scan_newspace(LISP newspace)
void gc_for_newcell(void)
LISP(* fast_read)(int, LISP)
LISP leval_args(LISP l, LISP env)
void init_subrs_sys(void)
int(* repl_getc_fn)(FILE *)
void handle_sigfpe(int sig SIG_restargs)
LISP(* gc_relocate)(LISP)
float start(const EST_Item &item)
void f_ungetc(int c, FILE *f)
LISP closure(LISP env, LISP code)
void init_subrs_str(void)
char * must_malloc(unsigned long size)
struct user_type_hooks * get_user_type_hooks(long type)
void init_subrs_core(void)
void gc_fatal_error(void)
void init_subrs_doc(void)
LISP gen_intern(char *name, int require_copy)
LISP let_macro(LISP form)
long repl_driver(long want_sigint, long want_init, struct repl_hooks *)
LISP lfseek(LISP file, LISP offset, LISP direction)
LISP stack_limit(LISP amount, LISP silent)
void init_subrs_srv(void)
void reverse(EST_Wave &sig)
long(* c_sxhash)(LISP, long)
int flush_ws(struct gen_readio *f, const char *eoferr)
LISP lputs(LISP str, LISP p)
struct catch_frame * catch_framep
LISP closure_code(LISP exp)
LISP lputc(LISP c, LISP p)
repl_ungetc_fn siod_fancy_ungetc
void close_open_files(void)
void put_st(const char *st)