Add register parameter to AM stack operations
This commit is contained in:
15
lib/eval.c
15
lib/eval.c
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user