pdtreplace(1)

✨ pdtreplace β€” the glow-up every RTN deserves ✨

okay so bestie, welcome to pdtreplace(1), straight out of the User Commands manual πŸ’… this is the little tool that takes your RTN and turns it into a PDT. we're gonna get you from "recursive transition network" to "pushdown transducer" and honestly? iconic behaviour.


πŸŽ€ NAME πŸŽ€

pdtreplace β€” convert an RTN into a PDT


🌸 SYNOPSIS 🌸

pdtreplace [OPTIONS] root.fst rootlabel [rule.fst label...]  [out.fst]

(yes that double space before [out.fst] is real, copy it exactly, no cap 🫢)


πŸ¦‹ DESCRIPTION πŸ¦‹

Convert an RTN represented by FSTs and non-terminal labels into a PDT.

like. that's the whole plot. FSTs plus non-terminal labels walk in, a PDT walks out ✨


πŸ‘‘ OPTIONS πŸ‘‘

just so you know the vibe before we dive in: boolean options accept either true or false as a value, or the implicit value true if neither value is specified. so --help and --help=true are the same thing, periodt πŸ’–

  • --fst_align[=BOOLEAN] β€” write the FST data all nice and aligned where appropriate. default: false.
  • --fst_compat_symbols[=BOOLEAN] β€” be strict and require symbol tables to match when appropriate. default: true.
  • --fst_default_cache_gc[=BOOLEAN] β€” turn on garbage collection for the cache. default: true.
  • --fst_default_cache_gc_limit=N β€” sets the cache byte size that triggers garbage collection. default: 1048576.
  • --fst_error_fatal[=BOOLEAN] β€” if true, FST errors are fatal, full stop. otherwise the returned objects get flagged as bad instead β€” like, FSTs come back with the kError property set to true, and FST weights are set so that Member() returns false. default: true.
  • --fst_field_separator=STRING β€” the characters used as a separator between printed fields. default: " " (that's five spaces, bestie, count them πŸ“).
  • --fst_read_mode=STRING β€” set the default file reading mode for mappable files, either "read" or "map". default: "read".
  • --fst_verify_properties[=BOOLEAN] β€” verify the fst properties queried by TestProperties. default: false.
  • --fst_weight_parentheses=STRING β€” set the characters that enclose the first weight of a printed composite weight (think pair weight, tuple weight, and the derived classes) so nested composite weights do proper I/O. this one must have size 0 (none) or 2 (open and close parenthesis). default: no parentheses.
  • --fst_weight_separator=CHARACTER β€” the character separator between printed composite weights. default: comma.
  • --help[=BOOLEAN] β€” show usage information. default: false.
  • --helpshort[=BOOLEAN] β€” show brief usage information. default: false.
  • --left_paren_prefix=STRING β€” prefix to attach to SymbolTable labels for inserted left parentheses. default: "(_".
  • --pdt_parser_type=STRING β€” the construction method, either "left" or "left_sr". default: "left".
  • --pdt_parentheses=STRING β€” set the PDT parenthesis label pairs.
  • --right_paren_prefix=STRING β€” prefix to attach to SymbolTable labels for inserted right parentheses. default: ")_".
  • --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.
  • --start_paren_labels=INTEGER β€” the index to use for the first inserted parentheses; if you don't specify it, the next available label beyond the highest output label gets used. slay, defaults 🧚
  • --tmpdir=PATHNAME β€” set the temporary directory to use. default: /tmp.
  • --v[=N] β€” set the verbosity level. default: 0.
heads up babes: a bunch of these only matter depending on what you're doing, but every single one of them is listed here for a reason. don't skip the fine print, iykyk πŸ’œ

🌈 SEE ALSO 🌈

go read those too, they're the friend group πŸ‘‘


and that's a wrap on the pdtreplace(1) page, bestie!! this whole thing lives in the OpenFst 1.8.5 era, dated Mar 2026 β€” so when you cite it, cite it like you mean it. now go convert something into a PDT, main character energy only πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from