summaryrefslogtreecommitdiffstats
path: root/generic/regc_nfa.c
Commit message (Collapse)AuthorAgeFilesLines
* Cherrypick [812a81812ebf89d2416059d45fabd27e45603f5e|812a81812e]: Turn off ↵jan.nijtmans2015-11-221-6/+6
| | | | NRE asserts by default. About a 5% speedup on [clock format].
* [1080042][8f245009b0] Big bundle of regexp engine fixes and improvements ↵dgp2015-10-211-374/+1540
|\ | | | | | | contributed from Tom Lane of the postgres project.
| * Adaptation of most of the re-mopup.patch from Tom Lane @ postgress.dgp2015-10-201-34/+16
| | | | | | Still should add the new tests.
| * Adaptation of re-memaccounting.patch from Tom Lane @postgres.dgp2015-10-201-70/+14
| |
| * Adaptation of re-better-pushpull.patch from Tom Lane @postgresdgp2015-10-201-38/+117
| |
| * Adaptation of re-better-fixempties.patch from Tom Lane @ postgres.dgp2015-10-201-131/+134
| |
| * Adaptation of re-oNsquared.patch from Tom Lane @ postgres.dgp2015-10-191-97/+708
| |
| * Adaptation of the patch re-fixconstraintloops.patch fromdgp2015-10-191-54/+601
| | | | | | http://www.postgresql.org/message-id/19394.1444865029@sss.pgh.pa.us
* | [187d7f499b] Sync the regexp engine to the Postgres version.dgp2015-09-211-17/+19
| |
* | [818a1a51e4] Apply fixes from Andreas Seltenreich (reported to us by Tom ↵dkf2015-08-171-0/+1
|\ \ | |/ | | | | Lane) for handling low memory situations. Should not be reachable in Tcl due to ckalloc() panic policy.
| * [818a1a51e4] Apply fixes from Andreas Seltenreich (reported to us by Tom ↵dkf2015-08-171-0/+1
| | | | | | | | Lane) for handling low memory situations. Should not be reachable in Tcl due to ckalloc() panic policy.
* | Assert an equality test, not an assignmentdgp2014-07-161-1/+1
|\ \ | |/
| * Assert an equality test, not an assignment.dgp2014-07-161-1/+1
| |
* | [1905562] [8d2c0da36d] Raise the recursion limits on regexps to allowdgp2013-08-011-1/+1
| | | | | | | | existing regexps "in the wild" to continue working with Tcl 8.6. Latest example comes from DejaGnu.
* | Cleaner error handling in fixempties().dgp2013-03-061-2/+5
|\ \ | |/
| * Cleaner error handling in fixempties().dgp2013-03-061-2/+5
| |\
| | * Cleaner error handling in fixempties().dgp2013-03-061-2/+4
| | |
| | * Rework into Tcl 8.4 coding style (closer to original Spencer).dgp2013-03-061-174/+177
| | |
| | * Indent reduction in fixempties().dgp2013-03-061-19/+19
| | |
| | * Use flag argument to combine copy(nonempty)* routines into copy* routines.dgp2013-03-061-54/+20
| | |
| | * New routine hasnonemptyout() for minor improvement to new fixempties().dgp2013-03-061-1/+17
| | |
| | * Contributed patch from Tom Lane <tgl@users.sf.net>. Merge conflicts due todgp2013-03-051-91/+258
| | | | | | | | | different coding style and lingering obsolete compiler support resolved.
| * | Rework into Tcl 8.5+ coding style.dgp2013-03-061-50/+69
| | |
| * | Indent reduction in fixempties()dgp2013-03-061-19/+19
| | |
| * | Use flag argument to combine copy(nonempty)* routines into copy* routines.dgp2013-03-061-54/+22
| | |
| * | New routine hasnonemptyout() for minor improvement to new fixempties().dgp2013-03-061-1/+17
| | |
| * | Contributed regexp engine patch from Tom Lane. Backports clean from trunk.dgp2013-03-051-80/+229
| | |
* | | Rework into Tcl 8.5+ coding style.dgp2013-03-061-50/+69
| | |
* | | Indent reduction in fixempties()dgp2013-03-061-19/+19
| | |
* | | Use flag argument to combine copy(nonempty)* routines into copy* routines.dgp2013-03-061-54/+22
| | |
* | | New routine hasnonemptyout() for minor improvement to new fixempties().dgp2013-03-061-1/+17
| | |
* | | Contributed patch from Tom Lane <tgl@users.sf.net>.dgp2013-03-051-80/+229
| | | | | | | | | Rewrites parts of the regexp engine to avoid infinite loops.
* | | 3604074 Fix regexp optimization to stop hanging on the expressiondgp2013-02-151-39/+57
|\ \ \ | |/ / | | | ((((((((a)*)*)*)*)*)*)*)* . Thanks to Bjørn Grathwohl for discovery.
| * | 3604074 Fix regexp optimization to stop hanging on the expressiondgp2013-02-151-39/+57
| |\ \ | | |/ | | | ((((((((a)*)*)*)*)*)*)*)* . Thanks to Bjørn Grathwohl for discovery.
| | * New branch bug-3604074 with improved patch to correct fixempties() failurebug_3604074dgp2013-02-141-30/+50
| | | | | | | | | to converge.
| | * Fixes for problems created when processing regular expressions thatdkf2007-12-181-1/+63
| | | | | | | | | | | | | | | | | | | | | generate very large automata. An enormous number of thanks to Will Drewry <wad@google.com>, Tavis Ormandy <taviso@google.com>, and Tom Lane <tgl@sss.pgh.pa.us> from the Postgresql crowd for their help in tracking these problems down. [Bug 1810264]
| | * * generic/regc_nfa.c: Fixed infinite loop in the regexp compilerdgp2007-11-151-1/+45
| | | | | | | | | | | | | | | | | | | | | * generic/regcomp.c: [Bug 1810038]. Corrected looping logic in * tests/regexp.test: fixempties() to avoid wasting time walking a list of dead states [Bug 1832612]. Convert optst() from expensive no-op to a cheap no-op. Improve newline usage in debug output.
* | | [3603557]: Increase the maximum depth of recursion used when duplicating andkf2013-02-081-1/+3
| | | | | | | | | | | | | | | automaton in response to encountering a "wild" RE that hit the previous limit. Allow the limit (DUPTRAVERSE_MAX_DEPTH) to be set by defining its value in the Makefile. Problem reported by Jonathan Mills.
* | | Add focussed stack limiting to the RE compiler. Tuning might not yet be rightdkf2008-07-011-3/+14
| | | | | | | | | | | | but it passes everything normally checked in the test suite. [Bug 1905562]
* | | Get rid of pre-C89-isms (esp. CONST vs const).dkf2008-04-271-33/+33
|/ /
* | Fixes for problems created when processing regular expressions thatdkf2007-12-181-2/+73
| | | | | | | | | | | | | | generate very large automata. An enormous number of thanks to Will Drewry <wad@google.com>, Tavis Ormandy <taviso@google.com>, and Tom Lane <tgl@sss.pgh.pa.us> from the Postgresql crowd for their help in tracking these problems down. [Bug 1810264]
* | * generic/regc_nfa.c: Fixed infinite loop in the regexp compiler.dgp2007-11-151-0/+41
| | | | | | | | [Bug 1810038].
* | * generic/regc_nfa.c: Corrected looping logic in fixempties() todgp2007-11-151-1/+2
| | | | | | | | avoid wasting time walking a list of dead states. [Bug 1832612]
* | Eliminate multi-char collating element code completely. Simplifies the codedkf2007-11-141-1/+1
| | | | | | | | | | quite a bit. If people still want the full code, it will remain on the 8.4 branch. [Bug 1831425]
* | Minor cleanup of RE compiler code, gradually gradually making it more Tcl-ish.dkf2007-09-101-90/+94
| |
* | * generic/regc_color.c (uncolorchain):Miguel Sofer2006-09-271-2/+2
| | | | | | | | | | | | * generic/regc_nfa.c (freearc): changed tests and asserts to equivalent formulation, designed to avoid an explicit comparison to NULL and satisfy coverity that 6 and 9 are not bugs.
* | ANSIfy the RE compiler.dkf2005-11-091-1135/+1301
|/
* * generic/regc_nfa.c:stanton1999-08-051-4/+4
| | | | | | | | | * generic/regcomp.c: * generic/rege_dfa.c: * generic/regexec.c: * generic/regguts.h: Applied patches supplied by Henry Spencer to greatly enhance the performance of certain classes of regular expressions. [Bug: 2440, 2447]
* * tests/reg.test:stanton1999-06-021-17/+64
| | | | | | | | | | | | | | | | | | | | | | | | * generic/regc_color.c: * generic/regc_cvec.c: * generic/regc_lex.c: * generic/regc_locale.c: * generic/regc_nfa.c: * generic/regcomp.c: * generic/regcustom.h: * generic/rege_dfa.c: * generic/regerror.c: * generic/regerrs.h: * generic/regex.h: * generic/regexec.c: * generic/regfree.c: * generic/regfronts.c: * generic/regguts.h: * generic/tclCmdMZ.c: * generic/tclRegexp.c: * generic/tclRegexp.h: * generic/tclTest.c: Applied Henry Spencer's latest regexp patches that fix an infinite loop bug and add support for testing whether a string could match with additional input. [Bug: 2117]
* merged tcl 8.1 branch back into the main trunkstanton1999-04-161-0/+1528