Changeset 21600 for perl5

Show
Ignore:
Timestamp:
07/28/08 22:20:34 (4 months ago)
Author:
fglock
Message:

[v6.pm] added bare sigils

Location:
perl5/Pugs-Compiler-Perl6/lib/Pugs
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • perl5/Pugs-Compiler-Perl6/lib/Pugs/Emitter/Perl6/Perl5.pm

    r21574 r21600  
    384384            map { exists $_->{null} 
    385385                ? () 
     386                : exists $_->{bare_sigil} 
     387                ? 'undef' 
    386388                : _emit( $_ ) 
    387389            } @{$n->{list}} 
  • perl5/Pugs-Compiler-Perl6/lib/Pugs/Grammar/Expression.pm

    r16160 r21600  
    456456        $m = undef; 
    457457        if ( $m1 && $m2 ) { 
    458             if ( $m1->to < $m2->to ) { 
     458            if ( exists $m2->()->{bare_sigil} && $m2->tail =~ /^[\,\)]/ ) { 
    459459                $m = $m2 
    460460            } 
    461461            else { 
    462                 $m = $m1 
     462                if ( $m1->to < $m2->to ) { 
     463                    $m = $m2 
     464                } 
     465                else { 
     466                    $m = $m1 
     467                } 
    463468            } 
    464469        } 
  • perl5/Pugs-Compiler-Perl6/lib/Pugs/Grammar/Term.pm

    r21566 r21600  
    276276                        },    
    277277                  }  
     278                | { return { bare_sigil => '$' ,} } 
    278279            ), 
    279280        '$.' => q( 
     
    315316                <?Pugs::Grammar::Term.ident> 
    316317                { return { array => "\@" . $_[0]->() ,} } 
     318            | { return { bare_sigil => '@' ,} } 
    317319            ), 
    318320        '::' => q( 
     
    335337                <?Pugs::Grammar::Term.ident> 
    336338                { return { hash  => "\%" . $_[0]->() ,} } 
     339              | { return { bare_sigil => '%' ,} } 
    337340            ), 
    338341        '%()' => q( 
     
    351354                <?Pugs::Grammar::Term.ident> 
    352355                { return { code  => "\&" . $_[0]->() ,} } 
     356              | { return { bare_sigil => '&' ,} } 
    353357            ), 
    354358        '(' => q(