Пример #1
0
void * parser_create_parser(const char * path) {
  ParserWrapper * wrapper = new ParserWrapper();

  if (!wrapper->load(path)) {
    return 0;
  }
  return reinterpret_cast<void *>(wrapper);
}
Пример #2
0
int parser_parse(void * parser,
                 const std::vector<std::string> & words,
                 const std::vector<std::string> & postags,
                 std::vector<int> & heads,
                 std::vector<std::string> & deprels) {
    // std::cout << "input str = " << str << std::endl;
    ParserWrapper * wrapper = 0;
    wrapper = reinterpret_cast<ParserWrapper *>(parser);
    return wrapper->parse(words, postags, heads, deprels);
}
Пример #3
0
int parser_parse(void * parser,
                 const std::vector<std::string> & words,
                 const std::vector<std::string> & postags,
                 std::vector<int> & heads,
                 std::vector<std::string> & deprels) {
  if (words.size() != postags.size()) {
    return 0;
  }
  for (int i = 0; i < words.size(); ++ i) {
    if (words[i].empty() || postags[i].empty()) {
      return 0;
    }
  }

  ParserWrapper * wrapper = 0;
  wrapper = reinterpret_cast<ParserWrapper *>(parser);
  return wrapper->parse(words, postags, heads, deprels);
}