aboutsummaryrefslogtreecommitdiff
path: root/libjava/gnu/regexp/RESyntax.java
diff options
context:
space:
mode:
authorZiga Mahkovec <ziga.mahkovec@klika.si>2005-06-02 00:11:00 +0200
committerZiga Mahkovec <ziga@gcc.gnu.org>2005-06-01 22:11:00 +0000
commit7e1603c0f0dea72c62f5b78cbfbcbeaf4ac05207 (patch)
treec21882d9affe68b641900cf6ea85eb1ec0847f80 /libjava/gnu/regexp/RESyntax.java
parentcce7074710fc4712506c58a183034e53b87262fa (diff)
downloadgcc-7e1603c0f0dea72c62f5b78cbfbcbeaf4ac05207.zip
gcc-7e1603c0f0dea72c62f5b78cbfbcbeaf4ac05207.tar.gz
gcc-7e1603c0f0dea72c62f5b78cbfbcbeaf4ac05207.tar.bz2
re PR libgcj/20435 (regex pattern compiling bug)
2005-06-01 Ziga Mahkovec <ziga.mahkovec@klika.si> PR libgcj/20435: * gnu/regexp/RESyntax.java (RE_POSSESSIVE_OPS): New field. (static): Add possessive matching to JAVA_1_4 syntax. * gnu/regexp/RETokenRepeated.java (possessive): New field. (makePossessive, isPossessive): New methods. (match): Don't back off during possessive matching. * gnu/regexp/RE.java (initalize): Accept possessive quantifier. * java/util/regex/Pattern.java (constructor): Switch syntax from PERL5 to JAVA_1_4. From-SVN: r100466
Diffstat (limited to 'libjava/gnu/regexp/RESyntax.java')
-rw-r--r--libjava/gnu/regexp/RESyntax.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/libjava/gnu/regexp/RESyntax.java b/libjava/gnu/regexp/RESyntax.java
index 649bd0d..7cb3e14 100644
--- a/libjava/gnu/regexp/RESyntax.java
+++ b/libjava/gnu/regexp/RESyntax.java
@@ -197,7 +197,12 @@ public final class RESyntax implements Serializable {
*/
public static final int RE_CHAR_CLASS_ESC_IN_LISTS = 24;
- private static final int BIT_TOTAL = 25;
+ /**
+ * Syntax bit. Possessive matching is allowed (++, *+, ?+, {x,y}+).
+ */
+ public static final int RE_POSSESSIVE_OPS = 25;
+
+ private static final int BIT_TOTAL = 26;
/**
* Predefined syntax.
@@ -425,6 +430,7 @@ public final class RESyntax implements Serializable {
RE_SYNTAX_JAVA_1_4 = new RESyntax(RE_SYNTAX_PERL5)
// XXX
+ .set(RE_POSSESSIVE_OPS) // *+,?+,++,{}+
.makeFinal();
}