3 ms·
absolute gem of a book, I use it for my compilers class: https://grugbrain.dev/#grug-on-parsing https://grugbrain.dev/#grug-on-parsing recursive descent parsi
by recursivedoubts 4y ago
absolute gem of a book, I use it for my compilers class:
https://grugbrain.dev/#grug-on-parsing https://grugbrain.dev/#grug-on-parsing
recursive descent parsing is simple, beautiful, intuitive, flexible, shows the correspondence between recursion and grammars and it's how most production compilers are built
this book is the best (and one of the only) books to cover it in depth
it belongs on every programmers shelf
- UltimateEdge 4y agoI love your site :D it made me smile
- marcosdumay 4y agoIs that page increasing with new content? Anyway, recursive parsers are too resource hungry to run on a PDP-11. That's why nobody teaches them. If you don't expect them to run on a PDP-11, then yes, all of that is true. (Our academic institutions are stuck at the 70's, while our commercial institutions are stuck ignoring anything that is more than 10 years old. It's hard to train new developers on those conditions.)
- macintux 4y agoOne of the many things I miss about working at Basho: the engineers had a deep respect for the academic underpinnings of distributed systems. Leslie Lamport might as well have been a former employee considering how much we talked about, and leveraged, his work.
- avgcorrection 4y agohttps://news.ycombinator.com/item?id=34410776 https://news.ycombinator.com/item?id=34410776
- intrepidhero 4y ago> best weapon against complexity spirit demon is magic word: "no" This is going up on every vertical surface at the office.
- kaba0 4y agoWhat’s your opinion on parsing generators, though? One advantage of them is that they give a specification of the grammar as well.
- recursivedoubts 4y agofrom the site: > unfortunately many big brain school teach only parser generator tool. here grug usual love of tool is not: parser generator tool generate code of awful snakes nest: impossible understand, bottom up, what? hide recursive nature of grammar from grug and debug impossible, very bad according grug! Depending on your language, creating a grammar and then creating a recursive descent parser based on it is a perfectly reasonable approach, and that's what most major programming languages do. For experimental stuff like https://hyperscript.org https://hyperscript.org I wing it a bit more, but that's the flavor of that language.