Books on compiler backends?



Hello all,

I'm looking for some good books on compiler backends. I'm fairly
proficient with the scanners and parsers, but am now starting work on
some source-to-source translation projects and need to become much
more familiar with backends and the related technologies and
algorithms.

Given my AST's, I now need to be able to handle tree transformations
as I manipulate everything towards my target language. I've been
trying to figure out things like the following:

* if I should manually walk/manipulate the tree or use a tree grammar
with a supporting tool (such as ANTLR's generated tree
parser/rewriter)
* if there are any good/standard tree matching or rewriting algorithms
* whether or not I can use the standard instruction selection
algorithms for my source-to-source translation
* how to correctly handle logical inference with inheritance
hierarchies

I currently have the Dragon Book (original version) and Appel's
"Modern Compiler Implementation in Java" but don't find either
particularly well suited for what I need to do:

http://net.gurus.com/bk/a/0321486811 (Aho et al, new dragon book)
http://net.gurus.com/bk/a/052182060X (Appel et al, Modern Compiler Construction in Java)

After perusing some of the compiler books, the following books looked
like they might be good candidates, but wanted to get some feedback:

http://net.gurus.com/bk/a/0471976970 (Grune et al, Modern Compiler Design)
http://net.gurus.com/bk/a/155860698X (Cooper and Torczon, Engineering a Compiler)
http://net.gurus.com/bk/a/1558602860 (Allen and Kennedy, Optimizing
Compilers for Modern Archtectures)
http://net.gurus.com/bk/a/1558603204 (Muchnick, Advanced Compiler Design)

I'm leaning towards the first two, "Modern Compiler Design" and
"Engineering a Compiler" as they seem to have the most relevant
content.

Thoughts or suggestions, even if completely different from what I've
suggested?

Thanks.

--Kaleb
[I'm always looking for additions and updates to the list of compiler
books in the FAQ. I have a copy of Muchnick and like it pretty well. -John]
xs
.



Relevant Pages

  • Re: To Richard Heathfield: enoughs enough
    ... Abandoning Hungarian notation because it is ... So write you're own compiler for a new language, ... >> I don't own any such books. ... Not even Microsoft claims that anymore. ...
    (comp.programming)
  • Re: Answer needed
    ... and I do acknowledge that there are some programmers like ... >| compiler they are using does what they expected. ... that, in books, in articles, in course material and notes. ... I think the issue of unlearning is much more complicated than you think ...
    (alt.comp.lang.learn.c-cpp)
  • Re: Is VB.NET dead?
    ... you did a wonderful job in making VB.NET a full fledged language, at least on the compiler side. ... I bought five WCF books in the last months, none of them contains VB.NET samples. ... I even have a book by Chris Sells (Programming Windows Forms 2.0) who wrote me that one of his sample cannot be converted to VB.NET without redesign. ...
    (microsoft.public.dotnet.general)
  • Re: AES trickery ;-)
    ... >> using it in pseudocode seems bizarre unless you are writing a compiler ... My point though was that I've had little trouble ... This isn't helped by the fact that so many "bad C books" ... Randy Howard ...
    (sci.crypt)
  • Re: Beautiful code
    ... and SICP, and Graham's books, and some of the code was nice, but, I am ... SBCL is a remarkable piece of work; ... powerful, refined, well-working Common Lisp implementation. ... Many advances in compiler technology ...
    (comp.lang.lisp)