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>
{*}
}