#!/usr/local/bin/perl

## Fix multiword entries

use strict;
use warnings;

my $fileName = shift;

open(IFILE, $fileName) or die("Couldn't open the file $fileName\n");
open(OFILE, ">$fileName.multi") or die("Couldn't open the file $fileName.multi\n");
while(<IFILE>){
	chomp;
	print STDERR "Off the scale ! $_\n" unless(/^;?{(.+)}$/);
	print OFILE $_,"\n";
	my $main = <IFILE>;
	print STDERR "Error in reading main line\n" unless($main =~ /^(.+)::(.+) \|: \[\"\s*(.+?)\s*\"\] -> \[\"\s*(.+?)\s*\"\]$/);
	
	my @ut = split /\s+/, $3;
	my @et = split /\s+/, $4;
	
	print OFILE "$1\::$2 |: [";
	print OFILE '"',join('" "', @ut),'"';
	print OFILE "] -> [";
	print OFILE '"',join('" "', @et),'"';
	print OFILE "]\n";
	my $l = "";
	for(my $i = 0; $i < 2; $i++){
		$l = <IFILE>;
		print OFILE $l;
	}
	$l = <IFILE>;
	if($#ut > 0){
		print STDERR "multiword $1\n";
		print OFILE ';',$l;
	}
	else{
		print OFILE $l;
	}
# 	print "\t(*fullform*)\n";
	for(my $i = 0; $i < 2; $i++){
		$l = <IFILE>;
		print OFILE $l;
	}
}
close OFILE;
close IFILE;
