the item

Modern Compiler Implementation in C
Modern Compiler Implementation in C

the questions

  1. How to program: compilers

more about the

the consensus

recent reviews

  1. Zen and the Art of Motorcylce Maintenance
  2. The Sparrow
  3. SEOMoz
  4. Mythical Man-Month
  5. Code Complete
  6. Pragmatic Programmer: From Journeyman to Master
  7. This Perfect Day

join our mailing list

if you liked
'Modern Compiler Implementation in C'
you also might like

Your Ad Here

comment on
'Modern Compiler Implementation in C'

book ideas? feature requests?
other information not related to 'Modern Compiler Implementation in C'?

continue the research

all external links are affiliate links. is used to provide real-time tracking


the buzz

Nothing to see here, please move along
Nothing to see here, please move along
Nothing to see here, please move along
Nothing to see here, please move along
Nothing to see here, please move along
Nothing to see here, please move along
Nothing to see here, please move along

This new, expanded textbook describes all phases of a modern compiler: lexical analysis, parsing, abstract syntax, semantic actions, intermediate representations, instruction selection via tree matching, dataflow analysis, graph-coloring register allocation, and runtime systems. It includes good coverage of current techniques in code generation and register allocation, as well as functional and object-oriented languages, that are missing from most books. In addition, more advanced chapters are now included so that it can be used as the basis for a two-semester or graduate course. The most accepted and successful techniques are described in a concise way, rather than as an exhaustive catalog of every possible variant. Detailed descriptions of the interfaces between modules of a compiler are illustrated with actual C header files. The first part of the book, Fundamentals of Compilation, is suitable for a one-semester first course in compiler design. The second part, Advanced Topics, which includes the advanced chapters, covers the compilation of object-oriented and functional languages, garbage collection, loop optimizations, SSA form, loop scheduling, and optimization for cache-memory hierarchies.

What is this?

A while back I wrote an article on my blog listing all the books that hackers recommended to each other from the site HackerNews. The purpose was to provide a place to list book recommendations so that people didn't have to type in the same list over and over again. (HN gets several requests for book recommendations a week. I also get at least a couple each month). It was very well received, and many posters and commenters either asked that I make a site or sent me an email asking me to do so.

How is this any different from the list on the blog?

This list has more books. This list is sortable both by what question you have and your skill level. In addition, once you sort the list, you can save the link with your sort and send it to somebody else. So, for instance, when somebody wants a book for noobs learning to program, you can make a link for that and then reuse it

How did you collect these books?

Initially the list came from Googling "best book" and taking the books from the first few pages returned. Later, I added all the books that were mentioned "You left that out!" when Jacques posted the link. While adding those books, I came across a Stack Overflow link where programmers were asked to list their favorite tech books, so I included those too.

If I ask you to put a book on here, will you?

It depends.

These books were all gathered by finding places where hackers hang out and are suggesting books to other hackers and other hackers agree with them by voting up their suggestion. If I can find an example of this for your book, I'm happy to include it.

How are the books ranked?

I did the best I could with ranking. I am sure there are many things you do not agree with. It would be possible to add voting and personal ranking -- that would make the system much better. Heck, you could rank the books yourself and use it as a customized book list to show to people who want your advice. I'd like to do that, but if I've learned anything is to not let your featureset get ahead of the users. This first version will test the waters to see what kind of interest the community might have.