UV
– 12th Edition
INSTRUCTOR’S
IA
SOLUTIONS
_A
PP
MANUAL
RO
Robert W. Sebesta
VE
Complete Instructor’s Solutions Manual for
D?
Instructors and Students
??
© Robert W. Sebesta
??
All rights reserved. Reproduction or distribution without permission is prohibited.
©Medexcellence ✅��
, Contents
UV
Chapter 1 Preliminaries 1
IA
1.1 Reasons for Studying Concepts of Programming Languages....................2
1.2 Programming Domains ..............................................................................5
_A
1.3 Language Evaluation Criteria ....................................................................6
1.4 Influences on Language Design ...............................................................17
1.5 Language Categories................................................................................20
PP
1.6 Language Design Trade-Offs...................................................................21
1.7 Implementation Methods .........................................................................22
RO
1.8 Programming Environments ....................................................................29
Summary • Review Questions • Problem Set ......................................................30
Chapter 2 Evolution of the Major Programming Languages 33
VE
2.1 Zuse’s Plankalkül .....................................................................................36
2.2 Pseudocodes .............................................................................................37
2.3 The IBM 704 and Fortran ........................................................................40
D?
2.4 Functional Programming: Lisp ................................................................45
2.5 The First Step Toward Sophistication: ALGOL 60 .................................50
2.6 Computerizing Business Records: COBOL.............................................56
??
2.7 The Beginnings of Timesharing: Basic....................................................61
Interview: ALAN COOPER—User Design and Language Design .................64
??
2.8 Everything for Everybody: PL/I...............................................................66
9
, 2.9 Two Early Dynamic Languages: APL and SNOBOL .............................69
2.10 The Beginnings of Data Abstraction: SIMULA 67 .................................70
2.11 Orthogonal Design: ALGOL 68 ..............................................................71
UV
2.12 Some Early Descendants of the ALGOLs ...............................................73
2.13 Programming Based on Logic: Prolog.....................................................77
2.14 History’s Largest Design Effort: Ada ......................................................79
IA
2.15 Object-Oriented Programming: Smalltalk ...............................................83
2.16 Combining Imperative and Object-Oriented Features: C++....................85
_A
2.17 An Imperative-Based Object-Oriented Language: Java ..........................88
2.18 Scripting Languages.................................................................................91
2.19 The Flagship .NET Language: C# ...........................................................98
PP
2.20 Markup-Programming Hybrid Languages .............................................100
Summary • Bibliographic Notes • Review Questions • Problem Set •Programming
Exercises ............................................................................................................102
RO
Chapter 3 Describing Syntax and Semantics 109
3.1 Introduction ............................................................................................110
3.2 The General Problem of Describing Syntax ..........................................111
VE
3.3 Formal Methods of Describing Syntax ..................................................113
3.4 Attribute Grammars ...............................................................................128
................................................................................................128
D?
History Note
3.5 Describing the Meanings of Programs: Dynamic Semantics.................134
History Note ................................................................................................142
??
Summary • Bibliographic Notes • Review Questions • Problem Set.................155
Chapter 4 Lexical and Syntax Analysis 161
??
4.1 Introduction ............................................................................................162
4.2 Lexical Analysis.....................................................................................163
10
, 4.3 The Parsing Problem ..............................................................................171
4.4 Recursive-Descent Parsing ....................................................................175
4.5 Bottom-Up Parsing ................................................................................183
UV
Summary • Review Questions • Problem Set • Programming Exercises...........191
Chapter 5 Names, Bindings, and Scopes 197
5.1 Introduction ............................................................................................198
IA
5.2 Names.....................................................................................................199
History Note ................................................................................................199
_A
5.3 Variables ................................................................................................200
5.4 The Concept of Binding .........................................................................203
5.5 Scope ......................................................................................................211
PP
5.6 Scope and Lifetime ................................................................................222
5.7 Referencing Environments.....................................................................223
RO
5.8 Named Constants ...................................................................................224
Summary • Review Questions • Problem Set •Programming Exercises............227
Chapter 6 Data Types 235
VE
6.1 Introduction ............................................................................................236
6.2 Primitive Data Types .............................................................................238
6.3 Character String Types...........................................................................242
D?
History Note ................................................................................................243
6.4 Enumeration Types ................................................................................247
6.5 Array Types............................................................................................250
??
History Note ................................................................................................251
History Note ................................................................................................251
??
6.6 Associative Arrays .................................................................................261
11