NOME
conjugue - conjugador de verbos da língua portuguesa
SINOPSE
conjugue [-v VARIÁVEL=valor] ...
DESCRIÇÃO
conjugue lê um banco de verbos contendo paradigmas e listas de verbos
que se conjugam segundo cada paradigma, e permite conjugar verbos
através de um interface iterativa ou na forma de um comando simples
dado no prompt do shell.
Pode‐se passar parâmetros para o conjugue através da opção -v do awk,
que permite predefinir o valor de uma variável. As variáveis no caso
são:
BANCO Path completo do banco de verbos (default /usr/lib/brazilian-
conjugate/verbos).
NOVOS Path completo do arquivo onde o conjugue apenda verbos novos,
que não constam ainda do banco (default $HOME/.conjugue-novos).
FORMATO
Formato da saída. A saída é a conjugação (as formas) do(s)
verbos que se deseja conjugar. As possibilidades para a saída
são: c (curto, usado para gerar listas de palavras), n (normal,
o formato original, um pouco críptico), ci (usado para listar os
verbos para o br.ispell), aa (usado para gerar as regras de
afixos verbais do br.ispell), l (longo, um pouco menos críptico
do que o "n") e ll (muito longo, semelhante ao que as gramáticas
costumam usar). b (usado para gerar a lista dos paradigmas ou
dos verbos nos formatos do dicionário base). O formato default é
l.
CMD Execute esse comando. Nesse caso, o conjugue executa o comando
dado e abandona. De outra forma, o conjugue apresentará um
prompt para a entrada de comandos iterativos. Os comandos
disponíveis são ? para mostrar um sumário dos comandos, a para
listar as abreviações, n para exibir algumas notas, f para
abandonar, e T para conjugar todos os verbos do banco. Para
conjugar um verbo determinado, basta entrar com esse verbo no
prompt de comandos (ou indicá‐lo na linha de comandos como valor
inicial de CMD ).
EXEMPLOS
1. Conjugar o verbo "amar" com a saída no formato muito longo:
$ conjugue -v FORMATO=ll -v CMD=amar
2. Entrar no modo iterativo e exibe as conjugações no formato muito
longo:
$ conjugue -v FORMATO=ll
3. Conjugar todos os verbos do banco explicitado, gerando uma lista de
radicais para o br.ispell:
$ conjugue -v BANCO=verbos -v FORMATO=ci -v CMD=T
BANCO DE VERBOS
O Banco de verbos contém a conjugação dos paradigmas e, para cada um
deles, uma lista de verbos que se conjugam segundo aquele paradigma.
Cada paradigma pode conter também informações para a heurística que
deduz o paradigma a ser utilizado nos casos em que o banco não contém
essa informação. Segue uma descrição do formato do banco de verbos:
S == [a-záéíóúàèìòùçãõü]+
V == Sr
L == [S(,S)*]
F == L(:L)*
T == FN|IP|PI|II|EI|MI|TI|FI|PS|IS|FS|IA|IN
P == paradigma:V[:S]<lf>(T:F<lf>)*<lf>
A == abundante:V:L<lf>
B == [[P(V0*]|[A]]*
O banco pode conter, em qualquer posição, linhas começadas com o
caracter "#" ou linhas em branco, que são desprezadas.
Em termos semânticos, os símbolos da gramática representam:
S String não nula
V Verbo
L Lista de strings
F Flexão num tempo ou modo
T Nome de tempo ou modo
P Paradigma
A Particípio abundante
B Banco
O termo <lf> é uma quebra de linha. A lista de verbos que segue um dado
paradigma são os verbos que se conjugam conforme aquele paradigma. A
string eventualmente dada como último componente na linha P é a
terminação que heuristicamente será utilizada para decidir quando usar
aquele paradigma (no caso de verbos que não especificam um paradigma).
REGRAS DE TRANSFORMAÇÃO DE RADICAIS
Alguns verbos irregulares têm o radical alterado ao longo da
conjugação. Por esse motivo, é necessário que o programa deduza a
partir do paradigma uma regra de alteração do radical, que será
aplicada em todos os verbos que seguem aquele paradigma. Por exemplo,
no verbo "seguir" a vogal "e" do radical é trocada por "i" em alguns
casos ("eu sigo").
O modo com que isso vem sendo tratado é meramente conhecer de antemão
os tipos de alterações de radicais, e codificá‐las. Até o momento foi
possível codificar todas as regras de modificação de radicais através
de variações de uma única regra, a saber, a substituição da última
vogal do radical ou da última vogal do radical após o descarte da sua
última letra.
O função normaliza do script contém uma tabela de transformação de
vogais que cobre todas as transformações conhecidas até o momento. Na
eventualidade do conjugue exibir a mensagem "vogal não normalizada" ao
ser iniciado, será necessário incluir uma nova regra de substituição de
vogais na função normaliza, e a sua inversa na função desnormaliza. O
script documenta como adicionar novas regras.
FORMAS ENCLÍTICAS
A ênclise em alguns casos provoca alteração ortográfica do verbo, como
por exemplo "amá‐la" (amar+ela). A partir da versão 1.1 o conjugue
possui suporte específico para gerar algumas dessas formas, mas isso só
está ativo quando o formato de saída é "ci". Para maiores detalhes,
cheque por favor o fonte do conjugue.
ARQUIVOS
/usr/lib/brazilian-conjugate/verbos - banco de verbos.
$HOME/.conjugue-novos - arquivo para apendar verbos que não constam do
banco.
BUGS
O arquivo no qual vão sendo apendados verbos novos não é lido pelo
conjugue na inicialização.
A ocorrência de um mesmo verbo mais de uma vez no banco provoca
malfuncionamento do programa.
Essa man page contém caracteres acentuados, que em alguns sistemas
talvez não sejam exibidos. Para visualizá‐la corretamente, utilize um
fonte ISO e, se o groff estiver disponível, tente o comando
$ groff -Tlatin1 -man conjugue.1|more
VER TAMBÉM
ispell(1),
AUTOR
Ricardo Ueda Karpischek <ueda@ime.usp.br>