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:
authorzens <zens@1f5c12ca-751b-0410-a591-d2e778427230>2006-08-07 22:29:35 +0400
committerzens <zens@1f5c12ca-751b-0410-a591-d2e778427230>2006-08-07 22:29:35 +0400
commit8bf97426557cf3d9bdd48a72a37dd8496b24c56f (patch)
treeb41a6a688e13933a5ce8e670202954e4f9980831
parent33b3fc67e4f33265eab8b10d641bb8673b8e1d71 (diff)
move CreateTranslationOptionCollection call into Manager
some code cleaning git-svn-id: https://mosesdecoder.svn.sourceforge.net/svnroot/mosesdecoder/trunk@534 1f5c12ca-751b-0410-a591-d2e778427230
-rw-r--r--misc/processPhraseTable.cpp4
-rw-r--r--moses-cmd/src/Main.cpp6
-rw-r--r--moses/src/ConfusionNet.cpp4
-rw-r--r--moses/src/Input.h2
-rwxr-xr-xmoses/src/Manager.cpp12
-rwxr-xr-xmoses/src/Manager.h8
-rwxr-xr-xmoses/src/Sentence.cpp4
7 files changed, 23 insertions, 17 deletions
diff --git a/misc/processPhraseTable.cpp b/misc/processPhraseTable.cpp
index 9a92daeac..0dfc51960 100644
--- a/misc/processPhraseTable.cpp
+++ b/misc/processPhraseTable.cpp
@@ -25,7 +25,7 @@ std::ostream& operator<<(std::ostream& out,const std::vector<T>& x)
out<<*i<<' ';
return out;
}
-
+#if 0
FactorType getFactorType(int i) {
switch(i) {
case 0: return Surface;
@@ -35,7 +35,7 @@ FactorType getFactorType(int i) {
}
return Surface;
}
-
+#endif
FactorCollection factorCollection;
diff --git a/moses-cmd/src/Main.cpp b/moses-cmd/src/Main.cpp
index 4e8fe56f8..ef3c3cd25 100644
--- a/moses-cmd/src/Main.cpp
+++ b/moses-cmd/src/Main.cpp
@@ -117,11 +117,8 @@ int main(int argc, char* argv[])
{
TRACE_ERR("TRANSLATING: " << *source <<"\n");
- TranslationOptionCollection *translationOptionCollection=source->CreateTranslationOptionCollection();
- assert(translationOptionCollection);
-
staticData.InitializeBeforeSentenceProcessing(*source);
- Manager manager(*source, *translationOptionCollection, staticData);
+ Manager manager(*source, staticData);
manager.ProcessSentence();
inputOutput->SetOutput(manager.GetBestHypothesis(), source->GetTranslationId(),
staticData.GetReportSourceSpan(),
@@ -142,7 +139,6 @@ int main(int argc, char* argv[])
// delete source
// inputOutput->Release(source);
staticData.CleanUpAfterSentenceProcessing();
- delete translationOptionCollection;
delete source;
}
diff --git a/moses/src/ConfusionNet.cpp b/moses/src/ConfusionNet.cpp
index 8956d1169..af4a49a7c 100644
--- a/moses/src/ConfusionNet.cpp
+++ b/moses/src/ConfusionNet.cpp
@@ -213,6 +213,8 @@ TranslationOptionCollection*
ConfusionNet::CreateTranslationOptionCollection() const
{
size_t maxNoTransOptPerCoverage = StaticData::Instance()->GetMaxNoTransOptPerCoverage();
- return new TranslationOptionCollectionConfusionNet(*this, maxNoTransOptPerCoverage);
+ TranslationOptionCollection *rv= new TranslationOptionCollectionConfusionNet(*this, maxNoTransOptPerCoverage);
+ assert(rv);
+ return rv;
}
diff --git a/moses/src/Input.h b/moses/src/Input.h
index c152ba4b2..5737ca969 100644
--- a/moses/src/Input.h
+++ b/moses/src/Input.h
@@ -37,7 +37,7 @@ protected:
virtual void Print(std::ostream&) const=0;
- virtual TargetPhraseCollection const* CreateTargetPhraseCollection(PhraseDictionaryBase const& d,const WordsRange& r) const=0;
+ //virtual TargetPhraseCollection const* CreateTargetPhraseCollection(PhraseDictionaryBase const& d,const WordsRange& r) const=0;
virtual TranslationOptionCollection* CreateTranslationOptionCollection() const=0;
virtual Phrase GetSubString(const WordsRange&) const =0;
diff --git a/moses/src/Manager.cpp b/moses/src/Manager.cpp
index ffbe31242..f109609a2 100755
--- a/moses/src/Manager.cpp
+++ b/moses/src/Manager.cpp
@@ -29,16 +29,15 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
#include "LatticePathCollection.h"
#include "TranslationOption.h"
#include "LMList.h"
+#include "TranslationOptionCollection.h"
using namespace std;
-Manager::Manager(InputType const& source,
- TranslationOptionCollection& toc,
- StaticData &staticData)
+Manager::Manager(InputType const& source, StaticData &staticData)
:m_source(source)
,m_hypoStack(source.GetSize() + 1)
,m_staticData(staticData)
-,m_possibleTranslations(toc) //dynamic_cast<Sentence const&>(source))
+,m_possibleTranslations(*source.CreateTranslationOptionCollection())
,m_initialTargetPhrase(Output)
{
std::vector < HypothesisCollection >::iterator iterStack;
@@ -50,7 +49,10 @@ Manager::Manager(InputType const& source,
}
}
-Manager::~Manager() {}
+Manager::~Manager()
+{
+ delete &m_possibleTranslations;
+}
/**
* This is the main decoder loop that translates a sentence by expanding
diff --git a/moses/src/Manager.h b/moses/src/Manager.h
index 18aa59734..1af2878d1 100755
--- a/moses/src/Manager.h
+++ b/moses/src/Manager.h
@@ -28,13 +28,14 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
#include "StaticData.h"
#include "TranslationOption.h"
#include "HypothesisCollection.h"
-#include "TranslationOptionCollectionText.h"
+#include "TranslationOptionCollection.h"
#include "LatticePathList.h"
#include "SquareMatrix.h"
#include "WordsBitmap.h"
//#include "UnknownWordHandler.h"
class LatticePath;
+class TranslationOptionCollection;
/** The Manager class implements a stack decoding algorithm.
* Hypotheses are organized in stacks. One stack contains all hypothesis that have
@@ -67,6 +68,9 @@ class LatticePath;
class Manager
{
+ Manager();
+ Manager(Manager const&);
+ void operator=(Manager const&);
protected:
// data
InputType const& m_source; /**< source sentence to be translated */
@@ -86,7 +90,7 @@ protected:
void OutputHypoStack(int stack = -1);
void OutputHypoStackSize();
public:
- Manager(InputType const& source, TranslationOptionCollection&, StaticData &staticData);
+ Manager(InputType const& source, StaticData &staticData);
~Manager();
void ProcessSentence();
diff --git a/moses/src/Sentence.cpp b/moses/src/Sentence.cpp
index 8c18c03eb..c5785fd56 100755
--- a/moses/src/Sentence.cpp
+++ b/moses/src/Sentence.cpp
@@ -50,7 +50,9 @@ TranslationOptionCollection*
Sentence::CreateTranslationOptionCollection() const
{
size_t maxNoTransOptPerCoverage = StaticData::Instance()->GetMaxNoTransOptPerCoverage();
- return new TranslationOptionCollectionText(*this, maxNoTransOptPerCoverage);
+ TranslationOptionCollection *rv= new TranslationOptionCollectionText(*this, maxNoTransOptPerCoverage);
+ assert(rv);
+ return rv;
}
void Sentence::Print(std::ostream& out) const
{