Hacker News new | past | comments | ask | show | jobs | submit login

What are you interested in learning? Compilers is quite a broad field, consider:

* Lexing/parsing

* Classical scalar optimizations

* Loop (vector) optimizations

* Code generation trifecta of scheduling, register allocation, and peepholes

* Dataflow and static analysis

* Interprocedural, link-time, and whole-program optimization

* JITs (to the extent that it differs from the above)

* Garbage collection

* A variety of advanced topics, such as decompilation, dynamic binary analysis/rewriting, superoptimization, formal verification, etc.

There's no resource that's going to cover everything well, and some of them (particularly the last topic) are going to best covered by reading the research papers that come out at the premier compiler conferences such as PLDI. The Dragon book, for example, mostly covers parsing, classical scalar optimizations, and code generation, giving you very little to go on for interprocedural optimization, for example. Allen & Kennedy's "Optimizing Compilers for Modern Architectures" is going to be a better resource for loop optimization.

If you want to get these textbooks for a cheaper price, try finding a nearby university, looking up when they offer a compiler course, and seeing if the bookstore has a used copy before the semester starts. I was lucky in that the compiler class had been cancelled immediately before the semester started, so the entire pallet of books was available, offering me my choice of highest quality used book.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact