mirror of
https://github.com/moses-smt/mosesdecoder.git
synced 2024-09-11 19:27:11 +03:00
simplify phrase class hierarchy
This commit is contained in:
parent
285e4fb188
commit
c860a29702
@ -13,7 +13,7 @@
|
||||
#include "BidirectionalReorderingState.h"
|
||||
#include "../../TranslationModel/PhraseTable.h"
|
||||
#include "../../System.h"
|
||||
#include "../../PhraseImpl.h"
|
||||
#include "../../PhraseBased/PhraseImpl.h"
|
||||
#include "../../PhraseBased/Manager.h"
|
||||
#include "../../PhraseBased/Hypothesis.h"
|
||||
#include "../../legacy/InputFileStream.h"
|
||||
|
@ -13,7 +13,6 @@ alias deps : ../../..//z ../../..//boost_iostreams ../../..//boost_filesystem .
|
||||
ManagerBase.cpp
|
||||
MemPool.cpp
|
||||
Phrase.cpp
|
||||
PhraseImpl.cpp
|
||||
Sentence.cpp
|
||||
Scores.cpp
|
||||
SubPhrase.cpp
|
||||
@ -71,7 +70,8 @@ alias deps : ../../..//z ../../..//boost_iostreams ../../..//boost_filesystem .
|
||||
PhraseBased/InputPath.cpp
|
||||
PhraseBased/InputPaths.cpp
|
||||
PhraseBased/Manager.cpp
|
||||
PhraseBased/TargetPhrases.cpp
|
||||
PhraseBased/PhraseImpl.cpp
|
||||
PhraseBased/TargetPhrases.cpp
|
||||
PhraseBased/Search.cpp
|
||||
PhraseBased/TargetPhraseImpl.cpp
|
||||
PhraseBased/TrellisPath.cpp
|
||||
|
@ -1,11 +1,11 @@
|
||||
#pragma once
|
||||
#include "PhraseImplTemplate.h"
|
||||
#include "SubPhrase.h"
|
||||
#include "../PhraseImplTemplate.h"
|
||||
#include "../SubPhrase.h"
|
||||
|
||||
namespace Moses2
|
||||
{
|
||||
|
||||
class PhraseImpl: public Phrase<Word>, public PhraseImplTemplate<Word>
|
||||
class PhraseImpl: public PhraseImplTemplate<Word>
|
||||
{
|
||||
public:
|
||||
static PhraseImpl *CreateFromString(MemPool &pool, FactorCollection &vocab,
|
||||
@ -26,27 +26,6 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
const Word& operator[](size_t pos) const
|
||||
{
|
||||
return m_words[pos];
|
||||
}
|
||||
|
||||
Word& operator[](size_t pos)
|
||||
{
|
||||
return m_words[pos];
|
||||
}
|
||||
|
||||
size_t GetSize() const
|
||||
{
|
||||
return m_size;
|
||||
}
|
||||
|
||||
SubPhrase<Moses2::Word> GetSubPhrase(size_t start, size_t size) const
|
||||
{
|
||||
SubPhrase<Moses2::Word> ret(*this, start, size);
|
||||
return ret;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
}
|
@ -34,7 +34,7 @@ TargetPhraseImpl *TargetPhraseImpl::CreateFromString(MemPool &pool,
|
||||
|
||||
TargetPhraseImpl::TargetPhraseImpl(MemPool &pool, const PhraseTable &pt,
|
||||
const System &system, size_t size) :
|
||||
TargetPhrase(pool, pt, system), PhraseImplTemplate<Word>(pool, size)
|
||||
TargetPhrase(pool, pt, system, size)
|
||||
{
|
||||
m_scores = new (pool.Allocate<Scores>()) Scores(system, pool,
|
||||
system.featureFunctions.GetNumScores());
|
||||
|
@ -23,7 +23,7 @@ class Manager;
|
||||
class System;
|
||||
class PhraseTable;
|
||||
|
||||
class TargetPhraseImpl: public TargetPhrase<Moses2::Word>, public PhraseImplTemplate<Word>
|
||||
class TargetPhraseImpl: public TargetPhrase<Moses2::Word>
|
||||
{
|
||||
friend std::ostream& operator<<(std::ostream &, const TargetPhraseImpl &);
|
||||
public:
|
||||
@ -36,27 +36,6 @@ public:
|
||||
|
||||
virtual ~TargetPhraseImpl();
|
||||
|
||||
const Word& operator[](size_t pos) const
|
||||
{
|
||||
return m_words[pos];
|
||||
}
|
||||
|
||||
Word& operator[](size_t pos)
|
||||
{
|
||||
return m_words[pos];
|
||||
}
|
||||
|
||||
size_t GetSize() const
|
||||
{
|
||||
return m_size;
|
||||
}
|
||||
|
||||
SubPhrase<Moses2::Word> GetSubPhrase(size_t start, size_t end) const
|
||||
{
|
||||
SubPhrase<Moses2::Word> ret(*this, start, end);
|
||||
return ret;
|
||||
}
|
||||
|
||||
//mutable void *chartState;
|
||||
|
||||
protected:
|
||||
|
@ -18,7 +18,7 @@ template<typename WORD>
|
||||
class SubPhrase;
|
||||
|
||||
template<typename WORD>
|
||||
class PhraseImplTemplate
|
||||
class PhraseImplTemplate : public Phrase<WORD>
|
||||
{
|
||||
public:
|
||||
PhraseImplTemplate(MemPool &pool, size_t size) :
|
||||
@ -51,6 +51,12 @@ public:
|
||||
const WORD& operator[](size_t pos) const
|
||||
{ return m_words[pos]; }
|
||||
|
||||
SubPhrase<WORD> GetSubPhrase(size_t start, size_t size) const
|
||||
{
|
||||
SubPhrase<WORD> ret(*this, start, size);
|
||||
return ret;
|
||||
}
|
||||
|
||||
protected:
|
||||
size_t m_size;
|
||||
WORD *m_words;
|
||||
|
@ -8,7 +8,7 @@ namespace Moses2
|
||||
namespace SCFG
|
||||
{
|
||||
|
||||
class PhraseImpl: public Phrase<SCFG::Word>, public PhraseImplTemplate<SCFG::Word>
|
||||
class PhraseImpl: public PhraseImplTemplate<SCFG::Word>
|
||||
{
|
||||
public:
|
||||
static PhraseImpl *CreateFromString(MemPool &pool, FactorCollection &vocab,
|
||||
@ -19,27 +19,6 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
const Word& operator[](size_t pos) const
|
||||
{
|
||||
return m_words[pos];
|
||||
}
|
||||
|
||||
Word& operator[](size_t pos)
|
||||
{
|
||||
return m_words[pos];
|
||||
}
|
||||
|
||||
size_t GetSize() const
|
||||
{
|
||||
return m_size;
|
||||
}
|
||||
|
||||
SubPhrase<SCFG::Word> GetSubPhrase(size_t start, size_t size) const
|
||||
{
|
||||
SubPhrase<SCFG::Word> ret(*this, start, size);
|
||||
return ret;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -47,8 +47,7 @@ TargetPhraseImpl::TargetPhraseImpl(MemPool &pool,
|
||||
const PhraseTable &pt,
|
||||
const System &system,
|
||||
size_t size)
|
||||
:TargetPhrase(pool, pt, system)
|
||||
,PhraseImplTemplate<SCFG::Word>(pool, size)
|
||||
:TargetPhrase(pool, pt, system, size)
|
||||
,m_alignTerm(&AlignmentInfoCollection::Instance().GetEmptyAlignmentInfo())
|
||||
,m_alignNonTerm(&AlignmentInfoCollection::Instance().GetEmptyAlignmentInfo())
|
||||
|
||||
|
@ -27,7 +27,7 @@ class AlignmentInfo;
|
||||
namespace SCFG
|
||||
{
|
||||
|
||||
class TargetPhraseImpl: public Moses2::TargetPhrase<SCFG::Word>, public PhraseImplTemplate<SCFG::Word>
|
||||
class TargetPhraseImpl: public Moses2::TargetPhrase<SCFG::Word>
|
||||
{
|
||||
friend std::ostream& operator<<(std::ostream &, const SCFG::TargetPhraseImpl &);
|
||||
public:
|
||||
@ -43,27 +43,6 @@ public:
|
||||
|
||||
virtual ~TargetPhraseImpl();
|
||||
|
||||
const Word& operator[](size_t pos) const
|
||||
{
|
||||
return m_words[pos];
|
||||
}
|
||||
|
||||
Word& operator[](size_t pos)
|
||||
{
|
||||
return m_words[pos];
|
||||
}
|
||||
|
||||
size_t GetSize() const
|
||||
{
|
||||
return m_size;
|
||||
}
|
||||
|
||||
SubPhrase<SCFG::Word> GetSubPhrase(size_t start, size_t size) const
|
||||
{
|
||||
SubPhrase<SCFG::Word> ret(*this, start, size);
|
||||
return ret;
|
||||
}
|
||||
|
||||
// ALNREP = alignment representation,
|
||||
// see AlignmentInfo constructors for supported representations
|
||||
template<typename ALNREP>
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
#include <string>
|
||||
#include "InputType.h"
|
||||
#include "PhraseImpl.h"
|
||||
#include "PhraseBased/PhraseImpl.h"
|
||||
#include "MemPool.h"
|
||||
#include "legacy/Util2.h"
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "Phrase.h"
|
||||
#include "PhraseImplTemplate.h"
|
||||
#include "System.h"
|
||||
#include "Scores.h"
|
||||
|
||||
@ -14,7 +14,7 @@ namespace Moses2
|
||||
{
|
||||
|
||||
template<typename WORD>
|
||||
class TargetPhrase: public Phrase<WORD>
|
||||
class TargetPhrase: public PhraseImplTemplate<WORD>
|
||||
{
|
||||
friend std::ostream& operator<<(std::ostream &, const TargetPhrase &);
|
||||
|
||||
@ -23,8 +23,9 @@ public:
|
||||
mutable void **ffData;
|
||||
SCORE *scoreProperties;
|
||||
|
||||
TargetPhrase(MemPool &pool, const PhraseTable &pt, const System &system)
|
||||
: pt(pt)
|
||||
TargetPhrase(MemPool &pool, const PhraseTable &pt, const System &system, size_t size)
|
||||
: PhraseImplTemplate<WORD>(pool, size)
|
||||
, pt(pt)
|
||||
, scoreProperties(NULL)
|
||||
{
|
||||
m_scores = new (pool.Allocate<Scores>()) Scores(system, pool,
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include <cassert>
|
||||
#include <boost/foreach.hpp>
|
||||
#include "PhraseTableMemory.h"
|
||||
#include "../../PhraseImpl.h"
|
||||
#include "../../PhraseBased/PhraseImpl.h"
|
||||
#include "../../Phrase.h"
|
||||
#include "../../System.h"
|
||||
#include "../../Scores.h"
|
||||
|
@ -8,11 +8,11 @@
|
||||
#include "ProbingPT.h"
|
||||
#include "../System.h"
|
||||
#include "../Scores.h"
|
||||
#include "../PhraseImpl.h"
|
||||
#include "../Phrase.h"
|
||||
#include "../legacy/InputFileStream.h"
|
||||
#include "../legacy/ProbingPT/probing_hash_utils.hh"
|
||||
#include "../FF/FeatureFunctions.h"
|
||||
#include "../PhraseBased/PhraseImpl.h"
|
||||
#include "../PhraseBased/TargetPhraseImpl.h"
|
||||
#include "../PhraseBased/Manager.h"
|
||||
#include "../PhraseBased/TargetPhrases.h"
|
||||
|
Loading…
Reference in New Issue
Block a user