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')