RATIONALE Ken Brown (1997) "Grammatical Design", IEEE Expert: Intelligent Systems and Their Applications, 12(2), 27-33. This paper provides a survey of the use of grammars in generating designs. Grammars for programming and natural languages are usually used for 'parsing' to determine the correctness and structure of an input. However, running them in "reverse" to generate rather than analyse is possible if done carefully. They need to controlled in order to generate sensible, legal designs. Grammars can assemble 2D shapes to make plans, or 3D shapes to make designs.