From f384246b79d618bfe99b235b131c5ed242f3b09c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20D=C3=A9camps?= Date: Fri, 19 Oct 2018 22:52:06 +0200 Subject: [PATCH] Remove dead code ChatSet --- jflex/src/main/java/jflex/CharSet.java | 131 ------------------ .../main/java/jflex/CharSetEnumerator.java | 87 ------------ jflex/src/main/java/jflex/IntCharSet.java | 2 +- .../src/test/java/jflex/CharClassesTest.java | 2 +- 4 files changed, 2 insertions(+), 220 deletions(-) delete mode 100644 jflex/src/main/java/jflex/CharSet.java delete mode 100644 jflex/src/main/java/jflex/CharSetEnumerator.java diff --git a/jflex/src/main/java/jflex/CharSet.java b/jflex/src/main/java/jflex/CharSet.java deleted file mode 100644 index d35764599..000000000 --- a/jflex/src/main/java/jflex/CharSet.java +++ /dev/null @@ -1,131 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * JFlex 1.7.1-SNAPSHOT * - * Copyright (C) 1998-2018 Gerwin Klein * - * All rights reserved. * - * * - * License: BSD * - * * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -package jflex; - -/** - * Character set. - * - * @author Gerwin Klein - * @version JFlex 1.7.1-SNAPSHOT - */ -public final class CharSet { - - static final int BITS = 6; // the number of bits to shift (2^6 = 64) - static final int MOD = (1 << BITS) - 1; // modulus - - long bits[]; - - private int numElements; - - /** Constructor for CharSet. */ - public CharSet() { - bits = new long[1]; - } - - /** - * Constructor for CharSet. - * - * @param initialSize inital size. - * @param character character. - */ - public CharSet(int initialSize, int character) { - bits = new long[(initialSize >> BITS) + 1]; - add(character); - } - - /** - * Add the character to the set. - * - * @param character character. - */ - public void add(int character) { - resize(character); - - if ((bits[character >> BITS] & (1L << (character & MOD))) == 0) numElements++; - - bits[character >> BITS] |= (1L << (character & MOD)); - } - - private int nbits2size(int nbits) { - return ((nbits >> BITS) + 1); - } - - private void resize(int nbits) { - int needed = nbits2size(nbits); - - if (needed < bits.length) return; - - long newbits[] = new long[Math.max(bits.length * 2, needed)]; - System.arraycopy(bits, 0, newbits, 0, bits.length); - - bits = newbits; - } - - /** - * Returns whether the character belongs to the set. - * - * @param character character. - * @return whether the given character is an element of this set. - */ - public boolean isElement(int character) { - int index = character >> BITS; - if (index >= bits.length) return false; - return (bits[index] & (1L << (character & MOD))) != 0; - } - - /** - * Enumerates all characters. - * - * @return a {@link jflex.CharSetEnumerator} over all characters. - */ - public CharSetEnumerator characters() { - return new CharSetEnumerator(this); - } - - /** - * Returns whether the set contains elements. - * - * @return whether the set is non-empty. - */ - public boolean containsElements() { - return numElements > 0; - } - - /** - * Number of characters in the set. - * - * @return size of the size. - */ - public int size() { - return numElements; - } - - /** - * Returns a representation of this set. - * - * @return a {@link java.lang.String} representation of this set. - */ - public String toString() { - CharSetEnumerator set = characters(); - - StringBuilder result = new StringBuilder("{"); - - if (set.hasMoreElements()) result.append("").append(set.nextElement()); - - while (set.hasMoreElements()) { - int i = set.nextElement(); - result.append(", ").append(i); - } - - result.append("}"); - - return result.toString(); - } -} diff --git a/jflex/src/main/java/jflex/CharSetEnumerator.java b/jflex/src/main/java/jflex/CharSetEnumerator.java deleted file mode 100644 index 5d5da5316..000000000 --- a/jflex/src/main/java/jflex/CharSetEnumerator.java +++ /dev/null @@ -1,87 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * JFlex 1.7.1-SNAPSHOT * - * Copyright (C) 1998-2018 Gerwin Klein * - * All rights reserved. * - * * - * License: BSD * - * * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -package jflex; - -/** - * Enumerator for the elements of a CharSet. - * - *

Does not implement java.util.Enumeration, but supports the same protocol. - * - * @author Gerwin Klein - * @version JFlex 1.7.1-SNAPSHOT - */ -public final class CharSetEnumerator { - - private int index; - private int offset; - private long mask = 1; - - private CharSet set; - - /** - * Constructor for CharSetEnumerator. - * - * @param characters set of characters. - */ - public CharSetEnumerator(CharSet characters) { - set = characters; - - while (index < set.bits.length && set.bits[index] == 0) index++; - - if (index >= set.bits.length) return; - - while (offset <= CharSet.MOD && ((set.bits[index] & mask) == 0)) { - mask <<= 1; - offset++; - } - } - - private void advance() { - do { - offset++; - mask <<= 1; - } while (offset <= CharSet.MOD && ((set.bits[index] & mask) == 0)); - - if (offset > CharSet.MOD) { - do index++; - while (index < set.bits.length && set.bits[index] == 0); - - if (index >= set.bits.length) return; - - offset = 0; - mask = 1; - - while (offset <= CharSet.MOD && ((set.bits[index] & mask) == 0)) { - mask <<= 1; - offset++; - } - } - } - - /** - * Returns whether the iterator has more characters. - * - * @return whether the iterator has more elements. - */ - public boolean hasMoreElements() { - return index < set.bits.length; - } - - /** - * Returns the next character. - * - * @return character. - */ - public int nextElement() { - int x = (index << CharSet.BITS) + offset; - advance(); - return x; - } -} diff --git a/jflex/src/main/java/jflex/IntCharSet.java b/jflex/src/main/java/jflex/IntCharSet.java index ff99c6f7b..7af013251 100644 --- a/jflex/src/main/java/jflex/IntCharSet.java +++ b/jflex/src/main/java/jflex/IntCharSet.java @@ -15,7 +15,7 @@ import jflex.unicode.UnicodeProperties; /** - * CharSet implemented with intervals. + * Char Set implemented with intervals. * * @author Gerwin Klein * @author Régis Décamps diff --git a/jflex/src/test/java/jflex/CharClassesTest.java b/jflex/src/test/java/jflex/CharClassesTest.java index fd3808ed8..67171d655 100644 --- a/jflex/src/test/java/jflex/CharClassesTest.java +++ b/jflex/src/test/java/jflex/CharClassesTest.java @@ -13,7 +13,7 @@ import junit.framework.TestCase; /** - * CharClassesTest + * Test for {@link CharClasses}. * * @author Gerwin Klein * @version JFlex 1.7.1-SNAPSHOT