Provides a set of interfaces and classes that are used to define the search graph used by the decoder. Implementations of the Linguist interface are used by the decoder to create the search graph. The search graph is a directed graph formed by SearchState and SearchStateArc objects. Some implementations of the Linguist may build the search graph based upon a Grammar, which represents a graph of words and probabilities. This package provides a number of different implementations of Grammar