Author: pmichaud
Date: Sun Nov  9 22:06:08 2008
New Revision: 32479

Modified:
   trunk/languages/perl6/src/parser/actions.pm
   trunk/languages/perl6/src/parser/grammar.pg

Log:
[rakudo]: Change given_statement to follow STD.pm.


Modified: trunk/languages/perl6/src/parser/actions.pm
==============================================================================
--- trunk/languages/perl6/src/parser/actions.pm (original)
+++ trunk/languages/perl6/src/parser/actions.pm Sun Nov  9 22:06:08 2008
@@ -206,15 +206,11 @@
 }
 
 method given_statement($/) {
-    my $block := $( $<pblock> );
-    $block.blocktype('declaration');
-    declare_implicit_function_vars($block);
-    ##  call the block using the expression as an argument
-    my $past := PAST::Op.new(
-        :pasttype('call'),
-        $block,
-        $( $<EXPR> )
-    );
+    my $past := $( $<xblock> );
+    $past.push( $past.shift() );              # swap <EXPR> and <pblock>
+    $past[0].blocktype('declaration');
+    declare_implicit_function_vars($past[0]);
+    $past.pasttype('call');
     make $past;
 }
 

Modified: trunk/languages/perl6/src/parser/grammar.pg
==============================================================================
--- trunk/languages/perl6/src/parser/grammar.pg (original)
+++ trunk/languages/perl6/src/parser/grammar.pg Sun Nov  9 22:06:08 2008
@@ -272,8 +272,7 @@
 
 rule given_statement {
     $<sym>=[given]
-    <EXPR>
-    <pblock>
+    <xblock>
     {*}
 }
 

Reply via email to