Live data from Hacker News

Ask HN: Recommend an introductory course on compilers

news.ycombinator.com

1–10 of 23 posts

Ask HN: Recommend an introductory course on compilers

#1
I am doing Bachelors in Information Technology and to my bad luck, my curriculum does not have a course on compilers. I looked online and found one on Coursera only to realize that it has now been removed. Could you guys recommend a good compilers course or book which gives a good introduction to the topic along with a guided practical implementation? I would be much obliged.

Re: Ask HN: Recommend an introductory course on compilers

#2
Not a full course (apologies in advance) but I have heard a lot of people get a good introduction from:

http://compilers.iecc.com/crenshaw/

It was written with Turbo Pascal in mind but many have read the text and transcribed the instructions to a language of their choosing. Should be at least a good introduction to compilers.

Re: Ask HN: Recommend an introductory course on compilers

#4
Here's an HN comment from last week that included links to a compilers course (a course from HN user jpolitz, who posted the comment).

https://news.ycombinator.com/item?id=13207695

Here are the links:

https://www.cs.swarthmore.edu/~jpolitz/cs75/s16/index.html

https://github.com/compilers-course-materials/

https://github.com/compilers-course-materials/cs75-s16-lectu...

Re: Ask HN: Recommend an introductory course on compilers

#5
This is not a course, but a practical tutorial that will teach you the "nuts and bolts" and get something pretty cool (a JIT compiled REPL) working easily:

http://llvm.org/docs/tutorial/

These are examples in C++ and OCaml.

There's a similar tutorial in Python as well, which should be easier to get running:

http://www.llvmpy.org/llvmpy-doc/0.9/doc/kaleidoscope/Python...

Re: Ask HN: Recommend an introductory course on compilers

#6
James Kyle (who created Babel) wrote a 'Super Tiny Compiler' that's a really great (low barrier to entry) place to start.

The inline docs are super well written, clear and extensive. It's also implemented in JabaScript.

It's an amazing learning tool and I really loved reading it!

https://github.com/thejameskyle/the-super-tiny-compiler

Re: Ask HN: Recommend an introductory course on compilers

#7
MIT has a course called 6.035 which might be of use. Unfortunately the ocw page doesn't have lecture videos, but there seem to be some on YouTube if you search for it and the notes on ocw could help. Good luck!

https://ocw.mit.edu/courses/electrical-engineering-and-compu...

Edit: here's some videos https://ocw.mit.edu/courses/electrical-engineering-and-compu...

Also maybe check out the recommended text: Modern Compiler Implementation in Java (Tiger Book)

And a few more resources here: http://cons.mit.edu/sp14/references.html

Re: Ask HN: Recommend an introductory course on compilers

#9

Very good question. I am interested in reading the suggestions as well. Also, a specific book question: is Engineering a Compiler by Cooper & Torczon any good?

The compiler course I took was taught by Keith and Linda. Keith is certainly one of the best educators in the department, and, in my opinion, their book is also of high pedagogical value.

For me, its shining moments are the explanations of abstruse algorithms. The text takes the time to work through interesting example runs of the algorithms that illustrate all the facets of the computation. This was critical to my understanding of how the algorithms work, why they need to work that way, and how competing algorithms differ.

It's also not the kind of book that needs to be read cover to cover. We went through the chapters out of order. If you can find matching lecture slides, that can be a great guide or survey of the material.

Post reply on HN