Package jflex

Class IntCharSet

java.lang.Object
jflex.IntCharSet

public final class IntCharSet extends Object
CharSet implemented with intervals

[fixme: optimizations possible]

Version:
JFlex 1.7.0
  • Field Details

  • Constructor Details

    • IntCharSet

      public IntCharSet()
      Constructor for IntCharSet.
    • IntCharSet

      public IntCharSet(int c)
      Constructor for IntCharSet.
      Parameters:
      c - a int.
    • IntCharSet

      public IntCharSet(Interval interval)
      Constructor for IntCharSet.
      Parameters:
      interval - a Interval object.
    • IntCharSet

      public IntCharSet(List<Interval> chars)
      Constructor for IntCharSet.
      Parameters:
      chars - a List object.
  • Method Details

    • indexOf

      private int indexOf(int c)
      returns the index of the interval that contains the character c, -1 if there is no such interval
      Parameters:
      c - the character
      Returns:
      the index of the enclosing interval, -1 if no such interval
    • add

      public IntCharSet add(IntCharSet set)
      add.
      Parameters:
      set - a IntCharSet object.
      Returns:
      a IntCharSet object.
    • add

      public void add(Interval interval)
      add.
      Parameters:
      interval - a Interval object.
    • add

      public void add(int c)
      add.
      Parameters:
      c - a int.
    • contains

      public boolean contains(int singleChar)
      contains.
      Parameters:
      singleChar - a int.
      Returns:
      a boolean.
    • equals

      public boolean equals(Object o)

      o instanceof Interval

      Overrides:
      equals in class Object
    • min

      private int min(int a, int b)
    • max

      private int max(int a, int b)
    • and

      public IntCharSet and(IntCharSet set)
      Intersects two sets.
      Parameters:
      set - a IntCharSet object.
      Returns:
      the IntCharSet common to the two sets.
    • sub

      public void sub(IntCharSet set)
      Returns the relative complement of this set relative to the provided set.
      Parameters:
      set - a IntCharSet to substract from this set.
    • containsElements

      public boolean containsElements()
      Returns whether the set contains elements.
      Returns:
      Whether the set is non-empty.
    • numIntervals

      public int numIntervals()
      Returns the number of Intervals.
      Returns:
      number of intervals.
    • getIntervals

      public List<Interval> getIntervals()
      Returns the intervals.
      Returns:
      a List object.
    • getNext

      public Interval getNext()
      Returns the next interval.
      Returns:
      the next Interval.
    • getCaseless

      public IntCharSet getCaseless(UnicodeProperties unicodeProperties)
      Create a caseless version of this charset.

      The caseless version contains all characters of this char set, and additionally all lower/upper/title case variants of the characters in this set.

      Parameters:
      unicodeProperties - The Unicode Properties to use when generating caseless equivalence classes.
      Returns:
      a caseless copy of this set
    • toString

      public String toString()
      Make a string representation of this char set.
      Overrides:
      toString in class Object
      Returns:
      a string representing this char set.
    • copy

      public IntCharSet copy()
      Return a (deep) copy of this char set
      Returns:
      the copy