REF TRACE Andreas Schoter Sept 1991
COPYRIGHT University of Sussex 1991. All Rights Reserved.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<< REF TRACE FACILITIES >>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
This REF file details the syntax words, variables, and procedures used
by the Poplog trace mechanism. For details on how to use these facilties
please see HELP * TRACE.
CONTENTS - (Use <ENTER> g to access required sections)
1 Syntax Words
2 Variables
3 Procedures
4 Associated Documentation
---------------
1 Syntax Words
---------------
trace [syntax]
This syntax word can be used in two ways:
trace <names of procedures> ;
trace;
In the first mode it enables the tracing of the named
procedures, and in the second mode it resumes trace printing for
all traced procedures. The second mode is equivalent to 'true ->
tracing'. See HELP * TRACE for more details.
untrace [syntax]
This suspends trace printing for all traced procedures. It is
equivalent to 'false -> tracing'. See HELP * TRACE for more
details.
untraceall [syntax]
This untraces all currently traced procedures. See HELP * TRACE
for more details.
------------
2 Variables
------------
tracing [variable]
This variable controls the trace printing of traced procedures.
When its value is true trace printing is enabled for all traced
procedures; when its value is false trace printing is suspended
for all traced procedures; and when its value is 1 tracing of
syntax procedures is enabled. Its default value is true. See
HELP * TRACE for more details.
pop_chain_trace [variable]
If this variable is true (its default value) then abnormal exits
that do not arise from process suspension from procedures being
traced are indicated by printing an `X'. If this variable is
false then such exits are supressed from the trace. See
HELP * TRACE for more details.
pop_process_trace [variable]
If this variable is true (its default value) then exit and entry
of traced procedures due to process suspension and resumption
are indicated by printing `S' and `R' respectively. If this
variable is false then such procedure exit/entry are supressed
from the trace. See HELP * TRACE for more details.
poptraceindent [variable]
This global variable is used to control the number of `!' to
print indicating the depth of the trace during recursion. See
HELP * TRACE for more details.
popmaxtraceindent [variable]
This variable controls how deep in recursion the trace will go
before display of depth is switched from a string of `!' to a
numerical indicator. See HELP * TRACE for more details.
-------------
3 Procedures
-------------
systrace(p, word1, word2, bool) [procedure]
This is the basic tracing procedure. p is the procedure being
traced; word1 is the name of that procedure; word2, usually
"systrace_proc" is the name of the procedure to use for trace
printing; and bool is true if p is an updater, and false
otherwise. Closures of systrace are used to control the tracing
of procedures. See HELP * TRACE for more details.
systrace_proc(p, word, bool) [procedure]
This procedure controls the actually printing in a trace. p is
the procedure being traced; word is the name of the traced
procedure; bool is true if that procedure is an updater and
false otherwise. See HELP * TRACE for more details.
systrace_pr(word, status, args, bool) [procedure]
This procedure is called by systrace_proc to do the actual
printing in a trace. word is the name of the procedure being
traced; status is an item indicating the entry/exit status of
the procedure being traced, permissable status codes are:
true normal entry
false normal exit
`>` normal entry
`<` normal exit
`X` abnormal exit
`R` re-entry due to process resume
`S` exit due to process suspend
args is a vector or list of arguments or results from the stack;
bool is true if P is an updater and false otherwise. See
HELP * TRACE for more details.
---------------------------
4 Associated Documentation
---------------------------
HELP * TRACE
A help file explaining how to use these facilities.
HELP * DEBUGGER
An interactive source code debugger.
--- C.all/ref/trace
--- Copyright University of Sussex 1991. All rights reserved.Author: Andreas Schoter Sept 1991