#!/usr/bin/perl

use strict;
use vars qw($preint $forma $haslo $frektag $glotag $postint 
	    $numprobki $numwiersza
	    $dlkont @sformy @sformyint @stagi @snumwier $ind);

$dlkont = 4;

while (<>) {
chomp;
#      1      2                                3         4         5          6
if (m/^([(\204]+)?([-a-z乩A-Zʣӌ \'\341\350\351\366\374]+)\[([^\[,]*),([^\[,]*),([^\[,]*)\]([).?!,;:\224]+)?$/o) { 
    $preint=$1;
    $forma=$2;
    $haslo=$3;
    $frektag=$4;
    $glotag=$5;
    $postint=$6;
    (print STDERR "Pusta linia wewntrz prbki (l. $.)\n"), $numprobki=0
  	if !defined($numprobki);
    $numwiersza++;
    push @sformy, $forma;
    push @sformyint, "$preint$forma$postint";
    push @stagi, $glotag;
    push @snumwier, $numwiersza;
    if ($numwiersza > $dlkont) {
	$ind = $#sformy-$dlkont;
	wiersz();
    }
    if ($numwiersza > 2*$dlkont) {
	shift @sformy;
	shift @sformyint;
	shift @stagi;
	shift @snumwier;
    }
 } elsif ($_ eq "\227") {
     # mylnik
     push @sformyint, ((pop @sformyint) . " \227");
 } elsif (m/^(\.\.\.?|--)$/) {
     # czy te s dopuszczalne???
     push @sformyint, ((pop @sformyint) . " $&");
 } elsif (m/^\(?\[[>&\#^~]\]\)?[,.]?$/) {
     push @sformyint, ((pop @sformyint) . " $&");
 } elsif (m/^([ABCDE][0-9]+)~/) {
     # nagwek prbki!
     $numprobki=$1;
     $numwiersza=0;
     @sformy = ();
     @sformyint = ();
     @stagi = ();
     @snumwier = ();
 } elsif ($_ eq '') {
     flushwiersze();
     undef $numprobki;
 } else {
#     print STDERR "$numprobki:l.$.:$_\n";
     print STDERR "$numprobki:$_\n";
 }

}
flushwiersze();

sub flushwiersze {
    while (@sformy > $dlkont) {
	$ind = $dlkont;
	wiersz();
	shift @sformy;
	shift @sformyint;
	shift @stagi;
	shift @snumwier;
    }
}

sub wiersz {
    my (@tagi, $tag);
    @tagi = split('/',@stagi[$ind]);
    return if @tagi < 2;
    print "% ", join(' ', @sformyint[0..$ind-1],
		     "|$sformyint[$ind]|", @sformyint[$ind+1..$#sformy]), "\n";
    print ">$numprobki:$snumwier[$ind]:",$sformy[$ind],":\n";
    foreach $tag (@tagi) {
	print ":   $tag\n";
    }
    print "\n";
}




