21 #ifndef FST_EXTENSIONS_FAR_FARSCRIPT_H_ 22 #define FST_EXTENSIONS_FAR_FARSCRIPT_H_ 47 #include <string_view> 73 ::fst::CompileStrings<Arc>(
88 std::tuple<FarReaderClass &, FarWriterClass &, std::string_view>;
94 ::fst::Convert<Arc>(reader,
writer, std::get<2>(*args));
98 std::string_view fst_type);
119 int32_t generate_keys,
const std::string &key_prefix,
120 const std::string &key_suffix);
123 std::tuple<FarReaderClass &, FarWriterClass &, const EncodeMapperClass &>;
130 Decode(reader, writer, mapper);
137 std::tuple<FarReaderClass &, FarWriterClass &, EncodeMapperClass *>;
144 Encode(reader, writer, mapper);
151 std::string_view, std::string_view>;
160 ::fst::Equal<Arc>(reader1, reader2, std::get<2>(args->
args),
161 std::get<3>(args->
args), std::get<4>(args->
args));
164 bool Equal(FarReaderClass &reader1, FarReaderClass &reader2,
165 float delta =
kDelta, std::string_view begin_key =
"",
166 std::string_view end_key =
"");
169 std::tuple<FarReaderClass &, int32_t,
const std::string &,
170 const std::string &,
const std::string &,
const std::string &,
171 const std::string &>;
176 ::fst::Extract<Arc>(reader, std::get<1>(*args), std::get<2>(*args),
177 std::get<3>(*args), std::get<4>(*args),
178 std::get<5>(*args), std::get<6>(*args));
181 void Extract(FarReaderClass &reader, int32_t generate_sources,
182 const std::string &keys,
const std::string &key_separator,
183 const std::string &range_delimiter,
184 const std::string &source_prefix,
185 const std::string &source_suffix);
188 std::tuple<const std::vector<std::string> &,
const std::string &,
189 const std::string &,
const bool>;
193 ::fst::Info<Arc>(std::get<0>(*args), std::get<1>(*args),
194 std::get<2>(*args), std::get<3>(*args));
197 void Info(
const std::vector<std::string> &sources,
const std::string &arc_type,
198 const std::string &begin_key,
const std::string &end_key,
199 const bool list_fsts);
202 std::tuple<const std::vector<std::string> &,
const std::string &,
207 ::fst::GetInfo<Arc>(std::get<0>(*args), std::get<1>(*args),
208 std::get<2>(*args), std::get<3>(*args),
212 void GetInfo(
const std::vector<std::string> &sources,
213 const std::string &arc_type,
const std::string &begin_key,
214 const std::string &end_key,
const bool list_fsts, FarInfoData *);
217 std::tuple<FarReaderClass &, FarReaderClass &, float, std::string_view,
226 args->
retval = ::fst::Isomorphic<Arc>(
227 reader1, reader2, std::get<2>(args->
args), std::get<3>(args->
args),
228 std::get<4>(args->
args));
231 bool Isomorphic(FarReaderClass &reader1, FarReaderClass &reader2,
232 float delta =
kDelta, std::string_view begin_key =
"",
233 std::string_view end_key =
"");
261 const TokenType token_type,
const std::string &begin_key,
262 const std::string &end_key,
const bool print_key,
263 const bool print_weight,
const std::string &symbols_source,
264 const bool initial_symbols,
const int32_t generate_sources,
265 const std::string &source_prefix,
266 const std::string &source_suffix);
271 #define REGISTER_FST_FAR_OPERATIONS(ArcType) \ 272 REGISTER_FST_OPERATION(CompileStrings, ArcType, FarCompileStringsArgs); \ 273 REGISTER_FST_OPERATION(Create, ArcType, FarCreateArgs); \ 274 REGISTER_FST_OPERATION(Equal, ArcType, FarEqualArgs); \ 275 REGISTER_FST_OPERATION(Extract, ArcType, FarExtractArgs); \ 276 REGISTER_FST_OPERATION(Info, ArcType, FarInfoArgs); \ 277 REGISTER_FST_OPERATION(Isomorphic, ArcType, FarIsomorphicArgs); \ 278 REGISTER_FST_OPERATION(PrintStrings, ArcType, FarPrintStringsArgs); \ 279 REGISTER_FST_OPERATION(GetInfo, ArcType, FarGetInfoArgs) 281 #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
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 TokenType token_type
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, const std::string &key_prefix, const std::string &key_suffix)
void Convert(FarReaderClass &reader, FarWriterClass &writer, std::string_view fst_type)
const std::string & key_prefix