aboutsummaryrefslogtreecommitdiff
path: root/gfsm/gfsm/src/programs/gfsmarith.gog
diff options
context:
space:
mode:
Diffstat (limited to 'gfsm/gfsm/src/programs/gfsmarith.gog')
-rw-r--r--gfsm/gfsm/src/programs/gfsmarith.gog132
1 files changed, 132 insertions, 0 deletions
diff --git a/gfsm/gfsm/src/programs/gfsmarith.gog b/gfsm/gfsm/src/programs/gfsmarith.gog
new file mode 100644
index 0000000..b2f14b9
--- /dev/null
+++ b/gfsm/gfsm/src/programs/gfsmarith.gog
@@ -0,0 +1,132 @@
+# -*- Mode: Shell-Script -*-
+#
+# Getopt::Gen specification
+#-----------------------------------------------------------------------------
+program "gfsmarith"
+#program_version "0.01"
+
+purpose "Perform an elementary arithmetic operation on automaton weights"
+author "Bryan Jurish <moocow@ling.uni-potsdam.de>"
+on_reparse "warn"
+
+#-----------------------------------------------------------------------------
+# Details
+#-----------------------------------------------------------------------------
+details ""
+
+#-----------------------------------------------------------------------------
+# Files
+#-----------------------------------------------------------------------------
+#rcfile "/etc/gfsmrc"
+#rcfile "~/.gfsmrc"
+
+#-----------------------------------------------------------------------------
+# Arguments
+#-----------------------------------------------------------------------------
+argument "FSMFILE" "Stored binary gfsm file" \
+ details="
+If unspecified, standard input will be read
+"
+
+#-----------------------------------------------------------------------------
+# Options
+#-----------------------------------------------------------------------------
+
+#-------------------------------------------------------
+# Basic Options
+
+int "compress" z "Specify compression level of output file." \
+ arg="LEVEL" \
+ default="-1" \
+ details="
+Specify zlib compression level of output file. -1 (default) indicates
+the default compression level, 0 (zero) indicates no zlib compression at all,
+and 9 indicates the best possible compression.
+"
+
+string "output" F "Specifiy output file (default=stdout)." \
+ arg="FILE" \
+ default="-"
+
+#-------------------------------------------------------
+# Operator Selection
+group "Operator Selection"
+
+flag "exp" E "Real exponentiation"
+
+flag "log" L "Real logarithm"
+
+float "multiply" m "Real multiplication by WEIGHT" \
+ arg="WEIGHT"
+
+float "add" a "Real addition of WEIGHT" \
+ arg="WEIGHT"
+
+flag "positive" p "Set real negative weights to zero"
+
+
+float "times" - "Semiring multiplication by WEIGHT" \
+ arg="WEIGHT"
+
+float "plus" - "Semiring addition of WEIGHT" \
+ arg="WEIGHT"
+
+flag "sr-positive" - "Set semiring-negative weights to semiring-zero"
+
+#-------------------------------------------------------
+# Weight Selection
+group "Weight Selection"
+
+flag "no-arcs" A "Exclude arc weights (default: include)"
+
+flag "no-finals" f "Exclude final weights (default: include)"
+
+#flag "potentials" P "Include potentials (default: include)" ##-- what the heck are 'potentials'?
+
+flag "zero" Z "Include semiring-zero weights (default: exclude)"
+
+#-------------------------------------------------------
+# State & Label Selection
+group "State & Label Selection"
+
+flag "initial" i "Select only initial state and its arcs/finality"
+
+int "state" s "Select only state ID and its arcs/finality (default=all)" \
+ arg="ID" \
+ default="-1"
+
+int "lower" l "Select only arcs with lower-label LO (default=any)" \
+ arg="LO" \
+ default="-1"
+
+int "upper" u "Select only arcs with upper-label HI (defualt=any)" \
+ arg="HI" \
+ default="-1"
+
+
+
+#-----------------------------------------------------------------------------
+# Addenda
+#-----------------------------------------------------------------------------
+#addenda ""
+
+#-----------------------------------------------------------------------------
+# Bugs
+#-----------------------------------------------------------------------------
+bugs "
+
+Note that the --plus and --times operations are
+sensitive to the semiring associated with the stored FSM file, while
+the --add and --multiply operations have the usual real-number interpretations,
+regardless of the automaton semiring.
+
+"
+
+#-----------------------------------------------------------------------------
+# Footer
+#-----------------------------------------------------------------------------
+#acknowledge `cat acknowledge.pod`
+
+seealso "
+L<gfsmutils>
+"