00001 #include "util/file_piece.hh"
00002
00003 #include "util/file.hh"
00004 #include "util/scoped.hh"
00005 #include "util/string_piece.hh"
00006 #include "util/tokenize_piece.hh"
00007 #include "util/murmur_hash.hh"
00008 #include "util/probing_hash_table.hh"
00009 #include "util/usage.hh"
00010
00011 #include "moses/TranslationModel/ProbingPT/quering.hh"
00012
00013 #include <cstdio>
00014 #include <sys/types.h>
00015 #include <sys/stat.h>
00016
00017 #include <fstream>
00018 #include <iostream>
00019 #include <sstream>
00020 #include <string>
00021 #include <sys/mman.h>
00022 #include <sys/stat.h>
00023 #include <boost/functional/hash.hpp>
00024 #include <sys/types.h>
00025 #include <sys/stat.h>
00026 #include <unistd.h>
00027 #include <fcntl.h>
00028
00029 int main(int argc, char* argv[])
00030 {
00031 if (argc != 2) {
00032
00033 std::cerr << "Usage: " << argv[0] << " path_to_directory" << std::endl;
00034 return 1;
00035 }
00036
00037 Moses::QueryEngine queries(argv[1]);
00038
00039
00040 std::cout << "Please enter a string to be searched, or exit to exit." << std::endl;
00041 while (true) {
00042 std::string cinstr = "";
00043 getline(std::cin, cinstr);
00044 if (cinstr == "exit") {
00045 break;
00046 } else {
00047
00048 std::pair<bool, std::vector<target_text> > query_result;
00049 query_result = queries.query(StringPiece(cinstr));
00050
00051 if (query_result.first) {
00052 queries.printTargetInfo(query_result.second);
00053 } else {
00054 std::cout << "Key not found!" << std::endl;
00055 }
00056 }
00057 }
00058
00059 util::PrintUsage(std::cout);
00060
00061 return 0;
00062 }