xo-interpreter2 stack: define-expr's work at top-level

This commit is contained in:
Roland Conybeare 2026-02-17 14:42:17 -05:00
commit 6f3833d6fb
56 changed files with 1550 additions and 65 deletions

View file

@ -11,10 +11,12 @@ namespace xo {
vsm_opcode_descr(vsm_opcode x)
{
switch (x) {
case vsm_opcode::sentinel: return "sentinel";
case vsm_opcode::halt: return "halt";
case vsm_opcode::eval: return "eval";
case vsm_opcode::apply: return "apply";
case vsm_opcode::evalargs: return "evalargs";
case vsm_opcode::def_cont: return "def_cont";
case vsm_opcode::apply_cont: return "apply_cont";
case vsm_opcode::ifelse_cont: return "ifelse_cont";
case vsm_opcode::seq_cont: return "seq_cont";
@ -25,6 +27,9 @@ namespace xo {
return "opcode?";
}
VsmInstr
VsmInstr::c_sentinel = VsmInstr(vsm_opcode::sentinel);
VsmInstr
VsmInstr::c_halt = VsmInstr(vsm_opcode::halt);
@ -37,12 +42,15 @@ namespace xo {
VsmInstr
VsmInstr::c_evalargs = VsmInstr(vsm_opcode::evalargs);
VsmInstr
VsmInstr::c_def_cont = VsmInstr(vsm_opcode::def_cont);
VsmInstr
VsmInstr::c_apply_cont = VsmInstr(vsm_opcode::apply_cont);
VsmInstr
VsmInstr::c_ifelse_cont = VsmInstr(vsm_opcode::ifelse_cont);
VsmInstr
VsmInstr::c_seq_cont = VsmInstr(vsm_opcode::seq_cont);
} /*namespace scm*/