The tracer prints out ground expressions from the view field in a code which is an extension of the `expression-exchange' code (see Sec.2.3):
in the view field printed as s.Identifier #e.Char-string blank s.Number #e.Char-string blank ( ( ) ) < < > > '(' #( ')' #) '<' #< '>' #> '#' ## unknown(t,n,i) #t.ni
Identifiers are printed in capital letters.
To call the Refal tracer, use reftr (see Reference Section A). The list of tracer commands is given below. At the beginning of work and after execution of each command (except quit ), the tracer prints out the prompt:
TRACE>
Command names and parameters may appear in either upper or lower case (except in pattern specification , where the case is important). Command parameters may be separated by blanks, tabs, or commas (we use blanks in the list below). Commands are separated by end-of-lines or semicolons. To continue the command on the next line type a backslash '\' at the end.
In the list below, the shortened command names and keywords are indicated in parentheses; optional parameters are enclosed in square brackets.
where F
is a function currently defined (in any of the
modules used) and is a pattern of its argument.
The command sets a break point. Tracer will stop when the active
function is F
and its argument matches .
view(v) | prints the current view field. |
a Refal variable | prints the value of the variable as it is defined at the current break point. |
act | prints the current active expression. |
result(res) | prints the result of the commands compute or step. |
call | prints the active expression which was called to produce the current replacement - applicable only after step or compute. |
step | prints the current step number. |
point | prints the current break point. |
[break] N | prints break point number N. |
all | prints all break points. |
modules(mod) [name] | Prints all functions visible from the module name. If '*' is given as name, then all modules are displayed. If no name is given, only the list of accessible modules is printed. |
function(fun) name | Prints the name of the module where the function name is defined. |