diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2020-09-11 02:07:53 -0700 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2020-09-11 02:07:53 -0700 |
| commit | 2f05677c98f655615ac0229924ded18dd8fe4e0d (patch) | |
| tree | fdfc40a8a035a213fd8ff63779dcd09c37b3442e | |
| parent | 0c20c39f410d1d76123e8f5318e0624f34cf7908 (diff) | |
Better rule for replacing
| -rw-r--r-- | bpeg.c | 13 |
1 files changed, 9 insertions, 4 deletions
@@ -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) { |
