- Timestamp:
- 08/06/08 01:18:44 (5 months ago)
- Location:
- misc/elf
- Files:
-
- 7 modified
-
elf_g (modified) (16 diffs)
-
elf_g_src/Compiler.pm (modified) (1 diff)
-
elf_g_src/EmitSimpleP5.pm (modified) (16 diffs)
-
elf_g_src/IRx1_Analysis.pm (modified) (2 diffs)
-
elf_g_src/IRx1_FromAST.pm (modified) (1 diff)
-
elf_g_src/IRx1_FromAST_create.pl (modified) (1 diff)
-
elf_g_src/run-tests.result (modified) (30 diffs)
Legend:
- Unmodified
- Added
- Removed
-
misc/elf/elf_g
r21584 r21796 56 56 use base "Str"; 57 57 sub WHAT { "Str" } 58 59 sub re_matchp { ($_[0] =~ m{$_[1]}) ? 1 : 0 } 60 sub re_groups { 61 my @g = $_[0] =~ m{$_[1]}; 62 @g ? \@g : undef; 63 } 58 64 59 65 # randomness taken from autobox::Core … … 313 319 our $h_ENV = \%ENV; 314 320 315 sub require {321 sub module_require { 316 322 my($module)=@_; 317 323 my $file = find_required_module($module); … … 2379 2385 (do{IRx1::Trait->newp($m, "does", irbuild_ir($m->{"hash"}->{"role_name"}))})}); 2380 2386 $main::irbuilder->add_constructor("circumfix\:pblock", sub {my($m)=@_; 2381 (do{if((($m->{"hash"}->{"block"}->{"hash"}->{"statementlist"}->elems() == 0) or ($m->{"hash"}->{"block"}->{"hash"}->{"statementlist"}->[0]->match_string() =~ qr/^:/))) {2387 (do{if((($m->{"hash"}->{"block"}->{"hash"}->{"statementlist"}->elems() == 0) or $m->{"hash"}->{"block"}->{"hash"}->{"statementlist"}->[0]->match_string()->re_matchp("\^\:"))) { 2382 2388 (do{IRx1::Hash->newp($m, irbuild_ir($m->{"hash"}->{"block"}->{"hash"}->{"statementlist"}))}) 2383 2389 }elsif((($m->{"hash"}->{"block"}->{"hash"}->{"statementlist"}->[0]->{"hash"}->{"expr"} and $m->{"hash"}->{"block"}->{"hash"}->{"statementlist"}->[0]->{"hash"}->{"expr"}->{"hash"}->{"sym"}) and ($m->{"hash"}->{"block"}->{"hash"}->{"statementlist"}->[0]->{"hash"}->{"expr"}->{"hash"}->{"sym"} eq "\,"))) { … … 2627 2633 }; 2628 2634 ($self->notes->{'crnt_package'} = $self->notes->{'crnt_package_chain'}->join("\:\:")); 2629 ($self->name =~ qr/(?:(.+)::)?([^:]+)$/);2630 ($self->notes->{'package'} = ($ 1|| $self->notes->{'crnt_package'}));2631 ($self->notes->{'bare_name'} = $ 2);2635 my $g = $self->name->re_groups("\(\?\:\(\.\+\)\:\:\)\?\(\[\^\:\]\+\)\$"); 2636 ($self->notes->{'package'} = ($g->[0] || $self->notes->{'crnt_package'})); 2637 ($self->notes->{'bare_name'} = $g->[1]); 2632 2638 for(($self->child_nodes)->flatten){ 2633 2639 (do{$_->note_environment()}) … … 2677 2683 2678 2684 { package IRx1::PackageDecl; 2679 use base "Any";(do{sub path_is_absolute{my $self=CORE::shift;(do{($self->name() && ($self->name() =~ qr/^GLOBAL\b'/))})}})2685 use base "Any";(do{sub path_is_absolute{my $self=CORE::shift;(do{($self->name() && $self->name()->re_matchp("\^GLOBAL\\b"))})}}) 2680 2686 } 2681 2687 ; … … 2760 2766 \ \ use\ base\ \"Str\"\;\ 2761 2767 \ \ sub\ WHAT\ \{\ \"Str\"\ \}\ 2768 \ 2769 \ \ sub\ re_matchp\ \{\ \(\$_\[0\]\ \=\~\ m\{\$_\[1\]\}\)\ \?\ 1\ \:\ 0\ \}\ 2770 \ \ sub\ re_groups\ \{\ 2771 \ \ \ \ my\ \@g\ \=\ \$_\[0\]\ \=\~\ m\{\$_\[1\]\}\;\ 2772 \ \ \ \ \@g\ \?\ \\\@g\ \:\ undef\;\ 2773 \ \ \}\ 2762 2774 \ 2763 2775 \ \ \#\ randomness\ taken\ from\ autobox\:\:Core\ … … 3017 3029 \ \ our\ \$h_ENV\ \=\ \\\%ENV\;\ 3018 3030 \ 3019 \ \ sub\ require\ \{\3031 \ \ sub\ module_require\ \{\ 3020 3032 \ \ \ \ my\(\$module\)\=\@_\;\ 3021 3033 \ \ \ \ my\ \$file\ \=\ find_required_module\(\$module\)\;\ … … 3393 3405 $self->encode_varname($s, $t, $dsn)})}; 3394 3406 sub cb__Call{my $self=CORE::shift;my($n)=@_; 3395 (do{{ package whiteboard; use vars '$emit_pairs_inline'};local $whiteboard::emit_pairs_inline = 0; 3407 (do{my $g; 3408 { package whiteboard; use vars '$emit_pairs_inline'};local $whiteboard::emit_pairs_inline = 0; 3396 3409 my $method = $self->e($n->method()); 3397 if((($method =~"postcircumfix\:\<\ \>"))) {3410 if((($method eq "postcircumfix\:\<\ \>"))) { 3398 3411 (do{(((($self->e($n->invocant()) . "\-\>") . "\{\'") . $self->e($n->capture())) . "\'\}")}) 3399 }elsif(( ($method =~"postcircumfix\:\(\.\*\)"))) {3400 (do{my $op = $ 1;3412 }elsif(($g = $method->re_groups("postcircumfix\:\(\.\*\)"))) { 3413 (do{my $op = $g->[0]; 3401 3414 my $arg = $self->e($n->capture()); 3402 3415 $op->re_gsub("\ ", $arg); … … 3410 3423 $name})}; 3411 3424 sub cb__Apply{my $self=CORE::shift;my($n)=@_; 3412 (do{my $fun = $self->e($n->function()); 3425 (do{my $g; 3426 my $fun = $self->e($n->function()); 3413 3427 if($n->notes()->{'lexical_bindings'}->{("\&" . $fun)}) { 3414 3428 (do{my $fe = $self->mangle_function_name($fun); 3415 3429 return((((("" . $fe) . "\(") . $self->e($n->capture())) . "\)"))}) 3416 3430 }; 3417 if(($ fun =~ qr/^infix:(.+)$/)) {3418 (do{my $op = $ 1;3431 if(($g = $fun->re_groups("\^infix\:\(\.\+\)\$"))) { 3432 (do{my $op = $g->[0]; 3419 3433 my $args = $n->capture()->arguments(); 3420 3434 if(((($args->elems() == 1) && $args->[0]->isa("IRx1\:\:Apply")) && ($args->[0]->function() eq "infix\:\,"))) { … … 3445 3459 }}) 3446 3460 }; 3447 if( ($op =~ qr/^(<|>|==|!=|eq|ne|\+|-|\*|\/|\|\||\&\&|and|or|=|=~|:=)$/)) {3461 if($op->re_matchp("\^\(\<\|\>\|\=\=\|\!\=\|eq\|ne\|\\\+\|\-\|\\\*\|\\\/\|\\\|\\\|\|\\\&\\\&\|and\|or\|\=\|\=\~\|\:\=\)\$")) { 3448 3462 (do{return((((((("\(" . $l) . "\ ") . $op) . "\ ") . $r) . "\)"))}) 3449 3463 }}) 3450 }elsif(($ fun =~ qr/^prefix:(.+)$/)) {3451 (do{my $op = $ 1;3464 }elsif(($g = $fun->re_groups("\^prefix\:\(\.\+\)\$"))) { 3465 (do{my $op = $g->[0]; 3452 3466 my $a = $self->e($n->capture()->arguments()); 3453 3467 my $x = $a->[0]; … … 3455 3469 (do{return((("\(\(" . $x) . "\)\?1\:0\)"))}) 3456 3470 }; 3457 if( ($op =~ qr/^(-)$/)) {3471 if($op->re_matchp("\^\(\-\)\$")) { 3458 3472 (do{return((((("\(" . $op) . "") . $x) . "\)"))}) 3459 3473 }}) 3460 }elsif(($ fun =~ qr/^statement_prefix:(.+)$/)) {3461 (do{my $op = $ 1;3474 }elsif(($g = $fun->re_groups("\^statement_prefix\:\(\.\+\)\$"))) { 3475 (do{my $op = $g->[0]; 3462 3476 if(($op eq "do")) { 3463 3477 (do{return((("do\{" . $self->e($n->capture()->arguments()->[0])) . "\}"))}) … … 3469 3483 (do{GLOBAL::die(($fun . "\:\ unimplemented"))}) 3470 3484 }}) 3471 }elsif(($ fun =~ qr/^postfix:(.+)$/)) {3472 (do{my $op = $ 1;3485 }elsif(($g = $fun->re_groups("\^postfix\:\(\.\+\)\$"))) { 3486 (do{my $op = $g->[0]; 3473 3487 my $a = $self->e($n->capture()->arguments()); 3474 3488 my $x = $a->[0]; 3475 if( ($op =~ qr/^(\+\+)$/)) {3489 if($op->re_matchp("\^\(\\\+\\\+\)\$")) { 3476 3490 (do{return((((("\(" . $x) . "") . $op) . "\)"))}) 3477 3491 }}) 3478 }elsif(($ fun =~ qr/^circumfix:(.+)/)) {3479 (do{my $op = $ 1;3492 }elsif(($g = $fun->re_groups("\^circumfix\:\(\.\+\)"))) { 3493 (do{my $op = $g->[0]; 3480 3494 if(($op eq "\<\ \>")) { 3481 3495 (do{my $s = $n->capture()->arguments()->[0]; … … 3486 3500 (do{return((("\[\'" . $words->join("\'\,\'")) . "\'\]"))}) 3487 3501 }}) 3488 }elsif( ($op =~ qr/^(\( \)|\[ \])$/)) {3502 }elsif($op->re_matchp("\^\(\\\(\ \\\)\|\\\[\ \\\]\)\$")) { 3489 3503 (do{my $arg = $self->e($n->capture()); 3490 3504 return($op->re_gsub("\ ", $arg))}) … … 3496 3510 }elsif((($fun eq "return"))) { 3497 3511 (do{return((("return\(" . $self->e($n->capture())) . "\)"))}) 3498 }elsif(( ($fun =~ qr/^\$\w+$/))) {3512 }elsif(($fun->re_matchp("\^\\\$\\w\+\$"))) { 3499 3513 (do{return(((($fun . "\-\>\(") . $self->e($n->capture())) . "\)"))}) 3500 }elsif(( ($fun =~ qr/^sub\s*{/))) {3514 }elsif(($fun->re_matchp("\^sub\\s\*\{"))) { 3501 3515 (do{return((((("\(" . $fun) . "\)\-\>\(") . $self->e($n->capture())) . "\)"))}) 3502 3516 }elsif(($fun eq "eval")) { … … 3504 3518 return((((((("GLOBAL\:\:" . $fun) . "\(") . $self->e($n->capture())) . "\,") . $env) . "\)"))}) 3505 3519 }; 3506 if( ($fun =~ qr/^\w/)) {3520 if($fun->re_matchp("\^\\w")) { 3507 3521 (do{my $fe = $self->mangle_function_name($fun); 3508 3522 return((((("GLOBAL\:\:" . $fe) . "\(") . $self->e($n->capture())) . "\)"))}) … … 3969 3983 sub hook_for_use{my $self=CORE::shift;my($module,$expr)=@_; 3970 3984 (do{if($self->is_for_active_runtime) { 3971 (do{GLOBAL:: require($module);3985 (do{GLOBAL::module_require($module); 3972 3986 GLOBAL::import($module, $expr)}) 3973 3987 }else { -
misc/elf/elf_g_src/Compiler.pm
r20735 r21796 119 119 method hook_for_use($module,$expr) { 120 120 if $.is_for_active_runtime { 121 require($module);121 module_require($module); 122 122 import($module,$expr); 123 123 } else { -
misc/elf/elf_g_src/EmitSimpleP5.pm
r21584 r21796 22 22 method using_Moose() { 0 } 23 23 method create_default_for($cls,$field_name,$default) { 24 '$Object::DEFAULTS{'~$cls~"} {'"~$field_name~"'} = sub{"~$default~'};'24 '$Object::DEFAULTS{'~$cls~"}\{'"~$field_name~"'} = sub \{"~$default~'};' 25 25 } 26 26 method prelude_oo () { … … 89 89 use base "Str"; 90 90 sub WHAT { "Str" } 91 92 sub re_matchp { ($_[0] =~ m{$_[1]}) ? 1 : 0 } 93 sub re_groups { 94 my @g = $_[0] =~ m{$_[1]}; 95 @g ? \@g : undef; 96 } 91 97 92 98 # randomness taken from autobox::Core … … 346 352 our $h_ENV = \%ENV; 347 353 348 sub require {354 sub module_require { 349 355 my($module)=@_; 350 356 my $file = find_required_module($module); … … 457 463 if $name eq 'Object' { $base = '' } 458 464 if $name eq 'Junction' { $base = '' } 459 my $head = "\n { package "~$name~";\n";465 my $head = "\n\{ package "~$name~";\n"; 460 466 my $foot = "\n}\n"; 461 467 if $.using_Moose { … … 479 485 my $name = $whiteboard::in_package.splice(0,-1).join('::')~'::'~$.e($n.expr); 480 486 $name.re_gsub('^::',''); # Moose 0.44 doesn't like these. 481 "BEGIN {push(@"~$pkgname~"::ISA,'"~$name~"');}\n";487 "BEGIN\{push(@"~$pkgname~"::ISA,'"~$name~"');}\n"; 482 488 } else { 483 489 say "ERROR: Emitting p5 for Trait verb "~$n.verb~" has not been implemented.\n"; … … 548 554 my $nam = $.encode_varname($var.sigil,$var.twigil,$var.bare_name); 549 555 my $pkg = $n.var.package; 550 (" { package "~$pkg~"; use vars '"~$nam~"'};"~556 ("\{ package "~$pkg~"; use vars '"~$nam~"'};"~ 551 557 'local'~' '~$.e($n.var)~$default) 552 558 } … … 696 702 697 703 method cb__Call ($n) { 704 my $g; 698 705 temp $whiteboard::emit_pairs_inline = 0; 699 706 my $method = $.e($n.method); 700 if ($method =~'postcircumfix:< >') {707 if ($method eq 'postcircumfix:< >') { 701 708 $.e($n.invocant)~'->'~"{'"~$.e($n.capture)~"'}"; 702 709 } 703 elsif ($method =~'postcircumfix:(.*)') {704 my $op = $ 1;710 elsif $g = $method.re_groups('postcircumfix:(.*)') { 711 my $op = $g[0]; 705 712 my $arg = $.e($n.capture); 706 713 $op.re_gsub(' ',$arg); … … 716 723 } 717 724 method cb__Apply ($n) { 725 my $g; 718 726 # temp $whiteboard::emit_pairs_inline = 0; #XXX depends on function :/ 719 727 my $fun = $.e($n.function); … … 722 730 return ''~$fe~'('~$.e($n.capture)~')' 723 731 } 724 if $ fun =~ /^infix:(.+)$/{725 my $op = $ 1;732 if $g = $fun.re_groups('^infix:(.+)$') { 733 my $op = $g[0]; 726 734 my $args = $n.capture.arguments; 727 735 if $args.elems == 1 && $args[0].isa('IRx1::Apply') && $args[0].function eq 'infix:,' { … … 754 762 } 755 763 #XXX := is here temporarily to postpone a regression. 756 if $op =~ /^(<|>|==|!=|eq|ne|\+|-|\*|\/|\|\||\&\&|and|or|=|=~|:=)$/{764 if $op.re_matchp('^(<|>|==|!=|eq|ne|\+|-|\*|\/|\|\||\&\&|and|or|=|=~|:=)$') { 757 765 return "("~$l~" "~$op~" "~$r~")"; 758 766 } 759 767 } 760 elsif $ fun =~ /^prefix:(.+)$/{761 my $op = $ 1;768 elsif $g = $fun.re_groups('^prefix:(.+)$') { 769 my $op = $g[0]; 762 770 my $a = $.e($n.capture.arguments); 763 771 my $x = $a[0]; … … 765 773 return '(('~$x~')?1:0)' 766 774 } 767 if $op =~ /^(-)$/{775 if $op.re_matchp('^(-)$') { 768 776 return "("~$op~""~$x~")" 769 777 } 770 778 } 771 elsif $ fun =~ /^statement_prefix:(.+)$/{772 my $op = $ 1;779 elsif $g = $fun.re_groups('^statement_prefix:(.+)$') { 780 my $op = $g[0]; 773 781 if $op eq 'do' { 774 782 return 'do{'~$.e($n.capture.arguments[0])~'}' … … 781 789 } 782 790 } 783 elsif $ fun =~ /^postfix:(.+)$/{784 my $op = $ 1;791 elsif $g = $fun.re_groups('^postfix:(.+)$') { 792 my $op = $g[0]; 785 793 my $a = $.e($n.capture.arguments); 786 794 my $x = $a[0]; 787 if $op =~ /^(\+\+)$/{795 if $op.re_matchp('^(\+\+)$') { 788 796 return "("~$x~""~$op~")" 789 797 } 790 798 } 791 elsif $ fun =~ /^circumfix:(.+)/{792 my $op = $ 1;799 elsif $g = $fun.re_groups('^circumfix:(.+)') { 800 my $op = $g[0]; 793 801 if $op eq '< >' { 794 802 my $s = $n.capture.arguments[0]; … … 800 808 } 801 809 } 802 elsif $op =~ /^(\( \)|\[ \])$/{810 elsif $op.re_matchp('^(\( \)|\[ \])$') { 803 811 my $arg = $.e($n.capture); 804 812 return $op.re_gsub(' ',$arg); … … 814 822 return 'return('~$.e($n.capture)~')'; 815 823 } 816 elsif ($fun =~ /^\$\w+$/) {824 elsif ($fun.re_matchp('^\$\w+$')) { 817 825 return $fun~'->('~$.e($n.capture)~')'; 818 826 } 819 elsif ($fun =~ /^sub\s*{/) {827 elsif ($fun.re_matchp('^sub\s*{')) { 820 828 return '('~$fun~')->('~$.e($n.capture)~')' 821 829 } … … 825 833 } 826 834 827 if $fun =~ /^\w/{835 if $fun.re_matchp('^\w') { 828 836 my $fe = $.mangle_function_name($fun); 829 837 return 'GLOBAL::'~$fe~'('~$.e($n.capture)~')' … … 849 857 my $pull = ""; 850 858 if $n.block.WHAT eq 'IRx1::SubDecl' { $pull = "->($_)"}; 851 'for(('~$.e($n.expr)~')'~$push~") {\n"~$.e($n.block)~$pull~"\n}"859 'for(('~$.e($n.expr)~')'~$push~")\{\n"~$.e($n.block)~$pull~"\n}" 852 860 }; 853 861 method cb__Cond ($n) { 854 862 my $els = ''; 855 if $n.default { $els = "else {\n"~$.e($n.default)~"\n}" }863 if $n.default { $els = "else \{\n"~$.e($n.default)~"\n}" } 856 864 my $clauses = $.e($n.clauses); 857 865 my $first = $clauses.shift; 858 866 my $first_test = $first[0]; 859 867 if $n.invert_first_test { $first_test = "not("~$first_test~")" } 860 ('if('~$first_test~") {\n"~$first[1]~"\n}"861 ~$clauses.map(sub($e){'elsif('~$e[0]~") {\n"~$e[1]~"\n}"}).join("")868 ('if('~$first_test~") \{\n"~$first[1]~"\n}" 869 ~$clauses.map(sub($e){'elsif('~$e[0]~") \{\n"~$e[1]~"\n}"}).join("") 862 870 ~$els) 863 871 }; 864 872 method cb__Loop ($n) { 865 'while('~$.e($n.pretest)~") {\n"~$.e($n.block)~"\n}"873 'while('~$.e($n.pretest)~") \{\n"~$.e($n.block)~"\n}" 866 874 }; 867 875 -
misc/elf/elf_g_src/IRx1_Analysis.pm
r21584 r21796 161 161 if $.notes<crnt_package_chain>.elems == 0 {$.notes<crnt_package_chain> = ['Main']} 162 162 $.notes<crnt_package> = $.notes<crnt_package_chain>.join("::"); 163 $.name =~ /(?:(.+)::)?([^:]+)$/;164 $.notes<package> = $ 1|| $.notes<crnt_package>;163 my $g = $.name.re_groups('(?:(.+)::)?([^:]+)$'); 164 $.notes<package> = $g[0] || $.notes<crnt_package>; 165 165 #^ TODO resolve non-absolute package names 166 $.notes<bare_name> = $ 2;166 $.notes<bare_name> = $g[1]; 167 167 for $.child_nodes {$_.note_environment} 168 168 } … … 204 204 } 205 205 class IRx1::PackageDecl { 206 method path_is_absolute() { self.name && self.name =~ /^GLOBAL\b'/}207 } 206 method path_is_absolute() { self.name && self.name.re_matchp('^GLOBAL\b') } 207 } -
misc/elf/elf_g_src/IRx1_FromAST.pm
r21584 r21796 639 639 640 640 $main::irbuilder.add_constructor('circumfix:pblock', sub ($m) { 641 if $m.{'hash'}{'block'}.{'hash'}{'statementlist'}.elems == 0 or $m.{'hash'}{'block'}.{'hash'}{'statementlist'}[0].match_string =~ /^:/{641 if $m.{'hash'}{'block'}.{'hash'}{'statementlist'}.elems == 0 or $m.{'hash'}{'block'}.{'hash'}{'statementlist'}[0].match_string.re_matchp('^:') { 642 642 IRx1::Hash.newp($m,irbuild_ir($m.{'hash'}{'block'}.{'hash'}{'statementlist'})) 643 643 } elsif $m.{'hash'}{'block'}.{'hash'}{'statementlist'}[0].{'hash'}{'expr'} and $m.{'hash'}{'block'}.{'hash'}{'statementlist'}[0].{'hash'}{'expr'}.{'hash'}{'sym'} and $m.{'hash'}{'block'}.{'hash'}{'statementlist'}[0].{'hash'}{'expr'}.{'hash'}{'sym'} eq "," { -
misc/elf/elf_g_src/IRx1_FromAST_create.pl
r21584 r21796 479 479 480 480 circumfix:pblock 481 if $o<block><statementlist>.elems == 0 or $o<block><statementlist>[0].match_string =~ /^:/{481 if $o<block><statementlist>.elems == 0 or $o<block><statementlist>[0].match_string.re_matchp('^:') { 482 482 Hash.newp($m<block><statementlist>) 483 483 } elsif $o<block><statementlist>[0]<expr> and $o<block><statementlist>[0]<expr><sym> and $o<block><statementlist>[0]<expr><sym> eq "," { # XXX Not p6. Remove once off elf_e, and Match updated. -
misc/elf/elf_g_src/run-tests.result
r21553 r21796 1 pugs t/ svn revision: 21 5501 pugs t/ svn revision: 21792 2 2 - 80% 10 8 2 ../../../t/01-sanity/01-tap.t 3 3 ok 4 ../../../t/01-sanity/02-counter.t … … 37 37 - 14% 7 1 0 6! ../../../t/blocks/multidimensional_arglists.t 38 38 - 0% 26 0 26 ../../../t/blocks/multi_named_vs_pos.t 39 X 0% 22 0 ../../../t/blocks/multi_sub.t40 39 - 66% 3 2 1 ../../../t/blocks/nested_named.t 41 40 X 0% 1 0 ../../../t/blocks/param_signature.t 42 X 0% 1 40 ../../../t/blocks/pointy.t41 X 0% 12 0 ../../../t/blocks/pointy.t 43 42 - 0% 1 0 1 ../../../t/blocks/primitive_named_params.t 44 43 X 0% 6 0 ../../../t/blocks/proto.t … … 56 55 -C 0% 63 0 63 ../../../t/blocks/sub_named_params.t 57 56 - 33% 12 4 8 ../../../t/blocks/sub_parameter_traits.t 58 X 0% 33 0../../../t/blocks/sub_ref.t57 -C 0% 33 0 33 ../../../t/blocks/sub_ref.t 59 58 - 10% 10 1 0 9! ../../../t/blocks/sub_return_object_method_call.t 60 59 -d 0% 63 0 63 ../../../t/blocks/sub_return_values.t … … 95 94 -C 0% 2 0 2 ../../../t/closure_traits/multiple.t 96 95 X 0% 13 0 ../../../t/closure_traits/next.t 97 X 0% 16 0../../../t/closure_traits/pre_post.t96 -C 0% 16 0 16 ../../../t/closure_traits/pre_post.t 98 97 -C 0% 10 0 10 ../../../t/closure_traits/rvalue.t 99 98 X 0% 21 0 ../../../t/closure_traits/start.t … … 181 180 -C 0% 1 0 1 ../../../t/examples/99problems/problem97.t 182 181 X 0% 10 0 ../../../t/examples/99problems/problem98.t 183 X 0% ? 0../../../t/examples/all_parse.t182 -C 0% ? 0 ? ../../../t/examples/all_parse.t 184 183 X 0% ? 0 ../../../t/examples/examples.t 185 X 0% ? 0../../../t/examples/golfex.t184 -C 0% ? 0 ? ../../../t/examples/golfex.t 186 185 X 0% 10 0 ../../../t/examples/golf.t 187 186 X 0% 17 0 ../../../t/general/atoms.t … … 198 197 X 0% 4 0 ../../../t/macros/caller.t 199 198 -C 0% 4 0 4 ../../../t/macros/closure_returning_macros.t 200 X 0% 3 0../../../t/macros/macro_code_test.t199 -C 0% 3 0 3 ../../../t/macros/macro_code_test.t 201 200 X 0% 5 0 ../../../t/macros/opaque_ast_macros.t 202 201 X 0% 1 0 ../../../t/macros/operator_macros.t … … 209 208 - 0% 6 0 1 5! ../../../t/oo/attributes/attribute_list.t 210 209 - 23% 17 4 9 4! ../../../t/oo/attributes/class.t 211 - 0% 21 0 2 19!../../../t/oo/attributes/defaults.t210 X 0% 21 0 ../../../t/oo/attributes/defaults.t 212 211 X 0% 71 0 ../../../t/oo/attributes/instance.t 213 212 -d 0% 3 0 3 ../../../t/oo/attributes/is_rw_on_class.t 214 -C 0% 7 0 7../../../t/oo/attributes/methods_on_typed_attrs.t213 X 0% 7 0 ../../../t/oo/attributes/methods_on_typed_attrs.t 215 214 X 0% 25 0 ../../../t/oo/attributes/mutators.t 216 215 X 0% 19 0 ../../../t/oo/attributes/recursive.t … … 228 227 -C 0% 13 0 13 ../../../t/oo/construction.t 229 228 - 33% 6 2 0 4! ../../../t/oo/destruction.t 230 X 0% 3 0../../../t/oo/global_destruction.t229 -C 0% 3 0 3 ../../../t/oo/global_destruction.t 231 230 -d 0% 2 0 2 ../../../t/oo/instantiation.t 232 231 -C 0% 17 0 17 ../../../t/oo/magical_vars.t 233 X 0% 11 0../../../t/oo/meta_class.t232 -C 0% 11 0 11 ../../../t/oo/meta_class.t 234 233 X 0% 4 0 ../../../t/oo/methods/both.t 235 234 X 0% 10 0 ../../../t/oo/methods/builtins.t … … 270 269 -C 0% 43 0 43 ../../../t/operators/binding/nested.t 271 270 -C 0% 28 0 28 ../../../t/operators/binding/scalars.t 272 X 0% 12 0../../../t/operators/binding/subs.t271 -C 0% 12 0 12 ../../../t/operators/binding/subs.t 273 272 X 0% 22 0 ../../../t/operators/bit.t 274 273 -d 0% 1 0 1 ../../../t/operators/brainos.t … … 284 283 X 0% 35 0 ../../../t/operators/operator_overloading.t 285 284 -C 0% 49 0 49 ../../../t/operators/operator.t 286 X 0% 48 0../../../t/operators/precedence/builtins.t285 -C 0% 47 0 47 ../../../t/operators/precedence/builtins.t 287 286 X 0% 10 0 ../../../t/operators/precedence/self-defined.t 288 287 -C 0% 2 0 2 ../../../t/operators/recursive_definition.t … … 313 312 - 0% 4 0 1 3! ../../../t/regex/from_perl6_rules/assert.t 314 313 X 0% 64 0 ../../../t/regex/from_perl6_rules/capture.t 315 - 4% 24 1 1 22! ../../../t/regex/from_perl6_rules/charset.t316 314 - 10% 10 1 0 9! ../../../t/regex/from_perl6_rules/codevars.t 317 ok 3 ../../../t/regex/from_perl6_rules/combchar.t318 315 - 14% 7 1 0 6! ../../../t/regex/from_perl6_rules/context.t 319 X 0% 172 0 ../../../t/regex/from_perl6_rules/counted.t320 316 -C 0% 33 0 33 ../../../t/regex/from_perl6_rules/der_grammar.t 321 317 X 0% 44 0 ../../../t/regex/from_perl6_rules/exhaustive.t … … 324 320 - 4% 23 1 0 22! ../../../t/regex/from_perl6_rules/hashkv.t 325 321 - 50% 2 1 0 1! ../../../t/regex/from_perl6_rules/inline.t 326 -C 0% 29 0 29 ../../../t/regex/from_perl6_rules/litvar.t327 322 -C 0% 10 0 10 ../../../t/regex/from_perl6_rules/lookaround.t 328 323 -C 0% 26 0 26 ../../../t/regex/from_perl6_rules/named_cap.t … … 337 332 X 0% 2349 0 ../../../t/regex/from_perl6_rules/propcharset.t 338 333 X 0% 1881 0 ../../../t/regex/from_perl6_rules/properties.t 339 -C 0% 6 0 6 ../../../t/regex/from_perl6_rules/repeat.t340 334 X 0% 4 0 ../../../t/regex/from_perl6_rules/rulecode.t 341 335 X 0% 207 0 ../../../t/regex/from_perl6_rules/stdrules.t … … 345 339 X 0% 3 0 ../../../t/regex/grammar.t 346 340 X 0% 6 0 ../../../t/regex/named_rule_capture.t 347 -C 0% 5 0 5../../../t/regex/nonstrings.t341 X 0% 5 0 ../../../t/regex/nonstrings.t 348 342 X 0% 2 0 ../../../t/regex/numbered_match_variable.t 349 343 X 0% 535 0 ../../../t/regex/p6regex/p6regex.t … … 363 357 X 0% 7 0 ../../../t/regex/s_perl5.t 364 358 X 0% 5 0 ../../../t/regex/variable_interpolation.t 365 X 0% 40 ../../../t/regex/ws_subst.t359 X 0% 3 0 ../../../t/regex/ws_subst.t 366 360 X 0% ? 0 ../../../t/run/01-dash-uppercase-i.t 367 361 X 0% ? 0 ../../../t/run/01-multiple-e.t 368 X 0% ? 0../../../t/run/02-dash-n.t369 X 0% ? 0../../../t/run/03-dash-p.t362 -C 0% ? 0 ? ../../../t/run/02-dash-n.t 363 -C 0% ? 0 ? ../../../t/run/03-dash-p.t 370 364 X 0% ? 0 ../../../t/run/04-dash-ce.t 371 365 X 0% ? 0 ../../../t/run/05-unknown-option.t 372 366 X 0% ? 0 ../../../t/run/06-dash-help.t 373 367 X 0% ? 0 ../../../t/run/06-dash-version.t 374 X 0% ? 0../../../t/run/07-dash-uppercase-v.t368 -C 0% ? 0 ? ../../../t/run/07-dash-uppercase-v.t 375 369 X 0% ? 0 ../../../t/run/08-script-from-stdin.t 376 370 X 0% ? 0 ../../../t/run/09-dash-uppercase-c.t 377 X 0% 4 0
