Changeset 21799 for src/perl6

Show
Ignore:
Timestamp:
08/06/08 09:20:46 (4 months ago)
Author:
lwall
Message:

[STD vs t] now passes 99.22%
For parsing sanity, :: is no longer officially a sigil

Location:
src/perl6
Files:
5 modified

Legend:

Unmodified
Added
Removed
  • src/perl6/Cursor.pmc

    r21797 r21799  
    22use strict; 
    33use warnings; 
     4no warnings 'recursion'; 
    45use utf8; 
    56 
  • src/perl6/LazyMap.pm

    r21792 r21799  
    22use strict; 
    33use warnings; 
     4no warnings 'recursion'; 
    45 
    56use Exporter; 
     
    4748 
    4849sub iter { 
    49     no warnings 'recursion'; 
    5050    my $self = shift; 
    5151    my $lazies = $self->{L}; 
  • src/perl6/STD.pm

    r21797 r21799  
    410410   | \h* '#' :: [ 
    411411         |  <?opener> :: 
    412             [ 
    413                <?after ^^ . > <.panic: "Can't use embedded comments in column 1"> 
    414             || <.quibble($¢.cursor_fresh( ::STD::Q ))>   {*}                               #= embedded 
    415             ] 
     412            [ <!after ^^ . > || <.panic: "Can't use embedded comments in column 1"> ] 
     413            <.quibble($¢.cursor_fresh( ::STD::Q ))>   {*}                               #= embedded 
    416414         | :: \N*            {*}                                 #= end 
    417415         ] 
     
    735733    { $+prevop = $<O> } 
    736734    <.ws> 
     735} 
     736 
     737# (for when you want to tell EXPR that infix already parsed the term) 
     738token nullterm { 
     739    <?> 
    737740} 
    738741 
     
    14531456    [ 
    14541457    || '&' <twigil>?  <sublongname> {*}                                   #= subnoun 
     1458    || <?before '$::('> '$' <name>? 
    14551459    || '$::' <name>? # XXX 
    14561460    || '$:' <name>? # XXX 
     
    14761480token sigil:sym<%>  { <sym> } 
    14771481token sigil:sym<&>  { <sym> } 
    1478 token sigil:sym<::> { <sym> } 
    14791482 
    14801483token twigil:sym<.> { <sym> } 
     
    14881491 
    14891492token deflongname { 
    1490     <name> <colonpair>* 
    1491     {{ 
    1492         if $<colonpair> { 
    1493             $¢ = $¢.add_macro($<name>); 
    1494         } 
    1495     }} 
     1493    <name> 
     1494    [ <colonpair>+ { $¢ = $¢.add_macro($<name>); } ]? 
    14961495} 
    14971496 
     
    15551554    <longname> 
    15561555    <?{ 
    1557         $¢.is_type($<longname>.text) 
     1556        my $longname = $<longname>.text; 
     1557        substr($longname, 0, 2) eq '::' or $¢.is_type($longname) 
    15581558    }> 
    15591559    # parametric type? 
     
    17301730    [ <?{ $start ne $stop }> :: 
    17311731        { $lang = $lang.balanced($start,$stop); } 
    1732         $start <left=nibble($lang)> $stop '=' <right=EXPR(item %item_assignment)> 
     1732        $start <left=nibble($lang)> $stop <.ws> '='<.ws> <right=EXPR(item %item_assignment)> 
    17331733    || { $lang = $lang.unbalanced($stop); } 
    17341734        $start <left=nibble($lang)> $stop 
     
    18451845token quote:sym</ />   { 
    18461846    '/' <nibble( $¢.cursor_fresh( ::Regex ).unbalanced("/") )> [ '/' || <.panic: "Unable to parse regex; couldn't find final '/'"> ] 
    1847     <old_rx_mods>? 
     1847    <.old_rx_mods>? 
    18481848} 
    18491849 
     
    18891889    <sym> » <!before '('> 
    18901890    <quibble( $¢.cursor_fresh( ::Regex ) )> 
    1891     <old_rx_mods>? 
     1891    <!old_rx_mods> 
    18921892} 
    18931893 
     
    18951895    <sym> » <!before '('> 
    18961896    <quibble( $¢.cursor_fresh( ::Regex ) )> 
    1897     <old_rx_mods>? 
     1897    <!old_rx_mods> 
    18981898} 
    18991899 
     
    19011901    <sym> » <!before '('> 
    19021902    <quibble( $¢.cursor_fresh( ::Regex ).tweak(:s))> 
    1903     <old_rx_mods>? 
     1903    <!old_rx_mods> 
    19041904} 
    19051905 
     
    19071907    <sym> » <!before '('> 
    19081908    <pat=sibble( $¢.cursor_fresh( ::Regex ), $¢.cursor_fresh( ::STD::Q ).tweak(:qq))> 
    1909     <old_rx_mods>? 
     1909    <!old_rx_mods> 
    19101910} 
    19111911 
     
    19131913    <sym> » <!before '('> 
    19141914    <pat=sibble( $¢.cursor_fresh( ::Regex ).tweak(:s), $¢.cursor_fresh( ::STD::Q ).tweak(:qq))> 
    1915     <old_rx_mods>? 
     1915    <!old_rx_mods> 
    19161916} 
    19171917token quote:tr { 
    19181918    <sym> » <!before '('> <pat=tribble( $¢.cursor_fresh( ::STD::Q ).tweak(:q))> 
    1919     <old_tr_mods>? 
     1919    <!old_tr_mods> 
    19201920} 
    19211921 
     
    25822582 
    25832583## term 
     2584 
     2585token term:sym<::?IDENT> ( --> Term) { 
     2586    $<sym> = [ '::?' <ident> ] » 
     2587} 
     2588 
    25842589token term:sym<undef> ( --> Term) { 
    25852590    <sym> » 
     
    37643769 
    37653770method panic (Str $s) { 
    3766     my $m = "############# PARSE FAILED #############"; 
     3771    my $m; 
    37673772    my $here = self; 
    37683773 
     
    37903795    if $highvalid { 
    37913796        $m ~= $*HIGHMESS if $*HIGHMESS; 
     3797        $*HIGHMESS = $m; 
    37923798    } 
    37933799    else { 
     
    38133819    } 
    38143820 
    3815     die $m ~ "\n"; 
     3821    die "############# PARSE FAILED #############" ~ $m ~ "\n"; 
    38163822} 
    38173823 
     
    38423848    my $orig = self.orig; 
    38433849    my $text = $$orig; 
    3844     while $text ne '' { 
     3850    while $text ne '' { # XXX needs to recognize #line? 
    38453851        $posprops.[$pos++]<line> = $line; 
    38463852        $line++ if substr($text,0,1,'') eq "\n"; 
  • src/perl6/gimme5

    r21789 r21799  
    243243use strict; 
    244244use warnings; 
    245 no warnings 'qw'; 
     245no warnings 'qw', 'recursion'; 
    246246use $extends; # for base class as well as DEBUG constants 
    247247use Moose ':all' => { -prefix => "moose_" }; 
  • src/perl6/teststd

    r21769 r21799  
    2424} 
    2525 
    26 print "Passed $success/$total, ", int $success/$total * 100, "%\n"; 
     26printf "Passed $success/$total, %6.2f%%\n", $success/$total * 100; 
    2727print "Failed tests:\n"; 
    2828for my $file (@failed) {