00001 #ifndef moses_PhraseDictionaryDynSuffixArray_h 00002 #define moses_PhraseDictionaryDynSuffixArray_h 00003 00004 #include <map> 00005 00006 #include "moses/TypeDef.h" 00007 #include "moses/TranslationModel/PhraseDictionary.h" 00008 #include "moses/TranslationModel/BilingualDynSuffixArray.h" 00009 00010 namespace Moses 00011 { 00012 00016 class PhraseDictionaryDynSuffixArray: public PhraseDictionary 00017 { 00018 public: 00019 PhraseDictionaryDynSuffixArray(const std::string &line); 00020 ~PhraseDictionaryDynSuffixArray(); 00021 bool InitDictionary(); 00022 void Load(); 00023 // functions below required by base class 00024 const TargetPhraseCollection* GetTargetPhraseCollectionLEGACY(const Phrase& src) const; 00025 void insertSnt(std::string&, std::string&, std::string&); 00026 void deleteSnt(unsigned, unsigned); 00027 ChartRuleLookupManager *CreateRuleLookupManager(const ChartParser &, const ChartCellCollectionBase&, std::size_t); 00028 void SetParameter(const std::string& key, const std::string& value); 00029 private: 00030 BilingualDynSuffixArray *m_biSA; 00031 std::string m_source, m_target, m_alignments; 00032 00033 std::vector<float> m_weight; 00034 }; 00035 00036 } // end namespace 00037 #endif