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).
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.
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>