Provides an implementation of the Linguist that represents the search space as a lex tree. This linguist dynamically generates the search states based upon the lex tree. The lex tree is generated from the vocabulary supplied by the LanguageModel. The lex tree nodes contained 'compressed' hmm nodes. The final unit of a word is not expanded until search time. This avoids the large fanout that typically occurs at word endings, reducing memory consumption and startup time significantly.