Hacker News new | past | comments | ask | show | jobs | submit login
Basics of Compiler Design (full book online) (diku.dk)
21 points by hhm on Dec 3, 2007 | hide | past | favorite | 2 comments



I skipped compilers in undergrad, did any of you guys use what you learned in compilers in other topics?

( have no desire to make a compiler, but wondering if this is a topic I should pick up )


I'm taking compilers right now. The highlights:

Loads of practice writing code to solve problems with a significant degree of complexity where accuracy is critical and each step builds on the last. It's easily the most coding-intensive course I have ever taken.

Writing a compiler is the best way to learn the dusty corners of a language, and you typically have to learn at least two languages; the source and the target.

You learn how to read and apply BNF Grammars, not just understand what they are (as in a Theory of Comp course). You learn how they're used to specify things like operator precedence. You also will probably get a lot of practice analyzing or manipulating the resulting abstract syntax tree. If you are slow at recursion now, you won't be after trying to build a compiler (or else it will take you forever).

You make practical use of a variety of classical data structures and algorithms. You walk around your parse tree, you do graph coloring to optimize register usage.

Really though, it's not a topic you can just browse over and get much out of. The real value is actually buckling down and trying to build a compiler.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: