Posted by klaussilveira 3 days ago
Here's the use case:
expr := ...
rule1 := expr foo expr
rule2 := expr bar
When trying to match rule1 and failing, it is great to have the expr part of it already parsed and ready for trying out rule2.
This doesn't have to be done extremely well (see PEG/Packrat parsing for that) but even a little bit, maybe one term or something like that helps a lot.
Pressing rules are written in c++ directly, with templates.
Although if you have no experience in parsing, the learning curve could be a bit steep.
To be explicit: one of the "features" this advertises is equivalent to saying "if you stop compiling your code with `-Wall`, you don't have to deal with all those pesky warnings!"