Name: MCross Maintainer: Paul Rovner Date: 15-Mar-82 13:16:14 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 on the local disk. It is happy to accept other source files (like .cm and .config ones) too. Usage: Where to get it: [Indigo]MCross>MCross.df How to run it: type MCross ... to the Exec. 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 (MCross operates on the assumption that hardcopy of the input files will be made with Print /l using GACHA8). After reading all of the input files, MCross writes the output file, which consists of an alphabetical listing of identifiers, each with a textual rendering of its list of appearances. Each appearance of an identifier which was found to be followed immediately by ":" is tagged with "(D)" in its entry (to identify definitions. This doesn't catch all definitions, of course). The output will be put into multiple files if there's 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 can be replaced by /b /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 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 * (see comment above) not all definitions are tagged with (D)