Last active
October 23, 2021 17:18
-
-
Save dockimbel/76e82d462b2ebe4032c593e2b16201d7 to your computer and use it in GitHub Desktop.
Interpreter events
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| * PROLOG: when entering a function. | |
| * EPILOG: when exiting a function. | |
| * ENTER: when a block is about to be evaluated. | |
| * EXIT: when current evaluated block's end has been reached. | |
| * OPEN: when a new function (any-function!) call is pushed on stack and a new stack frame is opened. | |
| * RETURN: when a function call has returned and its stack frame has been closed. | |
| * FETCH: a value is read from the input block to be evaluated. | |
| * PUSH: a value has been pushed on the stack. | |
| * SET: a set-word is set to a value. | |
| * CALL: a function with all arguments fetched on the stack gets called. | |
| * ERROR: when an error occurs and is about to be thrown up in the stack. |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Debugger commands:
nextornor just ENTER: evaluate next value.continueorc: exit debugging console and continue evaluation.stackors: display the current calls and expression stack.parentsorp: display the parents call stack.:word: outputs the value ofword. If it is afunction!, dump the local context.:a/b/c: outputs the value ofa/b/cpath.watch <word1> <word2>...: watch one or more words.wcan be used as shortcut forwatch.-watch <word1> <word2>...: stop watching one or more words.-wcan be used as shortcut for-watch.+stack: outputs expression stack on each new event.+scan be used as a shortcut.-stack: do not output expression stack on each new event.-scan be used as a shortcut.+locals: output local context for each entry in the callstack.+lcan be used as a shortcut.-locals: do not output local context for each entry in the callstack.-lcan be used as a shortcut.+indent: indent the output of the expression stack. Shortcut:+i.-indent: do not indent the output of the expression stack. Shortcut:-i.