Author: larry
Date: Wed Sep 27 10:27:18 2006
New Revision: 12466

Modified:
   doc/trunk/design/syn/S05.pod

Log:
Made directly called tokens and rules auto-anchor for readability.


Modified: doc/trunk/design/syn/S05.pod
==============================================================================
--- doc/trunk/design/syn/S05.pod        (original)
+++ doc/trunk/design/syn/S05.pod        Wed Sep 27 10:27:18 2006
@@ -14,9 +14,9 @@
    Maintainer: Patrick Michaud <[EMAIL PROTECTED]> and
                Larry Wall <[EMAIL PROTECTED]>
    Date: 24 Jun 2002
-   Last Modified: 21 Aug 2006
+   Last Modified: 27 Sept 2006
    Number: 5
-   Version: 33
+   Version: 34
 
 This document summarizes Apocalypse 5, which is about the new regex
 syntax.  We now try to call them I<regex> rather than "regular
@@ -332,6 +332,23 @@
 to imply a C<:> after every construct that could backtrack, including
 bare C<*>, C<+>, and C<?> quantifiers, as well as alternations.
 
+The C<:ratchet> modifier also implies that the anchoring on either
+end is controlled by context.  When a ratcheted regex is called as
+a subrule, the front is anchored to the current position (as with
+C<:p>), while the end is not anchored, since the calling context
+will likely wish to continue parsing.  However, when a ratcheted
+regex is called directly, it is automatically anchored on both ends.
+(You may override this with an explicit C<:p> or C<:c>.)  Thus,
+you can do direct pattern matching using a token or rule:
+
+    $string ~~ token { \d+ }
+    $string ~~ rule { \d+ }
+
+and these are equivalent to
+
+    $string ~~ m/^ \d+: $/;
+    $string ~~ m/^ <ws> \d+: <ws> $/;
+
 =item *
 
 The new C<:panic> modifier causes this regex and all invoked subrules

Reply via email to