diff options
Diffstat (limited to 'moses2')
-rw-r--r-- | moses2/Main.cpp | 6 | ||||
-rw-r--r-- | moses2/Moses2Wrapper.cpp | 20 | ||||
-rw-r--r-- | moses2/Moses2Wrapper.h | 16 | ||||
-rw-r--r-- | moses2/TranslationTask.cpp | 11 | ||||
-rw-r--r-- | moses2/TranslationTask.h | 1 | ||||
-rw-r--r-- | moses2/server/Server.cpp | 4 |
6 files changed, 53 insertions, 5 deletions
diff --git a/moses2/Main.cpp b/moses2/Main.cpp index cf833760a..7054ec4ce 100644 --- a/moses2/Main.cpp +++ b/moses2/Main.cpp @@ -6,7 +6,7 @@ #include "Phrase.h" #include "TranslationTask.h" #include "MemPoolAllocator.h" -#include "server/Server.h" +//#include "server/Server.h" #include "legacy/InputFileStream.h" #include "legacy/Parameter.h" #include "legacy/ThreadPool.h" @@ -59,8 +59,8 @@ int main(int argc, char** argv) //////////////////////////////////////////////////////////////////////////////////////////////// void run_as_server(Moses2::System &system) { - Moses2::Server server(system.options.server, system); - server.run(system); // actually: don't return. see Server::run() + //Moses2::Server server(system.options.server, system); + //server.run(system); // actually: don't return. see Server::run() } //////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/moses2/Moses2Wrapper.cpp b/moses2/Moses2Wrapper.cpp new file mode 100644 index 000000000..2d7155e03 --- /dev/null +++ b/moses2/Moses2Wrapper.cpp @@ -0,0 +1,20 @@ +#include "Moses2Wrapper.h" +#include "System.h" +#include "legacy/Parameter.h" +#include "TranslationTask.h" +using namespace std; +namespace Moses2 { + Moses2Wrapper::Moses2Wrapper(const std::string &filePath) { + m_param = new Parameter(); + m_param->LoadParam(filePath); + m_system = new System(*m_param); + } + std::string Moses2Wrapper::Translate(const std::string &input) { + //create id + long a = 11234567; + TranslationTask task(*m_system, input, a); + std::string translation = task.RunTranslation(); + //delete translation; + return translation; + } +}
\ No newline at end of file diff --git a/moses2/Moses2Wrapper.h b/moses2/Moses2Wrapper.h new file mode 100644 index 000000000..01d021145 --- /dev/null +++ b/moses2/Moses2Wrapper.h @@ -0,0 +1,16 @@ +#pragma once +#include <string> +namespace Moses2 { + class Parameter; + class System; + class Moses2Wrapper + { + Parameter *m_param; + System *m_system; + + public: + Moses2Wrapper(const std::string &filePath); + std::string Translate(const std::string &input); + }; + +}
\ No newline at end of file diff --git a/moses2/TranslationTask.cpp b/moses2/TranslationTask.cpp index 219d9ffcb..0032ab0b0 100644 --- a/moses2/TranslationTask.cpp +++ b/moses2/TranslationTask.cpp @@ -23,7 +23,18 @@ TranslationTask::TranslationTask(System &system, TranslationTask::~TranslationTask() { } +std::string TranslationTask::RunTranslation() +{ + m_mgr->Decode(); + + string out; + out = m_mgr->OutputBest() + "\n"; + + + delete m_mgr; + return out; +} void TranslationTask::Run() { diff --git a/moses2/TranslationTask.h b/moses2/TranslationTask.h index bf2330357..e683e1174 100644 --- a/moses2/TranslationTask.h +++ b/moses2/TranslationTask.h @@ -16,6 +16,7 @@ public: TranslationTask(System &system, const std::string &line, long translationId); virtual ~TranslationTask(); virtual void Run(); + virtual std::string RunTranslation(); protected: ManagerBase *m_mgr; diff --git a/moses2/server/Server.cpp b/moses2/server/Server.cpp index 57218c374..2da72270a 100644 --- a/moses2/server/Server.cpp +++ b/moses2/server/Server.cpp @@ -19,12 +19,12 @@ Server::Server(ServerOptions &server_options, System &system) :m_server_options(server_options) ,m_translator(new Translator(*this, system)) { - m_registry.addMethod("translate", m_translator); + // m_registry.addMethod("translate", m_translator); } Server::~Server() { - unlink(m_pidfile.c_str()); + //unlink(m_pidfile.c_str()); } void Server::run(System &system) |