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_method
name: defterm
rest: ''
- !!perl/hash:RE_method
name: ws
rest: ''
named_param_term_0: *45
nullterm: !!perl/hash:RE_ast
dba: nullterm
dic: STD::P6
re: !!perl/hash:RE_assertion
assert: '?'
re: !!perl/hash:RE_noop
nobind: 1
nulltermish: !!perl/hash:RE_ast
dba: null term
dic: STD::P6
re: !!perl/hash:RE_bracket
re: &46 !!perl/hash:RE_any
altname: nulltermish_0
dba: null term
dic: STD::P6
zyg:
- !!perl/hash:RE_assertion
alt: nulltermish_0 0
assert: '?'
re: !!perl/hash:RE_method
name: stdstopper
rest: ''
- !!perl/hash:RE_sequence
alt: nulltermish_0 1
zyg:
- !!perl/hash:RE_bindnamed
atom: !!perl/hash:RE_method
name: termish
rest: ''
- !!perl/hash:RE_block {}
- !!perl/hash:RE_assertion
alt: nulltermish_0 2
assert: '?'
re: !!perl/hash:RE_noop
nobind: 1
nulltermish_0: *46
number: !!perl/hash:RE_ast
dba: number
dic: STD::P6
re: !!perl/hash:RE_bracket
re: &47 !!perl/hash:RE_any
altname: number_0
dba: number
dic: STD::P6
zyg:
- !!perl/hash:RE_sequence
alt: number_0 0
zyg:
- !!perl/hash:RE_string
i: 0
text: 'NaN'
- !!perl/hash:RE_meta
text: »
- !!perl/hash:RE_method
alt: number_0 1
name: integer
rest: ''
- !!perl/hash:RE_method
alt: number_0 2
name: dec_number
rest: ''
- !!perl/hash:RE_method
alt: number_0 3
name: rad_number
rest: ''
- !!perl/hash:RE_sequence
alt: number_0 4
zyg:
- !!perl/hash:RE_string
i: 0
text: 'Inf'
- !!perl/hash:RE_meta
text: »
number_0: *47
numeric__S_136rational: !!perl/hash:RE_ast
dba: numeric
dic: STD::P6
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_quantified_atom
atom: !!perl/hash:RE_cclass
i: 0
text: '[+\-]'
quant:
- '?'
- !!perl/hash:RE_bindnamed
atom: !!perl/hash:RE_method
name: integer
rest: ''
- !!perl/hash:RE_string
i: 0
text: /
- !!perl/hash:RE_bindnamed
atom: !!perl/hash:RE_method
name: integer
rest: ''
numeric__S_137complex: !!perl/hash:RE_ast
dba: numeric
dic: STD::P6
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_quantified_atom
atom: !!perl/hash:RE_bracket
re: !!perl/hash:RE_sequence
zyg:
- !!perl/hash:RE_quantified_atom
atom: !!perl/hash:RE_cclass
i: 0
text: '[+\-]'
quant:
- '?'
share/P6STD/boot/STD.pmc view on Meta::CPAN
my $C = shift;
$C->typename
})
} else { () }
}))) { ($C) } else { () }
})
} else { () }
});
}
;
## token number {
sub number__PEEK { $_[0]->_AUTOLEXpeek('number', $retree) }
sub number {
no warnings 'recursion';
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE number");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$self->_MATCHIFYr($S, "number", $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 'number_0') {
$C->deb("Fate passed to number_0: ", ::fatestr($fate)) if $::DEBUG & DEBUG::fates;
($C->{'_fate'}, $tag, $try) = @$fate;
@try = ($try);
$x = 'ALT number_0'; # some outer ltm is controlling us
}
else {
$x = 'ALTLTM number_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', 'number_0', $retree);
@try = $relex->($C) or last;
}
$try = shift(@try) // next;
if (ref $try) {
($C->{'_fate'}, $tag, $try) = @$try; # next candidate fate
}
$C->deb("number_0 trying $tag $try") if $::DEBUG & DEBUG::try_processing;
push @gather, ((
sub {
my $C=shift;
$C->_PATTERN(qr/\GNaN\b/)
},
sub {
my $C=shift;
$C->_SUBSUMEr(['integer'], sub {
my $C = shift;
$C->integer
})
},
sub {
my $C=shift;
$C->_SUBSUMEr(['dec_number'], sub {
my $C = shift;
$C->dec_number
})
},
sub {
my $C=shift;
$C->_SUBSUMEr(['rad_number'], sub {
my $C = shift;
$C->rad_number
})
},
sub {
my $C=shift;
$C->_PATTERN(qr/\GInf\b/)
}
)[$try])->($C);
last if @gather;
last if $xact->[-2]; # committed?
}
@gather;
};
}));
}
;
## token numeric:rational { <[+\-]>?<nu=.integer>'/'<de=.integer> }
sub numeric__S_136rational__PEEK { $_[0]->_AUTOLEXpeek('numeric__S_136rational', $retree) }
sub numeric__S_136rational {
no warnings 'recursion';
my $self = shift;
local $::CTX = $self->callm() if $::DEBUG & DEBUG::trace_call;
my $C = $self->cursor_xact("RULE numeric__S_136rational");
my $xact = $C->xact;
my $S = $C->{'_pos'};
$C->{sym} = "rational";
$self->_MATCHIFYr($S, "numeric__S_136rational", do {
my $C = $C;
if (($C) = ($C->_PATTERN(qr/\G(?:[+\-])?+/))
and ($C) = ($C->_SUBSUMEr(['nu'], sub {
my $C = shift;
$C->integer
}))
and ($C) = ($C->_EXACT("\/"))) {
$C->_SUBSUMEr(['de'], sub {
my $C = shift;
$C->integer
})
( run in 4.584 seconds using v1.01-cache-2.11-cpan-75ffa21a3d4 )