Document changes.

This commit is contained in:
jzmaddock
2015-10-05 19:13:04 +01:00
parent 201d3a424e
commit 2a5a5f3825
5 changed files with 114 additions and 23 deletions

View File

@ -15,6 +15,15 @@ Currently open issues can be viewed [@https://svn.boost.org/trac/boost/query?sta
All issues including closed ones can be viewed [@https://svn.boost.org/trac/boost/query?status=assigned&status=closed&status=new&status=reopened&component=regex&order=priority&col=id&col=summary&col=status&col=type&col=milestone&col=component here].
[h4 Boost.Regex-5.1.0]
* Add support for Perl's backtracking control verbs, see [@https://svn.boost.org/trac/boost/ticket/11205 #11205]. Note however, that
(*MARK) and operations on marks are not currently supported.
* Fix incorrect range end when matching \[\[:unicode:\]\], see [@https://svn.boost.org/trac/boost/ticket/11524 #11524].
* Change POSIX reg_comp API to not check potentially uninitialized memory, note that code which was previously free from memory
leaks (but none the less buggy, as it didn't call reg_free) will now leak. See [@https://svn.boost.org/trac/boost/ticket/11472 #11472].
* Make sub_match a valid C++ range type, see [@https://svn.boost.org/trac/boost/ticket/11036 #11036].
[h4 Boost.Regex-5.0.1 (Boost-1.58.0)]
* Fixed some typos as in [@https://svn.boost.org/trac/boost/ticket/10682 #10682].

View File

@ -37,6 +37,28 @@
</p>
<h5>
<a name="boost_regex.background_information.history.h0"></a>
<span class="phrase"><a name="boost_regex.background_information.history.boost_regex_5_1_0"></a></span><a class="link" href="history.html#boost_regex.background_information.history.boost_regex_5_1_0">Boost.Regex-5.1.0</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
Add support for Perl's backtracking control verbs, see <a href="https://svn.boost.org/trac/boost/ticket/11205" target="_top">#11205</a>.
Note however, that (*MARK) and operations on marks are not currently
supported.
</li>
<li class="listitem">
Fix incorrect range end when matching [[:unicode:]], see <a href="https://svn.boost.org/trac/boost/ticket/11524" target="_top">#11524</a>.
</li>
<li class="listitem">
Change POSIX reg_comp API to not check potentially uninitialized memory,
note that code which was previously free from memory leaks (but none
the less buggy, as it didn't call reg_free) will now leak. See <a href="https://svn.boost.org/trac/boost/ticket/11472" target="_top">#11472</a>.
</li>
<li class="listitem">
Make sub_match a valid C++ range type, see <a href="https://svn.boost.org/trac/boost/ticket/11036" target="_top">#11036</a>.
</li>
</ul></div>
<h5>
<a name="boost_regex.background_information.history.h1"></a>
<span class="phrase"><a name="boost_regex.background_information.history.boost_regex_5_0_1__boost_1_58_0_"></a></span><a class="link" href="history.html#boost_regex.background_information.history.boost_regex_5_0_1__boost_1_58_0_">Boost.Regex-5.0.1
(Boost-1.58.0)</a>
</h5>
@ -69,7 +91,7 @@
</li>
</ul></div>
<h5>
<a name="boost_regex.background_information.history.h1"></a>
<a name="boost_regex.background_information.history.h2"></a>
<span class="phrase"><a name="boost_regex.background_information.history.boost_regex_5_0_0__boost_1_56_0_"></a></span><a class="link" href="history.html#boost_regex.background_information.history.boost_regex_5_0_0__boost_1_56_0_">Boost.Regex-5.0.0
(Boost-1.56.0)</a>
</h5>
@ -102,14 +124,14 @@
</li>
</ul></div>
<h5>
<a name="boost_regex.background_information.history.h2"></a>
<a name="boost_regex.background_information.history.h3"></a>
<span class="phrase"><a name="boost_regex.background_information.history.boost_1_54"></a></span><a class="link" href="history.html#boost_regex.background_information.history.boost_1_54">Boost-1.54</a>
</h5>
<p>
Fixed issue <a href="https://svn.boost.org/trac/boost/ticket/8569" target="_top">#8569</a>.
</p>
<h5>
<a name="boost_regex.background_information.history.h3"></a>
<a name="boost_regex.background_information.history.h4"></a>
<span class="phrase"><a name="boost_regex.background_information.history.boost_1_53"></a></span><a class="link" href="history.html#boost_regex.background_information.history.boost_1_53">Boost-1.53</a>
</h5>
<p>
@ -117,7 +139,7 @@
<a href="https://svn.boost.org/trac/boost/ticket/7644" target="_top">#7644</a>.
</p>
<h5>
<a name="boost_regex.background_information.history.h4"></a>
<a name="boost_regex.background_information.history.h5"></a>
<span class="phrase"><a name="boost_regex.background_information.history.boost_1_51"></a></span><a class="link" href="history.html#boost_regex.background_information.history.boost_1_51">Boost-1.51</a>
</h5>
<p>
@ -127,7 +149,7 @@
<a href="https://svn.boost.org/trac/boost/ticket/6346" target="_top">#6346</a>.
</p>
<h5>
<a name="boost_regex.background_information.history.h5"></a>
<a name="boost_regex.background_information.history.h6"></a>
<span class="phrase"><a name="boost_regex.background_information.history.boost_1_50"></a></span><a class="link" href="history.html#boost_regex.background_information.history.boost_1_50">Boost-1.50</a>
</h5>
<p>
@ -136,7 +158,7 @@
expression.
</p>
<h5>
<a name="boost_regex.background_information.history.h6"></a>
<a name="boost_regex.background_information.history.h7"></a>
<span class="phrase"><a name="boost_regex.background_information.history.boost_1_48"></a></span><a class="link" href="history.html#boost_regex.background_information.history.boost_1_48">Boost-1.48</a>
</h5>
<p>
@ -146,7 +168,7 @@
<a href="https://svn.boost.org/trac/boost/ticket/5736" target="_top">#5736</a>.
</p>
<h5>
<a name="boost_regex.background_information.history.h7"></a>
<a name="boost_regex.background_information.history.h8"></a>
<span class="phrase"><a name="boost_regex.background_information.history.boost_1_47"></a></span><a class="link" href="history.html#boost_regex.background_information.history.boost_1_47">Boost 1.47</a>
</h5>
<p>
@ -158,7 +180,7 @@
<a href="https://svn.boost.org/trac/boost/ticket/5504" target="_top">#5504</a>.
</p>
<h5>
<a name="boost_regex.background_information.history.h8"></a>
<a name="boost_regex.background_information.history.h9"></a>
<span class="phrase"><a name="boost_regex.background_information.history.boost_1_44"></a></span><a class="link" href="history.html#boost_regex.background_information.history.boost_1_44">Boost 1.44</a>
</h5>
<p>
@ -176,7 +198,7 @@
<a href="https://svn.boost.org/trac/boost/ticket/3890" target="_top">#3890</a>
</p>
<h5>
<a name="boost_regex.background_information.history.h9"></a>
<a name="boost_regex.background_information.history.h10"></a>
<span class="phrase"><a name="boost_regex.background_information.history.boost_1_42"></a></span><a class="link" href="history.html#boost_regex.background_information.history.boost_1_42">Boost 1.42</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
@ -204,7 +226,7 @@
</li>
</ul></div>
<h5>
<a name="boost_regex.background_information.history.h10"></a>
<a name="boost_regex.background_information.history.h11"></a>
<span class="phrase"><a name="boost_regex.background_information.history.boost_1_40"></a></span><a class="link" href="history.html#boost_regex.background_information.history.boost_1_40">Boost 1.40</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
@ -212,7 +234,7 @@
branch resets and recursive regular expressions.
</li></ul></div>
<h5>
<a name="boost_regex.background_information.history.h11"></a>
<a name="boost_regex.background_information.history.h12"></a>
<span class="phrase"><a name="boost_regex.background_information.history.boost_1_38"></a></span><a class="link" href="history.html#boost_regex.background_information.history.boost_1_38">Boost 1.38</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
@ -239,7 +261,7 @@
</li>
</ul></div>
<h5>
<a name="boost_regex.background_information.history.h12"></a>
<a name="boost_regex.background_information.history.h13"></a>
<span class="phrase"><a name="boost_regex.background_information.history.boost_1_34"></a></span><a class="link" href="history.html#boost_regex.background_information.history.boost_1_34">Boost 1.34</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
@ -261,7 +283,7 @@
</li>
</ul></div>
<h5>
<a name="boost_regex.background_information.history.h13"></a>
<a name="boost_regex.background_information.history.h14"></a>
<span class="phrase"><a name="boost_regex.background_information.history.boost_1_33_1"></a></span><a class="link" href="history.html#boost_regex.background_information.history.boost_1_33_1">Boost 1.33.1</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
@ -330,7 +352,7 @@
</li>
</ul></div>
<h5>
<a name="boost_regex.background_information.history.h14"></a>
<a name="boost_regex.background_information.history.h15"></a>
<span class="phrase"><a name="boost_regex.background_information.history.boost_1_33_0"></a></span><a class="link" href="history.html#boost_regex.background_information.history.boost_1_33_0">Boost 1.33.0</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
@ -384,14 +406,14 @@
</li>
</ul></div>
<h5>
<a name="boost_regex.background_information.history.h15"></a>
<a name="boost_regex.background_information.history.h16"></a>
<span class="phrase"><a name="boost_regex.background_information.history.boost_1_32_1"></a></span><a class="link" href="history.html#boost_regex.background_information.history.boost_1_32_1">Boost 1.32.1</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
Fixed bug in partial matches of bounded repeats of '.'.
</li></ul></div>
<h5>
<a name="boost_regex.background_information.history.h16"></a>
<a name="boost_regex.background_information.history.h17"></a>
<span class="phrase"><a name="boost_regex.background_information.history.boost_1_31_0"></a></span><a class="link" href="history.html#boost_regex.background_information.history.boost_1_31_0">Boost 1.31.0</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">

View File

@ -1361,8 +1361,51 @@
from elsewhere in the pattern.
</li>
</ul></div>
<h5>
<h6>
<a name="boost_regex.syntax.perl_syntax.h42"></a>
<span class="phrase"><a name="boost_regex.syntax.perl_syntax.backtracking_control_verbs"></a></span><a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.backtracking_control_verbs">Backtracking
Control Verbs</a>
</h6>
<p>
This library has partial support for Perl's backtracking control verbs, in
particular (*MARK) is not supported. There may also be detail differences
in behaviour between this library and Perl, not least because Perl's behaviour
is rather under-documented and often somewhat random in how it behaves in
practice. The verbs supported are:
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<code class="literal">(*PRUNE)</code> Has no effect unless backtracked onto, in
which case all the backtracking information prior to this point is discarded.
</li>
<li class="listitem">
<code class="literal">(*SKIP)</code> Behaves the same as <code class="literal">(*PRUNE)</code>
except that it is assumed that no match can possibly occur prior to the
current point in the string being searched. This can be used to optimize
searches by skipping over chunks of text that have already been determined
can not form a match.
</li>
<li class="listitem">
<code class="literal">(*THEN)</code> Has no effect unless backtracked onto, in
which case all subsequent alternatives in a group of alternations are
discarded.
</li>
<li class="listitem">
<code class="literal">(*COMMIT)</code> Has no effect unless backtracked onto, in
which case all subsequent matching/searching attempts are abandoned.
</li>
<li class="listitem">
<code class="literal">(*FAIL)</code> Causes the match to fail unconditionally at
this point, can be used to force the engine to backtrack.
</li>
<li class="listitem">
<code class="literal">(*ACCEPT)</code> Causes the pattern to be considered matched
at the current point. Any half-open sub-expressions are closed at the
current point.
</li>
</ul></div>
<h5>
<a name="boost_regex.syntax.perl_syntax.h43"></a>
<span class="phrase"><a name="boost_regex.syntax.perl_syntax.operator_precedence"></a></span><a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.operator_precedence">Operator
precedence</a>
</h5>
@ -1397,7 +1440,7 @@
</li>
</ol></div>
<h4>
<a name="boost_regex.syntax.perl_syntax.h43"></a>
<a name="boost_regex.syntax.perl_syntax.h44"></a>
<span class="phrase"><a name="boost_regex.syntax.perl_syntax.what_gets_matched"></a></span><a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.what_gets_matched">What
gets matched</a>
</h4>
@ -1573,7 +1616,7 @@
</tbody>
</table></div>
<h4>
<a name="boost_regex.syntax.perl_syntax.h44"></a>
<a name="boost_regex.syntax.perl_syntax.h45"></a>
<span class="phrase"><a name="boost_regex.syntax.perl_syntax.variations"></a></span><a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.variations">Variations</a>
</h4>
<p>
@ -1582,7 +1625,7 @@
and <code class="literal">JScript</code></a> are all synonyms for <code class="literal">perl</code>.
</p>
<h4>
<a name="boost_regex.syntax.perl_syntax.h45"></a>
<a name="boost_regex.syntax.perl_syntax.h46"></a>
<span class="phrase"><a name="boost_regex.syntax.perl_syntax.options"></a></span><a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.options">Options</a>
</h4>
<p>
@ -1594,7 +1637,7 @@
are to be applied.
</p>
<h4>
<a name="boost_regex.syntax.perl_syntax.h46"></a>
<a name="boost_regex.syntax.perl_syntax.h47"></a>
<span class="phrase"><a name="boost_regex.syntax.perl_syntax.pattern_modifiers"></a></span><a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.pattern_modifiers">Pattern
Modifiers</a>
</h4>
@ -1606,7 +1649,7 @@
and <code class="literal">no_mod_s</code></a>.
</p>
<h4>
<a name="boost_regex.syntax.perl_syntax.h47"></a>
<a name="boost_regex.syntax.perl_syntax.h48"></a>
<span class="phrase"><a name="boost_regex.syntax.perl_syntax.references"></a></span><a class="link" href="perl_syntax.html#boost_regex.syntax.perl_syntax.references">References</a>
</h4>
<p>

View File

@ -198,7 +198,7 @@
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: May 05, 2015 at 12:03:52 GMT</small></p></td>
<td align="left"><p><small>Last revised: October 05, 2015 at 18:11:16 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>

View File

@ -564,6 +564,23 @@ executes /no-pattern/.
* [^(?(DEFINE)never-exectuted-pattern)] Defines a block of code that is never executed and matches no characters:
this is usually used to define one or more named sub-expressions which are referred to from elsewhere in the pattern.
[h5 Backtracking Control Verbs]
This library has partial support for Perl's backtracking control verbs, in particular (*MARK) is not supported.
There may also be detail differences in behaviour between this library and Perl, not least because Perl's behaviour
is rather under-documented and often somewhat random in how it behaves in practice. The verbs supported are:
* [^(*PRUNE)] Has no effect unless backtracked onto, in which case all the backtracking information prior to this
point is discarded.
* [^(*SKIP)] Behaves the same as [^(*PRUNE)] except that it is assumed that no match can possibly occur prior to
the current point in the string being searched. This can be used to optimize searches by skipping over chunks of text
that have already been determined can not form a match.
* [^(*THEN)] Has no effect unless backtracked onto, in which case all subsequent alternatives in a group of alternations
are discarded.
* [^(*COMMIT)] Has no effect unless backtracked onto, in which case all subsequent matching/searching attempts are abandoned.
* [^(*FAIL)] Causes the match to fail unconditionally at this point, can be used to force the engine to backtrack.
* [^(*ACCEPT)] Causes the pattern to be considered matched at the current point. Any half-open sub-expressions are closed at the current point.
[h4 Operator precedence]
The order of precedence for of operators is as follows: