A formal semantics for a language with type extension
The purpose of this paper is to give a formal semantics for a language which includes type extension. Used in association with pointer variables, this forms the basis of object-orientation in the languages Oberon and Oberon-2 which have evolved from Modula-2. The focus is on the meaning of assignment because this is the important difference between such languages and the strongly-typed Pascal family. An abstract syntax is defined using the Z notation and the static and dynamic semantics are given in a denotational style.
KeywordsStatic Type Pointer Variable Formal Semantic Abstract Syntax Pointer Type
Unable to display preview. Download preview PDF.
- [Hay93]I. J. Hayes(editor). Specification Case Studies. Prentice Hall International, second edition, 1993.Google Scholar
- [Hay94]I. J. Hayes. A small language definition in Z. Technical Report UQ-SVRC-TR94-50. Software Verification Research Centre. University of Queensland. December, 1994.Google Scholar
- [MW91]H. Mössenböck and N. Wirth. The programming language Oberon-2. Structured Programming, 12(4). 1991.Google Scholar
- [RW92]M. Reiser and N. Wirth. Programming in Oberon: Steps beyond Pascal and Modula. Addison-Wesley, 1992.Google Scholar
- [Sei91]E. Seidwitz. Object-oriented programming through type extension in Ada9X. Ada Letters, 11(2): 86–97. March/April 1991.Google Scholar
- [Spi92]J. M. Spivey. The Z Notation: A Reference Manual. Prentice Hall International, second edition, 1992.Google Scholar
- [Wir88a]N. Wirth. Type extensions. ACM Transactions on Programming Languages and Systems, 10(2):204–214. April 1988.Google Scholar
- [Wir88b]N. Wirth. The programming language Oberon. Software Practice and Experience. July 1988.Google Scholar