DJSON
view release on metacpan or search on metacpan
inc/Pegex/Parser.pm view on Meta::CPAN
5758596061626364656667686970717273747576777879
unless
$self
->{receiver};
my
$optimizer
= Pegex::Optimizer->new(
parser
=>
$self
,
grammar
=>
$self
->{grammar},
receiver
=>
$self
->{receiver},
);
$optimizer
->optimize_grammar(
$start_rule_ref
);
# Add circular ref and weaken it.
$self
->{receiver}{parser} =
$self
;
Scalar::Util::weaken(
$self
->{receiver}{parser});
if
(
$self
->{receiver}->can(
"initial"
)) {
$self
->{rule} =
$start_rule_ref
;
$self
->{parent} = {};
$self
->{receiver}->initial();
}
my
$match
=
$self
->debug ?
do
{
my
$method
=
$optimizer
->make_trace_wrapper(\
&match_ref
);
$self
->
$method
(
$start_rule_ref
, {
'+asr'
=> 0});
( run in 0.264 second using v1.01-cache-2.11-cpan-fd5d4e115d8 )