#!/usr/local/bin/perl

die if @ARGV != 3;

my($srcfile, $srcset, $sysid);

$srcfile = $ARGV[0];
$srcset  = $ARGV[1];
$sysid   = $ARGV[2];


open(TGT, $srcfile) or die $!;
while ($line = <TGT>) {
    $line =~ s/[\r\n]*$//;
    next if $line !~ m/^(\d+) (\d+)\s+(.*)$/;
    $sentid = $1;
    $rank = $2;
    $tgt = $3;
    #$line =~ s/<[^>]*>//g;
    #next if $line !~ m/^<seg/;
    #$line =~ s/<seg [^>]*>//g;
    #print "$line\n";
    $segs[$sentid][$rank] = $tgt;
}
close(TGT);

#print STDERR "Translation count: " .  scalar(@segs) . "\n";

$segindex = 0;
open(TST, $srcset) or die $!;
while ($line = <TST>) {
    $line =~ s/srcset/tstset/;
    if ($line =~ m/(<seg[^>]*>)/) {
	$segtext = $1;
	print "$segtext\n";
	for ($rank = 0; $rank < @{$segs[$segid]}; $rank++) {
	    print "<nbest rank=\"" . ($rank+1) . "\"> " . $segs[$segindex][$rank] . " </nbest>\n";
	}
	print "</seg>\n";
	$segindex++;
    } elsif ($line =~ m/<DOC/) {
	$line =~ s/>/ sysid=\"$sysid\">/;
	print $line;
    } else {
	print $line;
    }
}
close(TST);

#print STDERR "Segindex $segindex\n";
