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>