Branch Coverage

blib/lib/Parse/Yapp/Lalr.pm
Criterion Covered Total %
branch 101 164 61.5


line true false branch
70 0 10 if ref $class
92 0 0 $nbsr > 1 ? :
0 0 if $nbsr != $self->{'GRAMMAR'}{'EXPECT'}
95 0 0 if ($nbrr)
96 0 0 if $nbsr
98 0 0 $nbrr > 1 ? :
102 0 0 if $nbsr != $self->{'GRAMMAR'}{'EXPECT'} or $nbrr
121 0 0 unless $Parse::Yapp::Lalr::a->[0] <=> $Parse::Yapp::Lalr::b->[0]
127 0 0 unless $ruleno
138 0 0 if $term eq "\000"
142 0 0 unless (defined $action)
148 0 0 if ($action > 0)
156 0 0 unless ($term)
166 0 0 if (@shifts)
177 0 0 if (@errors)
186 0 0 if exists $self->{'CONFLICTS'}{'FORCED'}{'DETAIL'}{$stateno}
188 0 0 unless $Parse::Yapp::Lalr::a->[0] cmp $Parse::Yapp::Lalr::b->[0]
190 0 0 if defined $default
195 0 0 if (@reduces)
202 0 0 if ($ruleno < 0)
207 0 0 $discard ? :
208 0 0 if ($ruleno) { }
215 0 0 $discard ? :
221 0 0 if (exists $states->[$stateno]{'GOTOS'})
260 0 0 if $token eq "\000"
273 0 0 $nbsr > 1 ? :
0 0 if $nbsr
278 0 0 if ($nbrr)
279 0 0 if $nbsr
282 0 0 $nbrr > 1 ? :
311 57 50 if (not exists $state->{'ACTIONS'}{''} or keys %{$$state{'ACTIONS'};} > 1)
320 96 30 if (substr($term, 0, 1) eq q[']) { }
325 9 21 $term eq "\000" ? :
330 125 1 if (defined $action) { }
345 63 44 if (exists $state->{'ACTIONS'}{''})
346 13 50 if keys %{$$state{'ACTIONS'};} > 1
353 29 78 if (exists $state->{'GOTOS'})
414 9183 1476 if (exists $rel->{$x})
416 7828 35164 unless exists $N{$y}
420 422 42570 if $N{$y} < $N{$x}
427 10322 337 if ($N{$x} == $d)
431 10322 337 if $y eq $x
439 2831 6352 unless exists $N{$_}
472 561 327 if @$rhs > 0 and exists $grammar->{'NTERM'}{$rhs->[0]}
490 1210 2685 if $pos < @$rhs and exists $$closures{$rhs->[$pos]}
507 1187 58777 if ($pos == @$rhs)
517 0 51966 unless $Parse::Yapp::Lalr::a->[0] <=> $Parse::Yapp::Lalr::b->[0]
523 1708 21451 unless (exists $cores->{$corekey})
532 11824 11335 if (exists $grammar->{'TERM'}{$_})
585 299 569 if (exists $terminx->{$_})
590 542 27 unless exists $grammar->{'NULLABLE'}{$_}
605 7970 1004 unless $len
614 3169 693 if ($len == 1)
634 395 422 if (exists $$terminx{$rhs->[$pos]})
640 181 241 if vec $first, 0, 1
643 243 179 unless exists $grammar->{'NULLABLE'}{$rhs->[$pos]}
682 397 751 if (exists $state->{'ACTIONS'}{''} and @{$state->{'ACTIONS'}{''};} > 1 || keys %{$$state{'ACTIONS'};} > 1)
695 1062 656 unless exists $state->{'GOTOS'}
708 1235 38488 unless exists $sfx->{$key}
715 8538 31185 if (vec $follows->{$goto}, 0, 1)
748 898 6857 if exists $state->{'ACTIONS'}{$term}
755 242 155 unless $conflict
779 233 612 if defined $rprec
783 545 67 if exists $rulesprec{$ruleno}
789 48 19 if (defined $lastterm and ref $grammar->{'TERM'}{$lastterm})
805 4807 895 unless @$act > 1
810 842 53 if ($act->[0] > 0 and ref $grammar->{'TERM'}{$term})
818 19 826 unless defined $rprec
823 542 284 if ($tprec > $rprec or $tprec == $rprec and $assoc eq 'RIGHT')
831 283 1 if ($tprec < $rprec or $assoc eq 'LEFT')
835 283 0 if ($act->[0] > 0)
845 1 0 if ($act->[0] > 0)
851 1 841 if $error
856 72 823 if (@$act > 1)
858 30 42 $act->[0] > 0 ? :
865 27 128 if ($nbsr)
871 11 144 if ($nbrr)
892 751 967 if (exists $actions->{''})
899 56 1662 if exists $actions->{'error'} and $actions->{'error'}[0] > 0
907 12372 7059 if not defined $actions->{$term} or $actions->{$term} > 0 or $nodefault
914 1341 377 unless keys %reduces > 0
918 0 34 unless $Parse::Yapp::Lalr::b->[1] <=> $Parse::Yapp::Lalr::a->[1]