Abstract
Theories of programming languages formalize pointers by formalizing the addresses, the heap and the stack of a computer storage. These are implementation concepts. The aim of this paper is a theory that formalizes pointers in terms of concepts from high-level programming languages. We begin with a graph theory, which formalizes the implementation concepts but avoids some common distinctions. From it, we calculate the theory of trace equivalences, which formalizes concepts of high-level programming languages. From that theory, we calculate definitions in terms of weakest (liberal) preconditions. We consider the assignment and the copy operation, which is introduced in the paper; the object creation (i.e. the new-statement) is a sequential composition of them. Those wlp/wp-definitions and the concept of trace equivalence are the result of the paper. They are intended as a foundation for program design; in particular, for an object-oriented one.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have