Author: larry
Date: Wed May  7 09:07:46 2008
New Revision: 14541

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

Log:
[S05] better characterize Match and Cursor methods


Modified: doc/trunk/design/syn/S05.pod
==============================================================================
--- doc/trunk/design/syn/S05.pod        (original)
+++ doc/trunk/design/syn/S05.pod        Wed May  7 09:07:46 2008
@@ -14,9 +14,9 @@
    Maintainer: Patrick Michaud <[EMAIL PROTECTED]> and
                Larry Wall <[EMAIL PROTECTED]>
    Date: 24 Jun 2002
-   Last Modified: 29 Apr 2008
+   Last Modified: 7 May 2008
    Number: 5
-   Version: 77
+   Version: 78
 
 This document summarizes Apocalypse 5, which is about the new regex
 syntax.  We now try to call them I<regex> rather than "regular
@@ -736,15 +736,14 @@
 dealing with.
 
 The C<Cursor> object can also return the original item that we are
-matching against; this is available from the C<._> method, named to
-remind you that it probably came from the user's C<$_> variable.
-(But that may well be off in some other scope when indirect rules
-are called, so we mustn't rely on the user's lexical scope.)
+matching against; this is available from the C<.orig> method.
 
 The closure is also guaranteed to start with a C<$/> C<Match> object
 representing the match so far.  However, if the closure does its own
 internal matching, its C<$/> variable will be rebound to the result
-of I<that> match until the end of the embedded closure.
+of I<that> match until the end of the embedded closure.  (The match
+will actually continue with the current value of the C<$¢> object after
+the closure.  C<$/> and C<$¢> just start out the same in your closure.)
 
 =item *
 
@@ -2201,7 +2200,7 @@
 subroutine that is calling the regex.  (A regex declares its own
 lexical C<$/> variable, which always refers to the most recent
 submatch within the rule, if any.)  The current match state is
-kept in the regex's C<$_> variable which will eventually get
+kept in the regex's C<$¢> variable which will eventually get
 processed into the user's C<$/> variable when the match completes.
 
 =item *
@@ -2350,6 +2349,22 @@
              "to index $/.to.bytes";
      }
 
+The currently defined methods are
+
+    $/.from    # the initial match position
+    $/.to      # the final match position
+    $/.chars   # $/.to - $/.from
+    $/.orig    # the original match string
+    $/.text    # substr($/.orig, $/.from, $/.chars)
+
+Within the regex the current match state C<$¢> also provides
+
+    .pos       # the current match position
+
+This last value may correspond to either C<$¢.from> or C<$¢.to> depending
+on whether the match is proceeding in a forward or backward direction
+(the latter case arising inside an C<< <?after ...> >> assertion).
+
 =item *
 
 All match attempts--successful or not--against any regex, subrule, or

Reply via email to