RSS

Arquivo da categoria: Tutorial

G-Portugol 1.1 no Ubuntu 10.04 LTS

Foi lançada este mês a versão 1.1 do G-Portugol, que é uma linguagem de programação totalmente em português,derivado do que se conhece por “portugol”, uma notação muito utilizada para o ensino de algoritmos. O diferencial do G-Portugol em relação a outras implementações do portugol, é que ele utilizada acentos e cedilhas, além de rodar em sistemas Windows e GNU/Linux.

O G-Portugol foi tema do meu trabalho de TCC. Eu não criei o G-Portugol, mas uma boa parte do código que foi adicionado nesta versão foi produzido por mim durante este trabalho de fim de curso. Particularmente, adicionei a instrução “repita… até” e a capacidade da instrução “retorne” no bloco principal, além da correção de alguns bugs. Software livre é isso.

Para instalar o G-Portugol no Ubuntu 10.04 LTS, até que seja liberada o pacote .deb, proceda da seguinte forma:

Obtendo o G-Portugol

O G-Portugol é a linguagem de programação, e como você deve saber, precisamos de um compilador para transformar essa linguagem que pode ser lida por nós humanos para a linguagem de máquina, que será lida pelos computadores. No caso do G-Portugol, esse compilador é o gpt, que você deve baixar da página do projeto, na seção Código Fonte.

Após fazer o download, clique sobre o arquivo com o botão direito e depois na opção “Extrar aqui…”

Preparação do ambiente

Instale as ferramentas necessárias para compilação/instalação e correto funcionamento do gpt

sudo aptitude install antlr libantlr-dev make g++ libpcre3-dev  nasm

Compilação e instalação

Entre no diretório criado quando você extraiu o arquivo baixado e execute os seguintes comandos

./configure
make
sudo make install

Testando se instalou corretamente

Execute o comando abaixo e se a saída foi semelhante a esta, a instalação foi feita e você poderá compilador seus algoritmos

gpt -v

GPT – Compilador G-Portugol
Versão  : 1.1
Website : http://gpt.berlios.de
Copyright (C) 2003-2009 Thiago Silva <tsilva@sourcecraft.info>

Fazendo o Olá Mundo

Esse pacote que você descompactou traz também um arquivo de exemplo com o velho Olá Mundo em G-Portugol, no diretório exemplos.

cd exemplos
gpt olamundo.gpt
./olamundo

Olá Mundo!

Prontinho, agora você pode fazer seus programas em G-Portugol, usando seu editor de texto preferido. Eu indico o G-Edit. Para maiores informações, veja a documentação do G-Portugol.

 
10 Comentários

Publicado por em 18/06/2010 em Tutorial

 

Tags: , , , ,

Conversão de MySQL para PostgreSQL

Enquanto o banco de dados de código aberto mais popular do mundo é o MySQL, o banco de dados de código aberto mais avançado do mundo é o PostgreSQL.  Não é raro termos de fazer conversões de um para outro.

Depois de alguma ajuda do Amigoogle, encontrei o script mysql2pgsql. Como o nome sugere, este script faz a conversão de bancos de dados do MySQL para o PostgreSQL. Depois de baixá-lo e atribuir permissão de execução para o arquivo, para fazer a conversão é necessário gerar um dump do banco MySQL e executar o seguinte comando:

$ ./mysql2pgsql.perl [MYSQL] [POSTGRESQL]

Onde:

  • [MYSQL] é o arquivo dump que você gerou
  • [POSTGRESQL] é o arquivo que será gerado. Cuidado para não sobrescrever um arquivo que já exista

Depois disso, é só você pegar o arquivo gerado, executar no psql, ou PgAdmin III e ganhar alguns pontos com seu chefe. Em tese.

Abrindo um parênteses. Quando executei foi no PgAdmin III (que é o que eu costumo usar) ele não executou pelo problema que descrevo abaixo. Estava com este artigo praticamente pronto, quando dei ouvidos a voz do além que dizia: Você não testou isso no psql! Dito e feito. Testei e o danado não reclamou de nada. Então o problema que descrevo só acontece no PgAdmin III – eu sempre achei que o PgAdmin usava o psql por baixo. Fecha parênteses.

O arquivo gerado mysql2pgadmin é um arquivo com comandos SQL de criação (CREATE) de objetos do banco (tabelas, sequências, índices etc.) e seus respectivos comandos de INSERT.  Mas o padrão dele é também incluir comandos de remoção (DROP) desses objetos. Acontece que para os DROP’s das tabelas, ele gera a seguinte saída:

DROP TABLE “nome_tabela” CASCADE\g

O PgAdmin vai reclamar desse “\g”. Oh, céus. E agora?

Como todo software (livre) que se preze, o mysql2pgsql tem uma ajuda. Help para os íntimos.  Basta executá-lo com o parâmetro -h, como abaixo:

$ ./mysql2pgsql.perl -h

Atenção para o que diz a descrição do parâmetro –nodrop:

–nodrop: strips out DROP TABLE statements
otherise harmless warnings are printed by psql when the dropped table does not exist

Ótimo. Podemos gerar o arquivo para o PostgreSQL sem os ‘DROP TABLE’s. E sermos felizes.

Peraí. E se precisarmos que o DROP TABLE seja gerado? Isso é assunto para o próximo artigo. Nos vemos em breve. 😉

 
13 Comentários

Publicado por em 04/02/2009 em Tutorial

 

Tags: , , ,