This paper presents an algebraic and categorical approach to the mathematical modeling of imperative programming languages. In particular we model languages with block structure, records and variants, user definable recursive types, and pointers, etc., and with "control constructs" such as primitive recursion (generalized to recursive types), while-do, if-then-else, and assignment. In our earlier papers on this subject ([4], [5], [6]) we showed how data types and operations can be defined in an algebraic framework. In this paper we present a more mathematically sophisticated version of that framework, and we show how it can be used to provide a new approach to languages that have block structure together with objects, such as pointers, which are dynamically declared and may persist outside the block in which they are declared. The main new mathematical concept, and the key to the development, is the concept of an EDHT-category which is an extension of the DHT-symmetric categories introduced by Hoehnke [13] as a categorical framework for partial algebras.
CITATION STYLE
Wagner, E. G. (1988). Semantics of block structured languages with pointers. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 298 LNCS, pp. 57–84). Springer Verlag. https://doi.org/10.1007/3-540-19020-1_4
Mendeley helps you to discover research relevant for your work.