Skip to content

Commit

Permalink
Work on speeding up Marpa::R2::HTML
Browse files Browse the repository at this point in the history
  • Loading branch information
- committed Sep 26, 2012
1 parent 68f7453 commit 229d0c3
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 7 deletions.
27 changes: 21 additions & 6 deletions r2/html/lib/Marpa/R2/HTML.pm
Expand Up @@ -508,12 +508,27 @@ push @Marpa::R2::HTML::Internal::CORE_TERMINALS,
( map { $_ => 'empty' } keys %Marpa::R2::HTML::Internal::EMPTY_ELEMENT ),
);

sub Marpa::R2::HTML::Internal::default_handler
{
my @tdesc = grep { scalar @{$_} and $_->[0] eq 'VALUED_SPAN' } @_;
return $tdesc[0] if scalar @tdesc <= 1;
return [ 'VALUES', \@tdesc ];
}
sub Marpa::R2::HTML::Internal::default_handler {
my @flat_tdesc_list = ();
STACK_IX:
for my $stack_ix (
$Marpa::R2::HTML::Internal::ARG_0 .. $Marpa::R2::HTML::Internal::ARG_N
)
{
my $tdesc_item = $Marpa::R2::HTML::Internal::STACK->[$stack_ix];
my $type = $tdesc_item->[0];
next STACK_IX if not defined $type;
if ( $type eq 'VALUES' ) {
push @flat_tdesc_list, @{ $tdesc_item->[1] };
next STACK_IX;
}
next STACK_IX if $type ne 'VALUED_SPAN';
push @flat_tdesc_list, $tdesc_item;
} ## end STACK_IX: for my $stack_ix ( $Marpa::R2::HTML::Internal::ARG_0 ...)
return $flat_tdesc_list[0]->[Marpa::R2::HTML::Internal::TDesc::VALUE]
if scalar @flat_tdesc_list <= 1;
return [ 'VALUES', \@flat_tdesc_list ];
} ## end sub Marpa::R2::HTML::Internal::default_handler

sub handler_find {
my ( $self, $rule_id, $class ) = @_;
Expand Down
2 changes: 1 addition & 1 deletion r2/html/lib/Marpa/R2/HTML/Callback.pm
Expand Up @@ -210,7 +210,7 @@ sub Marpa::R2::HTML::descendants {
my $result =
Marpa::R2::HTML::Internal::token_range_to_original(
$parse_instance, $start_ix, $end_ix );
my $result = ${$result} if $deref;
$result = ${$result} if $deref;
push @per_descendant_results, $result;
next ARGSPEC;
} ## end if ( $argspec eq 'original' )
Expand Down

0 comments on commit 229d0c3

Please sign in to comment.