Package jflex.chars

Class Interval

  • All Implemented Interfaces:
    Iterable<Integer>

    public final class Interval
    extends Object
    implements Iterable<Integer>
    A mutable interval of characters with basic operations.
    Version:
    JFlex 1.8.1
    Author:
    Gerwin Klein, Régis Décamps
    • Field Detail

      • start

        public int start
        Start of the interval.
      • end

        public int end
        End of the interval.
    • Constructor Detail

      • Interval

        public Interval​(int start,
                        int end)
        Constructs a new interval from start to end, including both end points.
        Parameters:
        start - first codepoint the interval contains
        end - last codepoint the interval contains
    • Method Detail

      • contains

        public boolean contains​(int point)
        Returns true iff point is contained in this interval.
        Parameters:
        point - the character codepoint to check
        Returns:
        whether the code point is contained in the interval.
      • contains

        public boolean contains​(Interval other)
        Return true iff this interval completely contains the other one.
        Parameters:
        other - the other interval
        Returns:
        whether this interval completely contains the other one.
      • equals

        public boolean equals​(Object o)
        Returns true if o is an interval with the same borders.
        Overrides:
        equals in class Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • toString

        public String toString()
        Returns a String representation of this interval.
        Overrides:
        toString in class Object
        Returns:
        a string "[start-end]" or "[start]" (if there is only one character in the interval) where start and end are either a number (the character code) or something of the from 'a'.
      • ofCharacter

        public static Interval ofCharacter​(int c)
        Creates an interval of a single character.
        Parameters:
        c - The unique codepoint contained in this interval.
        Returns:
        A single-character interval.
      • copyOf

        public static Interval copyOf​(Interval interval)
        Creates a copy of the interval.
        Returns:
        the copy of the given interval.
      • size

        public int size()
        Computes the size of this interval.
        Returns:
        how many characters this interval spans
      • invariants

        public boolean invariants()
        Checks the invariants of this object.
        Returns:
        true when the invariants of this objects hold.