Walker cleanup
parent
5ca99b0105
commit
ee912c5996
|
@ -21,21 +21,21 @@ TUPLE: walker model interpreter history ;
|
||||||
: walker-active? ( walker -- ? )
|
: walker-active? ( walker -- ? )
|
||||||
walker-interpreter interpreter-continuation >boolean ;
|
walker-interpreter interpreter-continuation >boolean ;
|
||||||
|
|
||||||
: walker-command ( gadget quot -- )
|
|
||||||
over walker-active? [ with-walker ] [ 2drop ] if ; inline
|
|
||||||
|
|
||||||
: save-interpreter ( walker -- )
|
: save-interpreter ( walker -- )
|
||||||
dup walker-interpreter interpreter-continuation clone
|
dup walker-interpreter interpreter-continuation clone
|
||||||
swap walker-history push ;
|
swap walker-history push ;
|
||||||
|
|
||||||
: com-step ( walker -- )
|
: walker-command ( gadget quot -- )
|
||||||
dup save-interpreter [ step ] walker-command ;
|
over walker-active? [
|
||||||
|
over save-interpreter
|
||||||
|
with-walker
|
||||||
|
] [ 2drop ] if ; inline
|
||||||
|
|
||||||
: com-into ( walker -- )
|
: com-step ( walker -- ) [ step ] walker-command ;
|
||||||
dup save-interpreter [ step-into ] walker-command ;
|
|
||||||
|
|
||||||
: com-out ( walker -- )
|
: com-into ( walker -- ) [ step-into ] walker-command ;
|
||||||
dup save-interpreter [ step-out ] walker-command ;
|
|
||||||
|
: com-out ( walker -- ) [ step-out ] walker-command ;
|
||||||
|
|
||||||
: com-back ( walker -- )
|
: com-back ( walker -- )
|
||||||
dup walker-history
|
dup walker-history
|
||||||
|
|
Loading…
Reference in New Issue