00001 #pragma once 00002 #include "LRState.h" 00003 00004 namespace Moses 00005 { 00009 class PhraseBasedReorderingState 00010 : public LRState 00011 { 00012 private: 00013 Range m_prevRange; 00014 bool m_first; 00015 public: 00016 static bool m_useFirstBackwardScore; 00017 PhraseBasedReorderingState(const LRModel &config, 00018 LRModel::Direction dir, 00019 size_t offset); 00020 PhraseBasedReorderingState(const PhraseBasedReorderingState *prev, 00021 const TranslationOption &topt); 00022 00023 virtual size_t hash() const; 00024 virtual bool operator==(const FFState& other) const; 00025 00026 virtual 00027 LRState* 00028 Expand(const TranslationOption& topt,const InputType& input, 00029 ScoreComponentCollection* scores) const; 00030 }; 00031 00032 } 00033