diff options
author | Ulrich Germann <Ulrich.Germann@gmail.com> | 2015-03-26 21:25:54 +0300 |
---|---|---|
committer | Ulrich Germann <Ulrich.Germann@gmail.com> | 2015-03-26 21:25:54 +0300 |
commit | 9dc75bfd8ad3092f08f7a6d2a6492323b7803e56 (patch) | |
tree | f13405e11bce5001e6718ae0089fdcf85d961c98 /moses/ChartParser.cpp | |
parent | 4410e9225a5bd495fc6d097b206290beb59f4839 (diff) |
Managers and feature functions now have access to the entire TranslationTask, not just the InputType.
Diffstat (limited to 'moses/ChartParser.cpp')
-rw-r--r-- | moses/ChartParser.cpp | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/moses/ChartParser.cpp b/moses/ChartParser.cpp index 5281bafdf..b0d2a3333 100644 --- a/moses/ChartParser.cpp +++ b/moses/ChartParser.cpp @@ -28,6 +28,7 @@ #include "DecodeGraph.h" #include "moses/FF/UnknownWordPenaltyProducer.h" #include "moses/TranslationModel/PhraseDictionary.h" +#include "moses/TranslationTask.h" using namespace std; using namespace Moses; @@ -35,7 +36,10 @@ using namespace Moses; namespace Moses { -ChartParserUnknown::ChartParserUnknown() {} +ChartParserUnknown +::ChartParserUnknown(ttasksptr const& ttask) + : m_ttask(ttask) +{ } ChartParserUnknown::~ChartParserUnknown() { @@ -136,13 +140,16 @@ void ChartParserUnknown::Process(const Word &sourceWord, const WordsRange &range } } -ChartParser::ChartParser(InputType const &source, ChartCellCollectionBase &cells) : - m_decodeGraphList(StaticData::Instance().GetDecodeGraphs()), - m_source(source) +ChartParser +::ChartParser(ttasksptr const& ttask, ChartCellCollectionBase &cells) + : m_ttask(ttask) + , m_unknown(ttask) + , m_decodeGraphList(StaticData::Instance().GetDecodeGraphs()) + , m_source(*(ttask->GetSource().get())) { const StaticData &staticData = StaticData::Instance(); - staticData.InitializeForInput(source); + staticData.InitializeForInput(ttask); CreateInputPaths(m_source); const std::vector<PhraseDictionary*> &dictionaries = PhraseDictionary::GetColl(); @@ -161,7 +168,7 @@ ChartParser::ChartParser(InputType const &source, ChartCellCollectionBase &cells ChartParser::~ChartParser() { RemoveAllInColl(m_ruleLookupManagers); - StaticData::Instance().CleanUpAfterSentenceProcessing(m_source); + StaticData::Instance().CleanUpAfterSentenceProcessing(m_ttask.lock()); InputPathMatrix::const_iterator iterOuter; for (iterOuter = m_inputPathMatrix.begin(); iterOuter != m_inputPathMatrix.end(); ++iterOuter) { |