This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add initial inversion list object
authorKarl Williamson <public@khwilliamson.com>
Tue, 1 Feb 2011 17:43:49 +0000 (10:43 -0700)
committerKarl Williamson <public@khwilliamson.com>
Wed, 2 Feb 2011 23:31:22 +0000 (16:31 -0700)
commitd764b54e5a93ff224d371bad25b14285e5a543cd
treeba3d3af8037bece8de968852c49ca8aa2516b34c
parent2f833f5208e26b208886e51e09e2c072b5eabb46
Add initial inversion list object

Going forward the intent is to convert from swashes to the better-suited
inversion list data structure.  This adds rudimentary inversion lists that have
only the functionality needed for 5.14.  As a result, they are as much as
possible static to one file.

What's necessary for 5.14 is enough to allow folding of ANYOF nodes to be moved
from regexec to regcomp.  Why they are needed for that is to generate as
compact as possible class definitions; otherwise, very long linear lists might
be generated.  (They still may be, but that's inherent in the problem domain;
this generates as compact as possible, combining overlapping ranges, etc.)

The only two non-trivial methods in this object are from published algorithms.
embed.fnc
embed.h
proto.h
regcomp.c
utf8.c