|
ABSTRACT
This paper introduces a class of models (information structure models) for characterizing computations in terms of the data structures to which they give rise during execution, shows how such models can be used to characterize automata, digital computers and programming languages, considers in some detail the data structures generated during the execution of programs in block structure languages, develops a model for a non-block structure language (SNOBOL 4) and indicates how information structure models may be used in the semantic definition and formal characterization of programming languages. Sections 1 and 2 discuss the reasons for studying the relation between data structures and programming languages, section 3 introduces the notion of an information structure model and considers the classification of interpreters, and section 4 shows how automata, computers and programming languages may be characterized as sequential information structure models. Section 5 underlines the importance of introducing cells and references as semantic primitives of computational models. Section 6 develops models of implementation of block structure languages, section 7 considers the limitations of stack structure, and section 8 considers the hardware realization of block structure implementation of the Burroughs B6500. Section 9 develops an information structure model for the non-block structure language SNOBOL 4, while section 10 briefly discusses information structure models of language definition and the use of information structure models in proofs that programs have certain property. A final subsection considers the relative merits of axiomatic definition versus implementation-dependent definition of programming languages.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Atchison et al., Curriculum 68, CACM 11, no. 3, March 1968.
|
| |
2
|
Barron, D., et al., The main features of CPL, Computer Journal 6, 2, July 1963.
|
| |
3
|
Berry, D. M., Introduction to Oregano, SIGPLAN Notices, February 1971 (this proceedings).
|
 |
4
|
|
| |
5
|
Berry, D. M., Block structure: retention or deletion?, TR 70-29, Center for Computer and Information Sciences, Brown University, December 1970.
|
 |
6
|
|
 |
7
|
|
| |
8
|
Burroughs B6500/7500 information processing systems characteristics manual, 1970.
|
| |
9
|
Cheatham, T. E., and Sattley, K., Syntax-directed compiling, Proc. AFIPS Spring Joint Computer Conference, 1964.
|
| |
10
|
Cleary, J. G., Process handling on the Burroughs B6500, Proceedings of the Fourth Australian Computer Conference, Adelaide, 1969.
|
 |
11
|
|
 |
12
|
|
| |
13
|
Dennis, J. B., Computation structures, notes for subject 6.232, M.I.T. Department of Electrical Engineering, 1970.
|
| |
14
|
Domolki, B., An algorithm for syntactic analysis, Computational Linguistics 3, 1964 (Hungarian journal).
|
 |
15
|
|
| |
16
|
Floyd, R. W., Assigning meanings to programs, Proc. Symp. Applied Mathematics, American Mathematical Society, 1967.
|
| |
17
|
|
| |
18
|
Henhapl, W., and Jones, C. B., The block concept and some possible implementations, with proofs of equivalence, TR 25.104, IBM Vienna, April 1970.
|
| |
19
|
Holt, A., Events and conditions, Applied Data Research Report, 1970.
|
 |
20
|
|
| |
21
|
Johnston, J. B., The contour model of block structure processes, Proceedings of Symposium on Data Structures in Programming Languages, SIGPLAN Notices, February 1971.
|
| |
22
|
Knuth, D. E., The art of computer programming, Vol. 1, Addison-Wesley, 1968.
|
| |
23
|
Knuth, D. E., The semantics of programming languages, Mathematical System Theory 2, no. 2., 1968.
|
| |
24
|
Lucas, P., et al., Method and notation of the formal definition of programming languages, TR 25.087, IBM Laboratory Vienna, 1968.
|
| |
25
|
Lucas, R., Two constructive realizations of the block concept and their equivalence, TR 25.085, IBM Laboratory Vienna, 1968.
|
| |
26
|
Lucas, P., and Walk, K., On the formal description of PL/I, Annual Review of Automatic Programming 6, part 3, 1969.
|
 |
27
|
|
| |
28
|
Markovitz, H., et al., SIMSCRIPT Manual, Prentice-Hall, 1963.
|
| |
29
|
McCarthy, J., Towards a mathematical science of computation, Proc. IFIPS Congress 1962, North-Holland, 1963.
|
| |
30
|
McCarthy, J., A basis for a mathematical theory of computation, in Computer programming and formal systems, ed. P. Braffort and B. Hirschberg, North-Holland, 1963.
|
| |
31
|
|
| |
32
|
McCarthy, J., and Painter, J., Correctness of a compiler for arithmetic expressions, TR CS38, Computer Science Department, Stanford University, 1966.
|
| |
33
|
|
| |
34
|
McGowan, C., and Wegner, P., The equivalence of sequential and associative information structure models, Proceedings of Symposium on Data Structures in Programming Languages, Gainesville, Florida, SIGPLAN Notices, February 1971.
|
 |
35
|
J. W. Backus , F. L. Bauer , J. Green , C. Katz , J. McCarthy , A. J. Perlis , H. Rutishauser , K. Samelson , B. Vauquois , J. H. Wegstein , A. van Wijngaarden , M. Woodger , P. Naur, Revised report on the algorithm language ALGOL 60, Communications of the ACM, v.6 n.1, p.1-17, Jan. 1963
[doi> 10.1145/366193.366201]
|
| |
36
|
Organick, E. I., and Cleary, J. G., A data structure model of the B6700 computer system, Proceedings of the Symposium on Data Structures in Programming Languages, Gainesville, Florida, SIGPLAN Notices, February 1971.
|
| |
37
|
Perlis, A. J., Computer science and mathematics, SIGCSE Bulletin, September-October 1970.
|
| |
38
|
PL/I Reference Manual, IBM System Reference Library, File No. 5360-24, Form No. C28-8201-1, 1968.
|
| |
39
|
Standish, T. C., private communication.
|
| |
40
|
Stearns, R. E., and Lewis, P. M., Property grammars and table machines, Information and Control 14, 1969.
|
| |
41
|
Strachey, C., Fundamental concepts in programming languages, NATO Conference, Copenhagen, 1967.
|
| |
42
|
|
| |
43
|
|
| |
44
|
Wegner, P., Three computer cultures - computer technology, computer mathematics and computer science, Advances in Computers 10, 1970.
|
| |
45
|
Wegner, P., Information structure models for programming languages, TR 70-26, Center for Computer and Information Sciences, Brown University, September 1970.
|
| |
46
|
Wegner, P., The Vienna Definition Language, TR 70-21-2, Center for Computer and Information Sciences, Brown University, May 1970.
|
 |
47
|
|
| |
48
|
|
| |
49
|
Wegner, P., The Domolki algorithm, TR 68-18, Department of Computer Science, Cornell University, May 1968.
|
 |
50
|
|
 |
51
|
|
| |
52
|
Conway, M. E., A multiprocessor system design, Proc. Fall Joint Computer Conference, 1963.
|
|