cell Struct Reference
Basic Lisp entity. More...
#include <picell.h>
Collaboration diagram for cell:
Data Fields | |
unsigned char | type |
unsigned char | marked |
type of the cell referred to the type enum More... | |
unsigned long | marks |
1 if marked in the "mark" phase of the gc More... | |
union { | |
int value | |
char * str | |
value of the num cell More... | |
struct cell * next_free_cell | |
string of the string cell More... | |
struct { | |
struct cell * car | |
struct cell * cdr | |
car of the cons cell More... | |
} | |
pointer to the next free cell for cells of type free More... | |
struct { | |
char * sym | |
union { | |
struct { | |
struct cell *(* bl )(struct cell *args) | |
void(* bs )(size_t stack_base, unsigned char nargs) | |
} | |
struct cell *(* bm )(struct cell *args, struct cell *env) | |
} | |
} | |
}; | |
number of cells that refer to this cell More... | |
Detailed Description
Basic Lisp entity.
Every cell has a type identifier (referred to the type enum). It identifies the type of the cell. marked
and marks
are fields used to collect garbage.
Field Documentation
union { ... } |
number of cells that refer to this cell
void(* cell::bs)(size_t stack_base, unsigned char nargs) |
pointer to builtin lambda function for builtin lambdas
struct cell* cell::car |
struct cell* cell::cdr |
car of the cons cell
unsigned char cell::marked |
type of the cell referred to the type enum
unsigned long cell::marks |
1 if marked in the "mark" phase of the gc
struct cell* cell::next_free_cell |
string of the string cell
char* cell::str |
value of the num cell
char* cell::sym |
unsigned char cell::type |
int cell::value |
The documentation for this struct was generated from the following file:
- include/picell.h