Ghezzi, Carlo

Programming language concepts / Carlo Ghezzi, Mehdi Jazayeri. - 3rd - New York : John Wiley and Sons, 1998 - 427 p.

CONTENIDO
1 Introduction 1
1.1 Software development process 1
1.2 Languages and software development environments 4
1.3 Languages and software design methods 5
1.4 Languages and computer architecture 8
1.5 Programming language qualities 10
1.6 A brief historical perspective 14
1.7 A bird's-eye view of programming language concepts 23
1.8 Bibliographic notes 31
1.9 Exercises 32
2 Syntax and semantics 33
2.1 Language definition 34
2.2 Language processing 46
2.3 Variables 50
2.4 Routines 61
2.5 Aliasing and overloading 67
2.6 An abstract semantic processor 69
2.7 Run-time structure 72
2.8 Bibliographic notes 106
2.9 Exercises 107
3 Structuring the data 111
3.1 Built-in types and primitive types 112
3.2 Data aggregates and type constructors 115
3.3 User-defined types and abstract data types 128
3.4 Type systems 136
3.5 The type structure of representative languages 149
3.6 Implementation models 160
3.7 Bibliographic notes 169
3.8 Exercises 170
4 Structuring the computation 173
4.1 Expressions and statements 174
4.2 Conditional execution and iteration 179
4.3 Routines 186
4.4 Exceptions 192
4.5 Pattern matching 207
4.6 Nondeterminism and backtracking 210
4.7 Event-driven computations 212
4.8 Concurrent computations 213
4.9 Bibliographic notes 235
4.10 Exercises 236
5 Structuring the program 239
5.1 Software design methods 241
5.2 Concepts in support of modularity 242
5.3 Language features for programming in the large 249
5.4 Generic units 275
5.5 Final remarks 281
5.6 Bibliographic notes 282
5.7 Exercises 282
6 Object-oriented languages 285
6.1 Concepts of object-oriented programming 287
6.2 Inheritance and the type system 293
6.3 Object-oriented features in programming languages 302
6.4 Final remarks 327
6.5 Bibliographic notes 327
6.6 Exercises 329
7 Functional programming languages 333
7.1 Characteristics of imperative languages 334
7.2 Mathematical and programming functions 335
7.3 Principles of functional programming 336
7.4 Representative functional languages 342
7.5 Functional programming in C++ 363
7.6 Final remarks 368
7.7 Bibliographic notes 368
7.8 Exercises 369
8 Logic and rule-based languages 371
8.1 "What" versus "how": Specification versus implementation 371
8.2 Principles of logic programming 377
8.3 PROLOG 389
8.4 Functional programming versus logic programming 393
8.5 Rule-based languages 395
8.6 Bibliographic notes 398
8.7 Exercises 399
9 Languages in context 402
9.1 Execution context 403
9.2 Development context 405
9.3 Final remarks 406
9.4 Bibliographic notes 406

0471104264


SYNTAX
SEMANTICS
STRUCTURING THE DATA
STRUCTURING THE COMPUTATION
OBJECT-ORIENTED LANGUAGES
FUNCTIONAL PROGRAMMING LANGUAGES
LOGIC LANGUAGES
RULE-BASED LANGUAGES

004.43 G343 EN 1998