CUG 345 TLC/TLP
Contributed by Eduard Schwan (CA), TLC/TLP is "The Last C-Cross Referencer and The Last Pascal-Cross Referencer." The referencer reads one or more source files and generates a source file listing (with line numbers) and a cross-reference list for the non-reserved symbols in the file(s). The referencer provides several command line options to support debugging and indirect command line specification. The indirect command line specification allows you to place a list of command line parameters into a separate file. These parameters may include a list of files to be processed, a list of reserved words, or other command line parameters. The programs were developed under Aztec C65 v3.2b, AppleIIGS APW C v1.0 and Apple Macintosh MPW C v3.0. However, they should be easily ported to an MS-DOS environment. The disk includes C source code and some documentation.
CUG346 ASxxxx Cross Assembler Part 2
Alan R. Baldwin has added another cross assembler to his ASxxxx Cross Assemblers (CUG 292). Because of CUG 292's size, we have created a new volume for this assembler. The new cross assembler is for the 68HC16 16-bit microprocesser. The assembler has been tested using DECUS C under TSX+ and RT-11, PDOS C v5.4b, and Turbo C v1.5 under MS-DOS. The disk includes C source code for the assembler, executable code for the assembler and linker, documentation and testing assembler files. A list of cross assemblers in CUG is listed in Table 1.
CUG 347 TAVL Tree
Contributed by Bert C. Hughes (MN), TAVL Tree is an implementation of a hybrid data structure, the threaded height-balanced tree. The height-balanced tree, or AVL (Adelson-Velskii-Landis) tree corrects the performance degradation on a traditional binary tree by rebalancing the tree as necessary whenever items are inserted or deleted. However, with traditional binary or AVL trees, it is not efficient to move from any given node to its successor or predecessor.To find the successor of a given node in a binary or AVL tree, you must walk through the entire tree in-order until you arrive at the node whose successor you wish to find. The next in-order node is the desired successor. Finding the predecessor is done similarly. Threaded binary trees solve this problem by replacing the nil links in leaf and half-leaf nodes with links to the node's in-order successor (or predecessor or both).
Threads are distinguished from links with an additional two-bit field in each node; one bit for each child link. With this additional information, the procedure for moving to a successor node becomes simple and does not require a stack or recursion. The disk includes C source code for TAVL tree routines, makefile, example programs using TAVL routines, and documentation. The programs are written in Standard C.