diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2020-12-12 16:31:53 -0800 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2020-12-12 16:31:53 -0800 |
| commit | eb329bdac9fe56d67cb130fb6cdbb28743c6504b (patch) | |
| tree | 8ba8bded07820519de06728618e4e32e80da3af4 /compiler.c | |
| parent | 6e1fd928148cc7e46015e06c27f824d4111f96ee (diff) | |
Bunch of changes, including some bpeg->bp renaming, and adding
visualizations
Diffstat (limited to 'compiler.c')
| -rw-r--r-- | compiler.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -281,6 +281,8 @@ vm_op_t *bpeg_simplepattern(file_t *f, const char *str) str = after_spaces(str); if (!matchchar(&str, ')')) file_err(f, origin, str, "This parenthesis group isn't properly closed."); + op->start = origin; + op->end = str; break; } // Square brackets @@ -330,6 +332,17 @@ vm_op_t *bpeg_simplepattern(file_t *f, const char *str) op->len = pat->len; break; } + // Hide + case '~': { + vm_op_t *pat = bpeg_simplepattern(f, str); + if (!pat) + file_err(f, str, str, "There should be a pattern after this '~'"); + str = pat->end; + op->op = VM_HIDE; + op->len = 0; + op->args.pat = pat; + break; + } // Replacement case '{': { str = after_spaces(str); |
