#!/usr/bin/perl -s our ($pt2en); use jspell; use POSIX qw(locale_h); setlocale(&POSIX::LC_ALL, "pt_PT"); use locale; my $pt_dict = jspell::new("port"); ## my $en_dict = jspell::new("english"); open (D,">__debug") or die;; if($pt2en){ while(<>){ chomp; if(/(.*)=(.*)#1$/){ my ($pt,$en)=($1,$2); my (@l)=$pt_dict->featagsrad($pt); # list of analisis tags/lemmas print proc($pt,@l),"=$en#1\n"; print D "$pt=",proc($pt,@l),"=$en\t", join(";",@l),"\n"; } else{print "$_\n";} } } else{ while(<>){ chomp; if(/(.*)=(.*)#1$/){ my ($en,$pt)=($1,$2); my (@l)=$pt_dict->featagsrad($pt); # list of analisis tags/lemmas print "$en=",proc($pt,@l),"#1\n"; print D "$en=$pt=",proc($pt,@l),"\t", join(";",@l),"\n"; } else{print "$_\n";} } } sub proc{ my ($p,$t1)=@_; if($t1 =~ /^.*F[SP]:/){ $p =~ s/oras?$/or/ or $p =~ s/das?$/do/ or $p =~ s/as?$/o/ ; } elsif($t1 =~ /^.*MP:/){ $p =~ s/ores$/or/ or $p =~ s/ais$/al/ or $p =~ s/eis$/el/ or $p =~ s/os$/o/ ; } elsif($t1 =~ /^.*NP:/){ $p =~ s/([aeiou])res$/$1r/ or $p =~ s/es$/e/ or $p =~ s/ais$/al/ or $p =~ s/eis$/el/ or $p =~ s/os$/o/ or $p =~ s/as$/a/ ; } return $p; } __END__ abandonada=VPPFS:abandonardisused#1 abandonadas=VPPFP:abandonarabandoned#1 abandonados=VPPMP:abandonarabandoned#1 abarcada=VPPFS:abarcarmarketer#1 abastecedora=XFS:abastecersupply#1 abatidas=VPPFP:abaterslaughtered#1 abatido=VPPMS:abaterslaughtered#1 abatidos=VPPMP:abaterslaughtered#1 abdominais=JNP:abdominalabdominal#1 abdominal=JNS:abdominalabdominal#1 abdullah=abdullah#1 abdutor=NCMS:abdutordelivery#1 abel=NPMN:Abelabel#1 abel-pensky=abel-pensky#1 aber=open#1 aberrantes=JNP:aberrante;JNP:aberrarabnormal#1 aberta=NCFS:aberta;JFS:abertoopen#1 abertamente=ADV:abertoopenly#1 abertas=NCFP:aberta;JFP:abertoopen#1 abandonada=disused#1 abandonadas=abandoned#1 abandonados=abandoned#1 abarcada=marketer#1 abastecedora=supply#1 abatidas=slaughtered#1 abatido=slaughtered#1 abatidos=slaughtered#1 abdominais=abdominal#1 abdominal=abdominal#1 abdullah=abdullah#1 abdutor=delivery#1 abel=abel#1 abel-pensky=abel-pensky#1 aber=open#1 aberrantes=abnormal#1 aberta=open#1 abertamente=openly#1 abertas=open#1 aberto=open#1