Skip to main content

Compilador modular de Portugol para Python focado em educação.

Project description

meuPiá Core – O Compilador Modular de Portugol

meuPia

📖 Overview

Nota: Este projeto é um fork evolutivo do portugol-compiler, focado em interoperabilidade e modularização.

meuPiá Core é o motor central do ecossistema meuPiá. Ele é um compilador (transpilador) de Portugol para Python projetado para ser extensível.

Diferente de ferramentas educacionais fechadas, o meuPiá permite que você instale plugins para expandir as capacidades da linguagem. O Core fornece a infraestrutura de análise, geração de código e o gerenciador de pacotes, enquanto as funcionalidades específicas (como IoT ou Foguetes) são instaladas sob demanda.

meuPiá Core fornece:

  • O Compilador: Analisadores léxico, sintático e semântico que traduzem Portugol para Python otimizado.
  • mPGP (meuPiá Gerenciador de Pacotes): Uma ferramenta de linha de comando integrada para instalar e gerenciar extensões oficiais.
  • Sistema de Plugins: Suporte nativo à diretiva usar "nome_do_plugin", permitindo importação dinâmica de bibliotecas.

⚙️ How It Works

A arquitetura foi modernizada para suportar extensões:

1. Analysis & Validation

O compilador realiza a análise léxica e sintática completa, garantindo a integridade lógica do algoritmo escrito em Portugol.

2. Plugin-Aware Code Generation

O CodeGenerator identifica as diretivas usar "..." e injeta automaticamente as dependências corretas no código Python final, otimizando os imports para o ambiente de destino (seja PC ou Microcontrolador).

3. Runtime Modular

O Core mantém apenas as bibliotecas essenciais. Funcionalidades complexas foram movidas para pacotes externos instaláveis via mPGP.

🚀 Installation

A maneira mais recomendada de instalar o meuPiá é através do índice oficial de pacotes do Python (PyPI).

No seu terminal, execute:

pip install meupia-core

Para Desenvolvedores (Modo Editável)

Se você deseja modificar o código-fonte do compilador:

# Clone o repositório
git clone https://github.com/meuPia/core.git
cd core

# Instale em modo editável (recomendado para dev)
pip install -e .

Isto instalará dois comandos no seu terminal:

  • meupia: O compilador.
  • mpm: O gerenciador de pacotes.

📦 mPGP – Gerenciador de Pacotes

O mPGP (meuPiá Package Manager) facilita a instalação de módulos adicionais sem que o aluno precise lidar com URLs complexas ou configurações de ambiente.

Comandos Básicos

# Listar plugins disponíveis
mpgp liste

# Instalar um plugin
mpgp instale <nome_do_plugin>

# Remover um plugin
mpgp remover <nome_do_plugin>

Módulos Oficiais Disponíveis

Módulo Comando de Instalação Descrição
Maker mpgp instale maker Adiciona suporte a IoT e Robótica. Permite compilar Portugol para ESP32/Pico (MicroPython).
Espacial mpgp instale espacial Adiciona suporte ao Kerbal Space Program. Permite controlar foguetes via kRPC.
IA mpgp instale ia Adiciona suporte a Data Science. Traz algoritmos do Scikit-Learn para o Portugol.

🛠️ Usage Examples

1. Compilando um Algoritmo Básico

# Compila o arquivo e gera o Python equivalente na pasta output/
meupia input/ola_mundo.por

2. Usando Plugins (Ex: IoT/Maker)

Após instalar o módulo maker (mpm install maker), você pode utilizá-lo no seu código:

algoritmo "PiscaLed"
usar "maker"  // <--- Carrega o plugin instalado via mPGP

var led: inteiro
inicio
    led <- 2
    iot_configurar_pino(led, "saida")
    
    enquanto verdadeiro faca
        iot_ligar(led)
        iot_esperar(1000)
        iot_desligar(led)
        iot_esperar(1000)
    fimenquanto
fimalgoritmo

🙌 Credits

meuPiá é desenvolvido com ❤️ por @henryhamon.

Este projeto é um hard fork e evolução do projeto portugol-compiler, criado originalmente por Luan Contarin. A estrutura de análise léxica e sintática é mantida como a fundação sólida deste compilador.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

meupia_core-1.1.14.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

meupia_core-1.1.14-py3-none-any.whl (19.0 kB view details)

Uploaded Python 3

File details

Details for the file meupia_core-1.1.14.tar.gz.

File metadata

  • Download URL: meupia_core-1.1.14.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for meupia_core-1.1.14.tar.gz
Algorithm Hash digest
SHA256 97e11efbbc76ec393e4abbb2b771c2bb88c5ec3ab74aa78365b4d3efcdba91ec
MD5 ed3876673133c7c4a3fe06eb1fdc8a1d
BLAKE2b-256 a88623b7643a6b49eab773dbf1fc4e57a6957398f31b816d0cc907717560ff6d

See more details on using hashes here.

File details

Details for the file meupia_core-1.1.14-py3-none-any.whl.

File metadata

  • Download URL: meupia_core-1.1.14-py3-none-any.whl
  • Upload date:
  • Size: 19.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for meupia_core-1.1.14-py3-none-any.whl
Algorithm Hash digest
SHA256 b02c8727e1b8fceb129f56a84d510a8c3c3a52b0c635ba9cccbeac28ba39933b
MD5 c97b969bb518932d2544aa1ee3bc6a12
BLAKE2b-256 0c178af3c5a715d3c1b62ecd337582f4b614b9eabba8a923801a7be75a1eb7b4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page