Author: chromatic
Date: Sat Jun  9 14:03:25 2007
New Revision: 18894

Modified:
   trunk/   (props changed)
   trunk/languages/perl6/src/PAST/Grammar.tg

Log:
 [EMAIL PROTECTED]:  chromatic | 2007-06-09 14:02:40 -0700
 [Perl 6] Skip over 'use v6', as it doesn't mean "load v6.pm".


Modified: trunk/languages/perl6/src/PAST/Grammar.tg
==============================================================================
--- trunk/languages/perl6/src/PAST/Grammar.tg   (original)
+++ trunk/languages/perl6/src/PAST/Grammar.tg   Sat Jun  9 14:03:25 2007
@@ -76,16 +76,25 @@
     .local pmc name
     name = $P0['version';'ident']
 
-    .local pmc require
-    require = new 'PAST::Op'
-    require.'init'('node' => $P0, 'name' => 'use')
+    .local string name_string
+    name_string = name
+
+    .local int is_v6
+    is_v6 = iseq name_string, 'v6'
+    unless is_v6 goto make_use_op
+    .return ()
+
+  make_use_op:
+    .local pmc use_op
+    use_op = new 'PAST::Op'
+    use_op.'init'('node' => $P0, 'name' => 'use')
 
     .local pmc module_name
     module_name = new 'PAST::Val'
     module_name.'init'('node' => $P0, 'vtype' => '.Perl6Str', 'name' => name, 
'ctype' => 's~')
-    require.'push'(module_name)
+    use_op.'push'(module_name)
 
-    .return (require)
+    .return (use_op)
   block:
     $P1 = tree.'get'('past', $P0, 'Perl6::Grammar::block')
     $P1.'blocktype'('immediate')

Reply via email to