mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-20 22:29:16 +02:00
adding macro introspection
This commit is contained in:
parent
226d98d49f
commit
6b8991d0a1
2 changed files with 5 additions and 1 deletions
|
@ -297,9 +297,12 @@ sexp sexp_init_library (sexp ctx sexp_api_params(self, n), sexp env) {
|
||||||
sexp_define_accessors(ctx, env, SEXP_PROCEDURE, 2, "procedure-vars", "procedure-vars-set!");
|
sexp_define_accessors(ctx, env, SEXP_PROCEDURE, 2, "procedure-vars", "procedure-vars-set!");
|
||||||
sexp_define_accessors(ctx, env, SEXP_BYTECODE, 1, "bytecode-name", "bytecode-name-set!");
|
sexp_define_accessors(ctx, env, SEXP_BYTECODE, 1, "bytecode-name", "bytecode-name-set!");
|
||||||
sexp_define_accessors(ctx, env, SEXP_BYTECODE, 2, "bytecode-literals", "bytecode-literals-set!");
|
sexp_define_accessors(ctx, env, SEXP_BYTECODE, 2, "bytecode-literals", "bytecode-literals-set!");
|
||||||
|
sexp_define_accessors(ctx, env, SEXP_BYTECODE, 3, "bytecode-source", "bytecode-source-set!");
|
||||||
sexp_define_accessors(ctx, env, SEXP_EXCEPTION, 0, "exception-kind", "exception-kind-set!");
|
sexp_define_accessors(ctx, env, SEXP_EXCEPTION, 0, "exception-kind", "exception-kind-set!");
|
||||||
sexp_define_accessors(ctx, env, SEXP_EXCEPTION, 1, "exception-message", "exception-message-set!");
|
sexp_define_accessors(ctx, env, SEXP_EXCEPTION, 1, "exception-message", "exception-message-set!");
|
||||||
sexp_define_accessors(ctx, env, SEXP_EXCEPTION, 2, "exception-irritants", "exception-irritants-set!");
|
sexp_define_accessors(ctx, env, SEXP_EXCEPTION, 2, "exception-irritants", "exception-irritants-set!");
|
||||||
|
sexp_define_accessors(ctx, env, SEXP_MACRO, 0, "macro-procedure", "macro-procedure-set!");
|
||||||
|
sexp_define_accessors(ctx, env, SEXP_MACRO, 1, "macro-env", "macro-env-set!");
|
||||||
sexp_define_foreign_opt(ctx, env, "analyze", 2, sexp_analyze_op, SEXP_FALSE);
|
sexp_define_foreign_opt(ctx, env, "analyze", 2, sexp_analyze_op, SEXP_FALSE);
|
||||||
sexp_define_foreign(ctx, env, "extend-env", 2, sexp_extend_env);
|
sexp_define_foreign(ctx, env, "extend-env", 2, sexp_extend_env);
|
||||||
sexp_define_foreign(ctx, env, "env-cell", 2, sexp_get_env_cell);
|
sexp_define_foreign(ctx, env, "env-cell", 2, sexp_get_env_cell);
|
||||||
|
|
|
@ -26,8 +26,9 @@
|
||||||
exception-irritants exception-irritants-set!
|
exception-irritants exception-irritants-set!
|
||||||
opcode-name opcode-num-params opcode-return-type opcode-param-type
|
opcode-name opcode-num-params opcode-return-type opcode-param-type
|
||||||
opcode-variadic?
|
opcode-variadic?
|
||||||
|
macro-procedure macro-env
|
||||||
procedure-code procedure-vars procedure-name
|
procedure-code procedure-vars procedure-name
|
||||||
bytecode-name bytecode-literals
|
bytecode-name bytecode-literals bytecode-source
|
||||||
port-line port-line-set!
|
port-line port-line-set!
|
||||||
type? type-name type-cpl type-parent type-slots
|
type? type-name type-cpl type-parent type-slots
|
||||||
object-size integer->immediate gc
|
object-size integer->immediate gc
|
||||||
|
|
Loading…
Add table
Reference in a new issue