| line |
true |
false |
branch |
|
37
|
0 |
0 |
unless defined $rank_ref |
|
38
|
0 |
0 |
if $rank_ref == -1 |
|
54
|
1001 |
28833 |
unless defined $closure_name |
|
56
|
0 |
28833 |
if ($closure_name eq "") |
|
57
|
0 |
0 |
if defined $p_error |
|
62
|
16 |
28817 |
if $closure_name eq "::undef" |
|
63
|
24397 |
4420 |
if (substr($closure_name, 0, 2) eq "::" or substr($closure_name, 0, 1) eq "[") |
|
69
|
2994 |
1426 |
if (my $closure = $closures->{$closure_name}) |
|
70
|
0 |
2994 |
if ($trace_actions) |
|
71
|
0 |
0 |
unless print {$Marpa::R2::Internal::TRACE_FH;} qq[Resolved "$closure_name" to explicit closure\n] |
|
80
|
762 |
664 |
if ($closure_name =~ /([:][:])|[']/msx) |
|
84
|
664 |
762 |
unless ($fully_qualified_name) |
|
87
|
0 |
664 |
unless (defined $resolve_package) |
|
109
|
1262 |
164 |
if (defined $closure) |
|
119
|
35 |
129 |
if (defined $closure and defined ${$closure;}) |
|
135
|
1297 |
129 |
if (defined $closure) |
|
136
|
0 |
1297 |
if ($trace_actions) |
|
137
|
0 |
0 |
unless print {$Marpa::R2::Internal::TRACE_FH;} qq[Successful resolution of action "$closure_name" as $type ], "to ", $fully_qualified_name, "\n" |
|
145
|
129 |
0 |
if ($trace_actions or defined $p_error) |
|
148
|
0 |
516 |
if (defined *{$fully_qualified_name;}{$slot}) |
|
152
|
0 |
0 |
if ($trace_actions) |
|
153
|
0 |
0 |
unless print {$Marpa::R2::Internal::TRACE_FH;} $error |
|
157
|
0 |
0 |
if defined $p_error |
|
166
|
129 |
0 |
if defined $p_error |
|
167
|
0 |
129 |
if ($trace_actions) |
|
168
|
0 |
0 |
unless print {$Marpa::R2::Internal::TRACE_FH;} $error |
|
183
|
36940 |
3887 |
unless defined $semantics |
|
194
|
8825 |
22057 |
unless defined $blessing |
|
195
|
8825 |
22057 |
if $blessing eq "::undef" |
|
199
|
0 |
22057 |
unless (defined $bless_package) |
|
215
|
37189 |
3638 |
unless defined $blessing |
|
216
|
0 |
3638 |
if $blessing eq "::undef" |
|
217
|
0 |
3638 |
if ($blessing =~ /\A [:][:] /msx) |
|
224
|
0 |
3638 |
if ($blessing =~ / [:][:] /msx) |
|
229
|
0 |
3638 |
unless (defined $bless_package) |
|
251
|
2 |
2 |
if (scalar @_ == 1 and ref $_[0]) |
|
265
|
0 |
2 |
unless defined $valuator |
|
286
|
10 |
50 |
if ($arg eq "fatal_error") |
|
287
|
10 |
40 |
if ($arg eq "grammar") |
|
288
|
10 |
30 |
if ($arg eq "where") |
|
289
|
10 |
20 |
if ($arg eq "long_where") |
|
290
|
10 |
10 |
if ($arg eq "warnings") |
|
291
|
10 |
0 |
if ($arg eq "eval_ok") |
|
301
|
6 |
4 |
unless $fatal_error_ref_type |
|
302
|
4 |
0 |
if ($fatal_error_ref_type eq $CONTEXT_EXCEPTION_CLASS) |
|
304
|
2 |
2 |
if defined $exception_object |
|
306
|
2 |
0 |
if defined $exception_message |
|
332
|
0 |
6 |
if ($false_eval) |
|
336
|
4 |
2 |
if ($fatal_error) |
|
339
|
2 |
4 |
if ($warnings_count) |
|
344
|
0 |
6 |
unless (scalar @problems) |
|
360
|
4 |
2 |
if ($fatal_error) |
|
383
|
0 |
0 |
if ($op_name eq "bless") |
|
388
|
0 |
0 |
if ($op_name eq "push_constant") |
|
393
|
0 |
0 |
if ($op_name eq "push_one") |
|
398
|
0 |
0 |
if ($op_name eq "result_is_rhs_n") |
|
403
|
0 |
0 |
if ($op_name eq "result_is_n_of_sequence") |
|
408
|
0 |
0 |
if ($op_name eq "result_is_constant") |
|
413
|
0 |
0 |
if ($op_name eq "alternative") |
|
428
|
0 |
1398 |
if $recce->[26] |
|
430
|
218 |
1180 |
if $ordering |
|
441
|
20 |
1160 |
unless ($bocage) |
|
451
|
95 |
1065 |
if ($ranking_method eq "high_rule_only") |
|
455
|
4 |
1061 |
if ($ranking_method eq "rule") |
|
471
|
2408 |
28475 |
unless defined $action_name |
|
475
|
1 |
28474 |
unless ($resolution) |
|
491
|
1 |
0 |
if $Marpa::R2::Context::slr |
|
511
|
80 |
738 |
if (not defined $package_source and defined $per_parse_arg and my $arg_blessing = &Scalar::Util::blessed($per_parse_arg)) |
|
523
|
237 |
923 |
if ($package_source eq "legacy") |
|
532
|
237 |
923 |
$package_source eq 'legacy' ? : |
|
536
|
971 |
189 |
unless defined $constructor_package |
|
542
|
61 |
128 |
if ($resolution) |
|
547
|
128 |
0 |
if $package_source ne "legacy" |
|
560
|
0 |
1160 |
unless $default_action_resolution |
|
568
|
10 |
1150 |
if ($default_empty_action) |
|
572
|
0 |
10 |
unless $default_empty_action_resolution |
|
584
|
13 |
2395 |
if (not defined $rule_resolution and $default_empty_action and $grammar_c->rule_length($rule_id) == 0) |
|
593
|
0 |
30882 |
unless ($rule_resolution) |
|
599
|
0 |
0 |
if defined $action |
|
603
|
0 |
0 |
if defined $recce_error |
|
614
|
22057 |
8825 |
if ($blessing ne "::undef") |
|
615
|
0 |
22057 |
if $semantics eq "::!default" |
|
617
|
94 |
21963 |
if $semantics eq "::array" |
|
619
|
21963 |
0 |
if substr($semantics, 0, 1) eq "[" |
|
634
|
0 |
1159 |
if ($trace_actions >= 2) |
|
638
|
0 |
0 |
unless say {$trace_file_handle;} "Rule ", $grammar->brief_rule($rule_id), qq[ resolves to "$resolution_name"] |
|
650
|
0 |
40827 |
unless (defined $semantics) |
|
663
|
0 |
40827 |
unless (defined $blessing) |
|
715
|
22538 |
7976 |
if ("[" eq substr($semantics, 0, 1) and "]" eq substr($semantics, -1, 1)) |
|
730
|
7976 |
0 |
if $allowed_semantics->{$semantics} |
|
732
|
0 |
0 |
if $semantics =~ / \A rhs \d+ \z /msx |
|
748
|
8577 |
21937 |
if $blessing eq "::undef" |
|
749
|
0 |
21937 |
if ($closure) |
|
751
|
0 |
0 |
if ($ref_type eq "SCALAR") |
|
768
|
94 |
21843 |
if $semantics eq "::array" |
|
769
|
21843 |
0 |
if substr($semantics, 0, 1) eq "[" |
|
790
|
2110 |
28404 |
if $grammar_c->rule_is_nullable($rule_id) |
|
801
|
29032 |
2100 |
unless defined $rule_ids |
|
805
|
0 |
2100 |
if $rule_count <= 0 |
|
808
|
2090 |
10 |
if ($rule_count == 1) |
|
812
|
0 |
2090 |
if ($trace_actions) |
|
814
|
0 |
0 |
unless say {$trace_file_handle;} qq[Nulled symbol "$lhs_name" ], qq[ resolved to "$resolution_name" from rule ], $grammar->brief_rule($resolution_rule) |
|
828
|
9 |
1 |
if (scalar @empty_rules) |
|
832
|
0 |
9 |
if ($trace_actions) |
|
834
|
0 |
0 |
unless say {$trace_file_handle;} qq[Nulled symbol "$lhs_name" ], qq[ resolved to "$resolution_name" from rule ], $grammar->brief_rule($resolution_rule) |
|
857
|
0 |
1 |
if ($first_closure_name ne $other_closure_name or $first_semantics ne $other_semantics or $first_blessing ne $other_blessing) |
|
879
|
0 |
1 |
if ($trace_actions) |
|
881
|
0 |
0 |
unless say {$trace_file_handle;} qq[Nulled symbol "$lhs_name" ], qq[ resolved to "$resolution_name" from rule ], $grammar->brief_rule($resolution_rule) |
|
909
|
0 |
40403 |
unless ($semantics) |
|
913
|
3861 |
36542 |
if (substr($semantics, 0, 1) eq "[") |
|
920
|
0 |
36542 |
unless ($allowed_semantics->{$semantics}) |
|
931
|
0 |
40403 |
unless ($blessing) |
|
935
|
36789 |
3614 |
if $blessing eq "::undef" |
|
937
|
3614 |
0 |
if $blessing =~ /\A [[:alpha:]] [:\w]* \z /msx |
|
979
|
29032 |
2100 |
unless defined $semantic_rule |
|
989
|
1721 |
28793 |
if $semantics eq "::!default" |
|
990
|
4994 |
25520 |
if $semantics eq "::array" |
|
991
|
28 |
30486 |
if $semantics eq "::whatever" |
|
992
|
1214 |
29300 |
if $semantics eq "::first" |
|
1002
|
36542 |
3861 |
if $semantics eq "::!default" |
|
1003
|
0 |
40403 |
if $semantics eq "::array" |
|
1020
|
30514 |
40403 |
if (defined $rule_id) |
|
1033
|
4531 |
66386 |
if (defined $closure and ref $closure eq "CODE") |
|
1039
|
26862 |
39524 |
if (substr($semantics, 0, 1) eq "[") |
|
1049
|
1768 |
69149 |
if ($semantics eq "::undef") |
|
1055
|
40403 |
28746 |
unless defined $rule_id |
|
1057
|
24180 |
4566 |
unless defined $thingy_ref |
|
1059
|
0 |
4566 |
if ($ref_type eq "") |
|
1069
|
4531 |
35 |
if ($ref_type eq "CODE") |
|
1072
|
497 |
4034 |
if defined $nulling_symbol_id and defined $rule_id |
|
1077
|
30 |
5 |
if ($ref_type eq "SCALAR") |
|
1079
|
0 |
30 |
unless (defined $thingy) |
|
1091
|
5 |
0 |
if ($ref_type eq "REF") |
|
1106
|
36542 |
32572 |
if (defined $lexeme_id and $semantics eq "::value") |
|
1112
|
3861 |
28711 |
unless defined $rule_id |
|
1115
|
1214 |
27497 |
if ($semantics =~ /\A [:][:] rhs (\d+) \z/msx) |
|
1119
|
27497 |
1214 |
unless defined $singleton |
|
1122
|
0 |
1214 |
if ($is_discard_sequence_rule) |
|
1127
|
0 |
1214 |
if ($is_sequence_rule) |
|
1134
|
0 |
1214 |
unless (scalar @elements) |
|
1145
|
0 |
1214 |
unless (defined $singleton_element) |
|
1158
|
0 |
31358 |
unless (defined $array_fate) |
|
1166
|
25551 |
5807 |
if ($blessing ne "::undef") |
|
1170
|
0 |
31358 |
if substr($semantics, 0, 1) ne "[" |
|
1180
|
562 |
83835 |
if ($result_descriptor eq "g1start") |
|
1184
|
562 |
83273 |
if ($result_descriptor eq "g1len") |
|
1188
|
4 |
83269 |
if ($result_descriptor eq "g1length") |
|
1192
|
25600 |
57669 |
if ($result_descriptor eq "start") |
|
1196
|
25600 |
32069 |
if ($result_descriptor eq "length") |
|
1201
|
9 |
32060 |
if ($result_descriptor eq "lhs") |
|
1202
|
5 |
4 |
if (defined $rule_id) |
|
1207
|
4 |
0 |
if (defined $lexeme_id) |
|
1215
|
705 |
31355 |
if ($result_descriptor eq "name") |
|
1216
|
654 |
51 |
if (defined $rule_id) |
|
1221
|
51 |
0 |
if (defined $lexeme_id) |
|
1226
|
0 |
0 |
if (defined $nulling_symbol_id) |
|
1235
|
5 |
31350 |
if ($result_descriptor eq "symbol") |
|
1236
|
3 |
2 |
if (defined $rule_id) |
|
1242
|
2 |
0 |
if (defined $lexeme_id) |
|
1247
|
0 |
0 |
if (defined $nulling_symbol_id) |
|
1256
|
5 |
31345 |
if ($result_descriptor eq "rule") |
|
1257
|
3 |
2 |
if (defined $rule_id) |
|
1264
|
31345 |
0 |
if ($result_descriptor eq "values" or $result_descriptor eq "value") |
|
1267
|
3861 |
27484 |
if (defined $lexeme_id) |
|
1271
|
1423 |
26061 |
if ($is_sequence_rule) |
|
1272
|
505 |
918 |
$is_discard_sequence_rule ? : |
|
1280
|
25254 |
807 |
if ($rule_length > 0) |
|
1282
|
34733 |
14498 |
$mask->[$_] ? : |
|
1296
|
30514 |
40403 |
if (defined $rule_id) |
|
1300
|
2100 |
68817 |
if (defined $nulling_symbol_id) |
|
1305
|
40403 |
30514 |
if (defined $lexeme_id) |
|
1312
|
237 |
873 |
unless $Marpa::R2::Context::slr |
|
1322
|
547 |
326 |
unless $grammar_c->symbol_is_nullable($start_symbol_id) |
|
1327
|
326 |
522 |
if ($start_symbol_id == $lhs) |
|
1335
|
326 |
378 |
if ($nulling_symbol_id == $start_rhs_symbol_id) |
|
1373
|
1556 |
2350 |
if (scalar @_ != 1) |
|
1374
|
0 |
1556 |
if ref $slr ne "Marpa::R2::Scanless::R" |
|
1380
|
0 |
3906 |
if ($recce->[5] ne "tree") |
|
1391
|
0 |
3906 |
if $furthest_earleme > $last_completed_earleme |
|
1399
|
2776 |
1130 |
if ($tree) { } |
|
1407
|
662 |
2114 |
if $package_source eq "semantics_package" |
|
1408
|
2114 |
0 |
if ($package_source eq "legacy") |
|
1409
|
0 |
2114 |
if (defined $per_parse_arg) |
|
1420
|
0 |
0 |
unless (defined $per_parse_arg) |
|
1434
|
0 |
0 |
unless (defined $arg_blessing) |
|
1450
|
0 |
0 |
if ($arg_blessing ne $required_blessing) |
|
1464
|
0 |
2776 |
unless ($tree) |
|
1472
|
0 |
2776 |
if ($max_parses and $parse_count > $max_parses) |
|
1482
|
20 |
1110 |
unless $order |
|
1488
|
0 |
3886 |
if ($recce->[17]) |
|
1489
|
0 |
0 |
unless print {$trace_file_handle;} "AND_NODES: ", $recce->show_and_nodes |
|
1493
|
0 |
3886 |
if ($recce->[20]) |
|
1494
|
0 |
0 |
unless print {$trace_file_handle;} "OR_NODES: ", $recce->show_or_nodes |
|
1498
|
0 |
3886 |
if ($recce->[18]) |
|
1499
|
0 |
0 |
unless print {$trace_file_handle;} "BOCAGE: ", $recce->show_bocage |
|
1503
|
105 |
3781 |
unless defined $tree->next |
|
1508
|
1510 |
2271 |
if defined $slr |
|
1512
|
1110 |
2671 |
unless ($recce->[32]) |
|
1519
|
48 |
3732 |
if defined $per_parse_arg |
|
1525
|
3725 |
7 |
unless defined $per_parse_constructor |
|
1528
|
4 |
3 |
if ($recce->[31] eq 'legacy') { } |
|
1554
|
0 |
7 |
if (not $eval_ok or @warnings) |
|
1569
|
1509 |
2271 |
if ($slr) { } |
|
1580
|
4654 |
2271 |
if defined $token_value |
|
1585
|
3 |
3777 |
$trace_values ? : |
|
1601
|
105326 |
0 |
if $trace_values <= 2 |
|
1602
|
0 |
0 |
if ($type eq "nulling") |
|
1603
|
0 |
0 |
unless say {$trace_file_handle;} "Registering semantics for nulling symbol: ", $grammar->symbol_name($id), "\n", " Semantics are ", show_semantics(@raw_ops) |
|
1611
|
0 |
0 |
unless say {$trace_file_handle;} "Registering semantics for ${type}: ", $grammar->symbol_name($id), "\n", " Semantics are ", show_semantics(@raw_ops) |
|
1619
|
27596 |
292180 |
if (ref $raw_op) |
|
1625
|
51926 |
53400 |
if ($type eq "token") |
|
1629
|
7279 |
46121 |
if ($type eq "nulling") |
|
1633
|
46121 |
0 |
if ($type eq "rule") |
|
1646
|
100 |
22714 |
if ($trace_values) |
|
1649
|
100 |
14 |
unless defined $event |
|
1651
|
14 |
0 |
if ($event_type eq "MARPA_STEP_TOKEN") |
|
1659
|
0 |
0 |
unless say {$trace_file_handle;} join(" ", "value event:", map({$_ // "undef";} $event_type, @event_data)) |
|
1663
|
0 |
100 |
if ($trace_values >= 9) |
|
1665
|
0 |
0 |
unless printf {$trace_file_handle;} "Stack position %3d:\n", $i |
|
1668
|
0 |
0 |
unless print {$trace_file_handle;} " ", "Data::Dumper"->new([\$value->absolute($i)])->Terse(1)->Dump |
|
1678
|
3770 |
19044 |
unless defined $value_type |
|
1679
|
30 |
19014 |
if $value_type eq "trace" |
|
1681
|
1324 |
17690 |
if ($value_type eq "MARPA_STEP_NULLING_SYMBOL") |
|
1703
|
0 |
1324 |
if (not $eval_ok or @warnings) |
|
1718
|
0 |
1324 |
if $trace_values |
|
1723
|
17641 |
49 |
if ($value_type eq "MARPA_STEP_RULE") |
|
1727
|
0 |
17641 |
unless defined $closure |
|
1730
|
17641 |
0 |
if (ref $closure eq 'CODE') { } |
|
1739
|
0 |
17641 |
if (&Scalar::Util::blessed($values)) |
|
1753
|
10 |
17631 |
if (not $eval_ok or @warnings) |
|
1772
|
18 |
17613 |
if ($trace_values) |
|
1773
|
0 |
18 |
unless say {$trace_file_handle;} trace_stack_1($grammar, $recce, $value, $values, $rule_id) |
|
1777
|
0 |
18 |
unless print {$trace_file_handle;} "Calculated and pushed value: ", "Data::Dumper"->new([$result])->Terse(1)->Dump |
|
1787
|
49 |
0 |
if ($value_type eq "MARPA_STEP_TRACE") |
|
1789
|
2 |
47 |
if (my $trace_output = trace_op($grammar, $recce, $value)) |
|
1790
|
0 |
2 |
unless print {$trace_file_handle;} $trace_output |
|
1837
|
1 |
20 |
unless defined $irl_id |
|
1852
|
7 |
16 |
if (defined $symbol) |
|
1856
|
16 |
7 |
if (defined $cause_id) |
|
1865
|
10 |
13 |
if (defined $predecessor_id) |
|
1908
|
45 |
38 |
if (defined $cause_id) { } |
|
1932
|
2 |
44 |
unless defined $parent |
|
1951
|
26 |
18 |
if (defined $cause) { } |
|
1959
|
0 |
44 |
if ($verbose) |
|
1960
|
0 |
0 |
defined $parent ? : |
|
1961
|
0 |
0 |
defined $predecessor ? : |
|
1962
|
0 |
0 |
defined $cause ? : |
|
1992
|
2 |
41 |
unless defined $origin |
|
2008
|
0 |
57 |
unless $Marpa::R2::Internal::Value::a->[0] <=> $Marpa::R2::Internal::Value::b->[0] or $Marpa::R2::Internal::Value::a->[1] <=> $Marpa::R2::Internal::Value::b->[1] or $Marpa::R2::Internal::Value::a->[2] <=> $Marpa::R2::Internal::Value::b->[2] |
|
2037
|
0 |
0 |
unless defined $origin |
|
2060
|
0 |
0 |
unless defined $parent |
|
2079
|
0 |
0 |
if (defined $cause) { } |
|
2099
|
4 |
40 |
unless defined $or_node_id |
|
2104
|
24 |
16 |
if ($tree->_marpa_t_nook_is_cause($nook_id)) |
|
2108
|
12 |
4 |
if ($tree->_marpa_t_nook_is_predecessor($nook_id)) |
|
2119
|
40 |
0 |
$tree->_marpa_t_nook_predecessor_is_ready($nook_id) ? : |
|
2124
|
40 |
0 |
$tree->_marpa_t_nook_cause_is_ready($nook_id) ? : |
|
2133
|
40 |
49 |
unless defined $and_node_id |
|
2135
|
40 |
9 |
if (defined $this_choice and $this_choice == $choice_ix) |
|
2152
|
4 |
40 |
unless defined $nook_text |
|
2165
|
0 |
14 |
unless (defined $nook_ix) |
|
2166
|
0 |
0 |
unless print {$Marpa::R2::Internal::TRACE_FH;} "Nulling valuator\n" |
|
2175
|
14 |
0 |
if (defined $token_id) |
|
2179
|
14 |
0 |
$token_name ? : |
|
|
0 |
14 |
unless print {$Marpa::R2::Internal::TRACE_FH;} "Pushed value from ", Marpa::R2::Recognizer::and_node_tag($recce, $and_node_id), ": ", $token_name ? "$token_name = " : "", "Data::Dumper"->new([\$token_value])->Terse(1)->Dump |
|
2220
|
17 |
32 |
unless $trace_values >= 2 |
|
2236
|
12 |
20 |
if $bocage->_marpa_b_or_node_position($or_node_id) != $grammar_c->_marpa_g_irl_length($trace_irl_id) |
|
2240
|
18 |
2 |
unless $virtual_rhs or $virtual_lhs |
|
2242
|
0 |
2 |
if ($virtual_rhs and not $virtual_lhs) |
|
2244
|
0 |
0 |
unless $trace_output .= join("", "Head of Virtual Rule: ", Marpa::R2::Recognizer::and_node_tag($recce, $and_node_id), ", rule: ", $grammar->brief_irl($trace_irl_id), "\n", "Incrementing virtual rule by ", $grammar_c->_marpa_g_real_symbol_count($trace_irl_id), " symbols", "\n") |
|
2258
|
0 |
2 |
if ($virtual_lhs and $virtual_rhs) |
|
2272
|
2 |
0 |
if (not $virtual_rhs and $virtual_lhs) |