diff options
author | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2009-10-02 08:53:31 +0000 |
---|---|---|
committer | ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2009-10-02 08:53:31 +0000 |
commit | 80d5ddd534157a15013c2314a4236bdd8ac0b72f (patch) | |
tree | e9cc83556582cde2b0adf4e2a4d98ae75c35aecf /HACKING | |
parent | 5c3493df2827cb70ddc42899df2f9ee30f5e7a7b (diff) | |
download | pcre-80d5ddd534157a15013c2314a4236bdd8ac0b72f.tar.gz |
Documentation update
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@456 2f5784b3-3f2a-0410-8824-cb99058d5e15
Diffstat (limited to 'HACKING')
-rw-r--r-- | HACKING | 29 |
1 files changed, 15 insertions, 14 deletions
@@ -67,22 +67,22 @@ many tests of the mode that might slow it down. So I re-factored the compiling functions to work this way. This got rid of about 600 lines of source. It should make future maintenance and development easier. As this was such a major change, I never released 6.8, instead upping the number to 7.0 (other quite -major changes are also present in the 7.0 release). +major changes were also present in the 7.0 release). -A side effect of this work is that the previous limit of 200 on the nesting +A side effect of this work was that the previous limit of 200 on the nesting depth of parentheses was removed. However, there is a downside: pcre_compile() runs more slowly than before (30% or more, depending on the pattern) because it -is doing a full analysis of the pattern. My hope is that this is not a big -issue. +is doing a full analysis of the pattern. My hope was that this would not be a +big issue, and in the event, nobody has commented on it. Traditional matching function ----------------------------- The "traditional", and original, matching function is called pcre_exec(), and it implements an NFA algorithm, similar to the original Henry Spencer algorithm -and the way that Perl works. Not surprising, since it is intended to be as -compatible with Perl as possible. This is the function most users of PCRE will -use most of the time. +and the way that Perl works. This is not surprising, since it is intended to be +as compatible with Perl as possible. This is the function most users of PCRE +will use most of the time. Supplementary matching function ------------------------------- @@ -119,6 +119,7 @@ quantifiers) are always just two bytes long. A list of the opcodes follows: + Opcodes with no following data ------------------------------ @@ -150,12 +151,12 @@ These items are all just one byte long OP_EXTUNI match an extended Unicode character OP_ANYNL match any Unicode newline sequence - OP_ACCEPT ) - OP_COMMIT ) - OP_FAIL ) These are Perl 5.10's "backtracking - OP_PRUNE ) control verbs". - OP_SKIP ) - OP_THEN ) + OP_ACCEPT ) These are Perl 5.10's "backtracking + OP_COMMIT ) control verbs". If OP_ACCEPT is inside + OP_FAIL ) capturing parentheses, it may be preceded + OP_PRUNE ) by one or more OP_CLOSE, followed by a 2-byte + OP_SKIP ) number, indicating which parentheses must be + OP_THEN ) closed. Repeating single characters @@ -415,4 +416,4 @@ at compile time, and so does not cause anything to be put into the compiled data. Philip Hazel -April 2008 +October 2009 |