class NGramExtractor {

    public Expression<String> extract(Automaton automaton) {
        if (automaton.isAccept(0)) {
            return True.instance();
        }
        return new NGramAutomaton(automaton, gramSize, maxExpand, maxStatesTraced, maxNgrams, ngramAnalyzer).expression().simplify();
    }

    public  NGramExtractor(int gramSize, int maxExpand, int maxStatesTraced, int maxNgrams, Analyzer ngramAnalyzer);

}