---
name: "hfst-regexp2fst"
section: "1"
platform: "linux"
package: "hfst"
version: "3.16.2-1+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/hfst-regexp2fst"
---

# hfst-regexp2fst(1)

\=Compile (weighted) regular expressions into transducer(s)

## NAME

hfst-regexp2fst - =Compile (weighted) regular expressions into transducer(s)

## SYNOPSIS

**hfst-regexp2fst** \[*OPTIONS*...\] \[*INFILE*\]

## DESCRIPTION

Compile (weighted) regular expressions into transducer(s) Common options:

- **-h**, **--help**

  Print help message

- **-V**, **--version**

  Print version info

- **-v**, **--verbose**

  Print verbosely while processing

- **-q**, **--quiet**

  Only print fatal erros and requested output

- **-s**, **--silent**

  Alias of **--quiet**

### Input/Output options:

- **-i**, **--input**=*INFILE*

  Read input transducer from INFILE

- **-o**, **--output**=*OUTFILE*

  Write output transducer to OUTFILE

### String and format options:

- **-f**, **--format**=*FMT*

  Write result in FMT format

- **-j**, **--disjunct**

  Disjunct all regexps instead of transforming each regexp into a separate transducer

- **-l**, **--line**

  Input is line separated (default)

- **-S**, **--semicolon**

  Input is semicolon separated

- **-e**, **--epsilon**=*EPS*

  Map EPS as zero, i.e. epsilon.

- **-x**, **--xerox-composition**=*VALUE* Whether flag diacritics are treated as ordinary

  symbols in composition (default is false).

- **-X**, **--xfst**=*VARIABLE*

  Toggle xfst compatibility option VARIABLE.

### Harmonization and optimization options:

- **-H**, **--do-not-harmonize**

  Do not expand '?' symbols.

- **-F**, **--harmonize-flags**

  Harmonize flag diacritics.

- **-E**, **--encode-weights**

  Encode weights when minimizing (default is false).

- **-M**, **--do-not-minimize**

  Determinize result instead of minimizing it.

If OUTFILE or INFILE is missing or -, standard streams will be used. FMT must be one of the following: {foma, sfst, openfst-tropical, openfst-log}. If EPS is not defined, the default representation of 0 is used VALUEs recognized are {true,ON,yes} and {false,OFF,no}. Xfst variables are {flag-is-epsilon (default OFF)}.

## EXAMPLES

- echo " {cat}:{dog} " \| hfst-regexp2fst

  create transducer {cat}:{dog}

- echo " {cat}:{dog}::3 " \| hfst-regexp2fst

  same but with weight 3

- echo " c:d a:o::3 t:g " \| hfst-regexp2fst

  same but with weight 3 in the middle

- echo " cat ; dog ; "3" " \| hfst-regexp2fst -S

  create transducers

-

  "cat" and "dog" and "3"

## REPORTING BUGS

Report bugs to \<hfst-bugs@helsinki.fi\> or directly to our bug tracker at: \<https://github.com/hfst/hfst/issues\>

hfst-regexp2fst home page: \<https://github.com/hfst/hfst/wiki/Regexp2Fst\>\
 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.
