A Programming Language
Kenneth E. Iverson
| Preface | ||||||
| Chapter 1 The Language | ||||||
| 1.1 | Introduction | |||||
| 1.2 | Programs | |||||
| 1.3 | Structure of the language | |||||
| | Conventions | |||||
| | Literals and variables | |||||
| | Domain and range | |||||
| 1.4 | Elementary operations | |||||
| | Arithmetic operations | |||||
| | Logical operations | |||||
| | Residues and congruence | |||||
| 1.5 | Structured operands | |||||
| | Elementary operations | |||||
| | Matrices | |||||
| | Index systems | |||||
| 1.6 | Rotation | |||||
| 1.7 | Special vectors | |||||
| 1.8 | Reduction | |||||
| 1.9 | Selection | |||||
| | Compression | |||||
| | Mesh, mask, and expansion | |||||
| 1.10 | Selection vectors | |||||
| 1.11 | The generalized matrix product | |||||
| 1.12 | Transpositions | |||||
| 1.13 | Special logical matrices | |||||
| 1.14 | Polynomials and positional number systems | |||||
| 1.15 | Set operations | |||||
| 1.16 | Ranking | |||||
| 1.17 | Mapping and permutation | |||||
| | Reordering operations | |||||
| | Permutations | |||||
| | Function mapping | |||||
| | Ordering vector | |||||
| 1.18 | Maximization | |||||
| 1.19 | Inverse functions | |||||
| 1.20 | Levels of structure | |||||
| 1.21 | Subroutines | |||||
| 1.22 | Files | |||||
| 1.23 | Ordered trees | |||||
| | Directed graphs | |||||
| | Ordered trees | |||||
| | Right and left list matrices | |||||
| | Well formation | |||||
| | The index matrix as a function of the degree vector | |||||
| | Tree, path, and level compression | |||||
| | Extension of other operations to trees | |||||
| | Homogeneous trees | |||||
| References | ||||||
| Notes | ||||||
| Exercises | ||||||
| Chapter 2 Microprogramming | ||||||
| 2.1 | Instruction preparation | |||||
| | Additive indexing | |||||
| | Indirect addressing | |||||
| | Dynamic relocation | |||||
| | Branching, interruption, and trapping | |||||
| | Complete instruction fetch | |||||
| 2.2 | Instruction execution | |||||
| | Load and store | |||||
| | Branch instructions | |||||
| | Logical instructions | |||||
| | Arithmetic instructions | |||||
| | Shift instructions | |||||
| | Convert instructions | |||||
| | Input-output instructions | |||||
| 2.3 | Detailed logical design | |||||
| References | ||||||
| Exercises | ||||||
| Chapter 3 Representation of Variables | ||||||
| 3.1 | Allocation and encoding | |||||
| 3.2 | Representation of structured operands | |||||
| | The grid matrix | |||||
| | Linear representations | |||||
| | Nonlinear representations | |||||
| | Chained representations | |||||
| | Partitions | |||||
| | Pools | |||||
| | Summary | |||||
| 3.3 | Representation of matrices | |||||
| 3.4 | Representation of trees | |||||
| | Simplified list matrices | |||||
| | The use of left lists | |||||
| | Chain list matrices | |||||
| References | ||||||
| Notes | ||||||
| Exercises | ||||||
| Chapter 4 Search Techniques | ||||||
| 4.1 | Scanning methods for ranking | |||||
| | Directed scan | |||||
| | Controlled scan | |||||
| 4.2 | Key transformations | |||||
| | Nonunique key transformations | |||||
| 4.3 | Multiple keys | |||||
| References | ||||||
| Exercises | ||||||
| Chapter 5 Metaprograms | ||||||
| 5.1 | Compound statements | |||||
| 5.2 | Lukasiewicz notation | |||||
| 5.3 | The minimax form of an L-formula | |||||
| 5.4 | Translation from complete parenthesis to Lukasiewicz notation | |||||
| 5.5 | Translation from Lukasiewicz to complete parenthesis notation | |||||
| References | ||||||
| Exercises | ||||||
| Chapter 6 Sorting | ||||||
| 6.1 | Serial sorting methods | |||||
| | Copy operations | |||||
| | Simple classification and merge | |||||
| | Classification and simple merge | |||||
| | Partial pass methods | |||||
| 6.2 | Evaluation of serial sorting methods | |||||
| | Simple classification and merge | |||||
| | Classification and simple merge | |||||
| | Partial pass methods | |||||
| 6.3 | Aids to serial sorting processes | |||||
| 6.4 | Internal sorting methods | |||||
| | Simple classification and merge | |||||
| | Classification and simple merge | |||||
| | Special internal sorting methods | |||||
| 6.5 | Evaluation of internal sorting methods | |||||
| | Expected number of transpositions | |||||
| | Bubble sort | |||||
| | Ranking sort | |||||
| | Odd-even transposition sort | |||||
| | Repeated selection sort | |||||
| | Sorting with replacement | |||||
| | Comparison of internal sorting methods | |||||
| Appendix to Chapter 6 | ||||||
| References | ||||||
| Exercises | ||||||
| Chapter 7 The Logical Calculus | ||||||
| 7.1 | Elementary identities | |||||
| 7.2 | Canonical forms | |||||
| | Intrinsic vector | |||||
| | Characteristic vectors | |||||
| 7.3 | Decomposition | |||||
| | Disjunctive canonical form | |||||
| | Other canonical forms | |||||
| References | ||||||
| Exercises | ||||||
| Summary of Notation | ||||||
| S.1 | Conventions | |||||
| | Basic conventions | |||||
| | Branching conventions | |||||
| | Operand conventions used in summary | |||||
| S.2 | Structural Parameters, Null | |||||
| S.3 | Relations | |||||
| S.4 | Elementary Operations | |||||
| S.5 | Vector Operations | |||||
| S.6a | Row Generalizations of Vector Operations | |||||
| S.6b | Column Generalizations of Vector Operations | |||||
| S.7 | Special Matrices | |||||
| S.8 | Transposition | |||||
| S.9 | Set Operations | |||||
| S.10 | Generalized Matrix Product | |||||
| S.11 | Files | |||||
| S.12 | Trees | |||||