Concepts and Semantics of Programming Languages 1. Therese Hardin
Читать онлайн книгу.tion id="u4c814010-9115-5f5a-9e52-f6dd3ab5c6f6">
Table of Contents
1 Cover
4 Foreword
5 Preface
6 1 From Hardware to Software 1.1. Computers: a low-level view 1.2. Computers: a high-level view
7 2 Introduction to Semantics of Programming Languages 2.1. Environment, memory and state 2.2. Evaluation of expressions 2.3. Definition and assignment 2.4. Exercises
8 3 Semantics of Functional Features 3.1. Syntactic aspects 3.2. Execution semantics: evaluation functions 3.3. Execution semantics: operational semantics 3.4. Evaluation functions versus evaluation relations 3.5. Semantic properties 3.6. Exercises
9 4 Semantics of Imperative Features 4.1. Syntax of a kernel of an imperative language 4.2. Evaluation of expressions 4.3. Evaluation of definitions 4.4. Operational semantics 4.5. Semantic properties 4.6. Procedures 4.7. Other approaches 4.8. Exercises
10 5 Types 5.1. Type checking: when and how? 5.2. Informal typing of a program Exp2 5.3. Typing rules in Exp2 5.4. Type inference algorithm in Exp2 5.5. Properties 5.6. Typechecking of imperative constructs 5.7. Subtyping and overloading
11 6 Data Types 6.1. Basic types 6.2. Arrays 6.3. Strings 6.4. Type definitions 6.5. Generalized conditional 6.6. Equality
12 7 Pointers and Memory Management 7.1. Addresses and pointers 7.2. Endianness 7.3. Pointers and arrays 7.4. Passing parameters by address 7.5. References 7.6. Memory management
13 8 Exceptions 8.1. Errors: notification and propagation 8.2. A simple formalization: ML-style exceptions 8.3. Exceptions in other languages
14 Conclusion
15 Appendix: Solutions to the Exercises
18 References
19 Index
List of Illustrations
1 Chapter 1Figure 1.1. Binary half-adderFigure 1.2. “Hello world!” in C and in x86-64 instructionsFigure 1.3. Function calls and return addressesFigure 1.4. Coding the ADD instruction in MIPS32®Figure 1.5. Compilation process
2 Chapter 5Figure 5.1. Covariance and contravariance. For a color version of this figure, s...
3 Chapter 6Figure 6.1