Download mosesdecoder/phrase-extract/extract-mixed-syntax/SyntaxTree.cpp from sleepyhead111/vllm_fairseq: direct link, hf CLI and curl.
- Browser
- Download file 1.13 kB
-
https://huggingface.co/sleepyhead111/vllm_fairseq/resolve/main/mosesdecoder/phrase-extract/extract-mixed-syntax/SyntaxTree.cpp
- Command line
-
hf download hf://sleepyhead111/vllm_fairseq/mosesdecoder/phrase-extract/extract-mixed-syntax/SyntaxTree.cpp
-
curl -L -o SyntaxTree.cpp https://huggingface.co/sleepyhead111/vllm_fairseq/resolve/main/mosesdecoder/phrase-extract/extract-mixed-syntax/SyntaxTree.cpp
1.13 kB
| using namespace std; | |
| void SyntaxTree::Add(int startPos, int endPos, const std::string &label, const Parameter ¶ms) | |
| { | |
| //cerr << "add " << label << " to " << "[" << startPos << "-" << endPos << "]" << endl; | |
| Range range(startPos, endPos); | |
| Labels &labels = m_coll[range]; | |
| bool add = true; | |
| if (labels.size()) { | |
| if (params.multiLabel == 1) { | |
| // delete the label in collection and add new | |
| assert(labels.size() == 1); | |
| labels.clear(); | |
| } else if (params.multiLabel == 2) { | |
| // ignore this label | |
| add = false; | |
| } | |
| } | |
| if (add) { | |
| labels.push_back(label); | |
| } | |
| } | |
| void SyntaxTree::AddToAll(const std::string &label) | |
| { | |
| Coll::iterator iter; | |
| for (iter = m_coll.begin(); iter != m_coll.end(); ++iter) { | |
| Labels &labels = iter->second; | |
| labels.push_back(label); | |
| } | |
| } | |
| const SyntaxTree::Labels &SyntaxTree::Find(int startPos, int endPos) const | |
| { | |
| Coll::const_iterator iter; | |
| iter = m_coll.find(Range(startPos, endPos)); | |
| return (iter == m_coll.end()) ? m_defaultLabels : iter->second; | |
| } | |