Skip to content

elenderg/Portugues-Puro

Português Puro

Contribuidores

Repositório oficial do Compilador da Linguagem de Programação Português Puro.

Português Puro é uma linguagem projetada com foco em clareza, legibilidade e estrutura explícita, buscando tornar o código compreensível mesmo para quem está dando os primeiros passos em programação — sem abrir mão de conceitos reais de linguagens compiladas.

📘 Documentação oficial da linguagem: https://portugues-puro.gitbook.io/documentacao/

🎯 Objetivo do projeto

Este projeto existe para:

  • Oferecer uma linguagem didática, mas real, não um “pseudo-código”

  • Incentivar boas práticas como:

    • Código legível
    • Fluxo de controle explícito
    • Estrutura sequencial clara
  • Servir como base para estudos de:

    • Compiladores
    • Design de linguagens
    • Ferramentas de desenvolvimento

O compilador é desenvolvido com a preocupação de ser compreensível e aperfeiçoável, inclusive por novos contribuidores.

📦 Instalação

Não é necessário qualquer processo de instalação.

O compilador é distribuído como um executável e pode ser invocado diretamente pela linha de comando.

▶️ Uso

Para compilar um projeto, abra o terminal e execute o compilador informando o diretório do projeto:

C:\path_do_compilador.exe C:\path_do_projeto_a_ser_compilado\

Captura de tela expondo o processo de compilação

Substitua:

  • C:\path_do_compilador.exe pelo caminho completo do executável do compilador
  • C:\path_do_projeto_a_ser_compilado\ pelo diretório do projeto a ser compilado

Observações sobre o ambiente

  • Windows 8 ou anterior: Execute o prompt de comando como Administrador. Caso contrário, o codepage não poderá ser definido corretamente, resultando em caracteres incorretos nas mensagens de erro.

  • PowerShell: Certifique-se de ajustar corretamente o PATH ao invocar o compilador.

Essas limitações são conhecidas e documentadas para evitar confusão durante o uso inicial.

📌 Outras Observações importantes

Assim como em outras linguagens de programação, o projeto a ser compilado deve incluir a biblioteca padrão.

Certifique-se de que o arquivo que contém a biblioteca padrão esteja no mesmo diretório do projeto. Sem isso, algumas funcionalidades da linguagem não estarão disponíveis.

Essa decisão foi tomada para manter o modelo de compilação simples e explícito, especialmente para fins educacionais.

🧱 Organização e filosofia do código

O código do compilador segue alguns princípios básicos:

  • Estrutura clara e previsível
  • Evitar “mágica” implícita
  • Preferir código legível a soluções excessivamente compactas
  • Separação explícita de responsabilidades

O objetivo não é apenas funcionar, mas também ser compreendido.

Novos contribuidores são incentivados a ler o código com calma e questionar decisões — muitas delas são resultado de trade-offs conscientes.

🤝 Contribuição

Contribuições são muito bem-vindas.

Você pode contribuir de várias formas:

  • Reportando problemas (issues)
  • Sugerindo melhorias
  • Enviando pull requests
  • Melhorando a documentação
  • Criando exemplos

Antes de contribuir, consulte o Guia de Contribuição

O projeto busca ser acolhedor para novos contribuidores, inclusive aqueles que estão aprendendo sobre compiladores ou linguagens.

🆘 Suporte

Dúvidas, sugestões ou problemas podem ser enviados através das issues

📜 Código de Conduta

Este projeto segue um código de conduta para garantir um ambiente respeitoso e colaborativo.
📄 Código de Conduta

👤 Autor

Elender Góis Gallas

📄 Licença

Este projeto está licenciado sob a Unlicense - consulte o arquivo LICENSE para obter detalhes.

✨ Contribuidores

Agradecemos às seguintes pessoas pela colaboração direta e indireta neste projeto:

Gerry Rzeppa
Dan Rzeppa
Pablo Cayuella
Jasper Paulsen
Walter Moura Júnior
Élisson Góis Gallas
Mike Gonta

Elender
Elender

🤔 💻 📖 💡 🧑‍🏫
Élisson Góis Gallas
Élisson Góis Gallas

🤔 💻 📖 💡 🧑‍🏫
Walter Jr
Walter Jr

🤔 💻 📖 💡 🧑‍🏫
Folds
Folds

🤔 💻 📖 💡 🧑‍🏫
Mike Gonta
Mike Gonta

🤔 💻 📖 💡 🧑‍🏫
pcayuela
pcayuela

🤔 💻 📖 💡 🧑‍🏫
Gerry Rzeppa
Gerry Rzeppa

🤔 💻 📖 💡 🧑‍🏫

Este projeto segue a especificação all-contributors. Contribuições de todo tipo são bem-vindas.