| | |
| | |
| | |
| | |
| | |
| | |
| | #pragma once |
| |
|
| | #include "../PhraseTable.h" |
| | #include "../../legacy/Util2.h" |
| | #include "../../SCFG/InputPath.h" |
| | #include "Node.h" |
| | #include "../../PhraseBased/PhraseImpl.h" |
| | #include "../../PhraseBased/TargetPhraseImpl.h" |
| | #include "../../PhraseBased/TargetPhrases.h" |
| | #include "../../SCFG/PhraseImpl.h" |
| | #include "../../SCFG/TargetPhraseImpl.h" |
| | #include "../../SCFG/TargetPhrases.h" |
| |
|
| | namespace Moses2 |
| | { |
| |
|
| | class PhraseTableMemory: public PhraseTable |
| | { |
| | typedef PtMem::Node<Word, Phrase<Word>, TargetPhraseImpl, TargetPhrases> PBNODE; |
| | typedef PtMem::Node<SCFG::Word, Phrase<SCFG::Word>, SCFG::TargetPhraseImpl, SCFG::TargetPhrases> SCFGNODE; |
| |
|
| | |
| | class ActiveChartEntryMem : public SCFG::ActiveChartEntry |
| | { |
| | typedef SCFG::ActiveChartEntry Parent; |
| | public: |
| | const PhraseTableMemory::SCFGNODE &node; |
| |
|
| | ActiveChartEntryMem(MemPool &pool, const PhraseTableMemory::SCFGNODE &vnode) |
| | :Parent(pool) |
| | ,node(vnode) |
| | {} |
| |
|
| | ActiveChartEntryMem( |
| | MemPool &pool, |
| | const PhraseTableMemory::SCFGNODE &vnode, |
| | const ActiveChartEntry &prevEntry) |
| | :Parent(prevEntry) |
| | ,node(vnode) |
| | {} |
| | }; |
| |
|
| | |
| | public: |
| | PhraseTableMemory(size_t startInd, const std::string &line); |
| | virtual ~PhraseTableMemory(); |
| |
|
| | virtual void Load(System &system); |
| | virtual TargetPhrases *Lookup(const Manager &mgr, MemPool &pool, |
| | InputPath &inputPath) const; |
| |
|
| | virtual void InitActiveChart( |
| | MemPool &pool, |
| | const SCFG::Manager &mgr, |
| | SCFG::InputPath &path) const; |
| |
|
| | void Lookup(MemPool &pool, |
| | const SCFG::Manager &mgr, |
| | size_t maxChartSpan, |
| | const SCFG::Stacks &stacks, |
| | SCFG::InputPath &path) const; |
| |
|
| | protected: |
| | PBNODE *m_rootPb; |
| | SCFGNODE *m_rootSCFG; |
| |
|
| | void LookupGivenNode( |
| | MemPool &pool, |
| | const SCFG::Manager &mgr, |
| | const SCFG::ActiveChartEntry &prevEntry, |
| | const SCFG::Word &wordSought, |
| | const Moses2::Hypotheses *hypos, |
| | const Moses2::Range &subPhraseRange, |
| | SCFG::InputPath &outPath) const; |
| |
|
| | }; |
| |
|
| | } |
| |
|
| |
|