Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

A compiler has both a front-end and a back-end. Both the book that is linked to by the OP and CS 652, the course you refer to, have a heavy emphasis on the front-end.

Personally, I am very partial to the back-end, which involves very, very different data structures, algorithms, and theory. Once you make your way through this, I highly recommend taking a look. I would say it constitutes a different field entirely!

Here is a list of some such algorithms.

http://llvm.org/docs/Passes.html

What boggles my mind is that some of these algorithms can be made to do useful things besides generating efficient code (which includes code that runs on several cores!), such as finding bugs and security flaws.

Have fun!



I'm just now starting to dip my toes into the field so any advice like this is helpful.

Thanks!




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

Search: