-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move sentence-specific rule lookup state out of PhraseDictionarySCFG and
PhraseDictionaryOnDisk and into ChartRuleLookupManager. git-svn-id: https://mosesdecoder.svn.sourceforge.net/svnroot/mosesdecoder/trunk@3842 1f5c12ca-751b-0410-a591-d2e778427230
- Loading branch information
pjwilliams
committed
Jan 24, 2011
1 parent
f5cc2c4
commit ce4cc28
Showing
20 changed files
with
699 additions
and
456 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
/*********************************************************************** | ||
Moses - factored phrase-based language decoder | ||
Copyright (C) 2011 University of Edinburgh | ||
This library is free software; you can redistribute it and/or | ||
modify it under the terms of the GNU Lesser General Public | ||
License as published by the Free Software Foundation; either | ||
version 2.1 of the License, or (at your option) any later version. | ||
This library is distributed in the hope that it will be useful, | ||
but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
Lesser General Public License for more details. | ||
You should have received a copy of the GNU Lesser General Public | ||
License along with this library; if not, write to the Free Software | ||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
***********************************************************************/ | ||
|
||
#pragma once | ||
#ifndef moses_ChartRuleLookupManager_h | ||
#define moses_ChartRuleLookupManager_h | ||
|
||
#include "CellCollection.h" | ||
#include "InputType.h" | ||
|
||
namespace Moses | ||
{ | ||
|
||
class ChartTranslationOptionList; | ||
class WordsRange; | ||
|
||
// Defines an interface for looking up rules in a rule table. Concrete | ||
// implementation classes should correspond to specific PhraseDictionary | ||
// subclasses (memory or on-disk). Since a ChartRuleLookupManager object | ||
// maintains sentence-specific state, exactly one should be created for | ||
// each sentence that is to be decoded. | ||
class ChartRuleLookupManager | ||
{ | ||
public: | ||
ChartRuleLookupManager(const InputType &sentence, | ||
const CellCollection &cellColl) | ||
: m_sentence(sentence) | ||
, m_cellCollection(cellColl) {} | ||
|
||
virtual ~ChartRuleLookupManager() {} | ||
|
||
const InputType &GetSentence() const { return m_sentence; } | ||
const CellCollection &GetCellCollection() const { return m_cellCollection; } | ||
|
||
virtual void GetChartRuleCollection( | ||
const WordsRange &range, | ||
bool adhereTableLimit, | ||
ChartTranslationOptionList &outColl) = 0; | ||
|
||
private: | ||
// Non-copyable: copy constructor and assignment operator not implemented. | ||
ChartRuleLookupManager(const ChartRuleLookupManager &); | ||
ChartRuleLookupManager &operator=(const ChartRuleLookupManager &); | ||
|
||
const InputType &m_sentence; | ||
const CellCollection &m_cellCollection; | ||
}; | ||
|
||
} // namespace Moses | ||
|
||
#endif |
Oops, something went wrong.