x-engine-c v0.2.13
The C engine for x-lang
Loading...
Searching...
No Matches
x-eval.h
Go to the documentation of this file.
1#ifndef X_EVAL_H
2#define X_EVAL_H
3
53/*
54 * ., .,
55 * {O,O}
56 * ( )
57 * " "
58 */
59
60#include "x-base.h"
61
65
75#define X_OBJ_FLAG_COV X_OBJ_FLAG_2
76
87#define x_error_handler_jmp(H) x_ptrval(x_firstobj(H))
88#define x_error_handler_saved_env(H) x_001(H)
89#define x_error_handler_error(H) x_011(H)
90#define x_error_handler_line(H) x_111(H)
105#include "x-eval-layout.h" /* generated: x_eval_env/ctrl/io_state/state anchors + x_eval_field_* */
106
107
136#define X_READ_BUF_SIZE 65536
137
/* end base_field */
139
142
145
148
150x_obj_t *x_eval_buffer_push(x_obj_t *p_base, x_obj_t *p_buffer);
151
153
155void x_eval_error(x_obj_t *p_base, x_char_t *message, x_obj_t *p_obj);
156
159#define x_eval_arg_exp(X) x_0((X))
164
166x_obj_t *x_eval_arg(x_obj_t *p_base, x_obj_t *p_arg);
167
173
175void x_eval_spine_guard(x_obj_t *p_base, x_obj_t *p_obj);
176
178x_obj_t *x_eval_spine_first(x_obj_t *p_base, x_obj_t *p_pos);
179
181x_obj_t *x_eval_body(x_obj_t *p_base, x_obj_t *p_body);
182
184x_obj_t *x_eval_body_tco(x_obj_t *p_base, x_obj_t *p_body);
185
187x_obj_t *x_eval_tco_trampoline(x_obj_t *p_base, x_obj_t *p_result);
188
192x_obj_t *x_eval_op_body(x_obj_t *p_base, x_obj_t *p_body, x_obj_t *p_caller);
193
196#endif /* X_EVAL_H */
static void x_obj_t * p_args
Definition x-prim.h:56
Definition x-obj.h:212
Base environment object – the root context for evaluation.
x_satom_t x_eval_obj
Definition obj.c:18
x_obj_t * x_eval_type_alist_extend(x_obj_t *p_base, x_obj_t *p_args)
Definition x-eval.c:969
void x_eval_spine_guard(x_obj_t *p_base, x_obj_t *p_obj)
Definition x-eval.c:354
x_obj_t * x_eval_body_tco(x_obj_t *p_base, x_obj_t *p_body)
Definition x-eval.c:544
x_obj_t * x_eval(x_obj_t *p_base, x_obj_t *p_args)
Definition x-eval.c:188
x_obj_t * x_eval_type_alist_assoc(x_obj_t *p_base, x_obj_t *p_args)
Definition x-eval.c:999
x_obj_t * x_eval_tco_trampoline(x_obj_t *p_base, x_obj_t *p_result)
Definition x-eval.c:624
x_obj_t * x_eval_load(x_obj_t *p_base, x_obj_t *p_args)
Definition x-eval.c:1061
x_obj_t * x_eval_spine_first(x_obj_t *p_base, x_obj_t *p_pos)
Definition x-eval.c:393
x_obj_t * x_eval_body(x_obj_t *p_base, x_obj_t *p_body)
Definition x-eval.c:473
x_obj_t * x_eval_make(x_obj_t *p_base, x_obj_t *p_args)
Definition x-eval.c:737
void x_eval_error(x_obj_t *p_base, x_char_t *message, x_obj_t *p_obj)
Definition x-eval.c:853
x_obj_t * x_eval_buffer_push(x_obj_t *p_base, x_obj_t *p_buffer)
Definition x-eval.c:1026
x_obj_t * x_eval_arg(x_obj_t *p_base, x_obj_t *p_arg)
Definition x-eval.c:310
x_obj_t * x_eval_op_body(x_obj_t *p_base, x_obj_t *p_body, x_obj_t *p_caller)
Definition x-eval.c:57
x_obj_t * x_eval_list(x_obj_t *p_base, x_obj_t *p_args)
Definition x-eval.c:431
x_obj_t x_satom_t[X_OBJ_META_LEN+X_OBJ_UNITS_ATOM]
Definition x-obj.h:283
char x_char_t
Definition x.h:138