I read through the whole thing, but there's something about the writing style which I think makes it rather difficult to follow; even the Dragon Book was more straightforward. If I'm not mistaken, this article describes the same thing, and it was far easier to read: https://www.engr.mun.ca/~theo/Misc/exp_parsing.htm
Top Down Operator Precedence (1973)
11–20 of 20 posts
Re: Top Down Operator Precedence (1973)
#12Re: Top Down Operator Precedence (1973)
#13The only copy I could find was a PDF that contained images of the original paper, literally printed on paper. It seemed worth redoing and putting online properly. I've tried not to change anything beyond the typography, but it's tricky to get perfect. It's on GitHub, so feel free to chip in.
Re: Top Down Operator Precedence (1973)
#14Worth noting is Doug Crockford's TDOP parser implementation in JavaScript, it's quite elegant: https://github.com/douglascrockford/TDOP/ As well as his accompanying talk, titled Syntaxation: https://www.youtube.com/watch?v=9e_oEE72d3U (sadly, the recording has gaps and is generally horrible; as far as I know he gave the talk only once). Crockford's talk led me to the original paper and together they really expanded m…
Surprisingly, when people can shoot movies with their iPhones, we have nothing to help here. I'd love to see something similar to super-resolution, merging multiples audio sources into a 'higher' res one. And temporal markov graph-cut, to fill gaps as much as possible.
Re: Top Down Operator Precedence (1973)
#15Earlier quoted context omitted.
Surprisingly, when people can shoot movies with their iPhones, we have nothing to help here. I'd love to see something similar to super-resolution, merging multiples audio sources into a 'higher' res one. And temporal markov graph-cut, to fill gaps as much as possible.
Wrong post?
Re: Top Down Operator Precedence (1973)
#16Why not hard-code the operator precedence into the BNF? Like the K&R book does it.
Even if you have alternatives, there are still situations in which you might want to use a Pratt parser. It's much easier to understand the internals of this kind of parser than understand the shift/reduce rules of an LL(k) grammar, and Pratt parsers have the nice property that you can easily modify them at runtime, making it easy to switch to alternate grammars in particular contexts—e.g., directly parsing SQL within particular delimiters is a pretty trivial task that is somewhat more difficult with a BNF-style grammar.
EDIT: Actually, a better final example would be user-defined operators with arbitrary precedence and branching. There is no way of expressing this directly in a BNF-style grammar, but it is trivial with a Pratt parser.
Re: Top Down Operator Precedence (1973)
#17Re: Top Down Operator Precedence (1973)
#18Earlier quoted context omitted.
Just a strong digression. It's sadly common to have badly recorded talks which is surprising considering the era.
Yeah, it doesn't help that conference organizers tend to discourage the audience from doing their own recordings.
[1] There's a crowdfunding to help pay for some lambda talks, it was around 15k. I don't know the details though, if it's for many days in many rooms
Re: Top Down Operator Precedence (1973)
#19The only copy I could find was a PDF that contained images of the original paper, literally printed on paper. It seemed worth redoing and putting online properly. I've tried not to change anything beyond the typography, but it's tricky to get perfect. It's on GitHub, so feel free to chip in.
There seem to be a number of places where you've changed hyphens to em-dashes. (E.g.: "This argument is independent of whether we specify program control explicitly, as in Algol—like languages, or implicitly, as in Planner—Conniver-like languages.") It's a bit confusing to read. Would you possibly mind fixing this? Thank you!
Re: Top Down Operator Precedence (1973)
#20I read through the whole thing, but there's something about the writing style which I think makes it rather difficult to follow; even the Dragon Book was more straightforward. If I'm not mistaken, this article describes the same thing, and it was far easier to read: https://www.engr.mun.ca/~theo/Misc/exp_parsing.htm
It took me a number of readings before I figured it out, back in the day. I summarized my understanding in http://eli.thegreenplace.net/2010/01/02/top-down-operator-pr... -- hope it's helpful