DRAFT REPORT ON THE ALGORITHMIC LANGUAGE ALGOL 68 (original) (raw)

A. VAN WIJNGAARDEN (EDITOR). BJ.MAILLOUX. J.EL.PECK AND CKA. KOSTER

COMMISSIONED BY WORKING GROUP 2.1 ON ALGOL OF THE INTERNATIONAL FEDERATION FOR INFORMATION PROCESSING SUPPLEMENT TO ALGOL BULLETIN 26

MATHEMATISCH CENTRUM MR 93 SECOND PRINTING. MARCH 1988

Contents

Header pages

PP. Provisional Prologue PP.1. History of the Draft Report PP.2. Membership of the Working Group PP.3. Distribution of the Draft Report PP.4. References

O. Introduction O.1. Aims and principles of design 0.1.1. Completeness and clarity of description.
0.1.2. Orthogonal design.
0.1.3. Security.
0.1.4. Efficiency.
0.1.4.1. Static mode checking.
0.1.4.2. Independent compilation.
0.1.4.3. Loop optimization" 0.2. Comparison with ALGOL 60 0.2.1. Values in ALGOL 68.
0.2.2. Declarations in ALGOL 68. 0.2.3. Pynamic storage allocation in ALGOL 68. 0.2.4. Collateral elaboration in ALGoL 68. 0.2.5. Standard declarations in ALGOL 68.
0.2.6. Some particular constructions in ALGOL 68

1. Language and metalanguage 1.1. The method of description 1.1.1. The strict, extended and representation languages. 1.1.2. The syntax of the strict language.
1.1.3. The syntax of the metalanguage.
1.1.4. The production rules of the metalanguage.
1.1.5. The production rules of the strict language.
1.1.6. The semantics of the strict language.
1.1.7. The extended language.
1.1.8. The representation language 1.2. The metaproduction rules 1.2.1. Metaproduction rules of modes.
1.2.2. Metaproduction rules associated with modes. 1.2.3. Metaproduction rules associated with phrases.
1.2.4. Metaproduction rules associated with formulas.
1.2.5. Other metaproduction rules 1.3. Pragmatics

2. The computer and the program 2.1. Syntax 2.2. Terminology 2.2.1. Objects.
2.2.2. Relationships.
2.2.3. Values.
2.2.3.1. Plain values.
2.2.3.2. Structured values.
2.2.3.3. Multiple values. 2.2.3.4. Routines and formats. 2.2.3.5. Names. 2.2.4. Modes and scopes. 2.2.4.1. Modes. 2.2.4.2. Scopes, inner and outer scopes. 2.2.5. Actions, 2.3. Semantics

3. Basic tokens and general constructions 3.0. Syntax 3.0.1. Introduction. 3.0.2. Letter tokens. 3.0.3. Denotation tokens. 3.0.4. Action tokens. 3.0.5. Declaration tokens. 3.0.6. Syntactic tokens. 3.0.7. Sequencing tokens. 3.0.8. Hip tokens 3.0.9. Extra tokens and comments. 3.1. Symbols 3.1.1. Representations. 3.1.2. Remarks

4. Identification and context conditions 4.1. Identifiers 4.1.1. Syntax. 4.1.2. Identification of identifiers 4.2. Indications 4.2.1. Syntax. 4.2.2. Identification of indications 4.3. Operators 4.3.1. Syntax. 4.3.2. Identification of operators 4.4. Context conditions 4.4.1. The identification condition. 4.4.2. The mode conditions. 4.4.3. The uniqueness conditions

5. Denotations 5.1. Plain denotations 5.1.1. Integral denotations. 5.1.2. Real denotations. 5.1.3. Boolean denotations. 5.2. Row of boolean denotations 5.3. Row of character denotations 5.4. Routine denotations 5.5. Format denotations 5.5.1. Syntax. 5.5.1.1. Integral patterns. 5.5.1.2. Real patterns. 5.5.1.3. Boolean patterns.. 5.5.1.4. Complex patterns. 5.5.1.5. String patterns. 5.5.1.6. Transformats. 5.5.2. Semantics

6. Phrases 6.1. Serial phrases 6.2. Unitary statements 6.3. Collateral phrases 6.4. Closed phrases 6.5. Conditional clauses

7. Unitary Declarations 7.1. Declarers 7.2. Mode declarations 7.3. Priority declarations 7.4. Identity declarations 7.5. Operation declarations

8. Unitary expressions 8.1. Formulas 8.2. Coercends 8.2.1. Unaccompanied calls. 8.2.2. Expressed coercends 8.2.3. Depressed coercends. 8.2.4. United coercends 8.2.5. Widened coercends. 8.2.6. Arrayed coercends. 8.3. Primaries 8.4. Slices 8.5.>/a> Generators 8.6. Field selections 8.7. Accompanied calls 8.8. Assignations 8.9. Conformity relations 8.10. Identity relations

9. Extensions 9.1. Comments 9.2. Contracted declarations 9.3. Repetitive statements 9.4. Contracted conditional clauses 9.5. Complex values

10. Standard declarations 10.1. Environment enquiries 10.2. Standard priorities and operations 10.2.0. Standard priorities. 10.2.1. qperations on boolean operands. 10.2.2. Operations on integral operands. 10.2.3. Operations on real operands. 10.2.4. Operations on arithmetic operands. 10.2.5. Complex structures and associated operations. 10.2.6. Bit rows and associated operations. 10.2.7. Operations on character operands. 10.2.8. String mode and associated operations. 10.2.9. Operations combined with assignations 10.3. Standard mathematical constants and functions 10.4. Synchronization operations 10.5. Transput declarations 10.5.0. Transput modes and straightening. 10.5.0.1. Transput modes. 10.5.0.2. Straightening. 10.5.1. Channels and files. 10.5.1.1. Channels. 10.5.1.2. Files. 10.5.2. Formatless output. 10.5.3. Formatless input. 10.5.4. Formatted output. 10.5.5. Formatted input. 10.5.6. Binary output. 10.5.7. Binary input.

11. Examples 11.1. Complex square root 11.2. Innerproduct 1 11.3. Innerproduct 2 11.4. Innerproduct 3 11.5. Largest element 11.6. Euler sumation 11.7. The norm of a vector 11.8. Determinant of a matrix 11.9. Greatest common divisor 11.10. Continued fraction 11.11. Formula manipulation 11.12. Information retrieval

12. Glossary

EE. Ephemeral Epuogue EE.1. Errata EE. EE 1.1. Syntax. EE.1.2. Representations. EE.1.3. Semantics EE.2. Correspondence with the Editor EE.2.1. Example of a letter to the Editor. EE.2.2. Reply by the Editor to the letter in EE.2.1. EE.2.3. Second example of a letter to the Editor. EE.2.4. Reply option by the Editor to the letter in EE.2.3. EE.2.5. Third example of a letter to the Editor. EE.2.6. Rely by the Editor to the letter in EE.2.5

The Mathematical Centre, founded the 11th of February 1946, is a non - profit institution aiming at the promotion of pure mathematica and its applications. and is sponsored by the Netherlands Government through the Netherlands Organization for the Advancement of Pure Research (Z.W.O.) and the Central Organization for Applied Scientific Research in the Netherlands (T.N.O.). by the Municipality of Amsterdam and by several industries. .

Printed at the Mathematical Centre at Amsterdam.49,2nd Boerhaavestraat. The Netherlands.