Package: libregexp-assemble-perl
Version: 0.35-5
Severity: important

This perl script terminates:

use strict;

use Regexp::Assemble;

my $ra = Regexp::Assemble->new(
        unroll_plus => 1  # change a+ to aa*, allowing possibly more reduction
);

# any of bellow valid regular expression can be uncommented, to show problem
#$ra->add('((a|b)cz+)?');
#$ra->add('((ab|cy)z)');
$ra->add('((x)y)'); # simplest one
#$ra->add('((x)+y)+');
#$ra->add('(b(x))');
#$ra->add('a(b(x))');

print $ra->re;


It stops with error like:

Unmatched ( in regex; marked by <-- HERE in m/\A( <-- HERE (x)\*(\??)\Z/ at
/usr/share/perl5/Regexp/Assemble.pm line 2734.



It looks that Regexp::Assembler incorrectly handles paranthesis for some
reasons in this simple expressions. Interesingly despite this "simplest one"
example not having "+" operator, Regexp::Assemble behaves correctly after
disabling unroll_plus option!


Regards,
Witek



-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.4.0-t43-devel-up-10118-g233e562-dirty
Locale: LANG=pl_PL.UTF-8, LC_CTYPE=pl_PL.UTF-8 (charmap=UTF-8) (ignored: LC_ALL 
set to pl_PL.UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libregexp-assemble-perl depends on:
ii  perl  5.14.2-11

libregexp-assemble-perl recommends no packages.

libregexp-assemble-perl suggests no packages.

-- no debconf information

-- debsums errors found:
debsums: changed file /usr/share/perl5/Regexp/Assemble.pm (from 
libregexp-assemble-perl package)



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to