MCPcopy Index your code
hub / github.com/DesignLiquido/delegua

github.com/DesignLiquido/delegua @1.25.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.25.1 ↗ · + Follow
4,676 symbols 9,968 edges 484 files 301 documented · 6%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

delegua

Linguagem Delégua

Linguagem de programação 100% em português com suporte a múltiplos dialetos, como variações de Portugol (VisuAlg, Portugol Studio, Portugol IPT, Mapler), e outros (Pituguês, BIRL, Calango).</a>







<a href="https://designliquido.github.io/delegua-web/" target="_blank">Página Web com Interpretador Delégua para demonstrações</a>







<a href="https://designliquido.github.io/delegua-script/" target="_blank">Página Web com Delégua sendo executada dentro de tags script</a>







<img src="https://github.com/DesignLiquido/delegua/raw/1.25.1/recursos/imagens/badge-statements.svg" />
<img src="https://github.com/DesignLiquido/delegua/raw/1.25.1/recursos/imagens/badge-lines.svg" />
<img src="https://github.com/DesignLiquido/delegua/raw/1.25.1/recursos/imagens/badge-functions.svg" />
<img src="https://github.com/DesignLiquido/delegua/raw/1.25.1/recursos/imagens/badge-branches.svg" />
<a href="https://github.com/DesignLiquido/delegua/issues" target="_blank">
  <img src="https://img.shields.io/github/issues/Designliquido/delegua" />
</a>
<img src="https://img.shields.io/github/stars/Designliquido/delegua" />
<img src="https://img.shields.io/github/forks/Designliquido/delegua" />
<a href="https://www.npmjs.com/package/@designliquido/delegua" target="_blank">
  <img src="https://img.shields.io/npm/v/@designliquido/delegua" />
</a>
<img src="https://img.shields.io/npm/dw/@designliquido/delegua" />
<img src="https://img.shields.io/github/license/Designliquido/delegua" />







Acompanhe a Design Líquido nas redes sociais:







<a href="https://twitter.com/designliquido" target="_blank"><img src="https://img.shields.io/static/v1?style=for-the-badge&message=Twitter&color=1DA1F2&logo=Twitter&logoColor=FFFFFF&label=" /></a>
<a href="https://www.instagram.com/design.liquido" target="_blank"><img src="https://img.shields.io/static/v1?style=for-the-badge&message=Instagram&color=E4405F&logo=Instagram&logoColor=FFFFFF&label=" /></a>
<a href="https://www.youtube.com/channel/UCJRn3B7r0aex6LCaOyrQtZQ" target="_blank"><img src="https://img.shields.io/static/v1?style=for-the-badge&message=YouTube&color=FF0000&logo=YouTube&logoColor=FFFFFF&label=" /></a>
<a href="https://www.linkedin.com/company/design-liquido" target="_blank"><img src="https://img.shields.io/static/v1?style=for-the-badge&message=LinkedIn&color=0A66C2&logo=LinkedIn&logoColor=FFFFFF&label=" /></a>
<a href="https://www.tiktok.com/@designliquido" target="_blank"><img src="https://img.shields.io/static/v1?style=for-the-badge&message=TikTok&color=000000&logo=TikTok&logoColor=FFFFFF&label=" /></a>

Introdução

Delégua é uma linguagem de programação baseada na língua portuguesa, usada para fins educacionais e comerciais pela Design Líquido, cujo código começou como uma variação (fork) da linguagem Égua. A variação começou na versão 1.2.0 de Égua.

Delégua tem retrocompatibilidade parcial com a linguagem Égua e compreende sua extensão de arquivo (.egua), para aplicações por linha de comando. Em outras palavras, todo programa escrito em Égua funciona no dialeto de Delégua correspondente. No mais, Delégua se diferenciou substancialmente de Égua com o passar dos anos, e essas diferenças estão descritas em nossa documentação.

Motivação

Cenário brasileiro

Vantagens de programar em português

  • Acessibilidade e Compreensão: Programar em sua língua materna, como o português, torna os conceitos de programação mais acessíveis e fáceis de entender, especialmente para iniciantes, reduzindo a barreira de entrada para novos programadores.

  • Facilita o Aprendizado: A programação em português permite que os aprendizes concentrem-se nos conceitos de programação em vez de lidar com a barreira de um segundo idioma. Isso pode acelerar o processo de aprendizado, especialmente para pessoas que não têm fluência em inglês (ou 95% da população que possui o português como língua materna).

  • Melhor Comunicação e Documentação: Programar em seu idioma nativo leva a uma comunicação mais clara e eficaz com colegas e clientes locais. Além disso, a documentação em português é mais fácil de compreender e seguir.

  • Contribuição para a Identidade Cultural: Linguagens de programação em português contribuem para a preservação e fortalecimento da identidade cultural e linguística, promovendo o uso e a adoção do idioma em contextos tecnológicos.

  • Facilita a Localização de Erros: Programar em português pode tornar mais fácil a localização e correção de erros de código, uma vez que os desenvolvedores podem compreender rapidamente o contexto dos problemas.

Características

Delégua, a linguagem de programação totalmente em português, possui uma série de características que a tornam única e atraente:

Acessibilidade

  • Simples e Completa: Delégua é projetada para ser acessível a programadores de todos os níveis, desde iniciantes até experientes. Sua simplicidade e completude facilitam a aprendizagem.

  • Totalmente em Português: Uma característica distintiva é que Delégua é desenvolvida inteiramente em português (mesmo), tornando-a acessível e amigável para aqueles que querem aprender como uma linguagem de programação funciona internamente.

Tecnologia Moderna

  • Código aberto (open source): Delégua é uma linguagem de código aberto e gratuita, que é e sempre será licenciada sob a MIT License, permitindo o uso sem restrições em quaisquer outras aplicações.

  • Modularidade: A linguagem suporta a criação de módulos reutilizáveis, promovendo a organização e a manutenção do código.

  • Orientada a Objetos: Delégua oferece recursos completos de programação orientada a objetos, incluindo classes, objetos e herança.

  • Multidialetos. Delégua implementa dialetos de outras linguagens de programação em português populares em instâncias de ensino técnico e superior, como Portugol VisuAlg, Portugol Studio, Portugol Mapler e Portugol IPT. Esses dialetos podem estar implementados neste repositório, ou em outros repositórios da Design Líquido, e também são em código aberto.

Flexibilidade e Potencial

  • Depurável. Usando um editor com suporte à depuração como o Visual Studio Code, você pode inspecionar o seu programa, suas variáveis e executar linha por linha.

  • Portabilidade: Delégua é executável em qualquer dispositivo que interprete JavaScript, tornando-a versátil e compatível com diversos sistemas operacionais e qualquer navegador de internet.

  • Traduzibilidade: A capacidade de traduzir programas entre Delégua, Python e JavaScript aumenta a flexibilidade e as opções de desenvolvimento.

Aplicações

Instalação

Delégua executa em qualquer dispositivo que interprete JavaScript, ou seja, computadores, celulares e tablets. Você não precisa instalar nada se não quiser. Utilize uma das seguintes opções:

Para instalar no seu computador ou na sua aplicação, veja o projeto delegua-node.

Para usar dentro de uma página de internet, entre tags <script>, veja o projeto delegua-script.

Documentação

Compiladores

Delégua possui alguns compiladores implementados. Compiladores passam código Delégua para binário, gerando executáveis, cuja execução ocorre com a máxima performance possível.

Para este núcleo, alguns compiladores são tradutores de Delégua para certos assemblies (ou representações intermediárias), e que precisam de delegua-node ou alguma outra interface para funcionarem, como por exemplo, nossa extensão para VSCode e derivados. Os detalhes da utilização podem ser vistos nos respectivos projetos. Aqui são implementados tradutores para as seguintes arquiteturas de processador:

  • x64: NASM, YASM e FASM. Pode funcionar com MASM e GAS, mas requer algumas modificações pontuais na sintaxe de macros;
  • ARM: Linux e Android.

Já outros compiladores demandam uma infraestrutura de código mais robusta e são projetos separados, que ou usam este núcleo diretamente, ou usam a sintaxe implementada no núcleo de forma independente. São eles:

  • delegua-nativo, o compilador oficial da Design Líquido, independente de arquitetura de processador;
  • delegua-llvm, o compilador de código Delégua para LLVM, que pode ser usado para gerar código nativo para diversas arquiteturas de processador, incluindo x64 e ARM. É usado por delegua-nativo;
  • cgd (Compilador Geral Delégua). Documentação: https://fernandothedev.github.io/cgd/

Contribuições e Comunidade

Quem já Contribuiu

Extension points exported contracts — how you extend this code

LexadorInterface (Interface)
(no doc) [7 implementers]
fontes/interfaces/lexador-interface.ts
EscopoVariavel (Interface)
(no doc)
fontes/analisador-semantico/escopo-variavel.ts
ResultadoTeste (Interface)
(no doc)
fontes/bibliotecas/testes/registro-testes.ts
Python3Listener (Interface)
(no doc)
fontes/tradutores/python/python3-listener.ts
PontoParada (Interface)
(no doc)
fontes/depuracao/ponto-parada.ts
DespachadorFFIInterface (Interface)
(no doc)
fontes/ffi/despachador-ffi-interface.ts
ErroLexador (Interface)
(no doc)
fontes/lexador/erro-lexador.ts
ArgumentoInterface (Interface)
(no doc)
fontes/interpretador/argumento-interface.ts

Core symbols most depended-on inside this repo

analisar
called by 2873
fontes/interfaces/analisador-semantico-interface.ts
mapear
called by 2771
fontes/interfaces/lexador-interface.ts
interpretar
called by 1154
fontes/interfaces/interpretador-interface.ts
traduzir
called by 742
fontes/interfaces/tradutores/tradutor-interface.ts
verificarSeSimboloAtualEIgualA
called by 306
fontes/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.ts
consumir
called by 285
fontes/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.ts
avancarEDevolverAnterior
called by 253
fontes/avaliador-sintatico/dialetos/avaliador-sintatico-prisma.ts
aceitar
called by 234
fontes/interfaces/construtos/construto-interface.ts

Shape

Method 3,643
Class 584
Function 373
Interface 74
Enum 2

Languages

TypeScript100%

Modules by API surface

fontes/tradutores/python/python3-parser.ts1,040 symbols
fontes/avaliador-sintatico/avaliador-sintatico.ts104 symbols
fontes/interpretador/interpretador-base.ts97 symbols
fontes/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.ts88 symbols
fontes/interpretador/dialetos/egua-classico/resolvedor/resolvedor.ts84 symbols
fontes/formatadores/formatador-delegua.ts80 symbols
fontes/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.ts78 symbols
fontes/tradutores/tradutor-elixir.ts77 symbols
fontes/interpretador/dialetos/egua-classico/interpretador-egua-classico.ts77 symbols
fontes/analisador-semantico/analisador-semantico-base.ts77 symbols
fontes/tradutores/tradutor-assemblyscript.ts73 symbols
fontes/formatadores/formatador-pitugues.ts71 symbols

For agents

$ claude mcp add delegua \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact