line |
true |
false |
branch |
39
|
0 |
0 |
if defined $Marpa::XS::Installed::VERSION |
42
|
0 |
6 |
if ($using_xs) { } |
111
|
12 |
1374 |
unless $element |
112
|
687 |
687 |
unless $user_handlers |
131
|
528 |
0 |
if (defined(my $value = $$tdesc[3])) |
145
|
0 |
0 |
unless defined(my $first_token_id = $$tdesc[1]) |
152
|
0 |
0 |
unless defined(my $last_token_id = $$tdesc[2]) |
213
|
687 |
6 |
$self ? : |
216
|
687 |
6 |
$self ? : |
241
|
2962 |
303 |
if ($tdesc_list[0][0] ne 'POINT') |
246
|
2895 |
370 |
if ($tdesc_list[-1][0] ne 'POINT') |
261
|
0 |
3265 |
if (my $id = Marpa::HTML::id()) |
262
|
0 |
0 |
if ($user_handler = $$handlers_by_id{$id}) |
263
|
0 |
0 |
if ($trace_handlers) |
264
|
0 |
0 |
unless say {$trace_fh;} "Resolved to user handler by element ($element) and id ($id)" |
271
|
744 |
2521 |
if (my $class = Marpa::HTML::class()) |
272
|
8 |
736 |
if ($user_handler = $$handlers_by_class{$class}) |
273
|
0 |
8 |
if ($trace_handlers) |
274
|
0 |
0 |
unless say {$trace_fh;} "Resolved to user handler by element ($element) and class ($class)" |
282
|
0 |
3257 |
if ($trace_handlers and $user_handler) |
283
|
0 |
0 |
defined $element ? : |
|
0 |
0 |
unless say {$trace_fh;} defined $element ? "Resolved to user handler by element ($element)" : 'Resolved to default user handler' |
291
|
429 |
2836 |
if (defined $user_handler) |
317
|
0 |
6933 |
if (not $ref_type or $ref_type ne 'ARRAY') |
324
|
0 |
913 |
unless (defined(my $value = $$tdesc[3])) |
358
|
3121 |
3812 |
if (defined $first_token_id and defined $last_token_id) |
359
|
952 |
2169 |
if (defined $first_token_id_in_current_span) |
360
|
952 |
0 |
if ($first_token_id <= $last_token_id_in_current_span + 1) |
378
|
3749 |
63 |
if (defined $next_tdesc) |
379
|
2169 |
1580 |
if (defined $first_token_id_in_current_span) |
393
|
2836 |
913 |
if $ref_type eq 'ARRAY' and $$next_tdesc[0] eq 'FINAL' |
444
|
0 |
0 |
unless (defined $token_offset) |
450
|
0 |
0 |
if ($token_offset < 0 or $token_offset > $#{$html_parser_tokens;}) |
467
|
0 |
0 |
unless (defined $token_offset) |
474
|
0 |
0 |
if ($token_offset < 0 or $token_offset > $#{$html_parser_tokens;}) { } |
501
|
0 |
413 |
if $ref_type ne 'HASH' |
512
|
0 |
413 |
if scalar keys %{$handler_description;} |
514
|
0 |
413 |
if ref $action ne 'CODE' |
517
|
404 |
9 |
!$element || $element eq '*' ? : |
518
|
317 |
96 |
if (defined $pseudoclass) |
524
|
0 |
96 |
if (defined $id) |
528
|
5 |
91 |
defined $class ? : |
536
|
0 |
0 |
if $ref_type ne 'ARRAY' |
549
|
91 |
322 |
unless ($element, $id) = $specifier =~ /\A ([^#]*) [#] (.*) \z/msx or ($element, $class) = $specifier =~ /\A ([^.]*) [.] (.*) \z/msx or ($element, $pseudoclass) = $specifier =~ /\A ([^:]*) [:] (.*) \z/msx |
555
|
0 |
413 |
if ($pseudoclass and not $pseudoclass ~~ ['TOP', 'PI', 'DECL', 'COMMENT', 'PROLOG', 'TRAILER', 'WHITESPACE', 'CDATA', 'PCDATA', 'CRUFT']) |
564
|
0 |
413 |
if ($pseudoclass and $element) |
593
|
90 |
0 |
if ($ref_type eq 'HASH') |
597
|
0 |
0 |
if $ref_type ne 'REF' |
601
|
0 |
0 |
if $ref_type ne 'HASH' |
605
|
0 |
0 |
if ($option eq 'handlers') |
608
|
0 |
0 |
unless ($option ~~ ['trace_fh', 'trace_values', 'trace_handlers', 'trace_actions', 'trace_conflicts', 'trace_ambiguity', 'trace_rules', 'trace_QDFA', 'trace_earley_sets', 'trace_terminals', 'trace_cruft']) |
869
|
0 |
91 |
if $$self{'document'} |
882
|
0 |
91 |
if not $ref_type or $ref_type ne 'SCALAR' or not defined ${$document_ref;} |
906
|
2 |
1359 |
if $offset_end <= $offset |
918
|
0 |
359 |
$is_cdata ? : |
|
267 |
359 |
substr(${$document;}, $offset, $offset_end - $offset) =~ / \A \s* \z /msx ? : |
1009
|
21 |
29 |
unless ($terminals{$end_tag}) |
1083
|
637 |
84 |
unless ($terminal =~ /^[SE]_/msx) |
1088
|
24 |
60 |
if ($Marpa::HTML::Internal::EMPTY_ELEMENT{$element}) |
1094
|
60 |
0 |
if (defined $element_type and $element_type ~~ ['block_element', 'header_element']) |
1110
|
637 |
687 |
if $expected_terminal =~ /^S_/msx |
1133
|
0 |
91 |
if ($$self{'trace_rules'}) |
1134
|
0 |
0 |
unless say {$trace_fh;} $grammar->show_rules |
1137
|
0 |
91 |
if ($$self{'trace_QDFA'}) |
1138
|
0 |
0 |
unless say {$trace_fh;} $grammar->show_QDFA |
1162
|
1450 |
675 |
if (defined $read_result) |
1168
|
0 |
675 |
if ($trace_terminals) |
1169
|
0 |
0 |
unless say {$trace_fh;} 'Literal Token not accepted: ', $actual_terminal |
1181
|
0 |
675 |
if ($trace_conflicts) |
1182
|
0 |
0 |
unless say {$trace_fh;} 'Conflict of virtual choices' |
1184
|
0 |
0 |
unless say {$trace_fh;} "Actual Token is $actual_terminal" |
1186
|
0 |
0 |
unless say {$trace_fh;} scalar @virtuals_expected, ' virtual terminals expected: ', join(' ', @virtuals_expected) |
1197
|
90 |
727 |
if ($candidate eq 'S_table') |
1198
|
86 |
4 |
unless ($actual_terminal ~~ ['S_caption', 'S_col', 'S_colgroup', 'S_thead', 'S_tfoot', 'S_tbody', 'S_tr', 'S_th', 'S_td', 'E_caption', 'E_col', 'E_colgroup', 'E_thead', 'E_tfoot', 'E_tbody', 'E_tr', 'E_th', 'E_td', 'E_table']) |
1225
|
372 |
355 |
unless ($candidate =~ /^S_/msx) |
1239
|
0 |
355 |
unless (defined $candidate_level) |
1250
|
179 |
176 |
unless (defined $actual_terminal_level) |
1264
|
56 |
120 |
if $candidate_level <= $actual_terminal_level |
1271
|
0 |
675 |
if ($trace_terminals) |
1272
|
0 |
0 |
unless say {$trace_fh;} 'Converting Token: ', $actual_terminal |
1274
|
0 |
0 |
if (defined $virtual_terminal) |
1275
|
0 |
0 |
unless say {$trace_fh;} 'Candidate as Virtual Token: ', $virtual_terminal |
1286
|
0 |
675 |
if ($trace_terminals > 1 and defined $virtual_terminal) |
1289
|
0 |
0 |
unless say {$trace_fh;} "OK as cruft when expecting ${virtual_terminal}: ", join(' ', keys %{$ok_as_cruft{$virtual_terminal};}) |
1293
|
0 |
675 |
unless defined $virtual_terminal |
1295
|
2 |
673 |
if $ok_as_cruft{$virtual_terminal}{$actual_terminal} |
1297
|
370 |
303 |
unless $virtual_terminal =~ /^S_/msx |
1307
|
303 |
0 |
if ($current_earleme != $earleme_of_last_start_virtual) |
1316
|
0 |
0 |
if $start_virtuals_used{$virtual_terminal}++ <= 1 |
1322
|
0 |
0 |
unless say {$trace_fh;} "Warning: attempt to add <$tagname> twice at the same place" |
1338
|
673 |
2 |
if (defined $virtual_token_to_add) |
1346
|
0 |
2 |
if ($trace_terminals) |
1347
|
0 |
0 |
unless say {$trace_fh;} 'Adding actual token as cruft: ', $actual_terminal |
1354
|
0 |
2 |
if ($trace_cruft) |
1365
|
0 |
0 |
unless say {$trace_fh;} qq[Cruft at line $line, column ${col}: "], ${tdesc_list_to_literal($self, $$marpa_token[1]);}, '"' |
1371
|
0 |
91 |
if ($trace_terminals) |
1372
|
0 |
0 |
unless say {$trace_fh;} 'at end of tokens' |
1382
|
4 |
87 |
defined $user_top_handler ? : |
1388
|
83 |
8 |
if (defined $$self{'user_handlers_by_class'}{'ANY'}{'ANY'}) |
1400
|
313 |
506 |
if ($pseudoclass_action) |
1447
|
0 |
91 |
unless defined $value |