fstclosure(1)

πŸ‘‘ fstclosure(1) β€” User Commands, but make it a group chat πŸ’–

okay so bestie, welcome to the fstclosure(1) page, filed under User Commands, and I am so excited to tell you about it. like genuinely. this little icon does one thing and does it flawlessly. periodt.


✨ NAME ✨

fstclosure β€” it creates the Kleene closure of an FST. yes queen, star power. literally.


🌸 SYNOPSIS 🌸

fstclosure [OPTIONS] [in.fst [out.fst]]

so you hand it options, an input, an output, and it delivers. no notes.


πŸ¦‹ DESCRIPTION πŸ¦‹

Create the Kleene closure of an FST. that's the whole vibe. the it-girl of finite-state operations. if you know you know 🫢


πŸ’… OPTIONS πŸ’…

first things first, the house rules for booleans:

Boolean options accept either true or false as a value, or the implicit value true if neither value is specified. so if you just say the flag with nothing after it? it's true. no cap. the flag said "I'm here and I mean it." πŸ’–


  • --closure_plus[=BOOLEAN] β€” okay so this one says: do not add the empty path; i.e., compute T+ instead of T*. Default: false. so by default you're getting the T* star treatment ⭐, and flipping this gives you the plus version instead.
  • --fst_align[=BOOLEAN] β€” Write FST data aligned where appropriate. Default: false. tidy. aesthetic. aligned. yes.
  • --fst_compat_symbols[=BOOLEAN] β€” Require symbol tables to match when appropriate. Default: true. it will check that you two are compatible, bestie πŸ’€
  • --fst_default_cache_gc[=BOOLEAN] β€” Enable garbage collection of cache. Default: true. cleaning up after ourselves, we love a self-care moment 🧚
  • --fst_default_cache_gc_limit=N β€” Set the cache byte size that triggers garbage collection. Default: 1048576. that's the number. that's the limit. once you hit it, the GC wakes up 😭
  • --fst_error_fatal[=BOOLEAN] β€” If true, FST errors are fatal. Otherwise, returned objects are flagged as bad. For example, FSTs are returned with the kError property set to true, and FST weights set so that Member() returns false. Default: true. so yeah, default behaviour is dramatic: hit an error and it's over over. set it to false and instead you get sad little objects marked bad instead.
  • --fst_field_separator=STRING β€” Set the characters used as a separator between printed fields. Default: " ". (yes that is a bunch of spaces, that's the default, don't come for me)
  • --fst_read_mode=STRING β€” Set the default file reading mode for mappable files, either "read" or "map". Default: "read". those are the only two options. pick one.
  • --fst_verify_properties[=BOOLEAN] β€” Verify fst properties queried by TestProperties. Default: false. trust but verify, and by default we are just trusting πŸ™ˆ
  • --fst_weight_parentheses=STRING β€” Set the characters enclosing the first weight of a printed composite weight (e.g., pair weight, tuple weight, and derived classes) to ensure proper I/O of nested composite weights. Must have size 0 (none) or 2 (open and close parenthesis). Default: no parentheses. so it's either nothing or a matching pair, no half measures πŸ’…
  • --fst_weight_separator=CHARACTER β€” Set the character separator between printed composite weights. Default: comma. cute, classic, comma.
  • --help[=BOOLEAN] β€” Show usage information. Default: false.
  • --helpshort[=BOOLEAN] β€” Show brief usage information. Default: false. the tl;dr version, for when you're in a rush πŸƒβ™€οΈ
  • --save_relabel_ipairs=FILENAME β€” Save input relabel pairs to file. Default: do not save.
  • --save_relabel_opairs=FILENAME β€” Save output relabel pairs to file. Default: do not save.
  • --tmpdir=PATHNAME β€” Set the temporary directory to use. Default: /tmp.
  • --v[=N] β€” Set the verbosity level. Default: 0. crank it up if you want it to talk to you more πŸ—£οΈ

πŸ”₯ SEE ALSO πŸ”₯

the whole friend group, fr fr β€” go say hi to all of them:

fstarcsort(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), 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)


and that's the whole page, bestie!! go compute your closure and slay πŸ’–βœ¨

this has been OpenFst 1.8.5, dropping Mar 2026, from your girl fstclosure(1) β€” mwah, ily, bye πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from