This paper describes how attribute grammars can be used to integrate program visualization in language-based environments and how program visualizations can be specified and generated from grammars. It is discussed how a general solution for a simple grammar can be reused in grammars for other specific languages. As an example we show how diagram generation for a very simple state transition language can be integrated in a more complex specific state transition language. We use an extended form of attribute grammars, RAGs, which permits attributes to be references to nodes in the syntax tree. An external graph drawing tool is used to visualize the diagrams. The solution is modularized to support reuse for different languages and exchange of the external drawing tool for different types of visualization.
Categories and Subject Descriptors: C.3 [Special-Purpose and Application-Based Systems]; D.1.5 [Programming Techniques]: Object-oriented Programming; D.2.6 [Software Engineering]: Programming Environments
Additional Key Words and Phrases: program visualization, attribute grammars, object-oriented techniques, language-based environments
- Donald E. Knuth. Semantics of context-free languages. Mathematical Systems Theory, 2(2):127-145, 1968.