4 ms·
Ask HN: What resources do you recommend for compiler development?
I am about halfway through "Compilers - Principles, Techniques, and Tools" by Aho et al. It's not a bad book perse, but it's expensive (~$170 CAD on Amazon), and there are no solutions to the exercises in the book.
Are there any better / more modern books that cover this topic?
- eimrine 4y agoBook of Dragon. Not modern book but it is possible to buy used copy for very cheap price.
- sargstuff 4y agoOlder editions have solutions to the exercises in book available on line (via search engine such as google) ### Some of the following assume an advanced backround: Structure and Interpretation of Computer Programs , Abelson & Sussman & Engineering a compiler, K.D. Cooper & L. Torczon Modern Compiler Design (Worldwide Series in Computer Science), Build Your Own Programming Language: A programmer's guide to designing compilers, interpreters, and DSLs for solving modern computing problems, C Jeffery ### Alternate suggestions: Aho et al. book covers quite a broad variety of topics/discussions. There are resources that cover more current approaches / more indepth for a given topic/specific subject matter than would be possible in Aho et. Depending on requirements/needs, on-line resources/courses/topics can provide access to more modern/quicker feedback: search compiler on https://www.geeksforgeeks.org/ https://www.geeksforgeeks.org/ software perspectiv, https://program-transformation.org/ https://program-transformation.org/ research intensive, look at specific book/documentation on how a language is/was implimented, aka cpython, java, compiling lisp, smalltalk-80, forth General resource sites (per looking for something less expensive): https://github.com/aalhour/awesome-compilers https://github.com/aalhour/awesome-compilers / https://bernsteinbear.com/pl-resources/ https://bernsteinbear.com/pl-resources/
- tekknolagi 4y agobernsteinbear.com author here -- glad you found it useful. Also, Engineering a Compiler's 3rd edition is coming out in September so you may want to wait a little bit!