Currently AgenTalk defines a simple tracing of script execution, and an
interface to a separate program called interactor
as debugging
facility. interactor
provides a window for input/output of each
agent process under the X window system.
Macro: trace-script { script-spec }*
script-spec ::= script-name | (script-name { trace-option }*) trace-option ::=:break
boolean |:trace
boolean
This macro causes tracing of specified scripts. :break
option
causes entering the Lisp's debugger when a script script-name is
invoked. :trace
option causes printing out a message when a
script script-name is invoked. When no option is specified
(i.e. only script-name is specified), :trace t
is assumed.
When no script-spec is given, a list of currently traced scripts is returned.
Macro: untrace-script { script-name }*
This macro removes the tracing of script script-name. When no script-name is given, all tracing of scripts are removed.
Macro: trace-state-transition [ script-name { state-spec }* ]
state-spec ::= state-name-or-all | ( state-name-or-all { trace-option }* ) state-name-or-all ::= state-name |:all
trace-option ::=:break
boolean |:trace
boolean
This macro causes the tracing of state transition to the specified
states. When :break
option is specified, a state transition to
the state state-name in the script script-name causes
entering the Lisp's debugger by executing Common Lisp's break
function. When :trace
option is specified, a message is printed
instead of entering a debugger. :all
can be used instead of a
state-name; this means that all the states in the script
script-name are traced.
When no argument is given, a list of currently traced state transitions is returned. When only script-name is given, a list of currently traced state transition concerning the script script-name is returned.
Macro: untrace-state-transition [ script-name { state-name-or-all }* ]
This macro removes the tracing of a state transition. When no argument is given, all the tracing of a state transition are removed. When only script-name is given, all the tracing of state transition concerning the script script-name are removed.
Macro: trace-script-function { function-name }*
This macro causes the tracing of script (agent) function invocation. When no function-name is given, a list of currently traced script (agent) function is returned.
Macro: untrace-script-function { function-name }*
This macro removes the tracing of script (agent) function invocation. When no function-name is given, all the tracing are removed.
Function: use-interactor &rest spec
spec ::=:interactor :host
host:port
port |:emacs
|nil
When spec is :interactor
, subsequent agent process's
*terminal-io*
is bound to the interactor. host and
port specify the host name and the port number of the
interactor
, and their default values are taken from
*interactor-host*
and *interactor-port*
respectively.
When spec is :emacs
, the output of each agent is directed
to a different emacs buffer. When spec is nil
, the
interactor is not used.
Variable: *interactor-host*
This variable holds the default value of the interactor
host
name.
Variable: *interactor-port*
This variable holds the default value of the port number to be used by
the interactor
.