Pular para o conteúdo

Prepare seu Eclipse para a academia! – Passo 3: PROLOG

Retomando a série de artigos que objetiva preparar sua IDE Eclipse para as diferentes disciplinas voltadas à programação nos cursos de computação, trataremos agora do Paradigma de Programação Lógica.

Programação Lógica

Uma das principais características do Paradigma Lógico é a dissociação entre uma base de dados específica do problema, chamada de fatos, e a maneira de como um programa deve tratar essa base para resolver um problema, chamada de regras.

A programação lógica é extremamente baseada nos conceitos de lógica matemática, especialmente em induções. A maneira de relacionar regras e fatos como um processamento matemático fazem das linguagens que implementam esse paradigma as preferidas para pesquisas em Inteligência Artificial, processamento de linguagem natural, e outras.

PROLOG: SWI-Prolog e GNU-Prolog

PROLOG é uma das linguagens de programação mais conhecidas do paradigma lógico. Existem vários tipos de implementações de PROLOG, algumas inclusive conflitantes entre sí.

O padrão de Edimburgo, utilizado na implementação da universidade de mesmo nome, acabou por ser seguidos por outras implementações, influenciando inclusive a especificação do padrão ISO.

Algumas implementações de código aberto mais conhecidas e utilizadas hoje são o SWI-Prolog e o GNU-Prolog.

GNU-Prolog foi criada e é mantida por Daniel Diaz, e conta com o aval da própria Free Software Foundation. Já SWI-Prolog, mantida por Jan Wielenaker, está em desenvolvimento desde 1987, contando com vários componentes extras, entre eles uma GUI (Graphical User Interface) própria – a XPCE -, acesso a banco de dados, redes, e mais.

Eu, particularmente, preferi utilizar SWI-Prolog. Essa implementação está bastante avançada e completa, suportando tanto o padrão ISO como o de Edimburgo, facilidades no trato com o usuário – carregue um arquivo e digite uma função com algumas letras erradas que você entenderá o que estou dizendo…

Para usuários de sistemas Debian-like, digite o comando, como usuário root,

apt-get install xpce


para instalar o SWI-Prolog com a GUI XPCE, ou

apt-get install gprolog


para instalar o GNU-Prolog.

Prolog Plugin – Eclipse

Um laboratório voltado para pesquisas utilizando o Eclipse foi construído na USP, com o devido patrocínio da IBM. Você pode ver um pouco da descrição do projeto aqui. Isso foi nos idos de 2003 e 2004 – não sei dizer se o projeto continua, porém o mesmo foi responsável vários estudos relacionados à plataforma.

Entre eles, capitaneado pela professora Renata Wasserman e pelo professor Flávio Corrêa da Silva, junto à estudante Juliana Barby Simão, o projeto Prolog Plugin consistiu em criar uma interface simples para o desenvolvimento em Prolog no Eclipse.

No primeiro momento, Prolog Plugin foi desenvolvido em vista à implementação Ciao Prolog. Porém, você pode utilizar a implementação que desejar. A página do projeto é esta.

O único “problema”, por assim dizer, é que o plugin foi desenvolvido para uma versão hoje já ultrapassada do Eclipse, a família 2.0.x. Porém, quem precisa de algo funcional e com poucas “firulas”, poderá se dar bem com a ferramenta.

Instalando e Configurando o Prolog Plugin

Primeiro, vamos baixar o plugin aqui. Após, descompacte-o e siga os passos descritos sobre instalação de plugins.

Execute o Eclipse. Para configurar o Prolog Plugin, vá no menu superior e clique em Window>>Preferences>>Prolog Preferences.


Na janela você encontrará opções para alterar as cores de destaque das palavras nos códigos Prolog. em Prolog interpreter path, digite o comando que invocará o interpretador Prolog. No meu caso, xpce. Se você utiliza SWI-Prolog sem XPCE, o comando é pl; já se você prefere o GNU-Prolog, o comando é gprolog. Procure o comando específico para a implementação que você utiliza.

Vamos agora nos prepara para o “Hello World”. Primeiro, vamos criar um projeto convencional em File>>New>>Project>>General Project. Dê um nome ao projeto.


Agora, clique com o botão direito do mouse sobre a pasta do projeto recém criado e selecione New>>File. Escolha um nome para o arquivo fonte, mas não esqueça de colocar uma extensão Prolog para o arquivo, como .pl ou .pro.


Agora, digite o código:

helloWorld :- write(‘Hello World’).

(Sim, é só isso mesmo. A elegância da Programação Lógica…)

Agora, salve o arquivo e vá no ícone do mesmo, na paleta de projetos. Clique com o botão direito do mouse sobre o arquivo e aparecerá a opção Consult into Prolog interpreter. Selecione essa opção.

Se as configurações estiverem corretas, o interpretador rodará na janela do console do Eclipse, avisando sobre o processo de compilação. Chame a função dentro do console, escrevendo helloworld. (a palavra verde na imagem. Não esqueça do ponto final!).


Se tiver corrido tudo certo, o console ficará como na imagem.

Próximos Passos…

Programação Funcional utilizando Haskell… eita…

17 comentários em “Prepare seu Eclipse para a academia! – Passo 3: PROLOG”

  1. Falando em Prolog e Eclipse, lembre-se do ECLiPSe — que não tem nenhuma ligação com a IDE — mas é excelente para quem trabalha com programação em lógica por restrições.

  2. Oi, instalei tudo certo mas o problema é que não está compilando. Está tudo certo até a parte onde o interpretador roda no console, aí não aparece nada.

      1. @Filipe Saraiva, Entendi Filipe, foi de grande ajuda seu tutorial, vou te explicar meu problema: Quando crio um novo projeto e um arquivo.pl blz, o problema está quando vou no arquivo e clico em “Consult into Prolog interpreter” era pra rodar no console e avisar sobre o processo de compilação mas aqui não aparece nada, ja refiz os passos e creio que não esqueci nenhum detalhe. O SWI-Prolog está rodando bem. Quando chamo a função no console também não aparece nada. Uso macOS.

        []’s Filipe

        1. Oi @Heráclito Neto,

          Aqui funcionou tudo bem, olhe: http://imagebin.org/210961

          Estou usando Eclipse Indigo com GNU Prolog no Linux, estou sem SWI-Prolog nos repositórios da minha distro.

          Você configurou em Window -> Preferences -> Prolog Preferences o Prolog Interpreter Path correto para o lançamento do SWI-Prolog??

            1. @Heráclito Neto, complicou. Manda uma screenshot do teu eclipse após fazer solicitação de interpretar o arquivo. Desculpa a pergunta meio boba, mas você clica no botão do console no rodapé da IDE para apresentar o terminal? Vamos ver se conseguimos resolver isso.

      2. Oi Filipe, dei uma olhada no tutorial e não ajudou, nada que eu não tenha feito. Acho que vou desistir do eclipse por enquanto e fazer no terminal mesmo. Qualquer novidade te mando notícias.

        []’s e boa noite!

      3. gnu prolog tem pessima documentacao. swi prolog tem uma interface com java chamado JPL, pessimo de usar dentro de um projeto devido a dficil configuracao de ddl… ate agora o unico que funcionou mesmo pra valer foi o tuProlog mas agora deu pra dar problemas de performance serios…
        o SWI é otimo mas nao pra integrar com java, mas sim pra testar o programa prolog e fazer depuracao, depois disso pega o seu programa PL e tenta integrar com java.
        repito o tal do GNU prolog nao tem documentacao nenhuma o cara pensa que agente deve advinhar como usar isso.

      Deixe um comentário

      O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *