[svn:parrot] r43422 - branches/tt389_fix/runtime/parrot/library/PGE

chromatic at svn.parrot.org chromatic at svn.parrot.org
Tue Jan 12 04:51:28 UTC 2010


Author: chromatic
Date: Tue Jan 12 04:51:25 2010
New Revision: 43422
URL: https://trac.parrot.org/parrot/changeset/43422

Log:
[PGE] Made PGE build after fixing TT #389.  Instead of looking up a method by
name in the appropriate namespace, then invoking the Sub PMC and passing the
object as its first argument, use normal method dispatch and avoid the manual
lookup.

Modified:
   branches/tt389_fix/runtime/parrot/library/PGE/Perl6Grammar.pir

Modified: branches/tt389_fix/runtime/parrot/library/PGE/Perl6Grammar.pir
==============================================================================
--- branches/tt389_fix/runtime/parrot/library/PGE/Perl6Grammar.pir	Tue Jan 12 01:27:16 2010	(r43421)
+++ branches/tt389_fix/runtime/parrot/library/PGE/Perl6Grammar.pir	Tue Jan 12 04:51:25 2010	(r43422)
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2009, Parrot Foundation.
+# Copyright (C) 2006-2010, Parrot Foundation.
 # $Id$
 
 =head1 TITLE
@@ -152,15 +152,13 @@
     nstable[''] = $P0
 
     # get our initial match object
-    .local pmc match
-    $P0 = get_hll_global ['PGE'], 'Match'
+    .local pmc match, stmt
+    $P0   = get_hll_global ['PGE'], 'Match'
     match = $P0.'new'(source, 'grammar'=>'PGE::Perl6Grammar')
-
-    .local pmc stmtrule
-    stmtrule = get_hll_global ['PGE';'Perl6Grammar'], 'statement'
+    stmt  = find_method match, 'statement'
 
   stmt_loop:
-    match = stmtrule(match)
+    match = stmt(match)
     unless match goto stmt_end
     unless match > '' goto stmt_end
     $S0 = match['cmd']


More information about the parrot-commits mailing list