Tombstone diagram

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.

In computing, tombstone diagrams (or T-diagrams) consist of a set of “puzzle pieces” representing compilers and other related language processing programs. They are used to illustrate and reason about transformations from a source language (left of T) to a target language (right of T) realised in an implementation language (bottom of T). They are most commonly found describing complicated processes for bootstrapping, porting, and self-compiling of compilers, interpreters, and macro-processors.

T-diagrams were first used for describing bootstrapping and cross-compiling compilers by Harvey Bratman in 1961, who reshaped the diagrams originally introduced by Strong et al. (1958) to illustrate UNCOL. Later on, others, including McKeeman et al. and P.D. Terry, explained the usage of T-diagrams with further detail. T-diagrams are also now used to describe client-server interconnectivity on the World Wide Web. A teaching tool TDiag has been implemented at Leipzig University, Germany.

See also

References

Uses material from the Wikipedia article Tombstone diagram, released under the CC BY-SA 4.0 license.