microlisp 0.1.0
A small Scheme-subset interpreter in modern C.
Loading...
Searching...
No Matches
Data Fields
microlisp_state Struct Reference

#include <microlisp_internal.h>

Collaboration diagram for microlisp_state:
Collaboration graph
[legend]

Data Fields

microlisp_allocator allocator
 Resolved (never partial).
 
int allocator_provided
 1 if user provided one; 0 means malloc.
 
mobjgc_head
 Head of "every heap object" list.
 
size_t gc_live_objects
 Live object count.
 
size_t gc_threshold
 Trigger collection when live > threshold.
 
mvaluegc_protect
 
size_t gc_protect_count
 
size_t gc_protect_cap
 
int gc_stress
 
mobj ** gc_marklist
 
size_t gc_marklist_count
 
size_t gc_marklist_cap
 
ml_symtab symtab
 
mvalue sym_quote
 
mvalue sym_if
 
mvalue sym_define
 
mvalue sym_lambda
 
mvalue sym_set_bang
 
mvalue sym_let
 
mvalue sym_let_star
 
mvalue sym_letrec
 
mvalue sym_begin
 
mvalue sym_and
 
mvalue sym_or
 
mvalue sym_cond
 
mvalue sym_else
 
mvalue toplevel_env
 
size_t max_read_depth
 
size_t max_eval_depth
 
size_t eval_depth
 
size_t max_print_depth
 
size_t print_depth
 
size_t max_equal_depth
 
size_t equal_depth
 
FILE * output
 
ml_error last_error
 

Field Documentation

◆ allocator

microlisp_allocator microlisp_state::allocator

Resolved (never partial).

◆ allocator_provided

int microlisp_state::allocator_provided

1 if user provided one; 0 means malloc.

◆ equal_depth

size_t microlisp_state::equal_depth

◆ eval_depth

size_t microlisp_state::eval_depth

◆ gc_head

mobj* microlisp_state::gc_head

Head of "every heap object" list.

◆ gc_live_objects

size_t microlisp_state::gc_live_objects

Live object count.

◆ gc_marklist

mobj** microlisp_state::gc_marklist

◆ gc_marklist_cap

size_t microlisp_state::gc_marklist_cap

◆ gc_marklist_count

size_t microlisp_state::gc_marklist_count

◆ gc_protect

mvalue* microlisp_state::gc_protect

◆ gc_protect_cap

size_t microlisp_state::gc_protect_cap

◆ gc_protect_count

size_t microlisp_state::gc_protect_count

◆ gc_stress

int microlisp_state::gc_stress

◆ gc_threshold

size_t microlisp_state::gc_threshold

Trigger collection when live > threshold.

◆ last_error

ml_error microlisp_state::last_error

◆ max_equal_depth

size_t microlisp_state::max_equal_depth

◆ max_eval_depth

size_t microlisp_state::max_eval_depth

◆ max_print_depth

size_t microlisp_state::max_print_depth

◆ max_read_depth

size_t microlisp_state::max_read_depth

◆ output

FILE* microlisp_state::output

◆ print_depth

size_t microlisp_state::print_depth

◆ sym_and

mvalue microlisp_state::sym_and

◆ sym_begin

mvalue microlisp_state::sym_begin

◆ sym_cond

mvalue microlisp_state::sym_cond

◆ sym_define

mvalue microlisp_state::sym_define

◆ sym_else

mvalue microlisp_state::sym_else

◆ sym_if

mvalue microlisp_state::sym_if

◆ sym_lambda

mvalue microlisp_state::sym_lambda

◆ sym_let

mvalue microlisp_state::sym_let

◆ sym_let_star

mvalue microlisp_state::sym_let_star

◆ sym_letrec

mvalue microlisp_state::sym_letrec

◆ sym_or

mvalue microlisp_state::sym_or

◆ sym_quote

mvalue microlisp_state::sym_quote

◆ sym_set_bang

mvalue microlisp_state::sym_set_bang

◆ symtab

ml_symtab microlisp_state::symtab

◆ toplevel_env

mvalue microlisp_state::toplevel_env

The documentation for this struct was generated from the following file: