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[where?] describing complicated processes for bootstrapping, porting, and self-compiling of compilers, interpreters, and macro-processors.[1]