// Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // // Copyright 2005-2010 Google, Inc. // Author: jpr@google.com (Jake Ratkiewicz) // Definitions of 'scriptable' versions of FAR operations, that is, // those that can be called with FstClass-type arguments. #include #include #include namespace fst { namespace script { void FarCompileStrings(const vector &in_fnames, const string &out_fname, const string &arc_type, const string &fst_type, const FarType &far_type, int32 generate_keys, FarEntryType fet, FarTokenType tt, const string &symbols_fname, const string &unknown_symbol, bool keep_symbols, bool initial_symbols, bool allow_negative_labels, bool file_list_input, const string &key_prefix, const string &key_suffix) { FarCompileStringsArgs args(in_fnames, out_fname, fst_type, far_type, generate_keys, fet, tt, symbols_fname, unknown_symbol, keep_symbols, initial_symbols, allow_negative_labels, file_list_input, key_prefix, key_suffix); Apply >("FarCompileStrings", arc_type, &args); } void FarCreate(const vector &in_fnames, const string &out_fname, const string &arc_type, const int32 generate_keys, const bool file_list_input, const FarType &far_type, const string &key_prefix, const string &key_suffix) { FarCreateArgs args(in_fnames, out_fname, generate_keys, file_list_input, far_type, key_prefix, key_suffix); Apply >("FarCreate", arc_type, &args); } bool FarEqual(const string &filename1, const string &filename2, const string &arc_type, float delta, const string &begin_key, const string &end_key) { FarEqualInnerArgs args(filename1, filename2, delta, begin_key, end_key); FarEqualArgs args_with_retval(args); Apply >("FarEqual", arc_type, &args_with_retval); return args_with_retval.retval; } void FarExtract(const vector &ifilenames, const string &arc_type, int32 generate_filenames, const string &begin_key, const string &end_key, const string &filename_prefix, const string &filename_suffix) { FarExtractArgs args(ifilenames, generate_filenames, begin_key, end_key, filename_prefix, filename_suffix); Apply >("FarExtract", arc_type, &args); } void FarInfo(const vector &filenames, const string &arc_type, const string &begin_key, const string &end_key, const bool list_fsts) { FarInfoArgs args(filenames, begin_key, end_key, list_fsts); Apply >("FarInfo", arc_type, &args); } void FarPrintStrings(const vector &ifilenames, const string &arc_type, const FarEntryType entry_type, const FarTokenType token_type, const string &begin_key, const string &end_key, const bool print_key, const bool print_weight, const string &symbols_fname, const bool initial_symbols, const int32 generate_filenames, const string &filename_prefix, const string &filename_suffix) { FarPrintStringsArgs args(ifilenames, entry_type, token_type, begin_key, end_key, print_key, print_weight, symbols_fname, initial_symbols, generate_filenames, filename_prefix, filename_suffix); Apply >("FarPrintStrings", arc_type, &args); } // Instantiate all templates for common arc types. REGISTER_FST_FAR_OPERATIONS(StdArc); REGISTER_FST_FAR_OPERATIONS(LogArc); REGISTER_FST_FAR_OPERATIONS(Log64Arc); } // namespace script } // namespace fst