DJSON

 view release on metacpan or  search on metacpan

inc/Pegex/Parser.pm  view on Meta::CPAN

57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
    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 )