3 ms·
> I'd say PEGs are easier to write as they're unambiguous. While that is technically true, it doesn't solve the actual issue of ambiguity, it just defines it a
by haberman 11y ago
> I'd say PEGs are easier to write as they're unambiguous.
While that is technically true, it doesn't solve the actual issue of ambiguity, it just defines it away.
If you have a case in your language where two syntax rules both match, it's confusing to users because you have to arbitrarily decide that one of them is correct. The best-known example of this is the dangling else ambiguity: https://en.wikipedia.org/wiki/Dangling_else https://en.wikipedia.org/wiki/Dangling_else
Sure, PEGs by definition are unambiguous, but only because they arbitrarily decide that the first option always "wins." The language itself might still be ambiguous, but you aren't aware of it because the parser always chooses the first option.
Put another way, with PEGs you never know if:
a -> b / c;
is equivalent to:
a -> c / b;
You also don't know if there are rules that are entirely unreachable.
Besides this, packrat parsing (the PEG parsing algorithm) is significantly more expensive than LR/LR parsing. Packrat parsing takes O(input length) memory -- significantly more than the O(tree depth) space of LL/LR.
I talk more about these issues in my blog article: http://blog.reverberate.org/2013/09/ll-and-lr-in-context-why-parsing-tools.html http://blog.reverberate.org/2013/09/ll-and-lr-in-context-why...
- craftkiller 11y agoHey, thanks for the great blog posts but your blogging platform is frustrating to use on mobile because you have the swipe left/right to change articles in addition to code blocks that don't wrap. I'm having about a 10% success rate on horizontal scrolling in the code blocks on chrome on android, and the other 90% I'm unintentionally loading a different article. Just something to consider. Personally I'd drop the swipe navigation since I'm far more likely to use a search bar or index to find posts rather than flip through like a magazine. Thanks again, you did a better job explaining ll and lr than any of my professors did.
- haberman 11y agoThanks for the feedback and I'm so sorry it's so frustrating. I just tweaked my Blogger theme to just use the desktop theme on mobile -- hopefully this will be an improved experience!
- craftkiller 11y agothanks!