Re: drop-in replacements for chs.7-12 of Knuth

From: Randy Crawford (crwfrdATumich.edu)
Date: 12/15/03


Date: Mon, 15 Dec 2003 02:56:52 -0500

Allan Adler wrote:
> I'm working my way through my copy of Knuth's Art of Computer Programming
> (don't try to talk me out of it, since I'm having a lot of fun with it),
...

Since these fields have evolved GREATLY since these chapters were
proposed, I wouldn't treat them as having been carved in stone.

I really can't speak about the subjects in chapters 7 and 8.

I suspect there are no books on chapter 9, lexical scanning. IMHO,
Knuth overestimated the significance of the subject, especially if
context (data types) are excluded.

If your interest is in chapter 10, parsing computer languages, I
don't think you can do better than the latest Dragon book. It's
old, but I haven't seen anything more comprehensive.

As for chapters 11 and 12, language theory and compilers, these
fields have grown enormously in the past 30 years.

For chapter 11, you might check out these four programming language
foundations books:

"Types and Programming Languages" by Pierce.

"Semantics of Programming Languages" by Gunter (maybe a bit dated).

"Programming Linguistice" by Gelernter and Jagannanthan (more dated).

"Programming Language Pragmatics" by Scott. This is less theoretical,
but merges language design and implementation nicely.

For chapter 12, I recommend these five books:

"Engineering a Compiler", by Cooper and Torczon -- the best intro
book on writing modern compilers, IMHO.

"Building an Optimizing compiler" by Morgan.

Perhaps "Advanced Compiler Design and Implementation", by Muchnick.
Just be sure to buy a recent edition, the third printing or later.

"Optimizing Compilers for Modern Architectures: A Dependence-based
Approach" by Allen and Kennedy.

"High Performance Compilers for Parallel Computing" by Wolfe.

     Randy

...
> 2nd ed (1973). On p.vii of volume 1, Knuth says what the chapters of the
> 7 intended volumes will contain, although as it turns out only 6 chapters
> were finally published. (I'm aware of the new effort to develop MMIX instead).
>
> The remaining chapters in volumes 4-7 were supposed to be:
> Vol.4: Combinatorial Algorithms
> Ch.7 Combinatorial searching
> Ch.8 Recursion
> Vol.5: Syntactical Algorithms
> Ch.9 Lexical Scanning
> Ch.10 Parsing Techniques
> Vol.6: Theory of languages
> Ch.11 Mathematical linguistics
> Vol.7: Compilers
> Ch.12 Programming language translation
>
> What is one supposed to read instead of the non-existent chapters?
> (I own the red dragon book.)
>
> Ignorantly,
> Allan Adler
> ara@zurich.ai.mit.edu
>
> ****************************************************************************
> * *
> * Disclaimer: I am a guest and *not* a member of the MIT Artificial *
> * Intelligence Lab. My actions and comments do not reflect *
> * in any way on MIT. Moreover, I am nowhere near the Boston *
> * metropolitan area. *
> * *
> ****************************************************************************
>



Relevant Pages

  • Re: Rephrase - Could you sod off Spinoza
    ... Here p is the assertion that "C is a programming language" and q is ... recompiled using new compilers, and the old compilers are retained to ... best-selling and highly useful books of one Herbert Schildt... ... Evidence has been pointed at you that Herbert Schildt write inaccurate ...
    (comp.programming)
  • Re: C Programming
    ... >>I have done a little bit of VB programming but nothing in C. ... I have always liked Herberts books as well. ... The C Programming Language ... instruction manual for the language from two of the original Unix C team ...
    (Fedora)
  • Re: C Programming
    ... the greatest thing in the programming world. ... gcc, you don't have as many problems, but if you try to use C++ compilers from other vendors, you start getting into serious weird problems. ... Trying to find what vendors support what features is the big problem here. ... As for books on learning C and/or C++... ...
    (Fedora)
  • Re: How to read the C++ programming language.
    ... |I have and have been reading some the C++ programming language. ... Many books show the same ... You keep on reading them, ...
    (alt.comp.lang.learn.c-cpp)
  • Re: Confession: I never did ASM
    ... is a lot closer to a sacred text than a lot of other programming language books out there. ... That's like the Hunter S. Thompson of programming books! ...
    (comp.lang.ruby)