aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2020-09-16 22:39:33 -0700
committerBruce Hill <bruce@bruce-hill.com>2020-09-16 22:39:33 -0700
commit9f62d3c7a9f14f07b75a558ee4835ff3bfe0e90b (patch)
treec3d0756206503c9d5cef3f8e6297e3324b9c1d27
parent82952fa5e955885baa1632b0b0ba2ab040a30f14 (diff)
Changed arg parsing to '-d foo:baz' for consistency (was: '-d foo=baz')
-rw-r--r--README.md4
-rw-r--r--bpeg.18
-rw-r--r--bpeg.c12
3 files changed, 12 insertions, 12 deletions
diff --git a/README.md b/README.md
index 75458d6..952be7b 100644
--- a/README.md
+++ b/README.md
@@ -10,8 +10,8 @@ It's written in pure C with no dependencies.
* `-h` `--help` print the usage and quit
* `-v` `--verbose` print verbose debugging info
* `-i` `--ignore-case` perform a case-insensitive match
-* `-d` `--define <name>=<def>` define a grammar rule
-* `-D` `--define-string <name>=<def>` define a grammar rule (string-pattern)
+* `-d` `--define <name>:<def>` define a grammar rule
+* `-D` `--define-string <name>:<def>` define a grammar rule (string-pattern)
* `-p` `--pattern <pat>` provide a pattern (equivalent to bpeg '
* `-P` `--pattern-string <pat>` provide a string pattern (equivalent to bpeg '<pat>', but may be useful if '<pat>' begins with a '-')
* `-r` `--replace <replacement>` replace the input pattern with the given replacement
diff --git a/bpeg.1 b/bpeg.1
index 1b5fe59..a55849c 100644
--- a/bpeg.1
+++ b/bpeg.1
@@ -10,8 +10,8 @@ bpeg \- Bruce's Parsing Expression Grammar tool
[\fI-i\fR|\fI--ignore-case\fR \fI<pattern>\fR]
[\fI-p\fR|\fI--pattern\fR \fI<pattern>\fR]
[\fI-P\fR|\fI--pattern-string\fR \fI<string-pattern>\fR]
-[\fI-d\fR|\fI--define\fR \fI<name>\fR=\fI<pattern>\fR]
-[\fI-D\fR|\fI--define-string\fR \fI<name>\fR=\fI<string-pattern>\fR]
+[\fI-d\fR|\fI--define\fR \fI<name>\fR:\fI<pattern>\fR]
+[\fI-D\fR|\fI--define-string\fR \fI<name>\fR:\fI<string-pattern>\fR]
[\fI-r\fR|\fI--replace\fR \fI<replacement>\fR]
[\fI-g\fR|\fI--grammar\fR \fI<grammar file>\fR]
[\fI-m\fR|\fI--mode\fR \fI<mode>\fR]
@@ -26,10 +26,10 @@ Print debugging information.
.B \-i\fR, \fB--ignore-case
Perform pattern matching case-insensitively.
-.B \-d\fR, \fB--define \fI<name>\fR=\fI<pattern>\fR
+.B \-d\fR, \fB--define \fI<name>\fR:\fI<pattern>\fR
Define a grammar rule using a bpeg pattern.
-.B \-D\fR, \fB--define-string \fI<name>\fR=\fI<string-pattern>\fR
+.B \-D\fR, \fB--define-string \fI<name>\fR:\fI<string-pattern>\fR
Define a grammar rule using a bpeg string pattern.
.B \-r\fR, \fB--replace \fI<replacement>\fR
diff --git a/bpeg.c b/bpeg.c
index 9c5a23e..55c2e98 100644
--- a/bpeg.c
+++ b/bpeg.c
@@ -25,8 +25,8 @@ static const char *usage = (
" -h --help print the usage and quit\n"
" -v --verbose print verbose debugging info\n"
" -i --ignore-case preform matching case-insensitively\n"
- " -d --define <name>=<def> define a grammar rule\n"
- " -D --define-string <name>=<def> define a grammar rule (string-pattern)\n"
+ " -d --define <name>:<def> define a grammar rule\n"
+ " -D --define-string <name>:<def> define a grammar rule (string-pattern)\n"
" -p --pattern <pat> provide a pattern (equivalent to bpeg '\\(<pat>)')\n"
" -P --pattern-string <pat> provide a string pattern (may be useful if '<pat>' begins with a '-')\n"
" -r --replace <replacement> replace the input pattern with the given replacement\n"
@@ -114,8 +114,8 @@ int main(int argc, char *argv[])
load_grammar(g, f); // Keep in memory for debug output
} else if (FLAG("--define") || FLAG("-d")) {
char *def = flag;
- char *eq = strchr(def, '=');
- check(eq, "Rule definitions must include an '='\n\n%s", usage);
+ char *eq = strchr(def, ':');
+ check(eq, "Rule definitions must include an ':'\n\n%s", usage);
*eq = '\0';
char *src = ++eq;
vm_op_t *pat = bpeg_pattern(NULL, src);
@@ -123,8 +123,8 @@ int main(int argc, char *argv[])
add_def(g, NULL, src, def, pat);
} else if (FLAG("--define-string") || FLAG("-D")) {
char *def = flag;
- char *eq = strchr(def, '=');
- check(eq, "Rule definitions must include an '='\n\n%s", usage);
+ char *eq = strchr(def, ':');
+ check(eq, "Rule definitions must include an ':'\n\n%s", usage);
*eq = '\0';
char *src = ++eq;
vm_op_t *pat = bpeg_stringpattern(NULL, src);