Index: src/compdic/compdic-update-fst
===================================================================
--- src/compdic/compdic-update-fst	(revision 555c7f814bf87fa10240e98295372095bc422115)
+++ src/compdic/compdic-update-fst	(revision 555c7f814bf87fa10240e98295372095bc422115)
@@ -0,0 +1,67 @@
+#! /bin/bash
+
+if [ $# -lt 2 ]
+then
+    echo "Usage:"
+    echo "        compdic-update-fst <dictionary> <difference> <difference> ..."
+    echo "where"
+    echo "    <dictionary> - fst format automaton"
+    echo "    <difference> - diff format file containing paths to be added/removed from dictionary"
+    exit 0
+fi	
+
+tempdir=`mktemp -d /tmp/compdic.XXXXXX`
+
+dict=$1
+shift
+
+dicplus=$tempdir/plus.dic
+fstplus=$tempdir/plus.fst
+dicminus=$tempdir/minus.dic
+fstminus=$tempdir/minus.fst
+
+touch $dicplus
+touch $dicminus
+
+while (($#))
+do
+    echo processing $1 ...
+    cat $1 | egrep '^>' | sed -r 's/^> *//;s/[[:space:]].*$//' | canonize >> $dicplus
+    cat $1 | egrep '^<' | sed -r 's/^< *//;s/[[:space:]].*$//' | canonize >> $dicminus
+    shift
+done
+
+echo updating $dict ...
+
+if (( `cat $dicminus | wc -l` ))
+then
+    tmpfst1=$tempdir/tmp1.fst
+    echo "running compdic-dic-to-fst $dicminus $fstminus"
+    compdic-dic-to-fst $dicminus $fstminus
+    echo "running fstdifference $dict $fstminus | fstdeterminize > $tmpfst1"
+    fstdifference $dict $fstminus > $tmpfst1
+else
+    tmpfst1=$dict
+fi
+
+if (( `cat $dicplus | wc -l` ))
+then
+    tmpfst2=$tempdir/tmp2.fst
+    echo "running compdic-dic-to-fst $dicplus $fstplus"
+    compdic-dic-to-fst $dicplus $fstplus
+    echo "running fstunion $tmpfst1 $fstplus | fstdeterminize | fstminimize > $tmpfst2"
+    fstunion $tmpfst1 $fstplus > $tmpfst2
+else
+    tmpfst2=$tmpfst1
+fi
+
+
+
+echo "running mv ${dict} ${dict}~"
+mv ${dict} ${dict}~
+
+echo "cat ${tmpfst2} | fstrmepsilon | fstdeterminize | fstminimize  > ${dict}"
+cat ${tmpfst2} | fstrmepsilon | fstdeterminize | fstminimize  > ${dict}
+chmod a+r ${dict}
+
+rm -r $tempdir
