Author: larry
Date: Sun Jan  7 01:39:34 2007
New Revision: 13516

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

Log:
Clarification on how a Grammar pattern finds its top rule.


Modified: doc/trunk/design/syn/S03.pod
==============================================================================
--- doc/trunk/design/syn/S03.pod        (original)
+++ doc/trunk/design/syn/S03.pod        Sun Jan  7 01:39:34 2007
@@ -12,9 +12,9 @@
 
   Maintainer: Larry Wall <[EMAIL PROTECTED]>
   Date: 8 Mar 2004
-  Last Modified: 6 Jan 2007
+  Last Modified: 7 Jan 2007
   Number: 3
-  Version: 84
+  Version: 85
 
 =head1 Changes to PerlĀ 5 operators
 
@@ -756,8 +756,15 @@
 If the redefinition occurs at compile time prior to analysis of the
 smart match then the information is also available to the optimizer.)
 
-Matching against a C<Grammar> object will call the first rule defined
-in the grammar.
+Matching against a C<Grammar> object will call the C<top> method
+defined in the grammar.  The C<top> method may either be a rule
+itself, or may call the actual top rule automatically.  How the
+C<Grammar> determines the top rule is up to the grammar, but normal
+Perl 6 grammars will default to setting top to the first rule in the
+original base grammar.  Derived grammars then inherit this idea of
+the top rule.  This may be overridden in either the base grammar or a
+derived grammer by explicitly naming a rule "top", or defining your
+own top method to call some other rule.
 
 Matching against a C<Signature> does not actually bind any variables,
 but only tests to see if the signature I<could> bind.  To really bind

Reply via email to