Add register parameter to AM stack operations

This commit is contained in:
2025-08-10 20:38:04 +01:00
parent 57c39fd00b
commit 76efcef953
5 changed files with 29 additions and 19 deletions

View File

@@ -25,22 +25,19 @@ static void eval_list(am_t *am)
AM_EXPR(am) = AM_EXPR(am)->pair.car;
while (!AM_UNEV(am)->is_atom) {
am_push(am);
am_push(am, EXPR);
AM_EXPR(am) = AM_UNEV(am)->pair.cdr;
am_push(am);
AM_EXPR(am) = AM_ARGL(am);
am_push(am);
am_push(am, EXPR);
am_push(am, ARGL);
AM_EXPR(am) = AM_UNEV(am)->pair.car;
eval(am);
am_pop(am);
AM_ARGL(am) = AM_EXPR(am);
am_pop(am, ARGL);
am_append_arg(am);
am_pop(am);
AM_UNEV(am) = AM_EXPR(am);
am_pop(am);
am_pop(am, UNEV);
am_pop(am, EXPR);
}
assert(AM_EXPR(am)->is_atom);