#!usr/bin/perl -w
#---------------------------------------
# le programme sera appelé comme suit: 
# 	perl extrait-term-jmd.pl ./Extract-Cordial-JMD-solution/etik-u8.cnr.txt ./PATRONS_CORDIAL/patron.txt
# 	perl extrait-term-jmd.pl ./SORTIES/sortieCOR.cnr ./PATRONS_CORDIAL/patron2.txt
#
# en argument 1: on a besoin d'un fichier etiquette Cordial au format TXT
# en argument 2: on a besoin de liste de patrons
#---------------------------------------
open(TXT, $ARGV[0]);

my(@liste_token, @liste_pos); # on initialise les listes

while (my $ligne=<TXT>) {
	$ligne=~s/\r//g;
	chomp($ligne);
	if ($ligne=~ /^[^\t]+\t[^\t]+\t[^\t]+$/) {
		my($token, $lemme, $pos)=split("\t", $ligne); # quand on split on va avoir 3 elements
		#print "FORME: <$token> LEMME: <$lemme> POS: <$pos>\n";

		### on va creer 2 listes (pour avoir une numerotation egale entre elles)
		push(@liste_token, $token);
		push(@liste_pos, $pos);
	}
}
close(TXT);
#---------------------------------------
foreach my $element(@liste_pos) {
	#print $element," ";
}
#---------------------------------------
open(TERM, $ARGV[1]);
my $suite_pos=join(" ", @liste_pos); # je transforme ma liste en scalaire pour pouvoir la parcourir
while (my $terme=<TERM>) {
	chomp($terme);
	my $i=0;

	$nom_patron=$terme;
	$nom_patron=~ s/ /_/g;
	open (OUT, ">./$nom_patron.txt");

	while ($suite_pos=~ /$terme/g) {
		my $avant=$`;
		my $nb_blanc=0;
		while ($avant=~ / /g) {$nb_blanc++;}
		print "Nombre de blanc avant MATCH: $nb_blanc\n";
		$i++;
		my $nb_blanc_terme=0;
		while ($terme=~ / /g) {$nb_blanc_terme++}
		print "CORRESPONDANCE: $terme -> MATCH OK! $i: @liste_token[$nb_blanc..$nb_blanc+$nb_blanc_terme]\n";
		print OUT "@liste_token[$nb_blanc..$nb_blanc+$nb_blanc_terme]\n";
	}
}
close(OUT);
close(TERM);
