uncl library [library]* [option]*
(+|-)All (-) (+|-)Verbose (-) (+|-)UnRef (-) (+|-)DeckName (-) Level=number Name=symbol[,symbol]*
uncl name=get.ch uw_tools/8fw1.5/blib +verbose uncl uw_tools/8fw1.5/blib n=error lev=2 +all uncl mylib uw_tools/8fw1.5/blib n=error,exit l=3 +a uncl uw_tools/8fw1.5/batl +ur +deckname
UNCL produces a list of all routine names (strictly speaking, primary SYMDEFs) in the specified libraries which reference the given symbols, either as a SYMREF or as a block common. This is invaluable if you want to delete or modify a routine in action. UNCL can also be used to find any routines not used by other routines, thus indicating which routines may be obsolete in the particular library.
If a given name is a block common, UNCL checks all references to it for consistency of size. UNCL displays a "?" beside each referencing routine which disagrees with the first encountered size.
With +All, UNCL searches the libraries for the given names. When UNCL finds a module that contains a SYMDEF for a given name, UNCL also starts searching for references to all other symbols defined in that module.
If you specify more than one library, UNCL refers to the libraries by number, with the first library on the command line as number 1, the next as number 2, and so on from left to right. When UNCL finds a symbol reference inside one of these libraries, the output shows the library number beside the symbol reference. When searching for unreferenced decks, UNCL treats multiple libraries as if they were one larger library.
If you specify Level=number, UNCL repeats its action "number" times. Thus for each routine that references the given name, UNCL produces a list of routines referencing that routine, routines referencing those routines, and so on. This reference tree is produced breadth-first. If UNCL finds a name for which a sub-tree has already been produced, UNCL notes this with a "+" beside the name and does not reproduce the sub-tree.
CPU time rises exponentially with search depth. Large libraries or a search depth larger than 2 may take a long time to process. In this case, we suggest that you run the program in background (batch) mode.
With +Verbose, UNCL inserts a blank line to separate SYMDEFs belonging to different modules.
Copyright © 1996, Thinkage Ltd.