http://kor.i2p/books/The%20C%20Programming%20Language%20by%20K&R/chapter6.html
Externally-imposed data
formats, such as interfaces to hardware devices, also often require the
ability to get at pieces of a word. Imagine a fragment of a compiler that manipulates a symbol table. Each
identifier in a program has certain information associated with it, for
example, whether or not it is a keyword, whether or not it is external and/or
static, and so on.