Abstract
Generative languages are a comprehensive class which includes so-called extensible programming languages. Our formal descriptions of syntax and semantics of these languages differ from traditional approaches in that any kind of declaration is viewed as a language extension. As a consequence, the concept of types in programming languages is handled in a simple and conceptually satisfactory fashion. In this paper we show how recursive-descent parsing can be adapted for generative languages.
New powerful languages may be described this way and implementations of traditional languages can be improved.
Preview
Unable to display preview. Download preview PDF.
References
Aho, A.V., Johnson, S.C., and Ullman, J.D., Deterministic Parsing of Ambiguous Grammars, Communications of the ACM 8, pp. 441–452 (1975).
Aho, A.V. and Ullman, J.D., Principles of Compiler Design, Addison-Wesley, Reading, Massachusetts (1977).
Christiansen, H. Syntax, semantics, and implementation strategies for programming languages with powerful abstraction mechanisms, Proc. 18th Hawaii International Conference on System Sciences, pp. 57–66 (1985).
Christiansen, H., Parsing and compilation of generative languages, Datalogiske skrifter 3, Roskilde University Centre (1986).
Christiansen, H. and Jones, N.D., Control Flow Treatment in a Simple Semantics-Directed Compiler Generator, Proc. Formal Description of Programming Concepts II, pp. 73–97, North-Holland, Amsterdam (1983).
Church, A., The Calculi of Lambda-Conversions, Annals of Mathematical Studies 6, Princeton Univ. Press, Princeton, N.J. (1951).
Goguen, J.A., Thatcher, J.W., and Wagner, E.G., An initial algebra approach to the specification, correctness, and implementation of abstract data types, Current Trends in Programming Methodology, vol. IV, ed. R.T. Yeh, Prentice-Hall (1979).
Knuth, D.E., Semantics of context-free languages, Mathematical Systems Theory 2, pp. 127–145 (1968).
Knuth, D.E. and Bendix, P.B., Simple Word Problems in Universal Algebras, Computational Problems in Abstract Algebra, ed. J.Leech, pp. 263–297, Pergamon Press (1970).
Layzell, P.J., The History of Macro Processors in Programming Language Extensibility, The Computer Journal, vol. 28, pp. 29–33 (1985).
Milne, R. and Strachey, C., A Theory of Programming Language Semantics, Chapman and Hall, London (1976).
Mosses, P.D., A constructive approach to compiler correctness, Lecture Notes in Computer Science 85, pp. 449–469, Springer-Verlag, Berlin, Heidelberg (1980).
Mosses, P.D., Abstract semantic algebras! Proc. Formal Description of Programming Concepts II, pp. 45–70, North-Holland, Amsterdam, 1983.
Pereira, F.C.N. and Warren, D.H.D., Definite Clause Grammars for Language Analysis — A Survey of the Formalism and a Comparison with Augmented Transition Networks, Artificial Intelligence 13, pp. 231–278 (1980).
Solntseff, N. and Yezerski, A., A Survey of Extensible Programming Languages, Annual Rewiev in Automatic Programming vol. 7, pp. 267–307 (1974).
Triance, J.M. and Layzell, P.J., Macro Processors for Enhancing High-Level Languages — Some Design Principles, The Computer Journal, vol. 28, pp. 34–43, 1985.
Watt, D.A., and Madsen, O.L., Extended attribute grammars, DAIMI PB-105, Computer Science Department, Aarhus University (1979).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1986 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Christiansen, H. (1986). Recognition of generative languages. In: Ganzinger, H., Jones, N.D. (eds) Programs as Data Objects. Lecture Notes in Computer Science, vol 217. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-16446-4_4
Download citation
DOI: https://doi.org/10.1007/3-540-16446-4_4
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-16446-3
Online ISBN: 978-3-540-39786-1
eBook Packages: Springer Book Archive