Superb article on the history of parsers, what approaches are used in industry (mostly hand-written recursive descent!) and the expressiveness of parser combinators and PEG.
miniblog.
Related Posts
After seeing yet another YAML dialect for controlling systems, I think we need a hierarchy of YAML dialect expressiveness.
(1) Has its own variable binding system.
(2) Supports if statements.
(3) Supports loops.
(4) Supports function definition.
2 seems to be the most common, but I've seen all of 1-3. Does level 4 exist in the wild yet?
After seeing yet another YAML dialect for controlling systems, I think we need a hierarchy of YAML dialect expressiveness.
(1) Has its own variable binding system.
(2) Supports if statements.
(3) Supports loops.
(4) Supports function definition.
On the relationship between expressiveness and the need for patterns, from an interesting paper on PL expressiveness
