Como Usar o Compilador
Visão Geral
O Compilador Portugol-C traduz programas escrititos em Portugol para código C equivalente. O processo é simples e direto.
Estrutura Básica de um Programa Portugol
Todo programa Portugol deve seguir esta estrutura:
programa {
funcao inicio() {
// Seu código aqui
}
}
Compilando um Arquivo
Passo 1: Criar um arquivo Portugol
Crie um arquivo com extensão .pg
:
# Exemplo: criar hello.pg
echo 'programa {
funcao inicio() {
escreva("Hello, World!")
}
}' > hello.pg
Passo 2: Compilar o arquivo
# Compilar um arquivo específico
make run FILE=hello.pg
# Ou usar um arquivo da pasta de exemplos
make run FILE=exemplos/exemplo1.pg
Passo 3: Executar o código C gerado
# Compilar o código C gerado
gcc build/saida.c -o programa
# Executar o programa
./programa
Comandos Disponíveis
Compilação
# Compilar o compilador
make
# Compilar e executar um arquivo Portugol
make run FILE=<caminho_para_arquivo.pg>
# Limpar arquivos gerados
make clean
Testes
# Executar todos os testes
make test
# Verificar versão do GCC
make check_gcc_version
Exemplos de Uso
Exemplo 1: Variáveis e Operações
programa {
funcao inicio() {
inteiro idade
real altura
idade = 25
altura = 1.75
escreva("Idade: ", idade)
escreva("Altura: ", altura)
}
}
Exemplo 2: Estruturas de Controle
programa {
funcao inicio() {
inteiro numero
leia(numero)
se (numero > 0) {
escreva("Número positivo")
} senao {
escreva("Número não positivo")
}
}
}
Exemplo 3: Vetores
programa {
funcao inicio() {
inteiro v[3]
v[0] = 10
v[1] = 20
v[2] = 30
escreva("Primeiro elemento: ", v[0])
}
}
Exemplo 4: Laços
programa {
funcao inicio() {
inteiro i
para (i = 1; i <= 5; i = i + 1) {
escreva("Número: ", i)
}
}
}
Saída Esperada
Após a compilação, o compilador gera:
- build/saida.c - Código C equivalente
- Mensagens de debug - Durante a compilação (opcional)
- Verificação de erros - Análise léxica e sintática
Fluxo Completo
# 1. Escrever código Portugol
nano meu_programa.pg
# 2. Compilar
make run FILE=meu_programa.pg
# 3. Verificar saída C gerada
cat build/saida.c
# 4. Compilar e executar o C
gcc build/saida.c -o meu_programa
./meu_programa
Dicas Importantes
Sintaxe
- Use chaves
{}
para delimitar blocos - Termine comandos com ponto e vírgula quando necessário
- Declare variáveis antes de usar
Cuidados
- Nomes de variáveis devem começar com letra
- Tipos de dados devem ser declarados explicitamente
- Arrays precisam ter tamanho fixo definido
Observação
- O compilador gera código C otimizado
- Verificações de erro são feitas automaticamente
- Suporte a comentários de linha (
//
) e bloco (/* */
)