ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ T P X ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ Version 1.2 ³ ³ ³ ³ User note's for TPX, a Turbo Pascal ³ ³ cross reference. ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Copyright 1987 by Darren K. Henderson ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ I have tried quite a few public domain cross reference generators for Turbo Pascal. Most of them had some nice features but a good many of them were also unreliable or out-dated. The most common problem I had was a limitation on the size and complexity of the source code. After a certain point they could no longer generate a cross reference. TPX makes extensive use of dynamic memory and data structures; it is capable of handling very large programs. It produces a compressed listing consisting of the line number, level number, and source code reference line. This program was written for use with an Okidata æ92 Plug 'n Play - it may not be compatible with some other printers. -METHOD- Each line of the source file is read and then parsed. When a reference word is found, (a word not reserved by Turbo Pascal), it is inserted in a binary tree. Each node of the tree contains a reference word and a pointer to a linked list. The linked list contains a node for each line on which the referenced word is found. When the file has been completely read and parsed an in-order transversal of the binary tree is performed and the cross reference is listed. -USAGE- The command structure is as follows: TPX file-name [L|X] or TPX ? Where: file-name = source file X = produce only the cross reference L = produce only a source listing ? = display an information screen The program also checks for the following command strings (these must begin in column 1): {%P} = force a new page {%H} = stop processing until the {%H} is found {%C "string"} = set comment string. This string is printed in the header following the file name. The string is specified between the quotation marks. -License- You are free to distribute this program and documentation as a whole. You may not sell this package or any portion there in for profit. No guarantees are made as to the suitability, utility, or operation of this software. I will not be held responsible for any damages caused by the use of this software. If you find this program useful please drop me a post card, (something with a picture on it people - regular postal cards are so boring!), it would be appreciated and would indicate to me whether further development of this program is warranted. Darren K. Henderson PO Box 207 Madison, Maine 04950