The DIANA interfacer
DIANA is a high-level, intermediate form which captures concisely the important aspects of Ada* and enables a variety of tools to share a consistent view of the database alleviating the need to duplicate the effort of parsing and semantic analysis of an Ada source program. DIANA can serve as an input language to a variety of tools. It may not. however, be the best intermediate representation within a particular tool. The DIANA representation may need to be augmented by additional attributes or to be organized into a slightly different structure in order to facilitate the major processing algorithms of a given tool.
We believe this process of tailoring the intermediate representation can and should be formalized and automated. A formalized description for the intermediate language may be modified by temporary attributes specialized for the tool at hand. The tree transformation process to take the common representation and create a tailored representation should be generated automatically. The tool builder then has an intermediate form tailored exactly to his need with a minimum of effort. All of the advantages of a common representation still pertain, with each tool maintaining a consistent view of the intermediate language database. The external view of the data is shared while the internal view is tailored to facilitate processing.
Ada source implementing the front-end of the user tool. This front-end accepts DIANA as input and produces a modified tree tailored to the processing needs of the tool.
an Ada package (both specification and body) for accessing the modified tree
dump and debug facilities.
The DIANA Interfacer is knowledgeable about a DIANA attribute grammar. It tailors this grammar and invokes SSAGS — an attribute grammar system developed at SDC. The Interfacer enables the user to enjoy the advantages of an attribute grammar approach for transforming trees without having to be cognizant of all the details of an attribute grammar. The user maintains the high level concept of tailoring his representation and an implementation of the tailoring transformation is automatically generated.
Unable to display preview. Download preview PDF.
- G. Goos, W. Wulf, A. Evans Jr and K. J. Butler (editors), DIANA An Intermediate Language for Ada (Revised Version). Lecture Notes in Computer Science No. 161. Springer-Verlag (Berlin Heidelberg New York Tokyo) 1983.Google Scholar
- P. Wallis. Towards the Design of a Toolset for Manipulating Ada Packages. Ada-Europe/AdaTEC Symposium. March 1983.Google Scholar
- STONEMAN, Requirements for Ada Programming Support Environments. DARPA. February 1980.Google Scholar
- B. Brosgol. Design and Implementation of DIANA — Descriptive Intermediate Notation for Ada. Proceedings of the International Workshop on High-level Language Computer Architecture. Deceember 1982.Google Scholar
- T.Payton, S. Keller, J. Perkins, S. Rowan, S. Mardinly. SSAGS: A Syntax and Semantics Analysis and Generation System. Proceedings of COMPSAC '82. November 1982.Google Scholar
- P. Lewis, R Stearns. Syntax-Directed Transduction. Journal of the ACM, 15,3. July 1968.Google Scholar
- J. Nestor, W. Wulf, D. Lamb. IDL — Interface Description Language. Draft Revision 2.0. June 1982.Google Scholar