Tombstone diagram

In computing, tombstone diagrams (or T-diagrams) consist of a set of “puzzle pieces” representing compilers and other related language processing programs.

They are most commonly found describing complicated processes for bootstrapping, porting, and self-compiling of compilers, interpreters, and macro-processors.

[1] T-diagrams were first used for describing bootstrapping and cross-compiling compilers by Harvey Bratman in 1961,[2] who reshaped the diagrams originally introduced by Strong et al. (1958) to illustrate UNCOL.

T-diagrams are also now used to describe client-server interconnectivity on the World Wide Web.

[5] A teaching tool TDiag has been implemented at Leipzig University, Germany.

Tombstone diagram representing an Ada compiler written in C that produces machine code .
Representation of the process of bootstrapping a C compiler written in C, by compiling it using another compiler written in machine code. To explain, the lefthand T is a C compiler written in C that produces machine code. The righthand T is a C compiler written in machine code that also produces machine code. The diagram illustrates that this can be used to bootstrap the left T by using it to compile the compiler written in C.