File: MCrossDoc.tioga
Last Modified On November 21, 1983 3:51 pm By Paul Rovner
Purpose:
MCross is a simple Cedar program that creates a textual cross-reference for the identifiers that appear in a specified collection of Cedar source files. It is happy to accept other source files (like .cm and .config ones) too.
Acquiring it:
Use the DF toll to retrieve [Indigo]<Cedar>Top>MCross.df with the public access filter.
Using the MCross command:
MCross <output file name> <input file name> ... <input file name>
The output file name extension must be ".mcross"; this is supplied if no extension is specified. Input file names may have any extension. The default extension for input file names is ".mesa"; this is supplied if no extension is specified.
Example: MCross foo foo1 foo2 foo3 foo4
What it does:
MCross reads the input files one at a time, building a list for each non-reserved identifier of the files in which the identifier is encountered, and for each such file, of the page and line number of each appearance of the identifier.
After reading all of the input files, MCross writes the output file, which consists of an alphabetical listing of identifiers, each with a list of its appearances. Each appearance of an identifier which was found to be followed immediately by ":" is tagged with "(D)" in its entry (to help identify definitions. BEWARE: this does NOT catch all definitions).
The output will be put into multiple files if there is a lot of it; the "overflow" output files will have the extensions .mcross1, .mcross2, etc. If this happens, MCross will print a message.
Special Features:
1. The first <input file name> can be replaced by
/b <list of identifiers> /e
to cause only the specified identifiers to be included in the cross reference. Example:
MCross out.mcross /b ERROR SIGNAL /e file1 file2 file3
2. Appearance of /f as an <input file name> will suppress detailed line number information, leaving only filenames in the cross reference output.
Known problems:
* page/line numbers are not precise, but are close
* not all definitions are tagged with (D)