Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/moses-smt/mosesdecoder.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Germann <Ulrich.Germann@gmail.com>2015-03-26 21:25:54 +0300
committerUlrich Germann <Ulrich.Germann@gmail.com>2015-03-26 21:25:54 +0300
commit9dc75bfd8ad3092f08f7a6d2a6492323b7803e56 (patch)
treef13405e11bce5001e6718ae0089fdcf85d961c98 /moses/ChartParser.cpp
parent4410e9225a5bd495fc6d097b206290beb59f4839 (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.cpp19
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) {