mirror of
https://github.com/justinethier/cyclone.git
synced 2025-07-08 21:47:33 +02:00
Refactoring
This commit is contained in:
parent
79c7cbed97
commit
2ee4cd05b2
2 changed files with 25 additions and 29 deletions
|
@ -176,33 +176,32 @@ typedef long tag_type;
|
||||||
#define stack_overflow(x,y) ((x) > (y))
|
#define stack_overflow(x,y) ((x) > (y))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Define object tag values. Could be an enum...
|
// Types of objects
|
||||||
Remember to update tag_names in runtime.c when adding new tags */
|
// Remember to update tag_names in runtime.c when adding new tags
|
||||||
#define cons_tag 0
|
enum object_type
|
||||||
#define symbol_tag 1
|
{ cons_tag = 0
|
||||||
#define forward_tag 2
|
, symbol_tag // 1
|
||||||
#define closure0_tag 3
|
, forward_tag // 2
|
||||||
#define closure1_tag 4
|
, closure0_tag // 3
|
||||||
#define closureN_tag 8
|
, closure1_tag // 4
|
||||||
#define integer_tag 9
|
, closureN_tag // 5
|
||||||
#define double_tag 10
|
, integer_tag // 6
|
||||||
#define string_tag 11
|
, double_tag // 7
|
||||||
#define primitive_tag 12
|
, string_tag // 8
|
||||||
#define eof_tag 13
|
, primitive_tag // 9
|
||||||
#define port_tag 14
|
, eof_tag // 10
|
||||||
#define boolean_tag 15
|
, port_tag // 11
|
||||||
#define cvar_tag 16
|
, boolean_tag // 12
|
||||||
#define vector_tag 17
|
, cvar_tag // 13
|
||||||
#define macro_tag 18
|
, vector_tag // 14
|
||||||
#define mutex_tag 19
|
, macro_tag // 15
|
||||||
#define cond_var_tag 20
|
, mutex_tag // 16
|
||||||
#define bytevector_tag 21
|
, cond_var_tag // 17
|
||||||
#define c_opaque_tag 22
|
, bytevector_tag // 18
|
||||||
|
, c_opaque_tag // 19
|
||||||
|
};
|
||||||
|
|
||||||
#define nil NULL
|
|
||||||
#define eq(x,y) (x == y)
|
#define eq(x,y) (x == y)
|
||||||
#define nullp(x) (x == NULL)
|
|
||||||
|
|
||||||
#define type_of(x) (((list) x)->tag)
|
#define type_of(x) (((list) x)->tag)
|
||||||
#define forward(x) (((list) x)->cons_car)
|
#define forward(x) (((list) x)->cons_car)
|
||||||
|
|
||||||
|
|
|
@ -27,15 +27,12 @@ object Cyc_global_set(void *thd, object *glo, object value)
|
||||||
|
|
||||||
/* Error checking section - type mismatch, num args, etc */
|
/* Error checking section - type mismatch, num args, etc */
|
||||||
/* Type names to use for error messages */
|
/* Type names to use for error messages */
|
||||||
const char *tag_names[24] = { \
|
const char *tag_names[] = { \
|
||||||
"pair" \
|
"pair" \
|
||||||
, "symbol" \
|
, "symbol" \
|
||||||
, "" \
|
, "" \
|
||||||
, "procedure" \
|
, "procedure" \
|
||||||
, "procedure" \
|
, "procedure" \
|
||||||
, "" \
|
|
||||||
, "" \
|
|
||||||
, "" \
|
|
||||||
, "procedure" \
|
, "procedure" \
|
||||||
, "number" \
|
, "number" \
|
||||||
, "number" \
|
, "number" \
|
||||||
|
|
Loading…
Add table
Reference in a new issue