HFST-COMPARE(1)
ok so bestie, you just opened the manual for hfst-compare(1) β it lives in the User Commands section of the HFST man pages, and honestly? it's giving tiny but mighty. β¨
It compares two transducers. That's the whole gig. And it ate. π
π NAME π
hfst-compare β compare two transducers π
(also yes the original literally has a stray = in front of "Compare" up there. iconic. we move.) π
π SYNOPSIS π
hfst-compare [OPTIONS...] [INFILE1 [INFILE2]]
π DESCRIPTION π
So the vibe is: compare two transducers. That's it, that's the mission. π¦
β¨ Common options β¨
The little group-chat settings everybody shares:
-h,--helpβ prints the help message, aka the "wait what do I type" button π«Ά-V,--versionβ prints version info, so you can tell everyone which era of HFST you're on β-v,--verboseβ print verbosely while processing, i.e. it narrates its life to you πΈ-q,--quietβ only print fatal erros and requested output. (that typo is theirs, not mine, and I'm obsessed π) so basically: silence unless something's truly wrong or you asked for it π-s,--silentβ alias of--quiet. same energy, different name, no notes. π
π¦ Input/Output options π¦
Where the transducers come in and where the tea gets spilled:
-1,--input1=INFILE1β read the first input transducer from INFILE1 π-2,--input2=INFILE2β read the second input transducer from INFILE2 π-C,--do-not-convertβ do not allow transducers to be converted into the same type. like, they stay exactly as they are, no glow-ups allowed π«β¨-o,--output=OUTFILEβ write results to OUTFILE π
πΈ Harmonization πΈ
Getting everybody on the same page, symbol-wise:
-H,--do-not-harmonizeβ do not harmonize symbols. π-e,--eliminate-flagsβ eliminate flag diacritics. bye bestie π
Now the fine print, and bestie you do need this part:
If OUTFILE, or either INFILE1 or INFILE2 is missing or -, standard streams will be used. INFILE1, INFILE2, or both, must be specified. The format of the result depends on the format of INFILE1 and INFILE2; both should have the same format. π§
The operation is applied pairwise for INFILE1 and INFILE2, which must have the same number of transducers. But if INFILE2 has only one transducer, the operation is applied for each transducer in INFILE1 while keeping that second transducer constant. lowkey generous of it π
π EXAMPLES π
Watch and learn, this is the moment:
$ hfst-compare cat.hfst dog.hfst
cat.hfst[1] != dog.hfst[1] $ hfst-compare cat.hfst cat.hfst
cat.hfst[1] == cat.hfst[1]
Cats and dogs are not the same transducer, but a cat is very much equal to itself. slay. π±πΆ
π REPORTING BUGS π
Found something cursed? Report bugs to <hfst-bugs@helsinki.fi> or directly to our bug tracker at: <https://github.com/hfst/hfst/issues> π
hfst-comparehome page: <https://github.com/hfst/hfst/wiki/HfstCompare>- General help using HFST software: <https://github.com/hfst/hfst/wiki>
π COPYRIGHT π
Copyright Β© 2017 University of Helsinki, License GPLv3: GNU GPL version 3 <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. fr fr, no cap, read the license π
tl;dr: give it two transducers, it tells you if they're the same. everything else is vibes and flags. iykyk π
and that's the whole page bestie π«Ά this is from the HFST manual set, dated August 2018, filed under HFST-COMPARE(1). go forth and compare. πβ¨
π¦ where this page comes from
- debian bookworm: hfst 3.16.0-5 Β· GPL-3.0-or-later
- debian trixie: hfst 3.16.2-1+b1 Β· GPL-3.0-or-later
- nixos 26.05: hfst 3.16.2
- opensuse-leap 16.0: hfst 3.16.0-bp160.1.11 Β· Apache-2.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND GPL-3.0-or-later AND GPL-3.0-only
- ubuntu jammy: hfst 3.15.4-2 Β· GPL-3.0-or-later
- ubuntu noble: hfst 3.16.0-5build4 Β· GPL-3.0-or-later
- ubuntu questing: hfst 3.16.2-1
- ubuntu resolute: hfst 3.16.2-1build2 Β· GPL-3.0-or-later
- ubuntu stonking: hfst 3.17.1-6 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms