This is awesome. I have been writing and re-writing several horrible regex-based parsers (<a href="https://github.com/erikpukinskis/parse-a-little-js" rel="nofollow">https://github.com/erikpukinskis/parse-a-little-js</a>) to back an IDE I am building, and I can sense I am well passed the “you need to learn how to do this properly, Erik) point.<p>So far this book seems to be just at the right pitch for my purposes.<p>Does anyone else have any recommendationed reading for someone like me? My absolute priority is keeping the code simple and having as few features as possible.<p>I’ve actually been using my ignorance as a design constraint... I don’t want to allow complex syntax in the editor, (it’s not a general purpose editor) and I want the parser source to be approachable.<p>But perhaps by this point I may have the resolve to resist the power a proper parser will give me.
It would be interesting if authors (of this and similar materials) will comment how this kind of activity helped them landing new gigs and/or investments, contacts, etc...
This is shaping up to be an interesting read if you've ever thought about designing your own language and wondered what happens next after the basic stuff that every compiler tutorial covers.<p>It's also beautifully presented, so compliments to author for that as well.
i think this is cool. i could learn new languages all day. however I've seen people argue on HN that writing language is a waste of time. why should we embark on such an exercise?
I've started reading it, until it used the visitor pattern for its parser. It sort of generates Java code with some hacky way of doing things. It felt complex for no good reason.<p>I have nothing against patterns, but it made it harder to follow, so I stopped reading it.
Notice that while the linked page says "You can read the whole book, for free, online", chapters 18 to 30 haven't been written yet (e.g: <a href="http://craftinginterpreters.com/types-of-values.html" rel="nofollow">http://craftinginterpreters.com/types-of-values.html</a>).
i love these kinds of articles, but i dont understand why put the first 2 lines in it, which kind of contradict eachother.<p>" A handbook for making programming languages.<p>This book contains everything you need to implement a full-featured, efficient scripting language."<p>The title makes it look like you would write a compiler /assembler or some plugin for existing one. and then the first scentence dives down to the actual content.<p>This is obvious from the title here. it just bugs me these kind of words (programming language vs scripting language) are used like that.<p>Other than that, always interested to read about both topics :D