From 2f05677c98f655615ac0229924ded18dd8fe4e0d Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Fri, 11 Sep 2020 02:07:53 -0700 Subject: Better rule for replacing --- bpeg.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/bpeg.c b/bpeg.c index 04e23d2..1ad576d 100644 --- a/bpeg.c +++ b/bpeg.c @@ -110,11 +110,16 @@ int main(int argc, char *argv[]) add_def(g, pattern, "pattern", pat); - const char *grammar = ( - "find-all = *(matching-line / {&&(\\n/$$)=>});\n" - "matching-line = +&@pattern *. $ ?\\n;" + if (replacement) { + load_grammar(g, + "replace-all = *&&@pattern &&$$;\n" + ); + } else { + load_grammar(g, + "find-all = *(matching-line / {&&(\\n/$$)=>});\n" + "matching-line = +&@pattern *. $ ?\\n;" ); - load_grammar(g, grammar); + } } if (verbose) { -- cgit v1.2.3