The software described is a compiler generator integrated in a graphical user interface (GUI) to support debugging. A compiler is viewed as a scanner, a parser, and an attribute evaluator. The focus is on the front-end techniques, with a variety of parsing algorithms available for evaluation in particular settings. The software is an educational tool. In pedagogical settings, it can be appropriate to focus on lexical and syntactic analysis, leaving the complexity of attribute definition, calculation, and use as a more advanced topic. The definition of the compiler model, the GUI model, and their integration is clear.
One of the attractive aspects of the paper is the candid discussion of the challenges of the project, which were not the result of the theoretical framework but are “mundane ergonomic problems.” Two are described: providing sufficient user control of the operation of the system, and managing the display of large amounts of data (for example, attributed parse trees). These arise from the inherently complex representations of compiler internal states and of the state of a compilation of a particular program as a user works with the system. Again, the problem and the approaches taken are clearly described.
A particular application is described, that is, a specification for an assembler for a universal virtual computer (a RISC machine) intended to make all document formats forever displayable.
The paper ends with a pointer to the relevant literature on compiler generators and a description of planned enhancements.