Search Top Index
HELP CROSSREF JL Cunningham, June 1982 This library program is a prototype cross-referencer for POP programs. I intend to enhance it, and would welcome any suggestions for suitable enhancements - also, I have not made any great effort to make it foolproof, hoping that people will mail me about its deficiencies. Even so, it is useful in its present form. To use it, load the library, and give the command CROSSREF followed by the names of some files. (File names must have extensions, or string quotes round them; e.g. foo.baz is an acceptable file name, and so is 'foo', but foo is not.) For example, to cross-reference files BOO.P and HOO.P do lib crossref; crossref boo.p hoo.p; If you have been editing these files, you should do ENTER W before doing the cross-referencing. If the files are successfully found and cross-referenced, the following messages will be printed: ;;; Looking at boo.p ;;; Looking at hoo.p ;;; Writing crossref.log The result of the cross-reference will be a file called CROSSREF.LOG, which you can VED or print. This file will contain a listing of the variables appearing in the files, with information on the names of the files in which they are used, the number of times they appear, and the use they are put to. Further calls of CROSSREF will overwrite any information already in CROSSREF.LOG. In the present version there are two user-definable procedures, to control output: ignoreable(<word>) -> boolean; This is a boolean procedure which takes a word as argument. If this procedure returns TRUE, then the <word> is completely ignored by the cross-referencer. The default value currently ignores words which can't be assigned to (i.e. protected words and constants). unimportant(<word>); Like ignoreable, but used to suppress mention of <word> in final list of variables used as globals. The default value regards variables which have a procedure as their value (at the time of cross-referencing) as unimportant. If the files being cross-referenced have not been loaded these will only be system procedures, but if they have been loaded, then library procedures also will be suppressed. See SHOWLIB *CROSSREF for the program code.