use jspell; jspell_dict("port"); # select portuguese dictionary while(<>){print join(" ",featags($_)). "\n"} produz a seguinte saída: matemática NCFS JFS Com o seguinte programa perl use jspell; jspell_dict("port"); # select portuguese dictionary setmode("+flags"); # show feature "flag" in output while(<>){print any2str([fea($_)],1) . "\n"} já produz: matemática [{ N => s G => f CAT => nc rad => matemática} { N => s G => f flags => f CAT => adj rad => matemático}] outras funçoes disponiveis neste modo: rad: palavra -> set(palavra) todos os lemas der: palavra -> set(palavra) todas as suas derivadas nlgrep: palavra -> set(ficheiro) todos os registos que contêm derivadas da palavra fea: palavra -> set(FS) verifica: FS x FS -> bool setmode: ... define modo de tratar palavras desconhecidas featag: .... setstopwords: jspell_dict define os dicionários a utilizar .... pretendendo usar jspell com prolog (Neste caso SICSTUS) ?- lex(matemática,A,B). A = nc(f,s), B = _A::matemática ? ; A = adj(f,s), B = matemático ? ?- set_file('f1'). ?- lex2(A,B,C). A = comeu B = v(t,pp(3,s)), C = comer