mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2025-12-06 02:40:26 -08:00
[nucl] add all opcodes to the dictionary
This commit is contained in:
parent
ae20397968
commit
4880d93a6d
1 changed files with 98 additions and 0 deletions
98
src/c/nucl.c
98
src/c/nucl.c
|
|
@ -909,12 +909,110 @@ ecl_def_function(_nucl_word_tt, nucl_word_test, static, const);
|
|||
#define make_dict_entry(name,value) \
|
||||
ecl_cast_ptr(cl_object, &ecl_constexpr_symbol(ecl_stp_special, name, value))
|
||||
|
||||
#define make_code_entry(name,code) \
|
||||
make_dict_entry(name, ecl_make_fixnum(code))
|
||||
|
||||
static const cl_object _nucl_sym_def = make_dict_entry(":", ECL_UNBOUND);
|
||||
static const cl_object _nucl_sym_fed = make_dict_entry(";", ECL_UNBOUND);
|
||||
|
||||
static cl_object nucl_dictionary_default_entries[] = {
|
||||
_nucl_sym_def,
|
||||
_nucl_sym_fed,
|
||||
/* opcodes */
|
||||
make_code_entry("NOP", OP_NOP),
|
||||
make_code_entry("QUOTE", OP_QUOTE),
|
||||
make_code_entry("CALLW", OP_CALLW),
|
||||
make_code_entry("ENDP", OP_ENDP),
|
||||
make_code_entry("CONS", OP_CONS),
|
||||
make_code_entry("CAR", OP_CAR),
|
||||
make_code_entry("CDR", OP_CDR),
|
||||
make_code_entry("LIST", OP_LIST),
|
||||
make_code_entry("LISTA", OP_LISTA),
|
||||
make_code_entry("CONS_CAR", OP_CONS_CAR),
|
||||
make_code_entry("CONS_CDR", OP_CONS_CDR),
|
||||
make_code_entry("INT", OP_INT),
|
||||
make_code_entry("PINT", OP_PINT),
|
||||
make_code_entry("VAR", OP_VAR),
|
||||
make_code_entry("VARC", OP_VARC),
|
||||
make_code_entry("VARS", OP_VARS),
|
||||
make_code_entry("PUSH", OP_PUSH),
|
||||
make_code_entry("PUSHV", OP_PUSHV),
|
||||
make_code_entry("PUSHVC", OP_PUSHVC),
|
||||
make_code_entry("PUSHVS", OP_PUSHVS),
|
||||
make_code_entry("PUSHQ", OP_PUSHQ),
|
||||
make_code_entry("CALLG1", OP_CALLG1),
|
||||
make_code_entry("CALLG2", OP_CALLG2),
|
||||
make_code_entry("CALL", OP_CALL),
|
||||
make_code_entry("CALLG", OP_CALLG),
|
||||
make_code_entry("FCALL", OP_FCALL),
|
||||
make_code_entry("MCALL", OP_MCALL),
|
||||
make_code_entry("POP", OP_POP),
|
||||
make_code_entry("POP1", OP_POP1),
|
||||
make_code_entry("POPREQ", OP_POPREQ),
|
||||
make_code_entry("POPOPT", OP_POPOPT),
|
||||
make_code_entry("NOMORE", OP_NOMORE),
|
||||
make_code_entry("POPREST", OP_POPREST),
|
||||
make_code_entry("PUSHKEYS", OP_PUSHKEYS),
|
||||
make_code_entry("EXIT", OP_EXIT),
|
||||
make_code_entry("FLET", OP_FLET),
|
||||
make_code_entry("LABELS", OP_LABELS),
|
||||
make_code_entry("LFUNCTION", OP_LFUNCTION),
|
||||
make_code_entry("CFUNCTION", OP_CFUNCTION),
|
||||
make_code_entry("FUNCTION", OP_FUNCTION),
|
||||
make_code_entry("CLOSE", OP_CLOSE),
|
||||
make_code_entry("GO", OP_GO),
|
||||
make_code_entry("GO_CFB", OP_GO_CFB),
|
||||
make_code_entry("RETURN", OP_RETURN),
|
||||
make_code_entry("RETURN_CFB", OP_RETURN_CFB),
|
||||
make_code_entry("THROW", OP_THROW),
|
||||
make_code_entry("JMP", OP_JMP),
|
||||
make_code_entry("JNIL", OP_JNIL),
|
||||
make_code_entry("JT", OP_JT),
|
||||
make_code_entry("JEQL", OP_JEQL),
|
||||
make_code_entry("JNEQL", OP_JNEQL),
|
||||
make_code_entry("UNBIND", OP_UNBIND),
|
||||
make_code_entry("UNBINDS", OP_UNBINDS),
|
||||
make_code_entry("BIND", OP_BIND),
|
||||
make_code_entry("PBIND", OP_PBIND),
|
||||
make_code_entry("VBIND", OP_VBIND),
|
||||
make_code_entry("BINDS", OP_BINDS),
|
||||
make_code_entry("PBINDS", OP_PBINDS),
|
||||
make_code_entry("VBINDS", OP_VBINDS),
|
||||
make_code_entry("SETQ", OP_SETQ),
|
||||
make_code_entry("SETQC", OP_SETQC),
|
||||
make_code_entry("SETQS", OP_SETQS),
|
||||
make_code_entry("PSETQ", OP_PSETQ),
|
||||
make_code_entry("PSETQC", OP_PSETQC),
|
||||
make_code_entry("PSETQS", OP_PSETQS),
|
||||
make_code_entry("VSETQ", OP_VSETQ),
|
||||
make_code_entry("VSETQC", OP_VSETQC),
|
||||
make_code_entry("VSETQS", OP_VSETQS),
|
||||
make_code_entry("BLOCK", OP_BLOCK),
|
||||
make_code_entry("DO", OP_DO),
|
||||
make_code_entry("CATCH", OP_CATCH),
|
||||
make_code_entry("FRAME", OP_FRAME),
|
||||
make_code_entry("TAGBODY", OP_TAGBODY),
|
||||
make_code_entry("EXIT_TAGBODY", OP_EXIT_TAGBODY),
|
||||
make_code_entry("EXIT_FRAME", OP_EXIT_FRAME),
|
||||
make_code_entry("PROTECT", OP_PROTECT),
|
||||
make_code_entry("PROTECT_NORMAL", OP_PROTECT_NORMAL),
|
||||
make_code_entry("PROTECT_EXIT", OP_PROTECT_EXIT),
|
||||
make_code_entry("PROGV", OP_PROGV),
|
||||
make_code_entry("EXIT_PROGV", OP_EXIT_PROGV),
|
||||
make_code_entry("PUSHVALUES", OP_PUSHVALUES),
|
||||
make_code_entry("POPVALUES", OP_POPVALUES),
|
||||
make_code_entry("PUSHMOREVALUES", OP_PUSHMOREVALUES),
|
||||
make_code_entry("VALUES", OP_VALUES),
|
||||
make_code_entry("VALUEREG0", OP_VALUEREG0),
|
||||
make_code_entry("NTHVAL", OP_NTHVAL),
|
||||
make_code_entry("NIL", OP_NIL),
|
||||
make_code_entry("NOT", OP_NOT),
|
||||
make_code_entry("PUSHNIL", OP_PUSHNIL),
|
||||
make_code_entry("CSET", OP_CSET),
|
||||
make_code_entry("STEPIN", OP_STEPIN),
|
||||
make_code_entry("STEPCALL", OP_STEPCALL),
|
||||
make_code_entry("STEPOUT", OP_STEPOUT),
|
||||
/* indirect words */
|
||||
make_dict_entry(".D", _nucl_word_pd),
|
||||
make_dict_entry(".S", _nucl_word_ps),
|
||||
make_dict_entry(".", _nucl_word_dp),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue