diff options
Diffstat (limited to 'contrib/moses2/PhraseBased/TargetPhraseImpl.cpp')
-rw-r--r-- | contrib/moses2/PhraseBased/TargetPhraseImpl.cpp | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/contrib/moses2/PhraseBased/TargetPhraseImpl.cpp b/contrib/moses2/PhraseBased/TargetPhraseImpl.cpp new file mode 100644 index 000000000..3768ca278 --- /dev/null +++ b/contrib/moses2/PhraseBased/TargetPhraseImpl.cpp @@ -0,0 +1,52 @@ +/* + * TargetPhraseImpl.cpp + * + * Created on: 23 Oct 2015 + * Author: hieu + */ + +#include <sstream> +#include <stdlib.h> +#include "TargetPhraseImpl.h" +#include "../Scores.h" +#include "../System.h" +#include "../MemPool.h" +#include "Manager.h" + +using namespace std; + +namespace Moses2 +{ + +TargetPhraseImpl *TargetPhraseImpl::CreateFromString(MemPool &pool, + const PhraseTable &pt, const System &system, const std::string &str) +{ + FactorCollection &vocab = system.GetVocab(); + + vector<string> toks = Tokenize(str); + size_t size = toks.size(); + TargetPhraseImpl *ret = + new (pool.Allocate<TargetPhraseImpl>()) TargetPhraseImpl(pool, pt, system, + size); + ret->PhraseImplTemplate<Word>::CreateFromString(vocab, system, toks); + + return ret; +} + +TargetPhraseImpl::TargetPhraseImpl(MemPool &pool, const PhraseTable &pt, + const System &system, size_t size) +:Moses2::TargetPhrase<Moses2::Word>(pool, pt, system, size) +{ + m_scores = new (pool.Allocate<Scores>()) Scores(system, pool, + system.featureFunctions.GetNumScores()); + + size_t numWithPtData = system.featureFunctions.GetWithPhraseTableInd().size(); + ffData = new (pool.Allocate<void *>(numWithPtData)) void *[numWithPtData]; +} + +TargetPhraseImpl::~TargetPhraseImpl() +{ + // TODO Auto-generated destructor stub +} + +} |