fstmap(1)

πŸ’– fstmap β€” map an operation over an FST πŸ’–

okay bestie, so you know fstmap(1) from User Commands? Yeah, that's the one. Sit down, hydrate, and let me tell you about it 🫢


✨ SYNOPSIS ✨

fstmap [OPTIONS] [in.fst [out.fst]]

🌸 DESCRIPTION 🌸

She takes an FST and applies an operation to each arc of it. That's it. That's the whole vibe. Every single arc gets the treatment, no arc left behind, periodt. πŸ’…


πŸŽ€ OPTIONS πŸŽ€

quick lil housekeeping first: boolean options are chill like that β€” you can hand them either true or false as a value, or if you don't specify any value at all, they just implicitly go true. iconic behaviour honestly.

  • --delta=VALUE β€” sets the comparison/quantization delta for a quantize operation. Default: 0.000976562.
  • --fst_align[=BOOLEAN] β€” write FST data aligned where it makes sense to. Default: false.
  • --fst_compat_symbols[=BOOLEAN] β€” require symbol tables to match when that's the appropriate move. Default: true.
  • --fst_default_cache_gc[=BOOLEAN] β€” turns on garbage collection for the cache. Default: true.
  • --fst_default_cache_gc_limit=N β€” the cache byte size that trips garbage collection and sends it off. Default: 1048576.
  • --fst_error_fatal[=BOOLEAN] β€” if true, FST errors are fatal, no takebacks 😭. Otherwise the returned objects get flagged as bad β€” like, FSTs come back with the kError property set to true, and FST weights get set so that Member() returns false. Default: true.
  • --fst_field_separator=STRING β€” sets which characters get used as the separator between printed fields. Default: " ".
  • --fst_read_mode=STRING β€” sets the default file reading mode for mappable files, and it's either "read" or "map". Default: "read".
  • --fst_verify_properties[=BOOLEAN] β€” verify the fst properties that TestProperties queries. 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 nested composite weights do their I/O correctly. It must be size 0 (none) or 2 (an open and a close parenthesis). Default: no parentheses.
  • --fst_weight_separator=CHARACTER β€” sets the character separator between printed composite weights. Default: comma.
  • --help[=BOOLEAN] β€” show usage information. Default: false.
  • --helpshort[=BOOLEAN] β€” show the brief usage information. Default: false.
  • --map_type=TYPE β€” sets the map operation, and it's one of arc_sum, identity, input_epsilon, invert, output_epsilon, plus (which takes --weight), quantize (which takes --delta), rmweight, superfinal, times (which takes --weight), to_log, and to_log64. Default: identity.
  • --save_relabel_ipairs=FILENAME β€” save the input relabel pairs to a file. Default: do not save.
  • --save_relabel_opairs=FILENAME β€” save 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.
  • --weight=VALUE β€” sets the weight for a plus or times operation. Default: "".
girl. that is literally NINETEEN options. she is thorough and we respect her for it πŸ‘‘

πŸ‘€ SEE ALSO πŸ‘€

the whole friend group, the squad, the entourage. go say hi:

fstarcsort(1), fstclosure(1), fstcompile(1), fstcompose(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), 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)


and that's the whole page bestie!! this diva is OpenFst 1.8.5, dated Mar 2026 β€” go map some arcs and slay πŸ’œβœ¨πŸ¦‹

πŸ“¦ where this page comes from