Describing data control in programming languages

The authors describe a multipass, multilayered model of the semantics of the data-control aspect of programming languages, illustrating the model by using it to define the data-control aspect of the language Pascal. The model is an information structure model in which the information structures are defined in a relatively precise manner, using algebraic specification techniques for abstract data types. The use of abstract data types is also the key to the layering of the description: the outermost layer describes the semantics of the language feature, the middle layer contains definitions for the manipulation of the information structures used within the model, and the innermost layer contains precise descriptions of these information structures. The fact that the model is layered allows various potential users of the semantic description to choose a level of detail appropriate to their needs.<<ETX>>

[1]  Carol Lynn Smith,et al.  A formal analysis of name accessing in programming languages. , 1975 .

[2]  C. A. R. Hoare,et al.  Ambiguities and insecurities in pascal , 1977, Softw. Pract. Exp..

[3]  John B. Johnston,et al.  The contour model of block structured processes , 1971, SIGP.

[4]  John V. Guttag,et al.  Notes on Type Abstraction (Version 2) , 1980, IEEE Transactions on Software Engineering.

[5]  Peter Wegner Data structure models for programming languages , 1971, SIGP.

[6]  Friedrich L. Bauer,et al.  Report on the algorithmic language ALGOL 60 , 1960, Commun. ACM.

[7]  Uwe Kastens,et al.  GAG: A Practical Compiler Generator , 1982, Lecture Notes in Computer Science.

[8]  Niklaus Wirth,et al.  What can we do about the unnecessary diversity of notation for syntactic definitions? , 1977, Commun. ACM.

[9]  Joseph A. Goguen,et al.  Abstract Errors for Abstract Data Types , 1977, Formal Description of Programming Concepts.

[10]  Joseph A. Goguen Correctness and Equivalence of Data Types , 1976 .

[11]  William R. Mallgren,et al.  Formal Specification of Graphic Data Types , 1982, TOPL.

[12]  Gerhard Goos,et al.  An Attribute Grammar for the Semantic Analysis of Ada , 1982, Lecture Notes in Computer Science.

[13]  Niklaus Wirth,et al.  Programming in Modula-2 , 1985, Texts and Monographs in Computer Science.

[14]  Niklaus Wirth,et al.  From Modula to Oberon and the programming language Oberon , 1987 .

[15]  Joseph A. Goguen,et al.  Initial Algebra Semantics and Continuous Algebras , 1977, J. ACM.