5 ms·
I'm learning from the Compiler course offered freely from Stanford [0] and the dragon book. I still feel great about it. And I think this GitHub project submitt
by stevefan1999 7y ago
I'm learning from the Compiler course offered freely from Stanford [0] and the dragon book. I still feel great about it. And I think this GitHub project submitted will be an excellent practical source for analysis of how real world compiler might looks like from its beginning.
[0]: https://lagunita.stanford.edu/courses/Engineering/Compilers/Fall2014/about https://lagunita.stanford.edu/courses/Engineering/Compilers/...
- giancarlostoro 7y agoI want to dive into creating a language / compiler finally but I might do it with the Writing an Interpreter / Compiler series in Golang. Just so I can dive in and try to digest it all. Course I always heard of the dragon book and have wanted it since.
- chrisseaton 7y ago> Course I always heard of the dragon book and have wanted it since. I wouldn’t read it except out of historical interest - it’s not how we build compilers anymore, with its super-heavy emphasis on parsing and syntax-directed translation.
- giancarlostoro 7y agoIs there something close to it in the modern sense then?
- chrisseaton 7y agoNot really! It's a bit of a problem that there isn't a good compiler book at the moment, in my opinion. Everything is either far too basic, or too specialised. If a practising programmer wanted to learn compiler and write a compiler today I don't know what they could easily look at. They'd have to read a lot and then get a lot of extra guidance about what to use and what not to use.
- giancarlostoro 7y agoWhat are some good resources that cover basics and get very specialized? I wouldn't mind reading through some, I just wanna read everything I can but as long as it's relevant to today, I may still get the dragon book though.
- chrisseaton 7y agoSuper basic: * https://interpreterbook.com/ https://interpreterbook.com/ * https://compilerbook.com/ https://compilerbook.com/ Somewhat more practical: * https://www.craftinginterpreters.com/ https://www.craftinginterpreters.com/ ... massive gap here ... Serious: * Engineering a Compiler (even this wastes soooo much time on parsing) * Optimizing Compilers for Modern Architectures * Advanced Compiler Design and Implementation I'm not exaggerating or being contrary for the sake of it when I say disregard the Dragon book - we don't build compilers like that any more. It's not even like it teaches you the foundations that are still useful because I think the foundations and what we emphasise as important now have changed so much.
- cocoa19 7y agoI applaud you for reading the dragon book. It's a pretty tough book to read.
- Koshkin 7y agoYeah, I find MTW's Gravitation easier going, and Knuth's treatise more fun.
- jcranmer 7y ago> And I think this GitHub project submitted will be an excellent practical source for analysis of how real world compiler might looks like from its beginning. If you want to understand how people build production (or even prototype) compilers, this is not going to be a good source. Most compiler courses are going to take you from a compiler from the frontend through the middle-end and into the backend. But, if you were to build your own, you'd start with the backend (or probably just use LLVM instead) before going to the frontend. And you'd also spend some more time planning on what your IR needs to look like before starting the actual code (not that this project has any IR--it codegens directly to assembly from the AST).
- candiodari 7y agoIs there any course you've found to be more along the lines of how real compilers work ?
- blackrock 7y agoInteresting. But you have to register for this. Does anyone have any links to some good compiler classes on YouTube or elsewhere?
- nicoster 7y agoIs that an issue given the course is free?
- Koshkin 7y agoYes. Not everyone likes to give away their personal information - especially (paradox) in exchange for access to a free resource.
- mywittyname 7y agoJunk email accounts are helpful for this.
- aalhour 7y agoThe entire course on YouTube: https://www.youtube.com/playlist?list=PLDcmCgguL9rxPoVn2ykUFc8TOpLyDU5gx https://www.youtube.com/playlist?list=PLDcmCgguL9rxPoVn2ykUF...