- Pic language
Pic is a
domain-specific language byBrian Kernighan for specifyingdiagram s in terms of objects such as boxes with arrows between them. The piccompiler translates this description into concrete drawing commands. Pic is aprocedural 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 thetroff 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 forTeX documents. Arbitrary diagram text can be included for formatting by the word processor to which the pic output is directed, and arbitrary post-processor commands can also be included. Dwight Aplevich's implementation, [http://www.ece.uwaterloo.ca/~aplevich/dpic/ DPIC] , can also generate postscript images by itself, as well as act as a preprocessor. The three principal sources of pic processors are GNU pic, found on manyLinux systems, and dpic, both of which are free, and the original AT&T pic.Pic has some similarity with
MetaPost and theDOT language .References
*Brian W. Kernighan. "PIC - A Language for Typesetting Graphics", Software Practice Experience 12 (1982), 1–20.
*J. Bentley. "More Programming Pearls", Addison-Wesley (1988).
External links
* [http://floppsie.comp.glam.ac.uk/Glamorgan/gaius/web/pic.html Making Pictures With GNU PIC]
* [http://www.kohala.com/start/troff/troff.html Troff resources (see the "pic" section)]
* [http://www.onlamp.com/pub/a/onlamp/2007/06/21/in-praise-of-pic.html?page=1 ONLamp.com: "In Praise of Pic"]
* [http://www.ece.uwaterloo.ca/~aplevich/dpic/ DPIC] , an implementation of the PIC language by Dwight Aplevich. This implementation has a few nice extensions and outputs many different image formats.
Wikimedia Foundation. 2010.