Benchmark-Perl-Formance-Cargo
view release on metacpan or search on metacpan
share/P6STD/boot/STD.pmc view on Meta::CPAN
dba: eat_terminator
dic: STD::P6
re: !!perl/hash:RE_bracket
re: !!perl/hash:RE_first
zyg:
- !!perl/hash:RE_string
i: 0
text: ;
- !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_assertion
assert: '?'
re: !!perl/hash:RE_block
nobind: 1
- !!perl/hash:RE_method
name: ws
rest: ''
- !!perl/hash:RE_assertion
assert: '?'
re: !!perl/hash:RE_method_re
name: before
nobind: 1
re: &20 !!perl/hash:RE_any
altname: eat_terminator_0
dba: eat_terminator
dic: STD::P6
zyg:
- !!perl/hash:RE_string
alt: eat_terminator_0 0
i: 0
text: )
- !!perl/hash:RE_string
alt: eat_terminator_0 1
i: 0
text: ']'
- !!perl/hash:RE_string
alt: eat_terminator_0 2
i: 0
text: '}'
- !!perl/hash:RE_meta
text: $
- !!perl/hash:RE_assertion
assert: '?'
re: !!perl/hash:RE_method
name: stopper
rest: ''
- !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_assertion
assert: '?'
re: !!perl/hash:RE_method_re
name: before
nobind: 1
re: !!perl/hash:RE_method_re
name: suppose
nobind: 1
re: !!perl/hash:RE_method
name: statement_control
rest: ''
- !!perl/hash:RE_method
name: backup_ws
rest: ''
- !!perl/hash:RE_block {}
- !!perl/hash:RE_method
name: panic
rest: 1
- !!perl/hash:RE_method
name: panic
rest: 1
eat_terminator_0: *20
fakesignature: !!perl/hash:RE_ast
dba: fakesignature
dic: STD::P6
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_method
name: newlex
rest: ''
- !!perl/hash:RE_method
name: signature
rest: ''
fatarrow: !!perl/hash:RE_ast
dba: fatarrow
dic: STD::P6
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_bindnamed
atom: !!perl/hash:RE_method
name: identifier
rest: ''
- !!perl/hash:RE_quantified_atom
atom: !!perl/hash:RE_meta
min: 1
text: \h
quant:
- '*'
- !!perl/hash:RE_string
i: 0
text: =>
- !!perl/hash:RE_method
name: ws
rest: ''
- !!perl/hash:RE_bindnamed
atom: !!perl/hash:RE_method
name: EXPR
rest: 1
infix__S_190lambda: !!perl/hash:RE_ast
dba: infix
dic: STD::P6
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_assertion
assert: '?'
re: !!perl/hash:RE_method_re
name: before
nobind: 1
re: &21 !!perl/hash:RE_any
altname: infix__S_190lambda_0
dba: infix
dic: STD::P6
zyg:
share/P6STD/boot/STD.pmc view on Meta::CPAN
}
$C->deb("eat_terminator_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing;
push @gather, ((
sub {
my $C=shift;
$C->_EXACT("\)")
},
sub {
my $C=shift;
$C->_EXACT("\]")
},
sub {
my $C=shift;
$C->_EXACT("\}")
}
)[$try])->($C);
last if @gather;
last if $xact->[-2]; # committed?
}
@gather;
};
})) { ($C) } else { () }
}))) { ($C) } else { () }
}))) { ($C) } else { () }
}
}
or $xact->[-2] or
do {
push @gather, $C->_PATTERN(qr/\G\z/)
}
or $xact->[-2] or
do {
push @gather, do {
if (my ($C) = ($C->before(sub {
my $C=shift;
if (my ($C) = ($C->stopper)) { ($C) } else { () }
}))) { ($C) } else { () }
}
}
or $xact->[-2] or
do {
push @gather, do {
my $C = $C;
if (($C) = ($C->before(sub {
my $C=shift;
if (my ($C) = ($C->before(sub {
my $C=shift;
if (my ($C) = ($C->suppose(sub {
my $C=shift;
$C->_SUBSUMEr(['statement_control'], sub {
my $C = shift;
$C->statement_control
})
}))) { ($C) } else { () }
}))) { ($C) } else { () }
}))
and ($C) = ($C->backup_ws)
and ($C) = (scalar(do {
$::HIGHWATER = -1}, $C))
and ($C) = ($C->panic("Missing semicolon"))) {
$C
} else { () }
}
}
or $xact->[-2] or
do {
push @gather, do {
if (my ($C) = ($C->panic("Confused"))) { ($C) } else { () }
}
};
@gather;
}
}));
}
;
## method backup_ws ()
sub backup_ws {
no warnings 'recursion';
my $self = shift;
if ($::MEMOS[$self->{'_pos'}]->{'ws'}) {
return $self->cursor($::MEMOS[$self->{'_pos'}]->{'ws'})};
return $self;
};
## rule statement_control:need {
sub statement_control__S_000need__PEEK { $_[0]->_AUTOLEXpeek('statement_control__S_000need', $retree) }
sub statement_control__S_000need {
no warnings 'recursion';
my $self = shift;
my $longname;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE statement_control__S_000need");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{'module_name'} = [];
$C->{'version'} = [];
$C->{sym} = "need";
$self->_MATCHIFYr($S, "statement_control__S_000need", do {
my $C = $C;
if (($C) = ($C->_EXACT("need"))
and ($C) = ($C->keyspace)
and ($C) = ($C->ws)) {
$C->_REPSEPr( sub {
my $C=shift;
if (($C) = ($C->_EXACT("\,"))
and ($C) = ($C->ws)) {
$C
} else { () }
}, sub {
my $C=shift;
if (my ($C) = ($C->_BRACKETr(sub {
my $C=shift;
do {
my ($tag, $try);
my @try;
my $relex;
my $fate;
my $x;
if ($fate = $C->{'_fate'} and $fate->[1] eq 'statement_control__S_000need_0') {
$C->deb("Fate passed to statement_control__S_000need_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates;
($C->{'_fate'}, $tag, $try) = @$fate;
@try = ($try);
$x = 'ALT statement_control__S_000need_0'; # some outer ltm is controlling us
}
else {
$x = 'ALTLTM statement_control__S_000need_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', 'statement_control__S_000need_0', $retree);
@try = $relex->($C) or last;
( run in 0.506 second using v1.01-cache-2.11-cpan-39bf76dae61 )