Branch Coverage

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


line true false branch
33 2 290 unless eval { do { $meta_recce->read($p_rules_source) } }
38 1 289 if ($ambiguity_level != 1)
44 0 289 unless defined $value_ref
69 5024 2286 if $wsym
114 5 284 unless $eval_ok
120 0 284 unless defined $start_lhs
147 5 279 unless (%{$hashed_ast->{'xpr'}{'l0'};})
185 0 284 unless defined $target_lhs
213 0 1796 if $separator
222 19 1520 if $separator
231 276 905 if $lexeme eq '[:lex_start:]'
233 745 160 if ($lexeme ne '[:discard:]')
234 2 743 unless ($l0_lhs{$lexeme})
241 2 741 if ($l0_rhs{$lexeme})
248 2 739 if ($g1_lhs{$lexeme})
255 2 737 if (not $g1_rhs{$lexeme} and $lexeme ne '[:lex_start:]')
313 0 937 if exists $self->{$key}
322 0 2225 if substr($Marpa::R3::Internal::SUBGRAMMAR, 0, 1) eq 'l0'
327 2095 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 1808 unless ($rhs)
597 195 105 unless defined $is_activated
599 22 83 $on_or_off eq 'on' ? :
625 139 0 $op_declare->op eq '::=' ? :
634 139 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 44 if (exists $parse->{'lexeme_default_adverbs'})
694 44 6 if ($key eq 'action')
698 6 0 if ($key eq 'bless')
714 0 9 if (exists $parse->{'defaults'}{'if_inaccessible'})
735 765 683 $op_declare->op eq '::=' ? :
739 765 683 if $subgrammar eq 'g1'
758 1427 19 if ($priority_count <= 1)
772 0 1703 unless ($eval_ok)
785 0 1703 if (substr($subgrammar, 0, 1) eq 'l' and grep {not $_;} @mask)
793 276 1427 $alternative_ix ? :
276 1427 $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 545 1158 if (defined $action)
843 0 545 if substr($subgrammar, 0, 1) eq 'l'
850 51 1652 if (defined $rank)
851 0 51 if substr($subgrammar, 0, 1) eq 'l'
858 2 1701 if (defined $null_ranking)
859 0 2 if substr($subgrammar, 0, 1) eq 'l'
866 0 1703 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 195 if ($eager)
1377 51 146 if defined $event
1390 96 226 $op_declare->op eq '::=' ? :
1393 96 226 if $subgrammar eq 'g1'
1409 245 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 303 if defined $separator
1464 4 318 if defined $proper
1467 81 241 if (defined $action)
1468 0 81 if substr($subgrammar, 0, 1) eq 'l'
1475 0 322 if (defined $null_ranking)
1476 0 0 if substr($subgrammar, 0, 1) eq 'l'
1483 0 322 if (defined $rank)
1484 0 0 if substr($subgrammar, 0, 1) eq 'l'
1491 0 322 if (defined $blessing and substr($subgrammar, 0, 1) eq 'l')
1498 19 303 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 1898 823 unless defined $adverb_list_items
1693 433 17 if (substr($subgrammar, 0, 1) eq 'l')
1734 335 507 $subgrammar eq 'g1' ? :
1749 507 335 if $Marpa::R3::Internal::SUBGRAMMAR ne 'g1'
1751 279 56 unless (defined $lexical_lhs)
1790 2565 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 1759 0 unless (defined $symbol)
1852 1916 4602 $subgrammar eq 'g1' ? :
1872 341 0 $Marpa::R3::Internal::SUBGRAMMAR eq 'g1' ? :
1873 271 70 if defined $current_symbol_data
1895 53 144 if defined $current_symbol_data
1922 1464 2431 if $xsy_data
1939 3 178 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 4256 if (exists $hash_by_xprid->{$rule_id})
2036 5797 28251 if defined $args->{$field}
2079 0 455 if scalar @{$names;} != 1