Abstract
ASDL is a formalism to specify syntax-directed programming environments. The language is the heart of a language-independent kernel system, which is based on an environment database and offers a uniform user interface. ASDL is designed to ease the extension of the kernel system by new languages and by new language dependent tools. It unifies concepts of syntax-directed translation and object-oriented programming. This is achieved by identifying syntactic categories with types and translation rules with generic operations on such types. Each type is associated with translation rules, attributes, and relations, which are shared by all instances of the type. Translation rules are recursively defined in terms of other rules and semantic actions. Semantic actions are non-generic imported operations that are defined in a host language. A translation scheme is viewed as an operation that maps its rules over an abstract syntax tree. Translation schemes allow the designer to define traversal strategies, to clip and prune syntax trees and to modify attributes and relations solely in terms of their conceptual representation. An initial prototype of the kernel system was implemented on Lisp machines.
Preview
Unable to display preview. Download preview PDF.
References
A.V. Aho, J.D. Ullman: The Theory of Parsing, Translation, and Compiling, I+II, Prentice-Hall, Englewood Cliffs, N.J., 1972
D.G. Bobrow et al.: CommonLoops: Merging Lisp and Object-Oriented Programming. in: SIGPLAN Notices Special Issue: ACM Proc. of OOPSLA 86 Conf., 21(11): 17–29, 1986
M.L. Christ-Neumann et al.: ASDL — A Specification Language for Syntax-Directed Environments, GRASPIN Technical Paper, GMD 16/5, Sankt Augustin, 1986
L. Cardelli: A Semantics of Multiple Inheritance. in: Kahn G. and MacQueen D.B. and Plotkin G. (ed.): Semantics of Data Types, LNCS 173, Springer-Verlag, Berlin, Heidelberg, New York, 51–67, 1984
G. Curry et al.: Traits: An Approach to multiple-inheritance subclassing. in: Limb (Ed.): ACM Proc. of SIGOA Conf. on office automation systems, 1–9, 1982
V. Donzeau-Gouge et al.: Programming environment based on structured editors: The Mentor experience, INRIA Research Report 26, 1980
Epsilon: SEEK — A Software Engineering Kernel: Reference Manual, Epsilon, Berlin, 1984
G. Kahn et al.: Metal: A Formalism to Specify Formalisms, Science of Computer Programming 3, 151–188, 1983
U. Kastens: Ordered attribute grammars. Acta Informatica, 13(3), 229–256, 1980.
D. Knuth: Semantics of context-free languages. Mathematical Systems Theory, 2(2), 127–145, 1968.
R. Medina-Mora, P. Feiler: An incremental programming environment. IEEE Trans. Softw. Eng. SE-7, 5, 472–482, 1981
D.A. Moon: Object-oriented programming with FLAVORS. in: SIGPLAN Notices Special Issue: ACM Proc. of OOPSLA 86 Conf., 21(11), 1–8, 1986
M.P. Papazoglou, C. Hoffmann: Towards versatile object oriented query languages. To appear: Proc. 1987 IEEE Workshop on Languages for Automation.
T. Reps, T. Teitelbaum: The Synthesizer Generator: Reference Manual, Department of Computer Science, Cornell University, Ithaca, NY 14853, 1985
C. Zaniolo et al.: Object oriented database systems and knowledge systems, in: L. Kerschberg (Ed.): Expert database systems, Benjamin/Cummings Publ. Co., 1986
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1987 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Christ-Neumann, ML., Schmidt, HW. (1987). ASDL — An object-oriented specification language for syntax-directed environments. In: Nichols, H., Simpson, D. (eds) ESEC '87. ESEC 1987. Lecture Notes in Computer Science, vol 289. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0022100
Download citation
DOI: https://doi.org/10.1007/BFb0022100
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-18712-7
Online ISBN: 978-3-540-48117-1
eBook Packages: Springer Book Archive