Top Down Operator Precedence (2007)
crockford.com
crockford.com
> Another explanation is that his technique is most effective when used in a dynamic, functional programming language. Its use in a static, procedural language would be considerably more difficult.
I've implemented Pratt parsers in Java, C#, C++, Dart, and C, and I've never found them difficult to express in any of those languages. If you'd like a different treatment of the technique, I wrote a blog post about them using Java:
http://journal.stuffwithstuff.com/2011/03/19/pratt-parsers-e...
And a chapter in my book using C:
How Desmos uses Pratt Parsers - https://engineering.desmos.com/articles/pratt-parser/ (Dec 2018)
https://github.com/desmosinc/pratt-parser-blog-code
At the bottom of the article, they mention a number of articles including the posted one by Doug Crockford, as well as the (excellent) article mentioned in a sibling comment, by @munificent.
The sibling comment: https://news.ycombinator.com/item?id=25448594 .