Piinit

Provides methods that have to be called before using pilisp. More...

Functions

void init_pi ()
 Initializes the variables and the structures that pilisp needs in order to properly work. Always call this function before using pilisp core functions. More...
 
void init_builtin_macros ()
 Initializes the array of builtin macros. More...
 
void init_builtin_lambdas ()
 Initializes the array of builtin lambdas. More...
 
void init_stack ()
 Initializes the variables to handle the stack. More...
 
void init_env ()
 Provides some non-builtin definitions, like 1+. More...
 
char * get_compiler_source_hardcoded ()
 Get the compiler source hardcoded. More...
 
void free_pi ()
 
void free_builtin_symbols ()
 

Variables

cell BUILTIN_LAMBDAS [N_BUILTIN_LAMBDA]
 
size_t builtin_lambdas_index
 
cell BUILTIN_MACROS [N_BUILTIN_MACRO]
 
size_t builtin_macros_index
 
cell * symbol_car
 
cell * symbol_cdr
 
cell * symbol_cons
 
cell * symbol_atom
 
cell * symbol_eq
 
cell * symbol_eq_math
 
cell * symbol_true
 
cell * symbol_set
 
cell * symbol_addition
 
cell * symbol_subtraction
 
cell * symbol_multiplication
 
cell * symbol_division
 
cell * symbol_lambda
 
cell * symbol_label
 
cell * symbol_load
 
cell * symbol_or
 
cell * symbol_and
 
cell * symbol_not
 
cell * symbol_greater
 
cell * symbol_greater_equal
 
cell * symbol_less
 
cell * symbol_less_equal
 
cell * symbol_length
 
cell * symbol_member
 
cell * symbol_nth
 
cell * symbol_file_ended
 
cell * symbol_env
 
cell * symbol_mem_dump
 
cell * symbol_collect_garbage
 
cell * symbol_dotimes
 
cell * symbol_list
 
cell * symbol_bye
 
cell * symbol_macro
 
cell * symbol_integerp
 
cell * symbol_symbolp
 
cell * symbol_write
 
cell * symbol_subseq
 
cell * symbol_reverse
 
cell * symbol_concatenate
 
cell * symbol_append
 
cell * symbol_lasm
 
cell * symbol_string
 
cell * symbol_setq
 
cell * symbol_let
 
cell * symbol_timer
 
cell * symbol_defun
 
cell * symbol_map
 
cell * symbol_cond
 
cell * symbol_quote
 
cell * symbol_asm
 
cell * symbol_compile
 

Detailed Description

Provides methods that have to be called before using pilisp.

Function Documentation

void free_builtin_symbols ( )
void free_pi ( )
char* get_compiler_source_hardcoded ( )

Get the compiler source hardcoded.

Returns
char* string representing the compiler source code
void init_builtin_lambdas ( )

Initializes the array of builtin lambdas.

void init_builtin_macros ( )

Initializes the array of builtin macros.

void init_env ( )

Provides some non-builtin definitions, like 1+.

void init_pi ( )

Initializes the variables and the structures that pilisp needs in order to properly work. Always call this function before using pilisp core functions.

void init_stack ( )

Initializes the variables to handle the stack.

Variable Documentation

cell BUILTIN_LAMBDAS[N_BUILTIN_LAMBDA]
size_t builtin_lambdas_index
cell BUILTIN_MACROS[N_BUILTIN_MACRO]
size_t builtin_macros_index
cell* symbol_addition
cell* symbol_and
cell* symbol_append
cell* symbol_asm
cell* symbol_atom
cell* symbol_bye
cell* symbol_car
cell* symbol_cdr
cell* symbol_collect_garbage
cell* symbol_compile
cell * symbol_concatenate
cell* symbol_cond
cell* symbol_cons
cell* symbol_defun
cell* symbol_division
cell* symbol_dotimes
cell* symbol_env
cell* symbol_eq
cell* symbol_eq_math
cell* symbol_file_ended
cell* symbol_greater
cell* symbol_greater_equal
cell* symbol_integerp
cell* symbol_label
cell* symbol_lambda
cell* symbol_lasm
cell* symbol_length
cell* symbol_less
cell* symbol_less_equal
cell* symbol_let
cell* symbol_list
cell* symbol_load
cell* symbol_macro
cell* symbol_map
cell* symbol_mem_dump
cell* symbol_member
cell* symbol_multiplication
cell* symbol_not
cell* symbol_nth
cell* symbol_or
cell* symbol_quote
cell* symbol_reverse
cell* symbol_set
cell* symbol_setq
cell* symbol_string
cell* symbol_subseq
cell* symbol_subtraction
cell* symbol_symbolp
cell* symbol_timer
cell* symbol_true
cell* symbol_write