+ for (my $i=@o-2; $i>0; --$i) {
+ next unless $o[$i+1]{E} eq '.';
+ my @inputs = @o[$i, $i+2];
+ next if grep { !is_string($_) } @inputs;
+ my $q = $inputs[0]{Q};
+ next if grep { $_->{Q} ne $q } @inputs;
+ my $new = { T => 'joinedstrings',
+ E => (join '.', map { $_->{E} } @inputs),
+ P => (join '.', map { $_->{P} } @inputs),
+ V => (join '', map { $_->{V} } @inputs),
+ Q => $q,
+ };
+ @o = (@o[0..$i-1], $new, @o[$i+3..$#o]);
+ print STDERR Dumper(\@o);
+ }
+ debug $ichunkstart, "semiparsed: ".join ' ', map { $_->{P} } @o;