Benchmark-Perl-Formance-Cargo
view release on metacpan or search on metacpan
share/P6STD/boot/STD.pmc view on Meta::CPAN
- !!perl/hash:RE_string
i: 0
text: '{^'
- !!perl/hash:RE_meta
text: '::'
- !!perl/hash:RE_bindnamed
atom: !!perl/hash:RE_bracket
re: !!perl/hash:RE_meta
text: .*?
- !!perl/hash:RE_string
i: 0
text: '}'
- !!perl/hash:RE_method
name: obscaret
rest: 1
special_variable__S_118ColonColonCur_Ly: !!perl/hash:RE_ast
dba: special_variable
dic: STD::P6
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_string
i: 0
text: '::'
- !!perl/hash:RE_assertion
assert: '?'
re: !!perl/hash:RE_method_re
name: before
nobind: 1
re: !!perl/hash:RE_string
i: 0
text: '{'
special_variable__S_119DollarCur_Ly: !!perl/hash:RE_ast
dba: special_variable
dic: STD::P6
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_method
name: sigil
rest: ''
- !!perl/hash:RE_string
i: 0
text: '{'
- !!perl/hash:RE_block {}
- !!perl/hash:RE_bindnamed
atom: !!perl/hash:RE_bracket
re: !!perl/hash:RE_meta
text: .*?
- !!perl/hash:RE_string
i: 0
text: '}'
- !!perl/hash:RE_block {}
special_variable__S_120DollarBra: !!perl/hash:RE_ast
dba: special_variable
dic: STD::P6
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_method
i: 0
name: sym
rest: ''
sym: $[
- !!perl/hash:RE_meta
text: '::'
- !!perl/hash:RE_assertion
assert: '?'
re: !!perl/hash:RE_method_re
name: before
nobind: 1
re: &93 !!perl/hash:RE_any
altname: special_variable__S_120DollarBra_0
dba: special_variable
dic: STD::P6
zyg:
- !!perl/hash:RE_meta
alt: special_variable__S_120DollarBra_0 0
min: 1
text: \s
- !!perl/hash:RE_string
alt: special_variable__S_120DollarBra_0 1
i: 0
text: ','
- !!perl/hash:RE_string
alt: special_variable__S_120DollarBra_0 2
i: 0
text: =
- !!perl/hash:RE_method
alt: special_variable__S_120DollarBra_0 3
name: terminator
rest: ''
- !!perl/hash:RE_method
name: obs
rest: 1
special_variable__S_120DollarBra_0: *93
special_variable__S_121DollarKet: !!perl/hash:RE_ast
dba: special_variable
dic: STD::P6
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_method
i: 0
name: sym
rest: ''
sym: $]
- !!perl/hash:RE_meta
text: '::'
- !!perl/hash:RE_assertion
assert: '?'
re: !!perl/hash:RE_method_re
name: before
nobind: 1
re: &94 !!perl/hash:RE_any
altname: special_variable__S_121DollarKet_0
dba: special_variable
dic: STD::P6
zyg:
- !!perl/hash:RE_meta
alt: special_variable__S_121DollarKet_0 0
min: 1
text: \s
- !!perl/hash:RE_string
alt: special_variable__S_121DollarKet_0 1
share/P6STD/boot/STD.pmc view on Meta::CPAN
}))) {
$C
} else { () }
});
}
;
## regex special_variable:sym<${ }> {
sub special_variable__S_119DollarCur_Ly__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_119DollarCur_Ly', $retree) }
sub special_variable__S_119DollarCur_Ly {
no warnings 'recursion';
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE special_variable__S_119DollarCur_Ly");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\$\{\ \}";
$self->_MATCHIFY($S, "special_variable__S_119DollarCur_Ly", LazyMap::lazymap(sub {
my $C=shift;
if (($C) = ($C->_EXACT("\{"))
and ($C) = (scalar(do {
}, $C))) {
LazyMap::lazymap(sub {
my $C=shift;
if (my ($C) = ($C->_EXACT("\}"))) {
scalar(do {
my $M = $C;
my $sigil = $M->{'sigil'}->Str;
my $text = $M->{'text'}->Str;
my $bad = $sigil . '{' . $text . '}';
$text = $text - 1 if $text =~ /^\d+$/;
if ($text !~ /^(\w|\:)+$/) {
return () if $::QSIGIL;
$C->obs($bad, $sigil . '(' . $text . ')');
}
elsif ($::QSIGIL) {
$C->obs($bad, '{' . $sigil . $text . '}')}
else {
$C->obs($bad, $sigil . $text)};
}, $C)
} else { () }
},
$C->_SUBSUME(['text'], sub {
my $C = shift;
$C->_BRACKET(sub {
my $C=shift;
$C->_SCANf()
})
}))
} else { () }
},
$C->_SUBSUME(['sigil'], sub {
my $C = shift;
$C->sigil
})));
}
;
## token special_variable:sym<$[> {
sub special_variable__S_120DollarBra__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_120DollarBra', $retree) }
sub special_variable__S_120DollarBra {
no warnings 'recursion';
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE special_variable__S_120DollarBra");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\$\[";
$self->_MATCHIFYr($S, "special_variable__S_120DollarBra", do {
my $C = $C;
if (($C) = ($C->_EXACT("\$\["))
and ($C) = ($C->_COMMITLTM())
and ($C) = ($C->before(sub {
my $C=shift;
if (my ($C) = ($C->before(sub {
my $C=shift;
if (my ($C) = (do {
do {
my ($tag, $try);
my @try;
my $relex;
my $fate;
my $x;
if ($fate = $C->{'_fate'} and $fate->[1] eq 'special_variable__S_120DollarBra_0') {
$C->deb("Fate passed to special_variable__S_120DollarBra_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates;
($C->{'_fate'}, $tag, $try) = @$fate;
@try = ($try);
$x = 'ALT special_variable__S_120DollarBra_0'; # some outer ltm is controlling us
}
else {
$x = 'ALTLTM special_variable__S_120DollarBra_0'; # we are top level ltm
}
my $C = $C->cursor_xact($x);
my $xact = $C->{_xact};
my @gather = ();
for (;;) {
unless (@try) {
$relex //= $C->cursor_fate('STD::P6', 'special_variable__S_120DollarBra_0', $retree);
@try = $relex->($C) or last;
}
$try = shift(@try) // next;
if (ref $try) {
($C->{'_fate'}, $tag, $try) = @$try; # next candidate fate
}
$C->deb("special_variable__S_120DollarBra_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing;
push @gather, ((
sub {
my $C=shift;
$C->_PATTERN(qr/\G\s/)
},
sub {
my $C=shift;
$C->_EXACT("\,")
},
sub {
my $C=shift;
$C->_EXACT("\=")
},
sub {
my $C=shift;
$C->_SUBSUMEr(['terminator'], sub {
my $C = shift;
$C->terminator
})
}
)[$try])->($C);
last if @gather;
last if $xact->[-2]; # committed?
}
@gather;
};
})) { ($C) } else { () }
}))) { ($C) } else { () }
}))
and ($C) = ($C->obs('$[ variable', 'user-defined array indices'))) {
$C
} else { () }
});
}
;
## token special_variable:sym<$]> {
sub special_variable__S_121DollarKet__PEEK { $_[0]->_AUTOLEXpeek('special_variable__S_121DollarKet', $retree) }
sub special_variable__S_121DollarKet {
no warnings 'recursion';
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE special_variable__S_121DollarKet");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "\$\]";
$self->_MATCHIFYr($S, "special_variable__S_121DollarKet", do {
my $C = $C;
if (($C) = ($C->_EXACT("\$\]"))
and ($C) = ($C->_COMMITLTM())
and ($C) = ($C->before(sub {
my $C=shift;
if (my ($C) = ($C->before(sub {
my $C=shift;
if (my ($C) = (do {
do {
my ($tag, $try);
my @try;
my $relex;
my $fate;
my $x;
if ($fate = $C->{'_fate'} and $fate->[1] eq 'special_variable__S_121DollarKet_0') {
$C->deb("Fate passed to special_variable__S_121DollarKet_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates;
($C->{'_fate'}, $tag, $try) = @$fate;
@try = ($try);
$x = 'ALT special_variable__S_121DollarKet_0'; # some outer ltm is controlling us
}
else {
$x = 'ALTLTM special_variable__S_121DollarKet_0'; # we are top level ltm
}
my $C = $C->cursor_xact($x);
my $xact = $C->{_xact};
my @gather = ();
for (;;) {
unless (@try) {
$relex //= $C->cursor_fate('STD::P6', 'special_variable__S_121DollarKet_0', $retree);
@try = $relex->($C) or last;
}
$try = shift(@try) // next;
if (ref $try) {
($C->{'_fate'}, $tag, $try) = @$try; # next candidate fate
}
$C->deb("special_variable__S_121DollarKet_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing;
( run in 2.704 seconds using v1.01-cache-2.11-cpan-524268b4103 )