| ||
Getting Started: GNU Emacs Integration (cont'd) |
This section describes a few remaining commands that did not fit into
the previous sections.
Examining the stack etc.It is possible to print the current execution stack with:
"(#" and
"#)" parentheses). The current object slice can be
printed with the command:
"terminated>" state.
Killing threadsWhen executing a concurrent program, it may be convenient to be able to kill the current thread, and this is done with:
kill enough
times, hence making it possible to restart the execution of the
program immediately.
Name applications and declarationsIt is often necessary to look up the declaration associated with a given application (i.e. non-declaring occurrence) of the name. Since the scope rules are complicated in a language with inheritance, and BETA has especially rich scope rules because of the combination of general nesting and inheritance, and since gbeta makes the whole thing even more complicated by adding multiple inheritance and also inheritance from virtual patterns (whose static type depends on the position of the application), since all that (and even without it :-), it is very important to have tool support for interactive name lookups.
In gbeta, interactive name lookup is supported by means
of the
Please note that this is real name lookup, and it will not confuse two name declarations even if the declared names are spelled identically, nor will it find a name mentioned in the middle of a comment. It uses the information from static analysis which is created and kept by the interpreter anyway. This ends the description of the practical usage of gbeta. |