Visite também: Currículo ·  Efetividade BR-Mac

O que é LinuxDownload LinuxApostila LinuxEnviar notícia


Como escrever um corretor ortográfico em GAWK com apenas 15 linhas

“Ano passado, o Peter Norvig publicou em seu website um artigo que explica como escrever um corretor ortográfico, noticiado inclusive no Br-Linux.org.

Norvig utilizou um script em Python com 21 linhas para demonstrar o algoritmo. Agora o Tiago Peczenyj publicou (após algumas noites em claro) uma versão utilizando o bom e velho gawk com apenas 15 linhas.”

Enviado por Tiago Peczenyj (tiago·peczenyjΘgmail·com) – referência (peczenyj.blogspot.com).


• Publicado por Augusto Campos em 2008-04-16

Comentários dos leitores

Os comentários são responsabilidade de seus autores, e não são analisados ou aprovados pelo BR-Linux. Leia os Termos de uso do BR-Linux.

    Vou esperar sair a versão de 14 linhas para usar :)

    Rael (usuário não registrado) em 16/04/2008 às 11:04 am

    É, sempre dá pra ir reduzindo. Mas eu reparei que ele colocou o fechamento dos escopos (as chaves } ) na mesma linha. Isso não vale :P (embora não tire o mérito dele, óbvio).

    Minha versão final em Java (http://www.raelcunha.com/spell-correct.php) ficou com 37 linhas, e a versão em Groovy com 23 linhas (embora essa seja não utilizável na prática, de tão lerda que ficou).

    Embora, otimizando a versão em Java, ganhe-se umas 10 linhas, mas 50% mais em desempenho (ainda não coloquei essa versão no site, o Felipe Farinon participou dessa otimização, mas também não publicou essa versão final).

    Tiago Peczenyj (usuário não registrado) em 16/04/2008 às 1:23 pm

    Uma pena que o mawk não tenha a função asorti, seria interessante ver a performance nele — via gawk demora quase o dobro do tempo do que a versão em python. O provavel motivo deve ser I/O + operações com Expressões Regulares, estou investigando. No fim das contas foi um bom exercicio :)

    Rael, publica a versão optimizada!!

    Rael (usuário não registrado) em 16/04/2008 às 1:35 pm

    Tiago, eu vou publicar sim, só estou esperando uma “sincronização” com o Felipe, para que publiquemos juntos sem sermos injustos quanto aos créditos. Se você quiser, eu te mando por email (quem sabe você também não dá sugestões?)

    Mas o ponto é bem o que você falou: I/O e expressões regulares.

    Tiago Peczenyj (usuário não registrado) em 16/04/2008 às 2:45 pm

    Pode enviar sim :)

    Otávio (usuário não registrado) em 16/04/2008 às 3:25 pm

    Muito bom. Independente de ter 17 ou 30 linhas, o código ficou bem limpo e funcional. Eu conheço pouco de GAWK, mas entendi perfeitamente. Aliás, de nada adianta fazer um código esmagado e confuso.

    Parabéns e abraços :)

Este post é antigo (2008-04-16) e foi arquivado. O envio de novos comentários a este post já expirou.