Up | Next | Prev | PrevTail | Tail |
cref
is a Standard Lisp program for processing a set of Standard LISP function
definitions to produce:
global
or fluid
before their use;
global
but not used as fluid
s,
i.e., bound in a function;
fluid
variables that were not bound in a function so that one
might consider declaring them global
s;
global
variables present;
fluid
variables present;
fluid
or global
;
setq
.The program will also check that functions are called with the correct number of arguments, and print a diagnostic message otherwise.
The output is alphabetized on the first seven characters of each function name.
Algebraic procedures in REDUCE are treated as if they were symbolic, so that
algebraic constructs will actually appear as calls to symbolic functions, such as
aeval
.
To invoke the cross reference program, the switch cref
is used. on cref
causes the
cref program to load and the cross-referencing process to begin. After all the required
definitions are loaded, off cref
will cause the cross-reference listing to be produced.
For example, if you wish to cross-reference all functions in the file tst.red
, and
produce the cross-reference listing in the file tst.crf
, the following sequence can be
used:
out "tst.crf"; on cref; in "tst.red"$ off cref; shut "tst.crf";
To process more than one file, more in
statements may be added before the call of off
cref
, or the in
statement changed to include a list of files.
Functions with the flag nolist
will not be examined or output. Initially, all Standard
Lisp functions are so flagged. (In fact, they are kept on a list nolist!*
, so if you wish
to see references to all functions, then cref
should be first loaded with the command
load cref
, and this variable then set to nil
).
It should also be remembered that any macros with the property list flag expand
, or, if
the switch force
is on, without the property list flag noexpand
, will be expanded
before the definition is seen by the cross-reference program, so this flag can
also be used to select those macros you require expanded and those you do
not.
Up | Next | Prev | PrevTail | Front |