|
27 of 28 people found the following review helpful:
5.0 out of 5 stars
Tough Topic - Crystal Clear Explanation, June 3, 2001
I have always enjoyed reading programming-language and compiler books and most of them are quite tough on a first-read.Programming Language Pragmatics is one huge exception. None of the books I have read come close to the clarity that this book exhibits. On many occassions, the choice of words and presentation in this book has made me go 'Wow, I thought I already knew this stuff...' Besides core topics, it has interesting discussion like concurrency, data-abstraction (object-oriented) and non-imperative programming models (functional and logic). TOC (with my comments) Ch. 1 Introduction Ch. 2 Programming Language Syntax (theory of Regular Expression, Context-Free Grammars, Automata etc) Ch. 3 Names, Scopes, and Bindings (binding, scope rules, closures etc) Ch. 4 Semantic Analysis (attribute grammars, attribute flow, syntax tree etc) Ch. 5 Assembly-Level Computer Architecture (keeping the pipeline full, register allocation etc) Ch. 6 Control Flow (expression evaluation, iteration, recursion, nondeterminacy etc) Ch. 7 Data Types (type checking, pointers and recursive types etc) Ch. 8 Subroutines and Control Abstraction (stack layout, calling sequences, parameter passing etc) Ch. 9 Building a Runnable Program (back-end compiler structure, intermediate forms etc) Ch. 10 Data Abstraction and Object Orientation (encapsulation, inheritance, dynamic method binding, multiple inheritance, the object model of smalltalk) Ch. 11 Nonimperative Programming Models: Functional and Logic Languages Ch. 12 Concurrency (shared memory, message passing etc) Ch. 13 Code Improvement (peephole, redundancy elimination, data flow analysis, loop improvement, instruction scheduling, register allocation etc) App. A Programming Languages Mentioned App. B Language Design and Language Implementation This is a very impressive book; truly one of my best investments in books so far.
|