Up | Next | Prev | PrevTail | Tail |
crefis a Standard Lisp program for processing a set of Standard LISP function definitions to produce:
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 crefis used. on crefcauses the cref program to load and the cross-referencing process to begin. After all the required definitions are loaded, off crefwill 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 instatements may be added before the call of off cref, or the instatement changed to include a list of files.
Functions with the flag nolistwill 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 crefshould 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 forceis 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 |