// #ifndef moses_SyntacticLanguageModelFiles_h #define moses_SyntacticLanguageModelFiles_h #include "nl-iomacros.h" #include "nl-string.h" namespace Moses { template class SyntacticLanguageModelFiles { public: SyntacticLanguageModelFiles(const std::vector& filePaths); ~SyntacticLanguageModelFiles(); MH* getHiddenModel(); MO* getObservedModel(); private: MH* hiddenModel; MO* observedModel; }; template SyntacticLanguageModelFiles::SyntacticLanguageModelFiles(const std::vector& filePaths) { this->hiddenModel = new MH(); this->observedModel = new MO(); //// I. LOAD MODELS... std::cerr << "Reading syntactic language model files...\n"; // For each model file... for ( int a=0, n=filePaths.size(); a>*(this->hiddenModel)>>"\0"!=NULL || si>>*(this->observedModel)>>"\0"!=NULL )) std::cerr<<"\nERROR: can't parse \'"< SyntacticLanguageModelFiles::~SyntacticLanguageModelFiles() { VERBOSE(3,"Destructing syntactic language model files" << std::endl); delete hiddenModel; delete observedModel; } template MH* SyntacticLanguageModelFiles::getHiddenModel() { return this->hiddenModel; } template MO* SyntacticLanguageModelFiles::getObservedModel() { return this->observedModel; } } #endif