]> granicus.if.org Git - re2c/commit
libre2c: don't add nested negative tags to TNFA, as it increases its size and makes...
authorUlya Trofimovich <skvadrik@gmail.com>
Fri, 21 Jun 2019 13:51:26 +0000 (14:51 +0100)
committerUlya Trofimovich <skvadrik@gmail.com>
Fri, 21 Jun 2019 13:51:26 +0000 (14:51 +0100)
commit96e5cfbe913b0c321b6b6f161b080f4a0e7577cf
treedcfe2f5cc532b8264f0a62874245d892841af9f5
parentbd705ce24e78b614582521a838d498b750662306
libre2c: don't add nested negative tags to TNFA, as it increases its size and makes matching slower.

Instead, add only one negative tag (top-level closing one) and record
the remaining tags in its metadata. Use this metadata to update nested
negative tags during TNFA simulation.
12 files changed:
lib/regcomp.cc
lib/regex_impl.h
lib/regexec_nfa_leftmost.cc
lib/regexec_nfa_posix.cc
lib/regexec_nfa_posix_backward.cc
lib/regexec_nfa_posix_kuklewicz.cc
lib/test.cc
src/dfa/posix_precedence.h
src/options/opt.h
src/regexp/default_tags.cc
src/regexp/tag.cc
src/regexp/tag.h