Class StringUnionOperations

java.lang.Object
dk.brics.automaton.StringUnionOperations

public final class StringUnionOperations extends Object
Operations for building minimal deterministic automata from sets of strings. The algorithm requires sorted input data, but is very fast (nearly linear with the input size).
Author:
Dawid Weiss
  • Field Details

    • LEXICOGRAPHIC_ORDER

      public static final Comparator<CharSequence> LEXICOGRAPHIC_ORDER
      Lexicographic order of input sequences.
  • Constructor Details

    • StringUnionOperations

      public StringUnionOperations()
  • Method Details

    • add

      public void add(CharSequence current)
      Add another character sequence to this automaton. The sequence must be lexicographically larger or equal compared to any previous sequences added to this automaton (the input must be sorted).
    • complete

      public dk.brics.automaton.StringUnionOperations.State complete()
      Finalize the automaton and return the root state. No more strings can be added to the builder after this call.
      Returns:
      Root automaton state.
    • build

      public static State build(CharSequence[] input)
      Build a minimal, deterministic automaton from a sorted list of strings.