Пример #1
0
  private void init() {
    if (_is_inited) return;
    _is_inited = true;

    // At this time, we only have algs for English.
    // So, don't waste CPU time on algs if its not English.
    if (null != _lang && "en" != _lang) do_apply_algs = false;

    parser = _use_sock ? new RemoteLGParser() : new LocalLGParser();
    if (null != _lang) parser.setLanguage(_lang);
    if (null != _dict_path) parser.setDictPath(_dict_path);
    parser.getConfig().setStoreConstituentString(true);
    parser.getConfig().setStoreSense(true);

    // XXX TODO: this is loading the English Language morphy;
    // we need to load a generic language handler.
    Morphy morphy =
        MorphyFactory.getImplementation(MorphyFactory.DEFAULT_SINGLE_THREAD_IMPLEMENTATION);
    context = new RelexContext(parser, morphy);

    sentenceAlgorithmApplier = new SentenceAlgorithmApplier();

    setMaxParses(DEFAULT_MAX_PARSES);
    setMaxParseSeconds(DEFAULT_MAX_PARSE_SECONDS);
    setMaxCost(DEFAULT_MAX_PARSE_COST);

    // Hobbs-algo stuff.
    phraseMarkup = new PhraseMarkup();
    antecedents = new Antecedents();
    hobbs = new Hobbs(antecedents);

    doco = new Document();

    stats = new ParseStats();
    sumtime = new TreeMap<String, Long>();
    cnttime = new TreeMap<String, Long>();
  }