package pt;
# dont edit this file; edit pt.rr
BEGIN{ 
  open(D,"pt.dic") or die;
  while(<D>){if(/(.*)=(.*)/){$dict{$1}=$2; print "$1\n"} } 
  close D;
}

$vg='[@6EOQUaeiouwáéíóúãõâêôà]'  ;
$con='[SJLRZdrstpsfgjklzcvbnm]' ; # consoante menos h

#foneticos (SAMPA) S=x J=nh L=lh R=rr O=ó E=é Z=j
#auxiliares meus Q=e/3 I=i_dos_ditongos U=u_semivogal

sub run{my $a=shift;
  $a=$dict{$a} || $a;
  $b=b(a($a));
  $b=~ s/(($vg|$con)~?:?)/$1 /g;
  $b;
}


sub a {
 my $p=shift;
 for($p){
  while(

       s/^h//g ||
       s/lh/L/g ||
       s/ch/S/g ||
       s/nh/J/g ||
       s/ss/ç/g ||

       s/rr/R/g ||
       s/^r/R/g ||
       s/([nls])r/$1R/g ||
#lavar - lavare/3
       s/#([aei])([rl])$/$1:$2Q/g ||
       s/([aei])([rl])$/$1:$2/g ||

       s/#([rl])$/$1Q/g ||

       s/($vg)[nm]($con)/$1~$2/g ||
       s/am$/6~U~/g ||
       s/a~/6~/g ||
       s/($vg)m$/$1~/g ||

       s/c([eiéíê@])/ç$1/g ||
       s/g([eiéíê@])/Z$1/g ||
       s/gu([eiéíê@])/g_$1/g ||

       s/j/Z/g ||
       s/qu([eiéí@])/k$1/g ||
       s/qu([aáóoã6])/ku$1/g ||
       s/($vg)s($vg)/$1z$2/g ||
       s/s($con)/S$1/g ||
       s/($vg)x($vg)/$1z$2/g ||

       s/z$/:S/g ||
       s/x$/S/g ||

       s/ão/6~:U~/g ||
       s/os$/uS/g ||
       s/as$/6S/g ||
       s/o$/u/g ||
       s/a$/6/g ||
       s/e$/@/g ||
       s/ai/aI/g ||
       s/ei/6I/g ||
       s/oi/oI/g ||
       s/ou/ow/g ||
       s/ui/uI/g ||
       s/y/i/g ||
       s/s$/S/g ||

  0){}}
$p ;} 

sub b {
 my $p=shift;
 for($p){
  while(

       s/ç/s/g ||
       s/c/k/g ||
       s/x/S/g ||
       s/I/j/g ||

       s/à/a:/g ||
       s/á/a:/g ||
       s/é/E:/g ||
       s/í/i:/g ||
       s/ó/O:/g ||
       s/ú/u:/g ||
       s/ã/6~:/g ||
       s/ên/e~:/g ||
       s/ê/e:/g ||
       s/_//g ||

  0){}}
$p ;} 1; 
