21 #ifndef FST_EXTENSIONS_FAR_FARSCRIPT_H_ 22 #define FST_EXTENSIONS_FAR_FARSCRIPT_H_ 41 #include <string_view> 68 ::fst::CompileStrings<Arc>(
85 std::tuple<FarReaderClass &, FarWriterClass &, std::string_view>;
91 ::fst::Convert<Arc>(reader,
writer, std::get<2>(*args));
95 std::string_view fst_type);
116 int32_t generate_keys,
const std::string &key_prefix,
117 const std::string &key_suffix);
120 std::tuple<FarReaderClass &, FarWriterClass &, const EncodeMapperClass &>;
127 Decode(reader, writer, mapper);
134 std::tuple<FarReaderClass &, FarWriterClass &, EncodeMapperClass *>;
141 Encode(reader, writer, mapper);
148 std::string_view, std::string_view>;
157 ::fst::Equal<Arc>(reader1, reader2, std::get<2>(args->
args),
158 std::get<3>(args->
args), std::get<4>(args->
args));
161 bool Equal(FarReaderClass &reader1, FarReaderClass &reader2,
162 float delta =
kDelta, std::string_view begin_key =
"",
163 std::string_view end_key =
"");
166 std::tuple<FarReaderClass &, int32_t,
const std::string &,
167 const std::string &,
const std::string &,
const std::string &,
168 const std::string &>;
173 ::fst::Extract<Arc>(reader, std::get<1>(*args), std::get<2>(*args),
174 std::get<3>(*args), std::get<4>(*args),
175 std::get<5>(*args), std::get<6>(*args));
178 void Extract(FarReaderClass &reader, int32_t generate_sources,
179 const std::string &keys,
const std::string &key_separator,
180 const std::string &range_delimiter,
181 const std::string &source_prefix,
182 const std::string &source_suffix);
185 std::tuple<const std::vector<std::string> &,
const std::string &,
186 const std::string &,
const bool>;
190 ::fst::Info<Arc>(std::get<0>(*args), std::get<1>(*args),
191 std::get<2>(*args), std::get<3>(*args));
194 void Info(
const std::vector<std::string> &sources,
const std::string &arc_type,
195 const std::string &begin_key,
const std::string &end_key,
196 const bool list_fsts);
199 std::tuple<const std::vector<std::string> &,
const std::string &,
204 ::fst::GetInfo<Arc>(std::get<0>(*args), std::get<1>(*args),
205 std::get<2>(*args), std::get<3>(*args),
209 void GetInfo(
const std::vector<std::string> &sources,
210 const std::string &arc_type,
const std::string &begin_key,
211 const std::string &end_key,
const bool list_fsts, FarInfoData *);
214 std::tuple<FarReaderClass &, FarReaderClass &, float, std::string_view,
223 args->
retval = ::fst::Isomorphic<Arc>(
224 reader1, reader2, std::get<2>(args->
args), std::get<3>(args->
args),
225 std::get<4>(args->
args));
228 bool Isomorphic(FarReaderClass &reader1, FarReaderClass &reader2,
229 float delta =
kDelta, std::string_view begin_key =
"",
230 std::string_view end_key =
"");
258 const TokenType token_type,
const std::string &begin_key,
259 const std::string &end_key,
const bool print_key,
260 const bool print_weight,
const std::string &symbols_source,
261 const bool initial_symbols,
const int32_t generate_sources,
262 const std::string &source_prefix,
263 const std::string &source_suffix);
268 #define REGISTER_FST_FAR_OPERATIONS(ArcType) \ 269 REGISTER_FST_OPERATION(CompileStrings, ArcType, FarCompileStringsArgs); \ 270 REGISTER_FST_OPERATION(Create, ArcType, FarCreateArgs); \ 271 REGISTER_FST_OPERATION(Equal, ArcType, FarEqualArgs); \ 272 REGISTER_FST_OPERATION(Extract, ArcType, FarExtractArgs); \ 273 REGISTER_FST_OPERATION(Info, ArcType, FarInfoArgs); \ 274 REGISTER_FST_OPERATION(Isomorphic, ArcType, FarIsomorphicArgs); \ 275 REGISTER_FST_OPERATION(PrintStrings, ArcType, FarPrintStringsArgs); \ 276 REGISTER_FST_OPERATION(GetInfo, ArcType, FarGetInfoArgs) 278 #endif // FST_EXTENSIONS_FAR_FARSCRIPT_H_
const FarReader< Arc > * GetFarReader() const
const bool initial_symbols
const std::string & symbols_source
void PrintStrings(FarReaderClass &reader, const FarEntryType entry_type, const TokenType token_type, const std::string &begin_key, const std::string &end_key, bool print_key, bool print_weight, const std::string &symbols_source, bool initial_symbols, const int32_t generate_sources, const std::string &source_prefix, const std::string &source_suffix)
void GetInfo(const std::vector< std::string > &sources, const std::string &arc_type, const std::string &begin_key, const std::string &end_key, bool list_fsts, FarInfoData *data)
std::tuple< const std::vector< std::string > &, const std::string &, const std::string &, const bool > FarInfoArgs
bool Equal(FarReaderClass &reader1, FarReaderClass &reader2, float delta, std::string_view begin_key, std::string_view end_key)
std::tuple< FarReaderClass &, FarReaderClass &, float, std::string_view, std::string_view > FarIsomorphicInnerArgs
bool Isomorphic(FarReaderClass &reader1, FarReaderClass &reader2, float delta, std::string_view begin_key, std::string_view end_key)
std::tuple< FarReaderClass &, FarWriterClass &, EncodeMapperClass * > FarEncodeArgs
const std::vector< std::string > & sources
const std::string & unknown_symbol
std::tuple< FarReaderClass &, FarWriterClass &, std::string_view > FarConvertArgs
const std::string & key_suffix
std::tuple< const std::vector< std::string > &, const std::string &, const std::string &, const bool, FarInfoData * > FarGetInfoArgs
const std::vector< std::string > & sources
std::tuple< FarReaderClass &, int32_t, const std::string &, const std::string &, const std::string &, const std::string &, const std::string & > FarExtractArgs
void Decode(FarReaderClass &reader, FarWriterClass &writer, const EncodeMapperClass &encoder)
const std::string & source_prefix
const std::string & begin_key
void Info(const std::vector< std::string > &sources, const std::string &arc_type, const std::string &begin_key, const std::string &end_key, bool list_fsts)
std::tuple< FarReaderClass &, FarWriterClass &, const EncodeMapperClass & > FarDecodeArgs
void CompileStrings(const std::vector< std::string > &sources, FarWriterClass &writer, std::string_view fst_type, int32_t generate_keys, FarEntryType fet, TokenType tt, const std::string &symbols_source, const std::string &unknown_symbol, bool keep_symbols, bool initial_symbols, bool allow_negative_labels, const std::string &key_prefix, const std::string &key_suffix)
const bool initial_symbols
void Encode(FarReaderClass &reader, FarWriterClass &writer, EncodeMapperClass *encoder)
const std::string & key_suffix
const int32_t generate_keys
std::tuple< FarReaderClass &, FarReaderClass &, float, std::string_view, std::string_view > FarEqualInnerArgs
const int32_t generate_sources
const FarWriter< Arc > * GetFarWriter() const
std::string_view fst_type
void Create(const std::vector< std::string > &sources, FarWriterClass &writer, const int32_t generate_keys, const std::string &key_prefix, const std::string &key_suffix)
const std::string & symbols_source
const std::string & end_key
const int32_t generate_keys
const std::string & source_suffix
const std::string & key_prefix
const FarEntryType entry_type
void Extract(FarReaderClass &reader, int32_t generate_sources, const std::string &keys, const std::string &key_separator, const std::string &range_delimiter, const std::string &source_prefix, const std::string &source_suffix)
const bool allow_negative_labels
const TokenType token_type
void Convert(FarReaderClass &reader, FarWriterClass &writer, std::string_view fst_type)
const std::string & key_prefix