Branch Coverage

blib/lib/Marpa/R3/MetaAST.pm
Criterion Covered Total %
branch 214 306 69.9


line true false branch
33 2 286 unless eval { do { $meta_recce->read($p_rules_source) } }
38 1 285 if ($ambiguity_level != 1)
44 0 285 unless defined $value_ref
69 4979 1978 if $wsym
114 5 280 unless $eval_ok
120 0 280 unless defined $start_lhs
147 5 275 unless (%{$hashed_ast->{'xpr'}{'l0'};})
188 0 1494 if $separator
197 19 1504 if $separator
207 737 156 if ($lexeme ne '[:discard:]')
208 2 735 unless ($l0_lhs{$lexeme})
215 2 733 if ($l0_rhs{$lexeme})
222 2 731 if ($g1_lhs{$lexeme})
229 2 729 unless ($g1_rhs{$lexeme})
285 0 932 if exists $self->{$key}
294 0 2202 if substr($Marpa::R3::Internal::SUBGRAMMAR, 0, 1) eq 'l0'
299 2072 130 unless defined $blessing
301 102 28 if $blessing =~ /\A [\w] /msx
302 0 28 if $blessing eq '::undef'
305 28 0 if ($blessing eq '::lhs')
307 0 28 if ($blessing =~ / [^ [:alnum:]] /msx)
450 0 1792 unless ($rhs)
569 195 105 unless defined $is_activated
571 22 83 $on_or_off eq 'on' ? :
597 135 0 $op_declare->op eq '::=' ? :
606 135 11 if ($key eq 'action' and $subgrammar eq 'g1')
610 11 0 if ($key eq 'bless' and $subgrammar eq 'g1')
627 0 27 if (exists $parse->{'discard_default_adverbs'})
638 27 0 if ($key eq 'event' and defined $value)
655 0 43 if (exists $parse->{'lexeme_default_adverbs'})
666 43 6 if ($key eq 'action')
670 6 0 if ($key eq 'bless')
686 0 9 if (exists $parse->{'defaults'}{'if_inaccessible'})
707 760 674 $op_declare->op eq '::=' ? :
711 760 674 if $subgrammar eq 'g1'
730 1413 19 if ($priority_count <= 1)
744 0 1687 unless ($eval_ok)
757 0 1687 if (substr($subgrammar, 0, 1) eq 'l' and grep {not $_;} @mask)
765 274 1413 $alternative_ix ? :
274 1413 $alternative_ix ? :
782 204 111 if ($key eq 'action')
786 0 111 if ($key eq 'assoc')
791 48 63 if ($key eq 'bless')
795 10 53 if ($key eq 'name')
799 2 51 if ($key eq 'null_ranking')
803 51 0 if ($key eq 'rank')
814 538 1149 if (defined $action)
815 0 538 if substr($subgrammar, 0, 1) eq 'l'
822 51 1636 if (defined $rank)
823 0 51 if substr($subgrammar, 0, 1) eq 'l'
830 2 1685 if (defined $null_ranking)
831 0 2 if substr($subgrammar, 0, 1) eq 'l'
838 0 1687 if (defined $blessing and substr($subgrammar, 0, 1) eq 'l')
871 0 105 unless ($eval_ok)
888 19 0 if $subgrammar eq 'g1'
929 0 105 if (substr($subgrammar, 0, 1) eq 'l' and grep {not $_;} @mask)
953 29 69 if ($key eq 'action')
957 19 50 if ($key eq 'assoc')
961 50 0 if ($key eq 'bless')
965 0 0 if ($key eq 'name')
969 0 0 if ($key eq 'null_ranking')
973 0 0 if ($key eq 'rank')
985 99 6 if (defined $action)
986 0 99 if substr($subgrammar, 0, 1) eq 'l'
993 0 105 if (defined $null_ranking)
994 0 0 if substr($subgrammar, 0, 1) eq 'l'
1001 0 105 if (defined $rank)
1002 0 0 if substr($subgrammar, 0, 1) eq 'l'
1009 0 105 if (defined $blessing and substr($subgrammar, 0, 1) eq 'l')
1026 36 69 if $next_priority >= $priority_count
1031 28 77 unless (scalar @arity)
1039 15 62 if (scalar @arity == 1)
1040 0 15 if $rhs_length == 1
1044 58 19 if ($assoc eq 'L')
1051 9 10 if ($assoc eq 'R')
1058 10 0 if ($assoc eq 'G')
1081 95 1 $op_declare->op eq '::=' ? :
1084 95 1 if $subgrammar eq 'g1'
1112 30 0 if ($key eq 'action')
1116 0 0 if ($key eq 'bless')
1120 0 0 if ($key eq 'name')
1124 0 0 if ($key eq 'null_ranking')
1128 0 0 if ($key eq 'rank')
1138 64 31 if (defined $action)
1139 0 64 if substr($subgrammar, 0, 1) eq 'l'
1146 0 95 if (defined $null_ranking)
1147 0 0 if substr($subgrammar, 0, 1) eq 'l'
1154 0 95 if (defined $rank)
1155 0 0 if substr($subgrammar, 0, 1) eq 'l'
1162 0 95 if (defined $blessing and substr($subgrammar, 0, 1) eq 'l')
1186 0 89 if (defined $declarations)
1198 0 143 if ($key eq 'action')
1202 0 143 if ($key eq 'blessing')
1206 19 124 if ($key eq 'eager')
1207 18 1 if $raw_value
1210 61 63 if ($key eq 'event')
1214 61 2 if ($key eq 'pause')
1215 12 49 if ($raw_value eq 'before')
1219 49 0 if ($raw_value eq 'after')
1228 2 0 if ($key eq 'priority')
1237 0 89 if (exists $declarations{'event'} and not exists $declarations{'pause'})
1245 0 89 if (exists $declarations{'pause'} and not exists $declarations{'event'})
1289 0 114 if (defined $parse->{'start_lhs'})
1324 2 51 if ($key eq 'eager')
1325 2 0 if $value
1328 51 0 if ($key eq 'event')
1337 2 191 if ($eager)
1349 51 142 if defined $event
1362 91 224 $op_declare->op eq '::=' ? :
1365 91 224 if $subgrammar eq 'g1'
1381 238 77 $quantifier_string eq '+' ? :
1398 44 27 if ($key eq 'action')
1402 4 23 if ($key eq 'bless')
1406 0 23 if ($key eq 'name')
1410 4 19 if ($key eq 'proper')
1414 0 19 if ($key eq 'rank')
1418 0 19 if ($key eq 'null_ranking')
1422 19 0 if ($key eq 'separator')
1434 19 296 if defined $separator
1436 4 311 if defined $proper
1439 76 239 if (defined $action)
1440 0 76 if substr($subgrammar, 0, 1) eq 'l'
1447 0 315 if (defined $null_ranking)
1448 0 0 if substr($subgrammar, 0, 1) eq 'l'
1455 0 315 if (defined $rank)
1456 0 0 if substr($subgrammar, 0, 1) eq 'l'
1463 0 315 if (defined $blessing and substr($subgrammar, 0, 1) eq 'l')
1470 19 296 if defined $separator
1486 0 60 if (defined $completion_events->{$symbol_name})
1504 0 46 if (defined $nulled_events->{$symbol_name})
1523 0 55 if (defined $prediction_events->{$symbol_name})
1549 0 0 unless ($alternative)
1629 1871 818 unless defined $adverb_list_items
1665 424 17 if (substr($subgrammar, 0, 1) eq 'l')
1706 331 506 $subgrammar eq 'g1' ? :
1721 506 331 if $Marpa::R3::Internal::SUBGRAMMAR ne 'g1'
1723 276 55 unless (defined $lexical_lhs)
1762 2546 36 unless $raw_flag_string
1766 8 36 unless $raw_flag
1767 34 2 if ($raw_flag eq 'i')
1771 2 0 if ($raw_flag eq 'ic')
1801 1745 0 unless (defined $symbol)
1824 1895 3990 $subgrammar eq 'g1' ? :
1844 341 0 $Marpa::R3::Internal::SUBGRAMMAR eq 'g1' ? :
1845 271 70 if defined $current_symbol_data
1867 50 143 if defined $current_symbol_data
1894 1175 2392 if $xsy_data
1911 3 177 if ($earlier_xrl and $earlier_xrl->{'precedence_count'} > 1 || $new_xrl->{'precedence_count'} > 1)
1940 2 1 $self->{'xrl1'}{'precedence_count'} > 1 ? :
1953 2 1 $self->{'xrl2'}{'precedence_count'} > 1 ? :
1978 2 3926 if (exists $hash_by_xprid->{$rule_id})
2008 5444 25964 if defined $args->{$field}
2051 0 446 if scalar @{$names;} != 1