readme: misc for next opts
This commit is contained in:
4
README
4
README
@@ -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
3
pike.c
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user