#!/usr/bin/perl

use Lingua::PT::PLN;
use locale;
use Data::Dumper;

my $menuop=0;;

$dict=do("ref_dict") if (-e "ref_dict");

my @a=qw(local rua pessoa entidade empresa festividade) ;
my %a;
@a{@a}=@a;
@a = sort keys %a;
my $menu = join(" | ", map { 1+$menuop++."-" . $_ } @a) ;
my $sep="---------------------\n";
  
$f = sub{
  my ($a,$ctx) = @_;
  my ($r,$tag,$j,$aux);
  local $/ = "\n";
  if($dict->{$a}){ $aux=$dict->{$a} ;}
  else { print F "$sep$ctx$a\n $menu ?\n";
         $aux = <F>;
         chomp $aux ; }
  if ($aux){ 
    if( $aux =~ /^[0-9]/) { $tag = $a[$aux-1] }
    else { $tag = $a{$aux} = $aux;
           @a = sort keys %a;
           $j=0;
           $menu = join(" | ", map { 1+$j++."-" . $_ } @a)
         }
    $Desc{$a} = $tag ;
    $r="<ref t='$tag'>$a</ref>";
    $dict->{$a}=$tag;}
  else { $r=$a; }
  print F "$r\n"; 
  $r
};


open( F, "+>/dev/tty" ) ;
forPN( $f);
close F;

open( F, ">ref_dict" ) ;
print F Dumper($dict);
close F;
