fstdifference(1)

πŸ’– fstdifference β€” it's giving "subtract an unweighted DFA from an FSA" ✨

okay so bestie, welcome to fstdifference(1), a user command from the OpenFst squad 🫢 she's a little niche but she EATS, I promise.


🌸 NAME 🌸

fstdifference β€” subtract an unweighted DFA from an FSA. that's it, that's the whole job, and she does it flawlessly πŸ’…


✨ SYNOPSIS ✨

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

like, in goes in1.fst, in goes in2.fst, and optionally out comes out.fst. three files, zero drama πŸ’–


πŸ¦‹ DESCRIPTION πŸ¦‹

Subtracts an unweighted DFA from an FSA.

no literally that's what the page says and it's lowkey iconic in how brief it is. you hand her an FSA and an unweighted DFA, she does the subtraction thing. periodt ✨


πŸŽ€ OPTIONS πŸŽ€

heads up bestie: boolean options accept either true or false as a value, or the implicit value true if neither value is specified. so like, bare flag = yes, =false = no. iykyk πŸ’…
  • --compose_filter[=TYPE] β€” sets the composition filter. pick from alt_sequence, auto, match, or sequence. default is auto. ngl auto just handles it for you, main character energy 🌟
  • --connect[=BOOLEAN] β€” trim the output. default: true πŸŽ€
  • --fst_align[=BOOLEAN] β€” write FST data aligned where appropriate. default: false ✨
  • --fst_compat_symbols[=BOOLEAN] β€” require symbol tables to match when appropriate. default: true πŸ’–
  • --fst_default_cache_gc[=BOOLEAN] β€” enable garbage collection of the cache. default: true 🧹✨
  • --fst_default_cache_gc_limit=N β€” set the cache byte size that triggers garbage collection. default: 1048576 πŸ”’
  • --fst_error_fatal[=BOOLEAN] β€” if true, FST errors are fatal 😭 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 β€” set the characters used as a separator between printed fields. default: " " (yes queen, five spaces, exactly as written) πŸŽ€
  • --fst_read_mode=STRING β€” set the default file reading mode for mappable files. either "read" or "map". default: "read" πŸ“–
  • --fst_verify_properties[=BOOLEAN] β€” verify fst properties queried by TestProperties. default: false πŸ”
  • --fst_weight_parentheses=STRING β€” set the characters enclosing the first weight of a printed composite weight (think pair weight, tuple weight, and derived classes) so nested composite weights do their I/O properly. must have size 0 (none) or 2 (open and close parenthesis). default: no parentheses 🌈
  • --fst_weight_separator=CHARACTER β€” set the character separator between printed composite weights. default: comma πŸ“
  • --help[=BOOLEAN] β€” show usage information. default: false 🫢
  • --helpshort[=BOOLEAN] β€” show brief usage information. default: false ⭐
  • --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 πŸ”₯

πŸ‘‘ SEE ALSO πŸ‘‘

the whole OpenFst friend group, obviously, she doesn't run alone:

fstarcsort(1), fstclosure(1), fstcompile(1), fstcompose(1), fstcompress(1), fstconcat(1), fstconnect(1), fstconvert(1), fstdeterminize(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 vibe check bestie πŸ’– this page is from OpenFst 1.8.5, dated Mar 2026. go subtract something, you absolute icon πŸ‘‘βœ¨

πŸ“¦ where this page comes from