# # This software is Copyright 2005 by Elsevier Inc. You may use it # under the terms of the license at http://perl.plover.com/hop/LICENSE.txt . # ### ### concatenate-parsers ### ## Chapter 9 section 3.2 sub concatenate { my @p = @_; return \¬hing if @p == 0; return $p[0] if @p == 1; my $parser = parser { my $input = shift; my $v; my @values; for (@p) { ($v, $input) = $_->($input) or return; push @values, $v; } return (\@values, $input); } }