Linguagem de Script para .NET/Mono.
NPortugol é uma linguagem de programação para elaboração de scripts com sintaxe em língua portuguesa e utilização hospedada em aplicações nas plataformas .NET e Mono. Utiliza como base o paradigma de programação estruturada, priorizando a simplicidade na sua codificação e facilidade de aprendizado por usuários não profissionais. A linguagem inclui recursos de interoperabilidade entre o script e a plataforma .NET permitindo a utilização indireta da API nativa C#.
Utilize o ótimo editor Notepad++ para codificar e executar scripts. No link acima de downloads é possível baixar um zip com o NPP já configurado para executar NPortugol através do plugin NppExec.
É muito simples de incorporar e executar o motor da linguagem. Apenas instancie o motor, compile o script e execute a função desejada.
var motor = new Motor();
motor.Compilar(@"função fatorial(x)
se x == 0 retorne 1 fim
retorne fatorial(x - 1) * x
fim ");
var resultado = motor.Executar("fatorial", 10);
A integração com API da aplicação hospedeira é facilmente configurada. Você pode registrar um a um ou criar módulos para instalação de um conjunto de métodos da aplicação hospedeira como funções para o script.
var motor = new Motor();
motor.Hospedagem.Registrar("hoje", x => DateTime.Now.ToShortDateString());
motor.Compilar(@"função principal()
variável data
data = hoje()
fim");
motor.Executar();
Crie e teste funções NPortugol numa IDE para um rápido aprendizado da sintaxe.
Para interessados no funcionamento interno da linguagem. Visualize a árvore AST gerada pelo parser ANTLR. Compile e visualize o código gerado para o motor da linguagem.
O projeto está hospedado no GitHub e necessita de muitas melhorias e correções! Contribuições serão bem vindas! Você pode ajudar criando uma documentação adequada, otimizando a execução do motor ou construindo novos recursos na sintaxe da linguagem.