00001 // -*- mode: c++; indent-tabs-mode: nil; tab-width: 2 -*- 00002 #pragma once 00003 #include <string> 00004 #include "moses/Parameter.h" 00005 #include "OptionsBaseClass.h" 00006 00007 namespace Moses 00008 { 00009 00010 struct 00011 ReportingOptions : public OptionsBaseClass 00012 { 00013 long start_translation_id; 00014 00015 std::vector<FactorType> factor_order; 00016 std::string factor_delimiter; 00017 00018 bool ReportAllFactors; // m_reportAllFactors; 00019 int ReportSegmentation; // 0: no 1: m_reportSegmentation 2: ..._enriched 00020 00021 bool PrintAlignmentInfo; // m_PrintAlignmentInfo 00022 bool PrintAllDerivations; 00023 bool PrintTranslationOptions; 00024 00025 WordAlignmentSort WA_SortOrder; // 0: no, 1: target order 00026 std::string AlignmentOutputFile; 00027 00028 bool WordGraph; 00029 00030 std::string SearchGraph; 00031 std::string SearchGraphExtended; 00032 std::string SearchGraphSLF; 00033 std::string SearchGraphHG; 00034 std::string SearchGraphPB; 00035 bool DontPruneSearchGraph; 00036 00037 bool RecoverPath; // recover input path? 00038 bool ReportHypoScore; 00039 00040 bool PrintID; 00041 bool PrintPassThrough; 00042 00043 // transrep = translation reporting 00044 std::string detailed_transrep_filepath; 00045 std::string detailed_tree_transrep_filepath; 00046 std::string detailed_all_transrep_filepath; 00047 bool include_lhs_in_search_graph; 00048 00049 00050 std::string lattice_sample_filepath; 00051 size_t lattice_sample_size; 00052 00053 bool init(Parameter const& param); 00054 00056 bool NeedSearchGraph() const { 00057 return !(SearchGraph.empty() && SearchGraphExtended.empty()); 00058 } 00059 00060 #ifdef HAVE_XMLRPC_C 00061 bool update(std::map<std::string, xmlrpc_c::value>const& param); 00062 #endif 00063 00064 00065 ReportingOptions(); 00066 }; 00067 00068 } 00069