Author: pmichaud
Date: Fri Feb 22 11:53:30 2008
New Revision: 25994

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

Log:
[rakudo]:
* Get postcircumfix < > to use <quote_expression> instead of <anglewords>
  (especially since quote_expression already knows how to handle
  splits and other coding issues.


Modified: trunk/languages/perl6/src/parser/actions.pm
==============================================================================
--- trunk/languages/perl6/src/parser/actions.pm (original)
+++ trunk/languages/perl6/src/parser/actions.pm Fri Feb 22 11:53:30 2008
@@ -488,15 +488,12 @@
                               );
     }
     elsif $key eq '< >' {
-        # XXX Need to split this for the list case rather than the
-        # key case.
-        $past := PAST::Var.new(
-            PAST::Val.new( :value(~$<anglewords>) ),
-            :scope('keyed'),
-            :vivibase('Hash'),
-            :viviself('Undef'),
-            :node( $/ )
-        );
+        $past := PAST::Var.new( $( $<quote_expression> ),
+                                :scope('keyed'),
+                                :vivibase('Hash'),
+                                :viviself('Undef'),
+                                :node( $/ )
+                              );
     }
     else
     {

Modified: trunk/languages/perl6/src/parser/grammar.pg
==============================================================================
--- trunk/languages/perl6/src/parser/grammar.pg (original)
+++ trunk/languages/perl6/src/parser/grammar.pg Fri Feb 22 11:53:30 2008
@@ -413,16 +413,10 @@
 
 
 token postcircumfix {
-    | '(' <semilist> ')' {*}                     #= ( )
-    | '[' <semilist> ']' {*}                     #= [ ]
-    | '{' <semilist> '}' {*}                     #= { }
-    | '<' <anglewords> '>' {*}                   #= < >
-}
-
-
-# This needs to take a parameter eventually, but we can't do that yet.
-token anglewords {
-    <.ws> [ <!before '>'> .]*
+    | '(' <semilist> ')' {*}                          #= ( )
+    | '[' <semilist> ']' {*}                          #= [ ]
+    | '{' <semilist> '}' {*}                          #= { }
+    | <?before '<' > <quote_expression: :w :q> {*}    #= < >
 }
 
 

Reply via email to