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.4.tar.gz (18.1 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.4-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: meupia_core-1.1.4.tar.gz
  • Upload date:
  • Size: 18.1 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.4.tar.gz
Algorithm Hash digest
SHA256 95d30ad2f6ec4c543736e91695729dca3c1f9c8c8d5ff620b759109a1e32d37f
MD5 a12c7352f0dd9313c352e4c02738bdfb
BLAKE2b-256 4a2a97b71bf8d5acb1ab7e4b9fb6f0f85a9daf7aeaed43c0c496eb7ba9a3bbdb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: meupia_core-1.1.4-py3-none-any.whl
  • Upload date:
  • Size: 18.4 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 e0881c8b109e40775d7d987c756aa0a59133147d03c2c1c48ffe8e20a9610341
MD5 73c3cb2b23a976afc35aed91c4c8c9f8
BLAKE2b-256 82a83122aafb6129fcb56cd8a01b22de4bd40d3932f543af9c97aecbf7b67cbe

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