Abstract
The main tasks in compiler construction are solved by systematic algorithms. Tools are available which generate compiler modules from specifications. They are often developed as closed stand-alone systems difficult to combine with other tools. Integration of their products requires considerable engineering work and may loose efficiency because the tools fix all implementation decisions.
In order to improve the applicability of generating tools we suggest in this paper a modular tool structure: The central part of the generator translates an abstract representation of a specification into an abstract algorithm. These interfaces are open to meet the requirements of the tools environment by variations of the frontends and backends. Especially the implementation decisions for the generated products are separated from the generation of the abstract algorithm. We demonstrated this design principle applied to the development of a CFG toolset and an attribute evaluator generator.
Further work should be devoted to the development of other compiler tools on that base and to increase the variants of the existing tools. Furthermore we believe that the design principle is as well applicable to tools of areas different from compiler construction.
Chapter PDF
References
Aho, A.V., R. Sethi and J.D. Ullman, “Compilers”, Addison Wesley, Reading MA, 1986
Budde, V., “Werkzeuge zur Grammatik-Transformation und LL-Parsergenerierung auf der COMAR-Datenbasis, Diplomarbeit, FB 17, Universität-GH Paderborn, 1988
Clemm, G.M., “The Odin Specification Language”, in International Workshop on Software Version and Configuration Control '88, Teubner, Stuttgart, 1988, 144–158
Dencker, P. “Ein neues LALR-System”, Institut für Informatik, Universität Karlsruhe, Diplomarbeit, 1977
Hall, M.L., “The Optimization of Automatically Generated Compilers”, Ph.D. Thesis, Dept. of Computer Science, University of Colorado, Boulder, CO. 1987
Heuring, V.P., Kastens, U., Plummer, R.G., Waite, W.M., “COMAR: A Data Format for Integration of CFG-Tools”, University of Colorado, Boulder, ECE-Report 87/124, 1987, to appear in The Computer Journal
Johnson, S.C., “YACC — Yet Another Compiler-Compiler”, Computer Science Technical Report 32, Bell Telephone Laboratories, Murray Hill, NJ, July 1975
Kastens, U. “Ordered Attributed Grammars”, Acta Informatica 13, 229–256, 1980
Kastens, U. “Lifetime Analysis for Attributes”, Acta Informatica 24, 633–651, 1987
Kastens, U., Hutt, B., Zimmermann, E. “GAG — A Practical Compiler Generator”, Lecture Notes in Computer Science 141, Springer, 1982
Lamb, D.A., “IDL: Sharing Intermediate Representations”, TOPLAS, vol. 9, no. 3, 1987, 297–318
Lesk, M.E., “LEX — A Lexical Analyzer Generator”, Computer Science Technical Report 39, Bell Telephone Laboratories, Murray Hill, NJ, 1975
Snodgrass, R., Shannon, K., “Supporting flexible and efficient tool integration”, SoftLab Document No. 25, Computer Science Department, University of North Carolina, Chapel Hill, N.C., May 1986
Waite, W.M., G. Goos, “Compiler Construction”, Springer Verlag, New York, NY, 1984
Waite, W.M., Heuring, V.P., Kastens, U. “Configuration Control in Compiler Construction”, Int'l Workshop on Software Version and Configuration Controll SVCC, Grassau, Januar 88
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1989 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kastens, U. (1989). Abstract interfaces for compiler generating tools. In: Hammer, D. (eds) Compiler Compilers and High Speed Compilation. CCHSC 1988. Lecture Notes in Computer Science, vol 371. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-51364-7_8
Download citation
DOI: https://doi.org/10.1007/3-540-51364-7_8
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-51364-3
Online ISBN: 978-3-540-46200-2
eBook Packages: Springer Book Archive