00001 // -*- mode: c++; indent-tabs-mode: nil; tab-width: 2 -*- 00002 #pragma once 00003 #include <string> 00004 #include "moses/Parameter.h" 00005 #include "moses/Word.h" 00006 #include <string> 00007 #include "OptionsBaseClass.h" 00008 #include "moses/FactorCollection.h" 00009 00010 namespace Moses 00011 { 00012 typedef std::pair<std::string, float> UnknownLHSEntry; 00013 typedef std::vector<UnknownLHSEntry> UnknownLHSList; 00014 00015 struct 00016 SyntaxOptions : public OptionsBaseClass 00017 { 00018 S2TParsingAlgorithm s2t_parsing_algo; 00019 Word input_default_non_terminal; 00020 Word output_default_non_terminal; 00021 bool default_non_term_only_for_empty_range; // whatever that means 00022 UnknownLHSList unknown_lhs; 00023 SourceLabelOverlap source_label_overlap; // m_sourceLabelOverlap; 00024 size_t rule_limit; 00025 00026 SyntaxOptions(); 00027 00028 bool init(Parameter const& param); 00029 bool update(std::map<std::string,xmlrpc_c::value>const& param); 00030 void LoadNonTerminals(Parameter const& param, FactorCollection& factorCollection); 00031 }; 00032 00033 } 00034