Index: src/compdic/compdic-update-cats
===================================================================
--- src/compdic/compdic-update-cats	(revision 555c7f814bf87fa10240e98295372095bc422115)
+++ src/compdic/compdic-update-cats	(revision 555c7f814bf87fa10240e98295372095bc422115)
@@ -0,0 +1,44 @@
+#! /bin/bash
+
+if [ $# -lt 2 ]
+then
+    echo "Usage:"
+    echo "        compdic-update-cats <catfile> <difference> <difference> ..."
+    echo "where"
+    echo "    <catfile>    - file containing the list morphosyntactic categories"
+    echo "    <difference> - diff-format file containing lines to be added to/removed from dictionary"
+    exit 0
+fi	
+
+tempdir=`mktemp -d /tmp/compdic.XXXXXX`
+
+cats=$1
+shift
+
+catplus=$tempdir/plus.cat
+catminus=$tempdir/minus.cat
+cattmp=$tempdir/tmp.cat
+
+touch $catplus
+touch $catminus
+
+while (($#))
+do
+    echo processing $1 ...
+    cat $1 | egrep '^>' | sed -r 's/^> *//;s/[[:space:]].*$//' | cut -d ',' -f 2 | sort -u | canonize >> $catplus
+    cat $1 | egrep '^<' | sed -r 's/^< *//;s/[[:space:]].*$//' | cut -d ',' -f 2 | sort -u | canonize >> $catminus
+    shift
+done
+
+echo updating $cats ...
+# comm -23 $cats $catminus > $cattmp
+# mv ${cats} ${cats}~
+# cat $cattmp $catplus | sort -u > $cats
+
+cat $cats $catplus | sort -u > $cattmp
+
+mv ${cats} ${cats}~
+mv ${cattmp} ${cats}
+chmod a+r ${cats}
+
+rm -r $tempdir
