Visualization/animation of programs based on abstract representations and formal mappings - Pereira, Maria João (2001)
In the context of Alma (a system for program visualization and algorithm animation), we use an internal representation-based on the concept of an attributed abstract syntax tree decorated with attribute values, a DAST-to associate (static) figures to grammar rules (productions) and to step over program dynamics executing state changes in order to perform its animation. We do not rely upon any source program annotations (visual/animation statements, or parameters), neither on any special visual data types. On account of such principle, the approach becomes source language independent. It means that we can apply the same visualizer and animator, that is the Alma's back-end, to different programming languages; all that we need is different front-ends to parse each program into the DAST we use. In this paper we discuss Alma design goals and architecture, and we present the two mappings that associate to productions figures and rewriting rules to systematically draw a visual representation (exhibiting data and control flow) of a given source program and to animate its execution.