Pascal Cross Reference Generator (PCRG) Freeware by Paul Lefebvre and Julian Garza Written in Personal Pascal July 25-August 2, 1992 (c) 1992 FREEWARE I wish to thank Mr. Garza for posting the original version of this cross reference generator in the public domain. The cross reference portion of this program is taken from ALGORITHMS + DATA STRUCTURES = PROGRAMS by Niklaus Wirth. The resource was created with the Orcs Resource Contruction Set. There are two versions of PCRG include in the LZH : PAS_XREF.ACC : This is the accessory version with an internal resource. It will also run as a program if you rename it to PAS_XREF.PRG, but it will not accept a command line and has the same limited stack as the accessory (about 30K). If you get a 'Stack overruns heap' message while xreffing a large file, switch to the stand- alone version to create the xref. PAS_XREF.PRG : This is the stand-alone version. It uses a separate resource file (PAS_XREF.RSC) and can accept a command line. It will use all available memory to create the cross reference. To use PCRG, be sure to place the PRG and RSC files in the same folder (if you are using the version with a separate resource). There is one dialog box that controls all functions of the program. At this dialog, select where the output should go : FILE : The xref is sent to a file with the same name as the input, but with an extender of .XRF. PARALLEL : The xref is sent to a printer connected to the parallel port. SERIAL : The xref is sent to a printer connected to the serial port. Click on the line after the word 'filename' to select the name of the file to cross reference. The file selector will appear displaying all .PAS files in the current directory. When everything is set correctly, click on XREF to begin the cross reference. A small dialog will now appear displaying the name of the file being cross referenced and containing an abort button. Click on the abort button to stop the cross reference before it has finished. Other Notes and Changes - Works in medium and high resolution. - Multi-line comments do not mess up the line counts as they did in Mr. Garza's original version. - Pascal reserved words are not treated as case sensitive as they were in Mr. Garza's original version. All occurences of a reserved word will be omitted from the cross reference regardless of the case. (i.e. Begin, begin) - Variable and procedure names ARE case sensitive. The variables 'filename', 'Filename', and 'FileName' will be listed 3 different times. - Variables beginning with upper case letters are listed at the beginning of the cross reference. - Page perforations are skipped over when outputting to a printer and a final form feed is done at the end of the printout. - 10 character limit on variable and procedure names has been removed. The limit is now 79 characters, but names longer than 20 characters tend to look messy. - Source code has been cleaned up and more comments added. - Documentation has been improved. - An infinite number of cross references can be generated while the program is run because the dynamic tree that stores the cross reference is now erased as the xref is output.