Back to index

plt-scheme  4.2.1
Classes | Defines | Functions
mzc.h File Reference
#include <stdlib.h>
#include <stdarg.h>

Go to the source code of this file.

Classes

struct  Scheme_Primitive_Closure_Post
struct  _Scheme_Begin0_Rec
struct  _Scheme_WCM_Rec

Defines

#define GLOBAL_VARREF(x)
#define CHECK_GLOBAL_BOUND(x)
#define MZC_INLINE   MSC_IZE(inline)
#define MZC_GLOBAL_PREPARE(vec, pos)   (SCHEME_VEC_ELS(vec)[pos] = SCHEME_PTR_VAL(SCHEME_VEC_ELS(vec)[pos]))
#define MZC_KNOWN_SAFE_VECTOR_REF(vec, pos)   (SCHEME_VEC_ELS(vec)[pos])
#define MZC_APPLY_MAGIC(val, n)
#define DO_FUEL_POLL   ((scheme_fuel_counter-- <= 0) ? (scheme_process_block(0), 0) : 0)
#define _scheme_direct_apply_primitive_multi_poll(prim, argc, argv)   (DO_FUEL_POLL, _scheme_direct_apply_primitive_multi(prim, argc, argv))
#define _scheme_direct_apply_primitive_poll(prim, argc, argv)   (DO_FUEL_POLL, _scheme_direct_apply_primitive(prim, argc, argv))
#define _scheme_direct_apply_primitive_closure_multi_poll(prim, argc, argv)   (DO_FUEL_POLL, _scheme_direct_apply_primitive_closure_multi(prim, argc, argv))
#define _scheme_direct_apply_primitive_closure_poll(prim, argc, argv)   (DO_FUEL_POLL, _scheme_direct_apply_primitive_closure(prim, argc, argv))
#define CLOSURE_ALLOC_PP
#define MZC_INSTALL_DATA_PTR(rec)   rec
#define MZC_PARAM_TO_SWITCH(void_param)   *(unsigned long *)(((Scheme_Primitive_Closure *)void_param)->val)
#define MZC_ENV_POINTER(t, ct, void_param)   (&(((const ct *)void_param)->data))
#define MZ_LOG_WORD_SIZE   2
#define _scheme_make_c_proc_closure(cfunc, rec, name, amin, amax, flags)
#define _scheme_make_c_proc_closure_empty(cfunc, rec, name, amin, amax, flags)   (CLOSURE_ALLOC_PP (Scheme_Object *)_scheme_fill_prim_closure(&rec->prim, cfunc, name, amin, amax, flags))
#define _scheme_make_c_case_proc_closure(cfunc, rec, name, ccnt, cses, flags)
#define _scheme_make_c_case_proc_closure_empty(cfunc, rec, name, ccnt, cses, flags)   (CLOSURE_ALLOC_PP (Scheme_Object *)_scheme_fill_prim_case_closure(&rec->prim, cfunc, name, ccnt, cses, flags))
#define NO_MULTIPLE_VALUES(res)
#define CHECK_MULTIPLE_VALUES(res, expected)
#define SCHEME_DETATCH_MV_BUFFER(mv, pr)   if (SAME_OBJ(mv, pr->values_buffer)) pr->values_buffer = NULL
#define SCHEME_CURRENT_ENV(pr)   scheme_get_env(NULL)
#define _scheme_apply_ckp(f, argc, argv)   (SCHEME_CLSD_PRIMP(f) ? _scheme_apply_prim_closure(f, argc, argv) : _scheme_apply(f, argc, argv))
#define _scheme_apply_multi_ckp(f, argc, argv)   (SCHEME_CLSD_PRIMP(f) ? _scheme_apply_prim_closure_multi(f, argc, argv) : _scheme_apply_multi(f, argc, argv))
#define MZC_EQP(ltp, av, bv)   (SAME_OBJ(av, bv))
#define MZC_EQVP(ltp, av, bv)   (SAME_OBJ(av, bv) || scheme_eqv(av, bv))
#define MZC_EQUALP(ltp, av, bv)   scheme_equal(av, bv)
#define MZC_NOTP(p, av)   (SCHEME_FALSEP(av))
#define MZC_NULLP(p, av)   (SCHEME_NULLP(av))
#define MZC_PAIRP(p, av)   (SCHEME_PAIRP(av))
#define MZC_SYMBOLP(p, av)   (SCHEME_SYMBOLP(av))
#define MZC_STRINGP(p, av)   (SCHEME_CHAR_STRINGP(av))
#define MZC_BYTESP(p, av)   (SCHEME_BYTE_STRINGP(av))
#define MZC_VECTORP(p, av)   (SCHEME_VECTORP(av))
#define MZC_NUMBERP(p, av)   (SCHEME_NUMBERP(av))
#define MZC_PROCEDUREP(p, av)   (SCHEME_PROCP(av))
#define MZC_EOFP(p, av)   (SCHEME_EOFP(av))
#define MZC_CHARP(p, av)   (SCHEME_CHARP(av))
#define MZC_CONS(p, av, bv)   scheme_make_pair(av, bv)
#define MZC_LIST1(p, av)   scheme_make_pair(av, scheme_null)
#define MZC_LIST2(p, av, bv)   scheme_make_pair(av, scheme_make_pair(bv, scheme_null))
#define MZC_APPEND(p, av, bv)   scheme_append(av, bv)
#define MZC_FOR_SYNTAX_IN_ENV(ignored, proc)   scheme_apply_for_syntax_in_env(proc, env)
#define MZC_CAR(p, av)   (SCHEME_PAIRP(av) ? SCHEME_CAR(av) : (arg[0] = av, _scheme_direct_apply_primitive_multi(p, 1, arg)))
#define MZC_CDR(p, av)   (SCHEME_PAIRP(av) ? SCHEME_CDR(av) : (arg[0] = av, _scheme_direct_apply_primitive_multi(p, 1, arg)))
#define MZC_CADR(p, av)   ((SCHEME_PAIRP(av) && SCHEME_PAIRP(SCHEME_CDR(av))) ? SCHEME_CAR(SCHEME_CDR(av)) : (arg[0] = av, _scheme_direct_apply_primitive_multi(p, 1, arg)))
#define MZC_CDDR(p, av)   ((SCHEME_PAIRP(av) && SCHEME_PAIRP(SCHEME_CDR(av))) ? SCHEME_CDR(SCHEME_CDR(av)) : (arg[0] = av, _scheme_direct_apply_primitive_multi(p, 1, arg)))
#define MZC_CDAR(p, av)   ((SCHEME_PAIRP(av) && SCHEME_PAIRP(SCHEME_CAR(av))) ? SCHEME_CDR(SCHEME_CAR(av)) : (arg[0] = av, _scheme_direct_apply_primitive_multi(p, 1, arg)))
#define MZC_CAAR(p, av)   ((SCHEME_PAIRP(av) && SCHEME_PAIRP(SCHEME_CAR(av))) ? SCHEME_CAR(SCHEME_CAR(av)) : (arg[0] = av, _scheme_direct_apply_primitive_multi(p, 1, arg)))
#define MZC_CADDR(p, av)   ((SCHEME_PAIRP(av) && SCHEME_PAIRP(SCHEME_CDR(av)) && SCHEME_PAIRP(SCHEME_CDR(SCHEME_CDR(av)))) ? SCHEME_CADR(SCHEME_CDR(av)) : (arg[0] = av, _scheme_direct_apply_primitive_multi(p, 1, arg)))
#define MZC_SET_CAR(p, av, bv)   (SCHEME_MUTABLE_PAIRP(av) ? (SCHEME_CAR(av)=bv, scheme_void) : (arg[0] = av, arg[1] = bv, _scheme_direct_apply_primitive_multi(p, 2, arg)))
#define MZC_SET_CDR(p, av, bv)   (SCHEME_MUTABLE_PAIRP(av) ? (SCHEME_CDR(av)=bv, scheme_void) : (arg[0] = av, arg[1] = bv, _scheme_direct_apply_primitive_multi(p, 2, arg)))
#define MZC_CHAR_TO_INTEGER(p, v)
#define MZC_VECTOR_REF(p, v, i)
#define MZC_VECTOR_SET(p, v, i, x)
#define MZC_STRING_REF(p, v, i)
#define MZC_STRING_SET(p, v, i, x)
#define MZC_BYTES_REF(p, v, i)
#define MZC_BYTES_SET(p, v, i, x)
#define _MZC_DBLP(obj)   SAME_TYPE(_SCHEME_TYPE(obj), scheme_double_type)
#define MZC_ZEROP(zp, av)
#define MZC_ARITH_COMPARE(cp, av, bv, compareop)
#define MZC_LTP(cp, av, bv)   MZC_ARITH_COMPARE(cp, av, bv, <)
#define MZC_GTP(cp, av, bv)   MZC_ARITH_COMPARE(cp, av, bv, >)
#define MZC_LTEP(cp, av, bv)   MZC_ARITH_COMPARE(cp, av, bv, <=)
#define MZC_GTEP(cp, av, bv)   MZC_ARITH_COMPARE(cp, av, bv, >=)
#define MZC_EQLP(cp, av, bv)   MZC_ARITH_COMPARE(cp, av, bv, ==)
#define MZC_ADD1(p, av)
#define MZC_SUB1(p, av)
#define MZC_ARITH_OP(cp, av, bv, op, revop)
#define MZC_PLUS2(cp, av, bv)   MZC_ARITH_OP(cp, av, bv, +, -)
#define MZC_MINUS2(cp, av, bv)   MZC_ARITH_OP(cp, av, bv, -, +)
#define MZC_MAXMIN_OP(cp, av, bv, minlt)
#define MZC_MAX2(cp, av, bv)   MZC_MAXMIN_OP(cp, av, bv, >)
#define MZC_MIN2(cp, av, bv)   MZC_MAXMIN_OP(cp, av, bv, <)
#define MZC_QUOTIENT(cp, av, bv)
#define _scheme_direct_apply_primitive_closure_multi_fv(prim, argc, argv)   mzc_force_value(_scheme_direct_apply_primitive_closure_multi(prim, argc, argv))
#define _scheme_direct_apply_primitive_closure_fv(prim, argc, argv)   scheme_check_one_value(_scheme_direct_apply_primitive_closure_multi_fv(prim, argc, argv))
#define _mzc_direct_apply_primitive_multi(prim, argc, argv)   _scheme_direct_apply_primitive_multi(prim, argc, argv)
#define _mzc_direct_apply_primitive(prim, argc, argv)   _scheme_direct_apply_primitive(prim, argc, argv)
#define _mzc_direct_apply_primitive_closure_multi(prim, argc, argv)   _scheme_direct_apply_primitive_closure_multi(prim, argc, argv)
#define _mzc_direct_apply_primitive_closure(prim, argc, argv)   _scheme_direct_apply_primitive_closure(prim, argc, argv)
#define _mzc_apply(r, n, rs)   _scheme_apply(r,n,rs)
#define _mzc_apply_multi(r, n, rs)   _scheme_apply_multi(r,n,rs)
#define _mzc_apply_known_prim_closure(r, n, rs)   _scheme_apply_known_prim_closure(r,n,rs)
#define _mzc_apply_known_prim_closure_multi(r, n, rs)   _scheme_apply_known_prim_closure_multi(r,n,rs)
#define MZC_PRIM_CLS_DATA(prim)   (prim)

Functions

static MZC_INLINE Scheme_ObjectMZC_GLOBAL_LOOKUP (Scheme_Object *vec, int pos)
static MZC_INLINE Scheme_ObjectMZC_GLOBAL_ASSIGN (Scheme_Object *vec, int pos, Scheme_Object *val)
static MSC_IZE (inline) Scheme_Object *mzc_force_value(Scheme_Object *v)
static int mzc_strlen (const char *c)

Class Documentation

struct Scheme_Primitive_Closure_Post

Definition at line 70 of file mzc.h.

Collaboration diagram for Scheme_Primitive_Closure_Post:
Class Members
Scheme_Primitive_Proc prim
struct _Scheme_Begin0_Rec

Definition at line 118 of file mzc.h.

Collaboration diagram for _Scheme_Begin0_Rec:
Class Members
Scheme_Object ** array
int count
Scheme_Object * val
struct _Scheme_WCM_Rec

Definition at line 124 of file mzc.h.

Collaboration diagram for _Scheme_WCM_Rec:
Class Members
Scheme_Cont_Frame_Data cf
Scheme_Object * val

Define Documentation

#define _mzc_apply (   r,
  n,
  rs 
)    _scheme_apply(r,n,rs)

Definition at line 361 of file mzc.h.

#define _mzc_apply_known_prim_closure (   r,
  n,
  rs 
)    _scheme_apply_known_prim_closure(r,n,rs)

Definition at line 363 of file mzc.h.

#define _mzc_apply_known_prim_closure_multi (   r,
  n,
  rs 
)    _scheme_apply_known_prim_closure_multi(r,n,rs)

Definition at line 364 of file mzc.h.

#define _mzc_apply_multi (   r,
  n,
  rs 
)    _scheme_apply_multi(r,n,rs)

Definition at line 362 of file mzc.h.

#define _MZC_DBLP (   obj)    SAME_TYPE(_SCHEME_TYPE(obj), scheme_double_type)

Definition at line 220 of file mzc.h.

#define _mzc_direct_apply_primitive (   prim,
  argc,
  argv 
)    _scheme_direct_apply_primitive(prim, argc, argv)

Definition at line 353 of file mzc.h.

#define _mzc_direct_apply_primitive_closure (   prim,
  argc,
  argv 
)    _scheme_direct_apply_primitive_closure(prim, argc, argv)

Definition at line 357 of file mzc.h.

#define _mzc_direct_apply_primitive_closure_multi (   prim,
  argc,
  argv 
)    _scheme_direct_apply_primitive_closure_multi(prim, argc, argv)

Definition at line 355 of file mzc.h.

#define _mzc_direct_apply_primitive_multi (   prim,
  argc,
  argv 
)    _scheme_direct_apply_primitive_multi(prim, argc, argv)

Definition at line 351 of file mzc.h.

#define _scheme_apply_ckp (   f,
  argc,
  argv 
)    (SCHEME_CLSD_PRIMP(f) ? _scheme_apply_prim_closure(f, argc, argv) : _scheme_apply(f, argc, argv))

Definition at line 129 of file mzc.h.

#define _scheme_apply_multi_ckp (   f,
  argc,
  argv 
)    (SCHEME_CLSD_PRIMP(f) ? _scheme_apply_prim_closure_multi(f, argc, argv) : _scheme_apply_multi(f, argc, argv))

Definition at line 130 of file mzc.h.

Definition at line 304 of file mzc.h.

#define _scheme_direct_apply_primitive_closure_multi_fv (   prim,
  argc,
  argv 
)    mzc_force_value(_scheme_direct_apply_primitive_closure_multi(prim, argc, argv))

Definition at line 302 of file mzc.h.

#define _scheme_direct_apply_primitive_closure_multi_poll (   prim,
  argc,
  argv 
)    (DO_FUEL_POLL, _scheme_direct_apply_primitive_closure_multi(prim, argc, argv))

Definition at line 48 of file mzc.h.

#define _scheme_direct_apply_primitive_closure_poll (   prim,
  argc,
  argv 
)    (DO_FUEL_POLL, _scheme_direct_apply_primitive_closure(prim, argc, argv))

Definition at line 50 of file mzc.h.

#define _scheme_direct_apply_primitive_multi_poll (   prim,
  argc,
  argv 
)    (DO_FUEL_POLL, _scheme_direct_apply_primitive_multi(prim, argc, argv))

Definition at line 44 of file mzc.h.

#define _scheme_direct_apply_primitive_poll (   prim,
  argc,
  argv 
)    (DO_FUEL_POLL, _scheme_direct_apply_primitive(prim, argc, argv))

Definition at line 46 of file mzc.h.

#define _scheme_make_c_case_proc_closure (   cfunc,
  rec,
  name,
  ccnt,
  cses,
  flags 
)
Value:
(CLOSURE_ALLOC_PP (Scheme_Object *)_scheme_fill_prim_case_closure_post(((Scheme_Primitive_Closure *)&rec->prim), cfunc, \
                                                                name, ccnt, cses, flags, \
                                                                         sizeof(rec->data)>>MZ_LOG_WORD_SIZE))

Definition at line 96 of file mzc.h.

#define _scheme_make_c_case_proc_closure_empty (   cfunc,
  rec,
  name,
  ccnt,
  cses,
  flags 
)    (CLOSURE_ALLOC_PP (Scheme_Object *)_scheme_fill_prim_case_closure(&rec->prim, cfunc, name, ccnt, cses, flags))

Definition at line 101 of file mzc.h.

#define _scheme_make_c_proc_closure (   cfunc,
  rec,
  name,
  amin,
  amax,
  flags 
)
Value:
(CLOSURE_ALLOC_PP (Scheme_Object *)_scheme_fill_prim_closure_post(((Scheme_Primitive_Closure *)&rec->prim), cfunc, \
                                                            name, amin, amax, flags, \
                                                                    sizeof(rec->data)>>MZ_LOG_WORD_SIZE))

Definition at line 88 of file mzc.h.

#define _scheme_make_c_proc_closure_empty (   cfunc,
  rec,
  name,
  amin,
  amax,
  flags 
)    (CLOSURE_ALLOC_PP (Scheme_Object *)_scheme_fill_prim_closure(&rec->prim, cfunc, name, amin, amax, flags))

Definition at line 93 of file mzc.h.

#define CHECK_GLOBAL_BOUND (   x)
Value:
if (!(x)->val) scheme_raise_exn(MZEXN_UNIT, \
                                "invoke-unit: cannot link to undefined identifier: %S", \
                                (Scheme_Object*)(x)->key);

Definition at line 7 of file mzc.h.

#define CHECK_MULTIPLE_VALUES (   res,
  expected 
)
Value:
if (res != SCHEME_MULTIPLE_VALUES || scheme_multiple_count != expected) \
        scheme_wrong_return_arity(NULL, expected, \
                                  (res == SCHEME_MULTIPLE_VALUES ? scheme_multiple_count : 1), \
                                                          (res == SCHEME_MULTIPLE_VALUES ? scheme_multiple_array : (Scheme_Object**)res), \
                                  NULL);

Definition at line 107 of file mzc.h.

Definition at line 67 of file mzc.h.

#define DO_FUEL_POLL   ((scheme_fuel_counter-- <= 0) ? (scheme_process_block(0), 0) : 0)

Definition at line 42 of file mzc.h.

#define GLOBAL_VARREF (   x)
Value:

Definition at line 5 of file mzc.h.

#define MZ_LOG_WORD_SIZE   2

Definition at line 85 of file mzc.h.

#define MZC_ADD1 (   p,
  av 
)
Value:
((SCHEME_INTP(av) && (SCHEME_INT_VAL(av) < 0x3FFFFFFF)) \
                         ? scheme_make_integer(SCHEME_INT_VAL(av)+1) \
                         : (arg[0] = av, _scheme_direct_apply_primitive_multi(p, 1, arg)))

Definition at line 262 of file mzc.h.

#define MZC_APPEND (   p,
  av,
  bv 
)    scheme_append(av, bv)

Definition at line 150 of file mzc.h.

#define MZC_APPLY_MAGIC (   val,
 
)
Value:
scheme_eval_compiled_sized_string_with_magic(top_level_bytecode_ ## n, sizeof(top_level_bytecode_ ## n), NULL, \
                                               scheme_intern_symbol(top_level_magic_sym_ ## n), val, 1)

Definition at line 38 of file mzc.h.

#define MZC_ARITH_COMPARE (   cp,
  av,
  bv,
  compareop 
)
Value:
((SCHEME_INTP(av) && SCHEME_INTP(bv)) \
                                      ? (SCHEME_INT_VAL(av) compareop SCHEME_INT_VAL(bv)) \
                                      : ((SCHEME_DBLP(av) && SCHEME_DBLP(bv)) \
                                         ? (SCHEME_DBL_VAL(av) compareop SCHEME_DBL_VAL(bv)) \
                                         : (arg[0] = av, arg[1] = bv, SCHEME_TRUEP(_scheme_direct_apply_primitive_multi(cp, 2, arg)))))

Definition at line 228 of file mzc.h.

#define MZC_ARITH_OP (   cp,
  av,
  bv,
  op,
  revop 
)
Value:

Definition at line 269 of file mzc.h.

#define MZC_BYTES_REF (   p,
  v,
  i 
)
#define MZC_BYTES_SET (   p,
  v,
  i,
  x 
)
Value:

Definition at line 212 of file mzc.h.

#define MZC_BYTESP (   p,
  av 
)    (SCHEME_BYTE_STRINGP(av))

Definition at line 140 of file mzc.h.

#define MZC_CAAR (   p,
  av 
)    ((SCHEME_PAIRP(av) && SCHEME_PAIRP(SCHEME_CAR(av))) ? SCHEME_CAR(SCHEME_CAR(av)) : (arg[0] = av, _scheme_direct_apply_primitive_multi(p, 1, arg)))

Definition at line 184 of file mzc.h.

#define MZC_CADDR (   p,
  av 
)    ((SCHEME_PAIRP(av) && SCHEME_PAIRP(SCHEME_CDR(av)) && SCHEME_PAIRP(SCHEME_CDR(SCHEME_CDR(av)))) ? SCHEME_CADR(SCHEME_CDR(av)) : (arg[0] = av, _scheme_direct_apply_primitive_multi(p, 1, arg)))

Definition at line 185 of file mzc.h.

#define MZC_CADR (   p,
  av 
)    ((SCHEME_PAIRP(av) && SCHEME_PAIRP(SCHEME_CDR(av))) ? SCHEME_CAR(SCHEME_CDR(av)) : (arg[0] = av, _scheme_direct_apply_primitive_multi(p, 1, arg)))

Definition at line 181 of file mzc.h.

#define MZC_CAR (   p,
  av 
)    (SCHEME_PAIRP(av) ? SCHEME_CAR(av) : (arg[0] = av, _scheme_direct_apply_primitive_multi(p, 1, arg)))

Definition at line 179 of file mzc.h.

#define MZC_CDAR (   p,
  av 
)    ((SCHEME_PAIRP(av) && SCHEME_PAIRP(SCHEME_CAR(av))) ? SCHEME_CDR(SCHEME_CAR(av)) : (arg[0] = av, _scheme_direct_apply_primitive_multi(p, 1, arg)))

Definition at line 183 of file mzc.h.

#define MZC_CDDR (   p,
  av 
)    ((SCHEME_PAIRP(av) && SCHEME_PAIRP(SCHEME_CDR(av))) ? SCHEME_CDR(SCHEME_CDR(av)) : (arg[0] = av, _scheme_direct_apply_primitive_multi(p, 1, arg)))

Definition at line 182 of file mzc.h.

#define MZC_CDR (   p,
  av 
)    (SCHEME_PAIRP(av) ? SCHEME_CDR(av) : (arg[0] = av, _scheme_direct_apply_primitive_multi(p, 1, arg)))

Definition at line 180 of file mzc.h.

#define MZC_CHAR_TO_INTEGER (   p,
 
)
Value:

Definition at line 189 of file mzc.h.

#define MZC_CHARP (   p,
  av 
)    (SCHEME_CHARP(av))

Definition at line 145 of file mzc.h.

#define MZC_CONS (   p,
  av,
  bv 
)    scheme_make_pair(av, bv)

Definition at line 147 of file mzc.h.

#define MZC_ENV_POINTER (   t,
  ct,
  void_param 
)    (&(((const ct *)void_param)->data))

Definition at line 79 of file mzc.h.

#define MZC_EOFP (   p,
  av 
)    (SCHEME_EOFP(av))

Definition at line 144 of file mzc.h.

#define MZC_EQLP (   cp,
  av,
  bv 
)    MZC_ARITH_COMPARE(cp, av, bv, ==)

Definition at line 239 of file mzc.h.

#define MZC_EQP (   ltp,
  av,
  bv 
)    (SAME_OBJ(av, bv))

Definition at line 132 of file mzc.h.

#define MZC_EQUALP (   ltp,
  av,
  bv 
)    scheme_equal(av, bv)

Definition at line 134 of file mzc.h.

#define MZC_EQVP (   ltp,
  av,
  bv 
)    (SAME_OBJ(av, bv) || scheme_eqv(av, bv))

Definition at line 133 of file mzc.h.

#define MZC_FOR_SYNTAX_IN_ENV (   ignored,
  proc 
)    scheme_apply_for_syntax_in_env(proc, env)

Definition at line 152 of file mzc.h.

#define MZC_GLOBAL_PREPARE (   vec,
  pos 
)    (SCHEME_VEC_ELS(vec)[pos] = SCHEME_PTR_VAL(SCHEME_VEC_ELS(vec)[pos]))

Definition at line 18 of file mzc.h.

#define MZC_GTEP (   cp,
  av,
  bv 
)    MZC_ARITH_COMPARE(cp, av, bv, >=)

Definition at line 238 of file mzc.h.

#define MZC_GTP (   cp,
  av,
  bv 
)    MZC_ARITH_COMPARE(cp, av, bv, >)

Definition at line 236 of file mzc.h.

#define MZC_INLINE   MSC_IZE(inline)

Definition at line 15 of file mzc.h.

#define MZC_INSTALL_DATA_PTR (   rec)    rec

Definition at line 77 of file mzc.h.

#define MZC_KNOWN_SAFE_VECTOR_REF (   vec,
  pos 
)    (SCHEME_VEC_ELS(vec)[pos])

Definition at line 36 of file mzc.h.

#define MZC_LIST1 (   p,
  av 
)    scheme_make_pair(av, scheme_null)

Definition at line 148 of file mzc.h.

#define MZC_LIST2 (   p,
  av,
  bv 
)    scheme_make_pair(av, scheme_make_pair(bv, scheme_null))

Definition at line 149 of file mzc.h.

#define MZC_LTEP (   cp,
  av,
  bv 
)    MZC_ARITH_COMPARE(cp, av, bv, <=)

Definition at line 237 of file mzc.h.

#define MZC_LTP (   cp,
  av,
  bv 
)    MZC_ARITH_COMPARE(cp, av, bv, <)

Definition at line 235 of file mzc.h.

#define MZC_MAX2 (   cp,
  av,
  bv 
)    MZC_MAXMIN_OP(cp, av, bv, >)

Definition at line 289 of file mzc.h.

#define MZC_MAXMIN_OP (   cp,
  av,
  bv,
  minlt 
)
Value:
((SCHEME_INTP(av) && SCHEME_INTP(bv)) \
             ? ((SCHEME_INT_VAL(av) minlt SCHEME_INT_VAL(bv)) ? av : bv) \
             : (arg[0] = av, arg[1] = bv, _scheme_direct_apply_primitive_multi(cp, 2, arg)))

Definition at line 284 of file mzc.h.

#define MZC_MIN2 (   cp,
  av,
  bv 
)    MZC_MAXMIN_OP(cp, av, bv, <)

Definition at line 290 of file mzc.h.

#define MZC_MINUS2 (   cp,
  av,
  bv 
)    MZC_ARITH_OP(cp, av, bv, -, +)

Definition at line 282 of file mzc.h.

#define MZC_NOTP (   p,
  av 
)    (SCHEME_FALSEP(av))

Definition at line 135 of file mzc.h.

#define MZC_NULLP (   p,
  av 
)    (SCHEME_NULLP(av))

Definition at line 136 of file mzc.h.

#define MZC_NUMBERP (   p,
  av 
)    (SCHEME_NUMBERP(av))

Definition at line 142 of file mzc.h.

#define MZC_PAIRP (   p,
  av 
)    (SCHEME_PAIRP(av))

Definition at line 137 of file mzc.h.

#define MZC_PARAM_TO_SWITCH (   void_param)    *(unsigned long *)(((Scheme_Primitive_Closure *)void_param)->val)

Definition at line 78 of file mzc.h.

#define MZC_PLUS2 (   cp,
  av,
  bv 
)    MZC_ARITH_OP(cp, av, bv, +, -)

Definition at line 281 of file mzc.h.

#define MZC_PRIM_CLS_DATA (   prim)    (prim)

Definition at line 366 of file mzc.h.

#define MZC_PROCEDUREP (   p,
  av 
)    (SCHEME_PROCP(av))

Definition at line 143 of file mzc.h.

#define MZC_QUOTIENT (   cp,
  av,
  bv 
)
Value:

Definition at line 292 of file mzc.h.

#define MZC_SET_CAR (   p,
  av,
  bv 
)    (SCHEME_MUTABLE_PAIRP(av) ? (SCHEME_CAR(av)=bv, scheme_void) : (arg[0] = av, arg[1] = bv, _scheme_direct_apply_primitive_multi(p, 2, arg)))

Definition at line 186 of file mzc.h.

#define MZC_SET_CDR (   p,
  av,
  bv 
)    (SCHEME_MUTABLE_PAIRP(av) ? (SCHEME_CDR(av)=bv, scheme_void) : (arg[0] = av, arg[1] = bv, _scheme_direct_apply_primitive_multi(p, 2, arg)))

Definition at line 187 of file mzc.h.

#define MZC_STRING_REF (   p,
  v,
  i 
)
#define MZC_STRING_SET (   p,
  v,
  i,
  x 
)
#define MZC_STRINGP (   p,
  av 
)    (SCHEME_CHAR_STRINGP(av))

Definition at line 139 of file mzc.h.

#define MZC_SUB1 (   p,
  av 
)
Value:
((SCHEME_INTP(av) && (SCHEME_INT_VAL(av) > (-0x3FFFFFFF))) \
                         ? scheme_make_integer(SCHEME_INT_VAL(av)-1) \
                         : (arg[0] = av, _scheme_direct_apply_primitive_multi(p, 1, arg)))

Definition at line 265 of file mzc.h.

#define MZC_SYMBOLP (   p,
  av 
)    (SCHEME_SYMBOLP(av))

Definition at line 138 of file mzc.h.

#define MZC_VECTOR_REF (   p,
  v,
  i 
)
Value:

Definition at line 192 of file mzc.h.

#define MZC_VECTOR_SET (   p,
  v,
  i,
  x 
)
Value:

Definition at line 196 of file mzc.h.

#define MZC_VECTORP (   p,
  av 
)    (SCHEME_VECTORP(av))

Definition at line 141 of file mzc.h.

#define MZC_ZEROP (   zp,
  av 
)
Value:
(SCHEME_INTP(av) \
                                ? (av == scheme_make_integer(0)) \
                                : (_MZC_DBLP(av) \
                                   ? !SCHEME_DBL_VAL(av) \
                                   : (arg[0] = av, SCHEME_TRUEP(_scheme_direct_apply_primitive_multi(zp, 1, arg)))))

Definition at line 222 of file mzc.h.

#define NO_MULTIPLE_VALUES (   res)
Value:
if (res == SCHEME_MULTIPLE_VALUES) \
           scheme_wrong_return_arity(NULL, 1, scheme_multiple_count, scheme_multiple_array, NULL);

Definition at line 104 of file mzc.h.

#define SCHEME_CURRENT_ENV (   pr)    scheme_get_env(NULL)

Definition at line 116 of file mzc.h.

#define SCHEME_DETATCH_MV_BUFFER (   mv,
  pr 
)    if (SAME_OBJ(mv, pr->values_buffer)) pr->values_buffer = NULL

Definition at line 114 of file mzc.h.


Function Documentation

static MSC_IZE ( inline  ) [static]

Definition at line 297 of file mzc.h.

{
  return _scheme_force_value(v);
}
static MZC_INLINE Scheme_Object* MZC_GLOBAL_ASSIGN ( Scheme_Object vec,
int  pos,
Scheme_Object val 
) [static]

Definition at line 30 of file mzc.h.

                                                                                                    {
  Scheme_Bucket *bucket = (Scheme_Bucket *)SCHEME_VEC_ELS(vec)[pos];
  scheme_set_global_bucket("set!", bucket, val, 0);
  return scheme_void;
}
static MZC_INLINE Scheme_Object* MZC_GLOBAL_LOOKUP ( Scheme_Object vec,
int  pos 
) [static]

Definition at line 19 of file mzc.h.

                                                                                {
  Scheme_Bucket *bucket = (Scheme_Bucket *)SCHEME_VEC_ELS(vec)[pos];
  Scheme_Object *o = bucket->val;
  if (o)
    return o;
  else {
    scheme_unbound_global(bucket);
    return NULL;
  }
}
static int mzc_strlen ( const char *  c) [static]

Definition at line 307 of file mzc.h.

                                     {
  int l;
  for (l = 0; c[l]; l++);
  return l;
}