The paper presents an abstract treatment of declarations in imperative programming languages. A state in the execution of a program is viewed as an algebra, the state transformation corresponding to a declaration changes the algebra and its presentation. We provide a uniform treatment of the declarations of constants, aliases, variables, data types, and pointers, in terms of transformations defined using pushouts and reducts of algebras.
Unable to display preview. Download preview PDF.
- ADJ (Goguen, J. A., Thatcher, J. W., 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 (R. T. Yeh, Ed.) (1978) 80–149. Prentice-Hall, Englewood Cliffs (1978).Google Scholar
- Ehrig, H., Kreowski, H-J., Thatcher, J. W., Wagner, E. G., and Wright, J. B., “Parameter Passing in Algebraic Specification Languages,” Theoretical Computer Science 28 (1984) 45–81.Google Scholar
- Ehrig, H., Mahr, B., Foundations of Algebraic Specifications, 1, EATCS Monographs on Theoretical Computer Science, Vol. 6 Springer-Verlag (1985).Google Scholar
- Wagner, E. G., “Categorical Semantics, or Extending Data Types to Include Memory,” Recent Trends in Data Type Specification: 3rd Workshop on Theory and Applications of Abstract Data Types — Selected Papers (H.J. Kreowski, Ed.) Informatik-Fachberichte 116, Springer-Verlag (1984) 1–21.Google Scholar
- Wagner, E. G., “Semantics of Block Structured Languages with Pointers,” Mathematical Foundations of Programming Language Semantics: 3rd Workshop, LNCS 298, Springer-Verlag (1987) 57–84.Google Scholar
- Jensen, K, Wirth, N, PASCAL User Manual and Report, 2nd Edition, Springer-Verlag, (1978)Google Scholar
- Wagner, E. G., ”Algebraic Theories, Data Types, and Control Constructs,” Fundamenta Informaticae IX (1986) 343–370. Also IBM Research Report RC-11343, 8/29/85.Google Scholar