Index: app/dist/common/utt_make_config.pl
===================================================================
--- app/dist/common/utt_make_config.pl	(revision ac7d97018efb6419eb3d840b7767294d8be71ed8)
+++ app/dist/common/utt_make_config.pl	(revision ff0fc991d727551b858d38e744ef5e936f54278a)
@@ -21,4 +21,5 @@
 conf_lem(catfile($usr_home, 'lem.conf'), $sys_home);
 conf_ser(catfile($usr_home, 'ser.conf'), $sys_home);
+conf_dgc(catfile($usr_home, 'dgc.conf'), $sys_home);
 
 print "UTT user configuration created in $usr_home\n";
@@ -214,2 +215,22 @@
 	return $best_locale;
 }
+
+sub conf_dgc() {
+	my $dgc_file = shift;
+	my $utthome = shift;
+  open(FILE, ">$dgc_file");
+
+  print FILE makeConfigHeader();
+  print FILE "categories=", abs_path("$utthome/lib/utt/cats.dgc"), "\n";
+  print FILE "grammar=", abs_path("$utthome/lib/utt/gram.dgc"), "\n";
+
+  close FILE;
+  
+  
+  open(FILE, ">$utthome/bin/Makefile.go");
+  print FILE "\ngram.dgp: ", abs_path("$utthome/lib/utt/gram.dgc"), "\n";
+  print FILE "\tdgc -c ", abs_path("$utthome/lib/utt/cats.dgc"), " < ", abs_path("$utthome/lib/utt/gram.dgc"), " > gram.dgp\n";
+  close FILE;
+  
+}
+
Index: app/dist/struktura.txt
===================================================================
--- app/dist/struktura.txt	(revision ac7d97018efb6419eb3d840b7767294d8be71ed8)
+++ app/dist/struktura.txt	(revision ff0fc991d727551b858d38e744ef5e936f54278a)
@@ -1,8 +1,15 @@
 /usr/local/bin/aut2fsa
+/usr/local/bin/canonize
 /usr/local/bin/compiledic
 /usr/local/bin/con
 /usr/local/bin/cor
+/usr/local/bin/dgc
+/usr/local/bin/dgp
 /usr/local/bin/fla
 /usr/local/bin/fsm2aut
+/usr/local/bin/go		?
+/usr/local/bin/Makefile.go	?
+/usr/local/bin/attr.pm
+/usr/local/bin/gph
 /usr/local/bin/grp
 /usr/local/bin/gue
@@ -14,4 +21,5 @@
 /usr/local/bin/ser
 /usr/local/bin/tok
+/usr/local/bin/tre.rb
 /usr/local/bin/unfla
 /usr/local/bin/utt-make-config.pl
@@ -21,4 +29,5 @@
 /usr/local/etc/utt/con.conf
 /usr/local/etc/utt/cor.conf
+/usr/local/etc/utt/dgc.conf
 /usr/local/etc/utt/fla.conf
 /usr/local/etc/utt/grp.conf
@@ -45,4 +54,7 @@
 /usr/local/lib/utt/terms.m4
 /usr/local/lib/utt/weights.cor
+/usr/local/lib/utt/seg.rb
+/usr/local/lib/utt/cats.dgc
+/usr/local/lib/utt/gram.dgc
 
 /usr/local/share/doc/utt/FAQ
Index: app/src/dgp/Makefile
===================================================================
--- app/src/dgp/Makefile	(revision b6109b9c36169227719202119e04d3007fe6459f)
+++ app/src/dgp/Makefile	(revision ff0fc991d727551b858d38e744ef5e936f54278a)
@@ -2,4 +2,5 @@
 
 SHELL = /bin/sh
+LIB_PATH=../../lib
 
 #vpath %.o  .
@@ -40,4 +41,6 @@
 copy:
 ifdef UTT_BIN_DIR
-	cp dgp dgc canonize $(UTT_BIN_DIR)
+	cp dgp dgc canonize tre.rb $(UTT_BIN_DIR)/
+	cp go attr.pm $(UTT_BIN_DIR)/
+	cp $(LIB_PATH)/*.dgc $(UTT_BIN_DIR)/../lib/utt/
 endif
Index: p/src/dgp/Seg.rb
===================================================================
--- app/src/dgp/Seg.rb	(revision 0214596e4d70b25df913a24f19d50cb0f1b4a69f)
+++ 	(revision )
@@ -1,31 +1,0 @@
-
-class Seg
-  
-  def initialize(s="")
-    @line=s
-    self
-  end
-
-  def to_s
-    @line.chomp
-  end
-
-  def set(s)
-    @line=s
-    self
-  end
-
-  def field(key)
-    if key.class==Fixnum
-      @line.split[key-1]
-    elsif key.class==String
-      @line =~ /\s#{key}:(\S+)/; $1
-    end
-  end
-  alias [] field
-
-  def fields
-    @line.split
-  end
-
-end
Index: p/src/dgp/gph
===================================================================
--- app/src/dgp/gph	(revision 0214596e4d70b25df913a24f19d50cb0f1b4a69f)
+++ 	(revision )
@@ -1,93 +1,0 @@
-#!/usr/bin/perl
-
-#package:	UAM Text Tools
-#component:	gph
-#version:	1.0
-#author:	Tomasz Obrebski
-
-use strict;
-use Getopt::Long;
-
-
-my @process;
-my $help=0;
-my $reset;
-my $interactive=1;
-
-GetOptions("process|p=s" => \@process,
-	   "help|h" => \$help,
-	   "reset|r=s" => \$reset,
-	   "interactive|i" => \$interactive);
-
-if($help)
-{
-    print <<'END'
-Usage: gph [OPTIONS]
-
-Options:
-   -p tag		Process segments with this tag as nodes.
-   -r tag		Start new graph at this tag.
-   -f filename		Input file (NIE DZIALA).
-   -o filename		Output file (NIE DZIALA).
-   -i			Toggle interactive mode (default=on).
-END
-;
-    exit 0;
-}
-
-
-$|=1 if $interactive;
-
-my @prev;
-my $gph;
-
-my $n=0;
-
-while(<>)
-{
-    chomp;
-    my $do=0;
-
-    my @line = split /\s+/;
-
-    if($line[2] eq $reset)
-    {
-	$n=0;
-	@prev = ();
-    }
-
-    for my $p (@process)
-    {
-	$do=1 if $line[2] eq $p;
-    }
-
-    if($do)
-    {
-	my @preds = ();
-	shift @prev while @prev+0 && $prev[0]->[1] + $prev[0]->[2] < $line[0];
-	for my $p (@prev)
-	{
-	    push(@preds, $p->[0]) if $p->[1] + $p->[2] == $line[0];
-	}
-	push @prev, [$n, $line[0], $line[1]];
-	
-	$gph=' gph:'.$n.':'.join(',',@preds);
-
-	$n++;
-    }
-    else
-    {
-	for my $p (@prev)
-	{
-	    if($p->[1]+$p->[2] == $line[0])
-	    {
-		$p->[2] += $line[1];
-	    }
-	}
-
-	$gph='';
-
-    }
-
-    print $_.$gph."\n";    
-}
Index: app/src/dgp/seg.rb
===================================================================
--- app/src/dgp/seg.rb	(revision ff0fc991d727551b858d38e744ef5e936f54278a)
+++ app/src/dgp/seg.rb	(revision ff0fc991d727551b858d38e744ef5e936f54278a)
@@ -0,0 +1,31 @@
+
+class Seg
+  
+  def initialize(s="")
+    @line=s
+    self
+  end
+
+  def to_s
+    @line.chomp
+  end
+
+  def set(s)
+    @line=s
+    self
+  end
+
+  def field(key)
+    if key.class==Fixnum
+      @line.split[key-1]
+    elsif key.class==String
+      @line =~ /\s#{key}:(\S+)/; $1
+    end
+  end
+  alias [] field
+
+  def fields
+    @line.split
+  end
+
+end
