Class Splitter<I>

  • Type Parameters:
    I - input symbol type

    public final class Splitter<I>
    extends Object
    Data structure for representing a splitter.

    A splitter is represented by an input symbol, and a DT node that separates the successors (wrt. the input symbol) of the original states. From this, a discriminator can be obtained by prepending the input symbol to the discriminator that labels the separating successor.

    Note: as the discriminator finalization is applied to the root of a block and affects all nodes, there is no need to store references to the source states from which this splitter was obtained.

    • Field Detail

      • symbol

        public final I symbol
      • location

        public final HypLoc<I> location
      • otherSymbol

        public final I otherSymbol
      • succSeparator

        public final DTNode<I> succSeparator
    • Constructor Detail

      • Splitter

        public Splitter​(I symbol,
                        DTNode<I> succSeparator)
      • Splitter

        public Splitter​(I symbol,
                        HypLoc<I> location,
                        I otherSymbol,
                        boolean call,
                        DTNode<I> succSeparator)
    • Method Detail

      • getDiscriminator

        public ContextPair<I> getDiscriminator()
      • getNewDiscriminator

        public ContextPair<I> getNewDiscriminator()
      • getNewDiscriminatorLength

        public int getNewDiscriminatorLength()