fstcompose(1)

πŸ’– fstcompose β€” compose two FSTs πŸ’–

okay bestie, gather round, because fstcompose from the OpenFst crew is literally the moment two FSTs get merged into one and honestly? it's giving main character energy. no cap.


✨ NAME ✨

fstcompose β€” compose two FSTs πŸ¦‹


🌸 SYNOPSIS 🌸

fstcompose [OPTIONS] in1.fst in2.fst [out.fst]

πŸ’… DESCRIPTION πŸ’…

Composes two FSTs. that's it. that's the whole thing. two in, one out, iconic behavior, periodt. πŸ‘‘


πŸŽ€ OPTIONS πŸŽ€

okay so real talk about the boolean options first: they'll accept either true or false as a value, and if you just slap the flag down with no value at all, it implicitly means true. yes bestie, it's that easy. πŸ’–

  • --compose_filter[=TYPE] β€” sets the composition filter, and you gotta pick exactly one of: alt_sequence, auto, match, null, sequence, trivial. Default: auto. 🌈
  • --connect[=BOOLEAN] β€” trims the output. Default: true. ✨
  • --fst_align[=BOOLEAN] β€” writes FST data aligned wherever it's appropriate. Default: false. 🫢
  • --fst_compat_symbols[=BOOLEAN] β€” requires symbol tables to match when appropriate. Default: true. ⭐
  • --fst_default_cache_gc[=BOOLEAN] β€” turns on garbage collection for the cache. Default: true. πŸ—‘οΈβœ¨
  • --fst_default_cache_gc_limit=N β€” sets the cache byte size that triggers garbage collection. Default: 1048576. πŸ”’
  • --fst_error_fatal[=BOOLEAN] β€” if it's true, FST errors are fatal. otherwise, the returned objects get flagged as bad instead β€” like, FSTs come back with the kError property set to true, and FST weights get set so that Member() returns false. Default: true. πŸ’€ (dramatic but true)
  • --fst_field_separator=STRING β€” sets the characters used as the separator between printed fields. Default: " ". πŸŽ€
  • --fst_read_mode=STRING β€” sets the default file reading mode for mappable files, either "read" or "map". Default: "read". πŸ“–
  • --fst_verify_properties[=BOOLEAN] β€” verifies fst properties queried by TestProperties. Default: false. πŸ”
  • --fst_weight_parentheses=STRING β€” sets the characters that enclose the first weight of a printed composite weight (think pair weight, tuple weight, and derived classes) so the nested composite weights do proper I/O. must have size 0 (none) or 2 (open and close parenthesis). Default: no parentheses. 🌸
  • --fst_weight_separator=CHARACTER β€” sets the character separator between printed composite weights. Default: comma. πŸ’œ
  • --help[=BOOLEAN] β€” shows usage information. Default: false. πŸ™ˆ
  • --helpshort[=BOOLEAN] β€” shows brief usage information. Default: false. 🧚
  • --save_relabel_ipairs=FILENAME β€” saves the input relabel pairs to a file. Default: do not save. πŸ’Ύ
  • --save_relabel_opairs=FILENAME β€” saves the output relabel pairs to a file. Default: do not save. πŸ’Ύ
  • --tmpdir=PATHNAME β€” sets the temporary directory to use. Default: /tmp. πŸ“‚
  • --v[=N] β€” sets the verbosity level. Default: 0. πŸ—£οΈ

πŸ‘€ SEE ALSO πŸ‘€

the whole girl squad, in order, no one left out because we don't do that here: fstarcsort(1), fstclosure(1), fstcompile(1), fstcompress(1), fstconcat(1), fstconnect(1), fstconvert(1), fstdeterminize(1), fstdifference(1), fstdisambiguate(1), fstdraw(1), fstencode(1), fstepsnormalize(1), fstequal(1), fstequivalent(1), fstinfo(1), fstintersect(1), fstinvert(1), fstisomorphic(1), fstlinear(1), fstloglinearapply(1), fstmap(1), fstminimize(1), fstprint(1), fstproject(1), fstprune(1), fstpush(1), fstrandgen(1), fstrelabel(1), fstreplace(1), fstreverse(1), fstreweight(1), fstrmepsilon(1), fstshortestdistance(1), fstshortestpath(1), fstsymbols(1), fstsynchronize(1), fsttopsort(1), fstunion(1). 🫢


ok that's the whole page, you ate that. now go compose something gorgeous bestie πŸ’–

this was OpenFst 1.8.5, brought to you by Mar 2026 β€” mwah, bye!! πŸ’…βœ¨

πŸ“¦ where this page comes from