readme: misc for next opts

This commit is contained in:
Kyryl Melekhin
2021-10-02 09:37:09 +00:00
parent 2bdc92d6ec
commit 8728bcf941
2 changed files with 5 additions and 2 deletions

4
README
View File

@@ -29,7 +29,7 @@ to that.
* Matcher does not take size of string as param, it checks for '\0' instead, * Matcher does not take size of string as param, it checks for '\0' instead,
so that the user does not need to waste time taking strlen() so that the user does not need to waste time taking strlen()
* Highly optimized source code, probably 2x faster than re1.5 * Highly optimized source code, probably 2x faster than re1.5
* Support for quoted chars in regex. * Support for quoted chars in regex. Escapes in brackets.
* Support for ^, $ assertions in regex. * Support for ^, $ assertions in regex.
* Support for repetition operator {n} and {n,m}. * Support for repetition operator {n} and {n,m}.
* Support for Unicode (UTF-8). * Support for Unicode (UTF-8).
@@ -45,7 +45,7 @@ the pcre "\b" which can be used both in front or back of the word, because there
no distinction, it makes the implementation potentially even uglier. no distinction, it makes the implementation potentially even uglier.
* Assert flags like REG_ICASE,REG_NOTEOL,REG_NOTBOL and lookahead inside * Assert flags like REG_ICASE,REG_NOTEOL,REG_NOTBOL and lookahead inside
negated bracket are implemented here (also shows use case in real world project): negated bracket are implemented here (also shows use case in real world project):
https://github.com/kyx0r/neatvi/blob/pikevm/regex.c https://github.com/kyx0r/nextvi/blob/master/regex.c
NOTES NOTES
===== =====

3
pike.c
View File

@@ -185,6 +185,9 @@ void re_dumpcode(rcode *prog)
printf("Unilen: %d, insts: %d\n", prog->unilen, prog->len); printf("Unilen: %d, insts: %d\n", prog->unilen, prog->len);
} }
/* next todo: crack and factor out this recursion,
no recursion will allow to make a meta macro out
of this, such that re_sizecode() becomes efficient */
static int _compilecode(const char **re_loc, rcode *prog, int sizecode) static int _compilecode(const char **re_loc, rcode *prog, int sizecode)
{ {
const char *re = *re_loc; const char *re = *re_loc;