News for hackers. Stuff that matters.
Re:Building a tiny little broken calculator with parser comb... by userbinator on Sunday July 24, 2022 @09:45PM (#32219712)
I believe Pratt, TDOP, and precedence climbing are all just different names for the same technique that involves comparing precedences in a loop. The fact that it's basic principle is so simple is probably what lead to multiple independent reinventions.

If anything, after reading about the aforementioned algorithms, the technique in the article seems to show that using parser combinators is a lot of work for very little gain --- I've read much shorter articles on recursive descent, and those do handle precedence correctly.

Re:Building a tiny little broken calculator with parser comb... by jakear on Sunday July 24, 2022 @09:56PM (#32219775)
What is your complaint re precedence in Pratt parsing? The linked code properly implements precedence fairly trivially.
Re:Building a tiny little broken calculator with parser comb... by userbinator on Sunday July 24, 2022 @11:57PM (#32220338)
I think you misunderstood. I'm referring to the original article of this item, not your linked code.
Re:Building a tiny little broken calculator with parser comb... by jakear on Monday July 25, 2022 @02:11AM (#32221068)
That’s more a critique of the author than the concept - I gave up midway through the article but order combinators remain a useful tool, particularly as a library. To my eyes, the logic here https://github.com/JacksonKearl/RollDice-Discord/blob/master... is much simpler than the equivalent recursive descent code would be. I’d be interested in an article comparing them in greater detail.