#include #include "System.h" #include "Phrase.h" #include "TranslationTask.h" #include "Search/Manager.h" #include "legacy/InputFileStream.h" #include "legacy/Parameter.h" #include "legacy/ThreadPool.h" using namespace std; //extern size_t g_numHypos; istream &GetInputStream(Parameter ¶ms) { const PARAM_VEC *vec = params.GetParam("input-file"); if (vec && vec->size()) { InputFileStream *stream = new InputFileStream(vec->at(0)); return *stream; } else { return cin; } } int main(int argc, char** argv) { cerr << "Starting..." << endl; Parameter params; params.LoadParam(argc, argv); System system(params); istream &inStream = GetInputStream(params); cerr << "system.numThreads=" << system.numThreads << endl; ThreadPool pool(system.numThreads); string line; while (getline(inStream, line)) { boost::shared_ptr task(new TranslationTask(system, line)); pool.Submit(task); //task->Run(); } pool.Stop(true); if (inStream != cin) { delete &inStream; } // cerr << "g_numHypos=" << g_numHypos << endl; cerr << "Finished" << endl; }