Branch Coverage

blib/lib/Marpa/R3/MetaAST.pm
Criterion Covered Total %
branch 217 310 70.0


line true false branch
33 2 289 unless eval { do { $meta_recce->read($p_rules_source) } }
38 1 288 if ($ambiguity_level != 1)
44 0 288 unless defined $value_ref
69 4994 2273 if $wsym
114 5 283 unless $eval_ok
120 0 283 unless defined $start_lhs
147 5 278 unless (%{$hashed_ast->{'xpr'}{'l0'};})
185 0 283 unless defined $target_lhs
213 0 1786 if $separator
222 19 1510 if $separator
231 275 899 if $lexeme eq '[:lex_start:]'
233 740 159 if ($lexeme ne '[:discard:]')
234 2 738 unless ($l0_lhs{$lexeme})
241 2 736 if ($l0_rhs{$lexeme})
248 2 734 if ($g1_lhs{$lexeme})
255 2 732 if (not $g1_rhs{$lexeme} and $lexeme ne '[:lex_start:]')
313 0 935 if exists $self->{$key}
322 0 2211 if substr($Marpa::R3::Internal::SUBGRAMMAR, 0, 1) eq 'l0'
327 2081 130 unless defined $blessing
329 102 28 if $blessing =~ /\A [\w] /msx
330 0 28 if $blessing eq '::undef'
333 28 0 if ($blessing eq '::lhs')
335 0 28 if ($blessing =~ / [^ [:alnum:]] /msx)
478 0 1798 unless ($rhs)
597 195 105 unless defined $is_activated
599 22 83 $on_or_off eq 'on' ? :
625 138 0 $op_declare->op eq '::=' ? :
634 138 11 if ($key eq 'action' and $subgrammar eq 'g1')
638 11 0 if ($key eq 'bless' and $subgrammar eq 'g1')
655 0 27 if (exists $parse->{'discard_default_adverbs'})
666 27 0 if ($key eq 'event' and defined $value)
683 0 43 if (exists $parse->{'lexeme_default_adverbs'})
694 43 6 if ($key eq 'action')
698 6 0 if ($key eq 'bless')
714 0 9 if (exists $parse->{'defaults'}{'if_inaccessible'})
735 760 680 $op_declare->op eq '::=' ? :
739 760 680 if $subgrammar eq 'g1'
758 1419 19 if ($priority_count <= 1)
772 0 1693 unless ($eval_ok)
785 0 1693 if (substr($subgrammar, 0, 1) eq 'l' and grep {not $_;} @mask)
793 274 1419 $alternative_ix ? :
274 1419 $alternative_ix ? :
810 204 111 if ($key eq 'action')
814 0 111 if ($key eq 'assoc')
819 48 63 if ($key eq 'bless')
823 10 53 if ($key eq 'name')
827 2 51 if ($key eq 'null_ranking')
831 51 0 if ($key eq 'rank')
842 538 1155 if (defined $action)
843 0 538 if substr($subgrammar, 0, 1) eq 'l'
850 51 1642 if (defined $rank)
851 0 51 if substr($subgrammar, 0, 1) eq 'l'
858 2 1691 if (defined $null_ranking)
859 0 2 if substr($subgrammar, 0, 1) eq 'l'
866 0 1693 if (defined $blessing and substr($subgrammar, 0, 1) eq 'l')
899 0 105 unless ($eval_ok)
916 19 0 if $subgrammar eq 'g1'
957 0 105 if (substr($subgrammar, 0, 1) eq 'l' and grep {not $_;} @mask)
981 29 69 if ($key eq 'action')
985 19 50 if ($key eq 'assoc')
989 50 0 if ($key eq 'bless')
993 0 0 if ($key eq 'name')
997 0 0 if ($key eq 'null_ranking')
1001 0 0 if ($key eq 'rank')
1013 99 6 if (defined $action)
1014 0 99 if substr($subgrammar, 0, 1) eq 'l'
1021 0 105 if (defined $null_ranking)
1022 0 0 if substr($subgrammar, 0, 1) eq 'l'
1029 0 105 if (defined $rank)
1030 0 0 if substr($subgrammar, 0, 1) eq 'l'
1037 0 105 if (defined $blessing and substr($subgrammar, 0, 1) eq 'l')
1054 36 69 if $next_priority >= $priority_count
1059 28 77 unless (scalar @arity)
1067 15 62 if (scalar @arity == 1)
1068 0 15 if $rhs_length == 1
1072 58 19 if ($assoc eq 'L')
1079 9 10 if ($assoc eq 'R')
1086 10 0 if ($assoc eq 'G')
1109 95 1 $op_declare->op eq '::=' ? :
1112 95 1 if $subgrammar eq 'g1'
1140 30 0 if ($key eq 'action')
1144 0 0 if ($key eq 'bless')
1148 0 0 if ($key eq 'name')
1152 0 0 if ($key eq 'null_ranking')
1156 0 0 if ($key eq 'rank')
1166 64 31 if (defined $action)
1167 0 64 if substr($subgrammar, 0, 1) eq 'l'
1174 0 95 if (defined $null_ranking)
1175 0 0 if substr($subgrammar, 0, 1) eq 'l'
1182 0 95 if (defined $rank)
1183 0 0 if substr($subgrammar, 0, 1) eq 'l'
1190 0 95 if (defined $blessing and substr($subgrammar, 0, 1) eq 'l')
1214 0 89 if (defined $declarations)
1226 0 143 if ($key eq 'action')
1230 0 143 if ($key eq 'blessing')
1234 19 124 if ($key eq 'eager')
1235 18 1 if $raw_value
1238 61 63 if ($key eq 'event')
1242 61 2 if ($key eq 'pause')
1243 12 49 if ($raw_value eq 'before')
1247 49 0 if ($raw_value eq 'after')
1256 2 0 if ($key eq 'priority')
1265 0 89 if (exists $declarations{'event'} and not exists $declarations{'pause'})
1273 0 89 if (exists $declarations{'pause'} and not exists $declarations{'event'})
1317 0 114 if (defined $parse->{'start_lhs'})
1352 2 51 if ($key eq 'eager')
1353 2 0 if $value
1356 51 0 if ($key eq 'event')
1365 2 194 if ($eager)
1377 51 145 if defined $event
1390 94 224 $op_declare->op eq '::=' ? :
1393 94 224 if $subgrammar eq 'g1'
1409 241 77 $quantifier_string eq '+' ? :
1426 44 27 if ($key eq 'action')
1430 4 23 if ($key eq 'bless')
1434 0 23 if ($key eq 'name')
1438 4 19 if ($key eq 'proper')
1442 0 19 if ($key eq 'rank')
1446 0 19 if ($key eq 'null_ranking')
1450 19 0 if ($key eq 'separator')
1462 19 299 if defined $separator
1464 4 314 if defined $proper
1467 79 239 if (defined $action)
1468 0 79 if substr($subgrammar, 0, 1) eq 'l'
1475 0 318 if (defined $null_ranking)
1476 0 0 if substr($subgrammar, 0, 1) eq 'l'
1483 0 318 if (defined $rank)
1484 0 0 if substr($subgrammar, 0, 1) eq 'l'
1491 0 318 if (defined $blessing and substr($subgrammar, 0, 1) eq 'l')
1498 19 299 if defined $separator
1514 0 60 if (defined $completion_events->{$symbol_name})
1532 0 46 if (defined $nulled_events->{$symbol_name})
1551 0 55 if (defined $prediction_events->{$symbol_name})
1577 0 0 unless ($alternative)
1657 1883 821 unless defined $adverb_list_items
1693 430 17 if (substr($subgrammar, 0, 1) eq 'l')
1734 331 506 $subgrammar eq 'g1' ? :
1749 506 331 if $Marpa::R3::Internal::SUBGRAMMAR ne 'g1'
1751 276 55 unless (defined $lexical_lhs)
1790 2552 36 unless $raw_flag_string
1794 8 36 unless $raw_flag
1795 34 2 if ($raw_flag eq 'i')
1799 2 0 if ($raw_flag eq 'ic')
1829 1751 0 unless (defined $symbol)
1852 1904 4577 $subgrammar eq 'g1' ? :
1872 341 0 $Marpa::R3::Internal::SUBGRAMMAR eq 'g1' ? :
1873 271 70 if defined $current_symbol_data
1895 53 143 if defined $current_symbol_data
1922 1456 2415 if $xsy_data
1939 3 177 if ($earlier_xrl and $earlier_xrl->{'precedence_count'} > 1 || $new_xrl->{'precedence_count'} > 1)
1968 2 1 $self->{'xrl1'}{'precedence_count'} > 1 ? :
1981 2 1 $self->{'xrl2'}{'precedence_count'} > 1 ? :
2006 2 4230 if (exists $hash_by_xprid->{$rule_id})
2036 5757 28083 if defined $args->{$field}
2079 0 452 if scalar @{$names;} != 1