Abstract
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.
This paper describes the DIANA Interfacer — an attribute grammar based tool for tailoring views of DIANA. The DIANA Interfacer is built around an attribute grammar representation of DIANA developed at SDC. It permits the user to specify only the DIANA nodes that are to be changed and the rules for evaluating new attributes. The DIANA Interfacer produces three outputs:
-
1)
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.
-
2)
an Ada package (both specification and body) for accessing the modified tree
-
3)
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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
5. References
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.
P. Wallis. Towards the Design of a Toolset for Manipulating Ada Packages. Ada-Europe/AdaTEC Symposium. March 1983.
STONEMAN, Requirements for Ada Programming Support Environments. DARPA. February 1980.
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.
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.
P. Lewis, R Stearns. Syntax-Directed Transduction. Journal of the ACM, 15,3. July 1968.
J. Nestor, W. Wulf, D. Lamb. IDL — Interface Description Language. Draft Revision 2.0. June 1982.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1984 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Payton, T., Keller, S., Perkins, J., Mardinly, S. (1984). The DIANA interfacer. In: Wallis, P.J.L. (eds) Ada Software Tools Interfaces. Lecture Notes in Computer Science, vol 180. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-13878-1_8
Download citation
DOI: https://doi.org/10.1007/3-540-13878-1_8
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-13878-5
Online ISBN: 978-3-540-39071-8
eBook Packages: Springer Book Archive