Beruflich Dokumente
Kultur Dokumente
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Interpreters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Landins SECD Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 The Organisation of this Book . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5 Omissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1
3
3
5
7
11
11
12
15
17
18
18
20
20
22
23
24
27
27
28
29
30
31
32
32
40
42
44
xii
Contents
45
45
46
48
51
54
56
59
59
DIY VMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.2 ALEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.2.1 Language Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.2.2 What the Virtual Machine Must Support . . . . . . . . . . . . . 65
4.2.3 Virtual MachineStorage Structures . . . . . . . . . . . . . . . . 66
4.2.4 Virtual MachineRegisters . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.2.5 Virtual MachineInstruction Set . . . . . . . . . . . . . . . . . . . . 70
4.2.6 An Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.2.7 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.2.8 Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.2.9 Alternatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.2.10 Specication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.3 Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.3.1 Indirect and Relative Jumps . . . . . . . . . . . . . . . . . . . . . . . . 97
4.3.2 More Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.3.3 Higher-Order Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.3.4 Primitive Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.4 Concluding Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Contents
xiii
xiv
Contents
Contents
xv
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
http://www.springer.com/978-1-85233-969-2