#!/usr/bin/perl

use Data::Dumper;
use ddmf;
use jspell;

%fsem = ( 
 mento => sub{my $e=shift; my $e={%$e, SEM =>"acto de $e->{rad}"};
   $e->{GRAM} = "pode reger a preposição 'de' seguido do elemento a $e->{rad}" 
             unless ($e->{TR} eq "i"); $e },
 nte   => sub{my $e=shift; +{%$e, SEM =>"referente àquele que ".pi($e->{rad})}},
 dor   => sub{my $e=shift; +{%$e, SEM =>"aquele ou aquilo que ".pi($e->{rad})}},
 mente => sub{my $e=shift; +{%$e, SEM =>"de modo $e->{rad}"}},
 dela  => sub{my $e=shift; +{%$e, SEM =>"acto de $e->{rad}(depreciado)"}},
);

sub pi{my $a=shift; $a =~ s/ir$/e/; $a =~ s/r$//; $a;}

jspell_dict("port");

$rr=[
     [ sub{my $ff=shift;
              defined($ff->{FSEM}) },
       sub{my $ef= shift;
              $ef = &{$fsem{$ef->{FSEM}}}($ef) if defined( $fsem{$ef->{FSEM}});
              delete($ef->{FSEM});
              $ef}
     ],

    rren("rad","Radical"),
    rren("TR","Transitividade"),
    rren("CAT","Categoria"),
    rren("G","Género"),
    rren("N","número"),
    rren("T","Tempo"),
];

while(<>){
  chomp;
  print Dumper (rrss($rr,[fea($_)]));
}


__END__

$rr = [
   [ sub{my $ff=shift;
            $ff->{FSEM} eq "mento"},
     sub{my $ef= shift;
            delete($ef->{FSEM});
            $ef->{Semantica} = "acto de $ef->{rad}";
            $ef}
   ],
   [ sub{my $ff=shift;
            $ff->{FSEM} eq "mente"},
     sub{my $ef= shift;
            delete($ef->{FSEM});
            $ef->{Semantica} = "de modo $ef->{rad}";
            $ef}
   ],
   [ sub{my $ff=shift;
            $ff->{FSEM} eq "dor"},
     sub{my $ef= shift;
            delete($ef->{FSEM});
            my $r=$ef->{rad};
            chop($r);
            $r =~ s/i$/e/;
            $ef->{Semantica} = "aquele ou aquilo que $r";
            $ef}
   ],

    rren("rad","Radical"),
    rren("TR","Transitividade"),
    rren("CAT","Categoria"),
    rren("G","Género"),
    rren("N","número"),
    rren("T","Tempo"),
];
