Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

absolute gem of a book, I use it for my compilers class:

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



Is 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.)


One 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.


> best weapon against complexity spirit demon is magic word: "no"

This is going up on every vertical surface at the office.



What’s your opinion on parsing generators, though? One advantage of them is that they give a specification of the grammar as well.


from 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 I wing it a bit more, but that's the flavor of that language.


I love your site :D

it made me smile




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: