Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/moses-smt/mosesdecoder.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/moses2
diff options
context:
space:
mode:
Diffstat (limited to 'moses2')
-rw-r--r--moses2/Main.cpp6
-rw-r--r--moses2/Moses2Wrapper.cpp20
-rw-r--r--moses2/Moses2Wrapper.h16
-rw-r--r--moses2/TranslationTask.cpp11
-rw-r--r--moses2/TranslationTask.h1
-rw-r--r--moses2/server/Server.cpp4
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)