line |
true |
false |
branch |
110
|
0 |
675 |
unless ($ref_type) |
115
|
0 |
675 |
if ($ref_type ne "HASH") |
143
|
0 |
675 |
if (my(@bad_options) = grep({not exists $grammar_options->{$_};} keys %{$args;})) |
156
|
542 |
133 |
if (defined(my $value = $args->{'_internal_'})) |
160
|
276 |
399 |
if (defined(my $value = $args->{'trace_file_handle'})) |
166
|
0 |
675 |
if (defined(my $value = $args->{'default_rank'})) |
167
|
0 |
0 |
if $grammar_c->is_precomputed |
176
|
544 |
131 |
if (defined(my $value = $args->{'symbols'})) |
177
|
0 |
544 |
if $grammar_c->is_precomputed |
180
|
0 |
544 |
if ref $value ne "HASH" |
188
|
61 |
614 |
if (defined(my $value = $args->{'terminals'})) |
189
|
0 |
61 |
if $grammar_c->is_precomputed |
192
|
0 |
61 |
if ref $value ne "ARRAY" |
199
|
639 |
36 |
if (defined(my $value = $args->{'start'})) |
200
|
0 |
639 |
if $grammar_c->is_precomputed |
209
|
3 |
672 |
if (defined(my $value = $args->{'source'})) |
210
|
0 |
3 |
if $grammar_c->is_precomputed |
213
|
0 |
3 |
if ref $value ne "SCALAR" |
219
|
639 |
36 |
if (defined(my $value = $args->{'rules'})) |
220
|
0 |
639 |
if $grammar_c->is_precomputed |
227
|
0 |
638 |
if (ref $value eq "ARRAY" and scalar @{$value;} == 1 and not ref $value->[0]) |
233
|
1 |
638 |
unless (ref $value) |
236
|
0 |
639 |
if (defined $deprecated_source and defined $stuifzand_source) |
242
|
1 |
638 |
if (defined $deprecated_source) |
247
|
0 |
638 |
if ref $value ne "ARRAY" |
251
|
0 |
638 |
if $grammar->[10] ne "standard" |
261
|
4 |
665 |
if (defined $stuifzand_source) |
264
|
0 |
4 |
if $grammar->[10] ne "stuifzand" |
278
|
9 |
660 |
if (exists $args->{'default_empty_action'}) |
284
|
17 |
652 |
if (defined(my $value = $args->{'actions'})) |
288
|
110 |
559 |
if (defined(my $value = $args->{'bless_package'})) |
292
|
4 |
665 |
if (defined(my $value = $args->{'action_object'})) |
296
|
57 |
612 |
if (defined(my $value = $args->{'default_action'})) |
300
|
9 |
660 |
if (defined(my $value = $args->{'infinite_action'})) |
301
|
0 |
9 |
if ($value and $grammar_c->is_precomputed) |
302
|
0 |
0 |
unless say {$trace_fh;} "\"infinite_action\" option is useless after grammar is precomputed" |
310
|
0 |
9 |
unless exists $allowed_values->{$value} |
315
|
8 |
661 |
if (defined(my $value = $args->{'warnings'})) |
316
|
0 |
8 |
if ($value and $grammar_c->is_precomputed) |
317
|
0 |
0 |
unless say {$trace_fh;} "\"warnings\" option is useless after grammar is precomputed" |
324
|
0 |
669 |
if (defined(my $value = $args->{'inaccessible_ok'})) |
325
|
0 |
0 |
if ($value and $grammar_c->is_precomputed) |
326
|
0 |
0 |
unless say {$trace_fh;} "\"inaccessible_ok\" option is useless after grammar is precomputed" |
333
|
0 |
0 |
if ($ref_value eq "") |
337
|
0 |
0 |
if ($ref_value eq "ARRAY") |
349
|
0 |
669 |
if (defined(my $value = $args->{'unproductive_ok'})) |
350
|
0 |
0 |
if ($value and $grammar_c->is_precomputed) |
351
|
0 |
0 |
unless say {$trace_fh;} "\"unproductive_ok\" option is useless after grammar is precomputed" |
357
|
0 |
0 |
if ($ref_value eq "") |
361
|
0 |
0 |
if ($ref_value eq "ARRAY") |
380
|
0 |
0 |
if (length $final_character != 1) |
384
|
0 |
0 |
if ($final_character eq "]") |
385
|
0 |
0 |
if $boolean |
390
|
0 |
0 |
unless (exists $DEFAULT_SYMBOLS_RESERVED{$final_character}) |
396
|
0 |
0 |
$boolean ? : |
408
|
0 |
98 |
if ($problems) |
416
|
0 |
98 |
if $grammar_c->is_precomputed |
426
|
12 |
85 |
if ($precompute_result < 0) |
428
|
0 |
12 |
unless (defined $precompute_error_code) |
434
|
0 |
12 |
if $precompute_error_code == $Marpa::R2::Error::PRECOMPUTED |
439
|
8 |
4 |
if $precompute_error_code == $Marpa::R2::Error::GRAMMAR_HAS_CYCLE |
444
|
4 |
93 |
if ($precompute_error_code != $Marpa::R2::Error::NONE) |
448
|
0 |
4 |
if ($precompute_error_code == $Marpa::R2::Error::NO_RULES) |
452
|
1 |
3 |
if ($precompute_error_code == $Marpa::R2::Error::NULLING_TERMINAL) |
458
|
1 |
0 |
if ($event_type eq "MARPA_EVENT_NULLING_TERMINAL") |
468
|
1 |
2 |
if ($precompute_error_code == $Marpa::R2::Error::COUNTED_NULLABLE) |
474
|
1 |
0 |
if ($event_type eq "MARPA_EVENT_COUNTED_NULLABLE") |
488
|
0 |
2 |
if ($precompute_error_code == $Marpa::R2::Error::NO_START_SYMBOL) |
491
|
1 |
1 |
if ($precompute_error_code == $Marpa::R2::Error::START_NOT_LHS) |
496
|
1 |
0 |
if ($precompute_error_code == $Marpa::R2::Error::UNPRODUCTIVE_START) |
511
|
1638 |
0 |
if defined $rules->[$rule_id] |
532
|
0 |
8 |
if ($event_type ne "MARPA_EVENT_LOOP_RULES") |
541
|
6 |
87 |
if ($loop_rule_count and $infinite_action ne "quiet") |
545
|
0 |
16 |
unless print {$trace_fh;} "Cycle found involving rule: ", $grammar->brief_rule($rule_id), "\n" |
550
|
0 |
6 |
if $infinite_action eq "fatal" |
557
|
92 |
1 |
if ($grammar->[9] and ref(my $ok = $grammar->[19]) eq "HASH") |
574
|
2 |
2 |
if $symbol =~ /\]/msx |
575
|
0 |
2 |
if $ok->{$symbol} |
576
|
0 |
2 |
unless say {$trace_fh;} "Inaccessible symbol: $symbol" |
584
|
92 |
1 |
if ($grammar->[9] and ref(my $ok = $grammar->[20]) eq "HASH") |
601
|
0 |
0 |
if $symbol =~ /\]/msx |
602
|
0 |
0 |
if $ok->{$symbol} |
603
|
0 |
0 |
unless say {$trace_fh;} "Unproductive symbol: $symbol" |
609
|
0 |
93 |
if $grammar->[12] |
627
|
0 |
534 |
if ($problems) |
635
|
0 |
534 |
if $grammar_c->is_precomputed |
636
|
0 |
534 |
if ($grammar_c->force_valued < 0) |
648
|
2 |
532 |
if ($precompute_result < 0) |
650
|
0 |
2 |
unless (defined $precompute_error_code) |
656
|
0 |
2 |
if $precompute_error_code == $Marpa::R2::Error::PRECOMPUTED |
661
|
0 |
2 |
if $precompute_error_code == $Marpa::R2::Error::GRAMMAR_HAS_CYCLE |
666
|
2 |
532 |
if ($precompute_error_code != $Marpa::R2::Error::NONE) |
670
|
0 |
2 |
if ($precompute_error_code == $Marpa::R2::Error::NO_RULES) |
674
|
0 |
2 |
if ($precompute_error_code == $Marpa::R2::Error::NULLING_TERMINAL) |
680
|
0 |
0 |
if ($event_type eq "MARPA_EVENT_NULLING_TERMINAL") |
690
|
1 |
1 |
if ($precompute_error_code == $Marpa::R2::Error::COUNTED_NULLABLE) |
696
|
1 |
0 |
if ($event_type eq "MARPA_EVENT_COUNTED_NULLABLE") |
710
|
0 |
1 |
if ($precompute_error_code == $Marpa::R2::Error::NO_START_SYMBOL) |
713
|
0 |
1 |
if ($precompute_error_code == $Marpa::R2::Error::START_NOT_LHS) |
719
|
1 |
0 |
if $precompute_error_code == $Marpa::R2::Error::UNPRODUCTIVE_START |
732
|
29967 |
0 |
if defined $rules->[$rule_id] |
753
|
0 |
0 |
if ($event_type ne "MARPA_EVENT_LOOP_RULES") |
762
|
0 |
532 |
if ($loop_rule_count and $infinite_action ne "quiet") |
766
|
0 |
0 |
unless print {$trace_fh;} "Cycle found involving rule: ", $grammar->brief_rule($rule_id), "\n" |
771
|
0 |
0 |
if $infinite_action eq "fatal" |
792
|
0 |
7 |
if $symbol_name =~ /\]/msx |
796
|
5 |
2 |
if $treatment eq "ok" |
798
|
2 |
0 |
if $treatment eq "fatal" |
799
|
0 |
0 |
unless say {$trace_fh;} $message |
806
|
530 |
0 |
if ($grammar->[9] and ref(my $ok = $grammar->[20]) eq "HASH") |
823
|
0 |
0 |
if $symbol =~ /\]/msx |
824
|
0 |
0 |
if $ok->{$symbol} |
825
|
0 |
0 |
unless say {$trace_fh;} "Unproductive symbol: $symbol" |
831
|
0 |
530 |
if (defined $cc_hash) |
853
|
0 |
1 |
if ($problems) |
886
|
0 |
3902 |
unless defined $symbol |
888
|
820 |
3082 |
if defined $text |
891
|
91 |
2991 |
$text =~ /\s/msx ? : |
904
|
0 |
75 |
unless $grammar_c->symbol_is_productive($symbol_id) |
906
|
0 |
75 |
unless $grammar_c->symbol_is_accessible($symbol_id) |
908
|
2 |
73 |
if $grammar_c->symbol_is_nulling($symbol_id) |
909
|
33 |
42 |
if $grammar_c->symbol_is_terminal($symbol_id) |
911
|
35 |
40 |
if scalar @tag_list |
983
|
0 |
659 |
unless defined $rule |
985
|
658 |
1 |
if defined $name |
1005
|
1 |
2 |
$minimum <= 0 ? : |
|
3 |
128 |
defined $minimum ? : |
1016
|
16 |
71 |
if $grammar_c->rule_length($rule_id) == 0 |
1017
|
18 |
69 |
unless $grammar->rule_is_used($rule_id) |
1018
|
0 |
87 |
unless $grammar_c->rule_is_productive($rule_id) |
1019
|
0 |
87 |
unless $grammar_c->rule_is_accessible($rule_id) |
1020
|
2 |
85 |
if $rule->[2] |
1025
|
20 |
67 |
if (@comment) |
1103
|
1 |
30 |
if (defined $minimum) |
1104
|
0 |
1 |
$minimum <= 0 ? : |
1107
|
0 |
31 |
if $dot_position < 0 |
1115
|
0 |
1 |
unless defined $name |
1120
|
0 |
1 |
unless defined $symbol_id |
1123
|
0 |
1 |
$grammar_c->symbol_is_terminal($symbol_id) ? : |
1130
|
172690 |
0 |
defined $symbol_name ? : |
1156
|
87254 |
31031 |
if (defined $symbol_id) |
1164
|
0 |
55774 |
if ($property eq "semantics") |
1169
|
0 |
55774 |
if ($property eq "bless") |
1174
|
103 |
55671 |
if ($property eq "terminal") |
1179
|
0 |
55671 |
if ($property eq "rank") |
1181
|
0 |
0 |
if not &Scalar::Util::looks_like_number($value) or int $value != $value |
1187
|
18780 |
36891 |
if ($property eq "description") |
1192
|
18051 |
18840 |
if ($property eq "dsl_form") |
1197
|
60 |
18780 |
if ($property eq "legacy_name") |
1202
|
18780 |
0 |
if ($property eq "display_form") |
1207
|
0 |
0 |
if ($property eq "if_inaccessible") |
1225
|
0 |
23908 |
if (my $type = ref $name) |
1229
|
5128 |
18780 |
unless ($grammar->[11]) |
1231
|
0 |
5128 |
if ($DEFAULT_SYMBOLS_RESERVED{$final_symbol}) |
1252
|
31382 |
219 |
if ($ref_rule eq "HASH") |
1256
|
219 |
0 |
if ($ref_rule eq "ARRAY") |
1259
|
0 |
219 |
if ($arg_count > 4 or $arg_count < 1) |
1263
|
0 |
0 |
defined $_ ? : |
1297
|
0 |
31661 |
unless defined $grammar and defined $options |
1319
|
10222 |
130726 |
if ($option eq "name") |
1320
|
12463 |
118263 |
if ($option eq "tag") |
1321
|
31657 |
86606 |
if ($option eq "rhs") |
1322
|
31661 |
54945 |
if ($option eq "lhs") |
1323
|
9840 |
45105 |
if ($option eq "action") |
1324
|
8275 |
36830 |
if ($option eq "bless") |
1325
|
64 |
36766 |
if ($option eq "rank") |
1326
|
4 |
36762 |
if ($option eq "null_ranking") |
1330
|
1735 |
35027 |
if ($option eq "min") |
1331
|
328 |
34699 |
if ($option eq "separator") |
1335
|
232 |
34467 |
if ($option eq "proper") |
1339
|
15 |
34452 |
if ($option eq "keep") |
1340
|
19423 |
15029 |
if ($option eq "mask") |
1341
|
15029 |
0 |
if ($option eq "description") |
1345
|
0 |
31661 |
if (defined $min and not &Scalar::Util::looks_like_number($min)) |
1355
|
30079 |
1582 |
$grammar_is_internal ? : |
1364
|
0 |
31661 |
if (not $rhs_ref_type or $rhs_ref_type ne "ARRAY") |
1365
|
0 |
0 |
$rhs_ref_type ? : |
1373
|
0 |
31661 |
unless (defined $lhs_name) |
1377
|
0 |
64 |
if (defined $rank and !&Scalar::Util::looks_like_number($rank) || int $rank != $rank) |
1387
|
0 |
31661 |
if ($null_ranking ne "high" and $null_ranking ne "low") |
1392
|
0 |
31661 |
if (scalar @rule_problems) |
1410
|
63985 |
3396 |
$grammar_is_internal ? : |
1418
|
0 |
31661 |
if (defined $separator_name and $is_ordinary_rule) |
1419
|
0 |
0 |
if (defined $separator_name) |
1431
|
29926 |
1735 |
if ($is_ordinary_rule) { } |
1441
|
0 |
1735 |
if scalar @{$rhs_names;} != 1 |
1444
|
328 |
1407 |
if (defined $separator_name) |
1445
|
313 |
15 |
$grammar_is_internal ? : |
1470
|
6 |
31655 |
if (not defined $base_rule_id or $base_rule_id < 0) |
1474
|
3 |
3 |
$error_code == $Marpa::R2::Error::DUPLICATE_RULE ? : |
1483
|
29920 |
1735 |
if ($is_ordinary_rule) |
1486
|
10500 |
19420 |
unless (defined $mask and $grammar_is_internal) |
1496
|
2 |
31653 |
$null_ranking eq 'high' ? : |
1500
|
9781 |
21874 |
if (defined $rule_name) |
1503
|
12463 |
19192 |
if (defined $slif_tag) |
1507
|
0 |
12463 |
if ($rule_id_by_tag->{$slif_tag}) |
1513
|
8275 |
23380 |
if (defined $blessing) |
1516
|
15028 |
16627 |
if (defined $description) |
1527
|
1 |
5 |
if $lhs_name =~ / / |
1528
|
1 |
5 |
/ / ? : |
1542
|
0 |
632 |
if (defined $named_arg_start_name and defined $start_id) |
1548
|
629 |
3 |
if (defined $named_arg_start_name) |
1550
|
0 |
629 |
unless defined $start_id |
1555
|
2 |
1 |
if (defined $default_start_id) |
1564
|
0 |
631 |
unless (defined $grammar_c->start_symbol_set($start_id)) |
1588
|
10 |
27 |
if $grammar_c->_marpa_g_nsy_is_nulling($isy_id) |
1591
|
10 |
27 |
if scalar @tag_list |
1614
|
58 |
0 |
if (my $rh_length = $grammar_c->_marpa_g_irl_length($irl_id)) |