gnu.regexp TODO
---------------
These are items that have yet to be implemented or are part of the
general wish list for gnu.regexp.  You can contribute to this program
and get your name permanently embedded in the distribution if you care 
to take on any of these tasks.  See the contact info in the README.

Bugs / Problems with the engine:

 Using a ')' in a character class which is within a () grouping
triggers an REException while parsing.  Workaround is to put a backslash
in front of the literal ')'.

Missing operators:
 \<, \>  -- word break positional anchors (egrep syntax)
 \b, \B  -- word break/non-word break positional anchors (Perl5 syntax)
 (?=...), (?!...) -- positive and negative lookahead assertions (Perl5)
 [.symbol.]  -- collating symbol (POSIX)
 [=class=]  -- equivalence class (POSIX)

I18n support:
 Some POSIX char classes ([:alpha:]) are locale sensitive, others need work
 Ranges (e.g. [a-z]) should be locale sensitive
 Should use collation elements, not chars, for things like Spanish "ll"
 REG_ICASE is not very friendly with Cyrillic and other locales.

Miscellaneous:
 "Free software needs free manuals" -- you heard the man...

 There could be a flag to enforce strict POSIX leftmost-longest matching.

 gnu.regexp.util.Tests should be fleshed out.

 When reading from an InputStream (internally converted to a 
CharIndexedInputStream) the start-of-line operator will not work in
multiline mode; a previous character needs to be buffered.  Same with 
Reader.

 It would be interesting as well as useful to get some performance numbers
on gnu.regexp vs. (1) other java tools such as OROMatcher and (2) other
languages RE engines.

 It might make sense for getMatchEnumeration() to optional return matches
in reverse order, so that the indices were valid all the way through,
even if you were doing text replacement on the way.

Support J2ME CLDC limited APIs as optional target:
Should be straightforward, but need to avoid use of
REFilter(InputStream|Reader) classes, as well as all references to
java.io.Serializable.  RESyntax needs to replace java.util.BitSet with
a home-grown version.  Other than that, it should work.  May want to
package separately (e.g. gnu.regexp-1.0.8-j2me-cldc.jar).

