In computing, Pic is a domain-specific programming language by
Brian Kernighan for specifying diagrams in terms of objects such
as boxes with arrows between them. The pic compiler translates
this description into concrete drawing commands. Pic is a
procedural programming language, with variable assignment,
macros, conditionals, and looping. The language is an example of
a little language originally intended for the comfort of non-
programmers in the Unix environment (Bentley 1988). Pic was
first implemented, and is still most typically used, as a
preprocessor in the troff document processing system. The pic
preprocessor filters a troff document, replacing diagram
descriptions by concrete drawing commands, and passing the rest
of the document through without change. A version of pic is
included in groff, the GNU version of troff. GNU pic can also
act as a preprocessor for TeX documents. Arbitrary diagram text
can be included for formatting by the word processor to which
the pic output is directed, and arbitrary