
 REFERENCE AND TREE DOCUMENTATION

 To run the reference program type:     >REF
 The program then prompts with:

 Global Reference Program    V1.0
 *

 Now enter the command string:   OUTNAME=INNAME[SWITCHES]
 where:
        OUTNAME is the name of the file to receive the output
                OUTNAME.REF gets the reference data
                OUTNAME.TRE gets the tree structure data
                OUTNAME.ODL gets the overlay data

        INNAME is the name of the input *.MAP file containing the global
                cross-reference data (created by TKB with /CR switch)

        SWITCHES [optional] are: /C  /R  /-$  /-S  /-T  /-O  /D


 Type HELP REF SWITCHES for more information on switches.
 Type HELP REF REF for more information on the reference program.
 Type HELP REF TREE for additional information on the tree structure.
 Type HELP REF ODL for IMPORTANT notes concerning the *.ODL file.
 Type HELP REF INSTALLATION for information on installation of REF.
2 SWITCHES
 REFERENCE SWITCHES:
 
        SWITCHES [optional] are as follows:
                /C    Output cross-reference data
                /R    Output reference data
                /$    Output user symbols AND system symbols
                /S    Spool output files
                /T    Output tree structure
                /O    Output overlay data
                /D    Delete ZZREF.RTP;* and ZZREF.CTP;* temporary files

                any switch can be negated by a '-' sign following the '/' as:
                '/-$' is taken as 'do not include system symbols'.

        Defaults are: /C/R/-$/-S/-T/-O/D
2 TREE
REFERENCE TREE:

 The TREE program in REF has a limit of 270 symbol names but has
 only been tested to 240.

 The tree portion needs only the two temporary data files(see switch 'D')
 in order to generate the TRE and ODL files. The output filenames are
 'ZZREF.TRE' and 'ZZREF.ODL'. The REF command file renames these files.
 The TREE program can be executed separately after saving the temporary
 files from REF(/-D) by typing:     >TREE
 The output will be on ZZREF.TRE and ZZREF.ODL .

2 ODL
 REFERENCE ODL

 The ODL file output from TREE assumes that all symbols are module
 names in the library 'ULIB.OLB' .  The ODL file generated will
 in most cases NOT be correct(see HELP REF REF). Some editing will
 usually be required.

 Also, be sure to check for duplicate labels that may be generated
 if more than one item appears in the .ROOT directive.
2 REF
 REFERENCE REF

 The reference program gets the symbol names from the INNAME.MAP file
 Global Cross-Reference list and therefore treats all entry point and
 subroutine names as separate object modules. This leads to some
 problems:

     1. Subroutines(library modules) which are not referenced but
        contain entry points which are referenced appear as cotrees
        in the tree structure and ODL files.

     2. These cotrees, besides being undesirable, cause duplicate
        labels to appear in the ODL file.

     3. The ODL file lists every symbol as a module in the library
        'ULIB.OLB'. It is up to the user to edit the ODL file accordingly.
        Those symbols which are entry points must be removed from
        the ODL file and the actual module name must be used instead.

 REMEMBER: ENTRY POINT SCREW-UP EVERYTHING, SO LOOK OUT FOR THEM!
2 INSTALLATION
 REFERENCE INSTALLATION:

 REF WRITES TO DEVICE MC: TO EXECUTE AN INDIRECT COMMAND FILE WHICH CONTROLS
 THE PROGRAM EXECUTION AFTER BUILDING THE INITIAL FILES.
 THE COMMAND FILE (ZZREF.CMD) CALLS SORT VIA AN 'SRT' CALL, CALLS 'PIP',
 CALLS 'TREE', AND CALLS 'PRINT', AND DELETES ITSELF AT THE END.
 REF EXPECTS TREE.TSK TO BE EXECUTABLE VIA THE CCL COMMAND 'TREE'.

 REF.CMD WILL BUILD THE REFERENCE PROGRAM FROM REF.PAS.
 TREE.CMD WILL BUILD THE TREE PROGRAM FROM TREE.PAS.
 DETACH IS A .FTN FILE AND IS USED TO DETACH THE PASCAL PROGRAM
 FROM THE TERMINAL DEVICE (LUN 5 & 6) VIA CALLS TO WTQIO.
 TEMPORARY FILES USED BY REF AND TREE AND WHICH ARE DELETED DURING NORMAL
 EXECUTION ARE:
                ZZREF.CTP
                ZZREF.RTP
                ZZREF.CMD
                ZZREF.TRE
                ZZREF.ODL
