Abstract
A modelling technique for an imperative programming language is presented in the paper. The technique is based on the algebraic approach to the data type specification and introduces such basic data types as memory, variable, record, function, and procedure and such basic kinds of expressions as linear and conditional expressions. It is shown that statements are a partial case of expressions, pointers are a partial case of variables, and procedures are a partial case of functions. The technique is illustrated by a simple Pascal program including variables, pointers, and assignment and conditional statements.
Preview
Unable to display preview. Download preview PDF.
References
F.L. Bauer, R. Berghammer, M. Broy, W. Dosch, F. Geiselbrechtinger, R. Gnatz, E. Hangel, W. Hesse, B. Krieg-Brückner, A. Laut, T.A. Matzner, B. Möller, F. Nickl, H. Partsch, P. Pepper, K. Samelson, M. Wirsing, H. Wössner. The Munich project CIP. Volume I: The wide spectrum language CIP-L. Lecture Notes in Computer Science, v.183, Berlin: Springer 1985
Broy M. and Wirsing M. Algebraic definition of functional programming languages. RAIRO Inf. Theor., v.17, 1982, No.2, p. 137–162.
Broy M. and Wirsing M. and Pepper P. On the algebraic definition of programming languages. ACM TOPLAS, v.9, 1987, No.1, p.54–99.
Broy M., Facchi C., Grosu R., ea. The Requirement and Design Specification, Language Spectrum, An Informal Introduction, Version 0.3. Technische Universitaet Muenchen, Institut fur Informatik, October 1991.
Burstall R.M., Goguen J.A. Algebras, Theories, and Freeness: An Introduction for Computer Scientists // Proc. Marktoberdorf Summer School on Theoretical Foundations of Programming Methodology, August, 1981.
Donahue J.E. Locations considered unnecessary. Acta Informatica, v.8, pp. 221–242 (1977).
Glushkov V.M., Tseitlin G. E., Yutshenko E.L. Algebra, Languages, Programming. Kiev, Naukova dumka, 1974.
Gougen J.E., 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 IV: Data Structuring. Pre Cliffs, N.J., 1978, p. 80–144.
Guttag J., Hornung J.J. The algebraic specification of abstract data types. Acta Informatika, 1978, v.10, No.1, pp. 27–52.
Letichevski A.A. Syntax and semantics of formal languages. Kibernetika, 1968, No.4, p. 1–9.
Moeller B. Towards Pointer Algebra. Science of Computer Programming, 1993 (to appear).
Morrison R., Brown A.L., Connor R.C.H., Dearie A. The Napier 88 Reference manual. PPRR--77-89, University of St. Andrews and Glasgow, 1989.
Naur P. (Editor). Revised Report on the Algorithmic Language ALGOL 60. Comm. ACM, 1963, v.6, No.1, pp. 1–17.
Schmidt D. A. Denotational semantics. Allyn and Bacon, 1986.
Wagner E.G. Categorical Semantics, Or Extending Data types to Include Memory. Recent Trends in Data Type Specification: Informatik Fachberichte, v. 116, 1984, p. 1–21.
Wagner E.G. Semantics of Block Structured Languages with Pointers. Mathematical Foundations of Programming Language Semantics, LNCS, 1987, No 298, p. 57–84.
Watt D.A. Programming Language Concepts and Paradigms. Prentice Hall, 1990.
Wirsing M., Pepper P., Partsch H., et.al. On Hierarchies of Abstract Data Types. Acta Informatica, 1983, v.20, p. 1–33.
Author information
Authors and Affiliations
Corresponding author
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zamulin, A.V. (1993). Algebraic modelling of imperative languages with pointers. In: Bjørner, D., Broy, M., Pottosin, I.V. (eds) Formal Methods in Programming and Their Applications. Lecture Notes in Computer Science, vol 735. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0039702
Download citation
DOI: https://doi.org/10.1007/BFb0039702
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57316-6
Online ISBN: 978-3-540-48056-3
eBook Packages: Springer Book Archive