Guide to ldb sources

This is a quick sketch of what's in the ldb sources and where. I discuss things in the order in which they're built. This guide might help you if something goes wrong in the build process. It will definitely help you get started if you want to read, understand, or modify parts of ldb.

First, to build the debugger:

ldb-template
Righteous quake code to support ldb. Includes all sorts of templates for C, Icon, and more.
nrlib
A library of Modula-3 code used in ldb but not ``debugger-related.''
m3psgen
Preprocessor for implementing PostScript operators. This take a compact description of a PostScript operator and generates Modula-3 code to implement that operator. It's an Icon program.
m3ps
Library for ldb's embedded PostScript interpreter. Also useful standalone or in other applications.
ldb-pattern
Support for machine-code manipulation. This is a very early version of the New Jersey Machine-Code Toolkit. It's also an Icon program.
ldb
The debugger, which is divided into pieces. The top-level source directory contains main routines and some path stuff that isn't quite right yet. The mdep subdirectory contains all the machine-dependent code. All the common stuff is in cdb.
ldb-ps
The auxiliary PostScript code that ldb uses dynamically.
ldb-tie
A difference tool used to build the expression server.
expserver
Expression server used for expression evaluation.
To build the debug nub you need
ldb-template
The same quake code is used to build both debugger and nub.
ldb-ld
Ldb's special linker---a nasty shell script.
ldb-nub
The Debug nub itself---both machine-dependent and machine-independent parts. It's written in C and assembly language, and the C parts must be compiled with lcc.