Author: pmichaud
Date: Sun Nov  9 10:51:05 2008
New Revision: 32471

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

Log:
[rakudo]:  Add pointy blocks to while/until statements (RT #58008).


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 10:51:05 2008
@@ -187,11 +187,9 @@
 }
 
 method while_statement($/) {
-    my $cond  := $( $<EXPR> );
-    my $block := $( $<block> );
-    declare_implicit_immediate_vars($block);
-    $block.blocktype('immediate');
-    make PAST::Op.new( $cond, $block, :pasttype(~$<sym>), :node($/) );
+    my $past := $( $<xblock> );
+    $past.pasttype(~$<sym>);
+    make $past;
 }
 
 method repeat_statement($/) {

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 10:51:05 2008
@@ -266,7 +266,7 @@
 
 rule while_statement {
     $<sym>=[while|until]
-    <EXPR> <block>
+    <xblock>
     {*}
 }
 

Reply via email to