The example is taken from a paper about the utility of application generators [Cle88]. It is very simple, but it involves the specification of a complete translator. Another example, illustrating a larger problem, appeared in SIGPLAN Notices [Wai93].
Jackson Structured Programming (JSP) is the design methodology used for this example [Cam89,Hug79]. JSP uses diagrams to relate the structure of the input file to the structure of the output file, and places operations according to that relationship. It is well suited to developing attribute grammar specifications, because it directly addresses the problem of deciding which computations should be associated with which nodes in a tree structure.
This section contains a complete specification of the program. The file used to produce this paper was also used to produce the generator. It is available (with appropriate instructions) on the web [use].