Skip to content
Samuel Renan Gonçalves Vaz edited this page Sep 15, 2023 · 24 revisions

Introdução

Égua

Égua é uma linguagem de programação nascida e mantida em Belém do Pará, Brasil. O principal objetivo da linguagem é auxiliar no aprendizado de lógica de programação em língua portuguesa, visto que todos os comandos da linguagem são feitos em português, fazendo com que os desenvolvedores que não possuem conhecimento da língua inglesa consigam entender de fato o código escrito.

Égua é uma linguagem em código aberto e gratuita para a utilização de todos. O site oficial é https://egua.dev.

Delégua

Delégua é uma variação da linguagem Égua patrocinada pela Design Líquido – empresa brasileira sediada em Curitiba, Paraná, Brasil. Seu principal objetivo começou sendo uma abordagem mais comercial em cima da linguagem Égua, com algumas capacidades adicionais, como trabalhar com o ecossistema Node.js e a composição das bibliotecas, que não fazem parte do núcleo da linguagem. Atualmente este repositório contém apenas o núcleo da linguagem, que é universal com qualquer modelo de JavaScript, seja no navegador de internet, seja em servidores. No entanto, a parte compatível com Node.js é feita em outra biblioteca, que utiliza a implementação deste repositório como base.

Mesmo com a abordagem mais comercial, a licença da linguagem é MIT, o que significa que a linguagem sempre foi e sempre será gratuita para qualquer uso. A ideia é apenas torná-la mais robusta, para o caso de aplicações grandes, escaláveis, com valor além do educacional.

Delégua começou tendo como base o código-fonte de Égua até a versão 1.2.0, quando nasceu, no começo de 2022, mas é radicalmente diferente na implementação. Toda a lógica da linguagem é traduzida ao máximo para o português, para também servir aos fins didáticos de como construir uma linguagem interpretada. Égua, até então, é implementada em cima de JavaScript. Delégua usa TypeScript e é mais modularizada.

Componentes internos

Delégua tem os seguintes componentes internos:

  • Um lexador, ou analisador léxico, que obtém todos os lexemas (ou radicais) do código e os transforma em tokens (ou símbolos), que são unidades de categorização de função linguística, como literais, variáveis, funções, classes etc.
  • Um parser, ou avaliador sintático, que confere todos os símbolos definidos pelo lexador e transforma-os em estruturas de alto nível, que serão usadas para a execução lógica do código.
  • Um interpretador, que efetivamente executa a lógica do código, visitando as estruturas de alto nível criadas pelo analisador sintático.
  • Um analisador semântico, que analisa a cadência do código após a avaliação sintática para sugerir ao usuário correções que podem ser feitas antes da execução do código;
  • Uma série de tradutores de linguagens para Delégua e de Delégua para linguagens.

O dialeto Égua Clássico possui um componente a mais que vive dentro do interpretador:

  • Resolvedor, que organiza a tabela de símbolos lógicos (literais, variáveis, funções, classes etc., por seus nomes) por distâncias de escopos.
    • Por exemplo, as variáveis de uma classe podem ser acessadas por seus métodos, mas as variáveis declaradas dentro de métodos não podem ser acessadas por outros métodos da mesma classe. Em outras palavras, o escopo dos métodos é mais restritivo que o escopo da classe à qual pertencem.
    • Todas as referências usadas pelo código, como acesso a objetos, métodos e variáveis, são intermediadas (ou resolvidas) pelo resolvedor.
    • Delégua e EguaP abandonaram o resolvedor na versão 0.6.0 conforme explicado aqui.

Mais detalhes podem ser encontrados aqui.

Mecanismo de interpretação

A interpretação e execução de código Delégua e demais dialetos é feita usando JavaScript, uma conhecida linguagem de programação usada pela indústria. Pela universalidade de sua implementação, temos a capacidade de executar código Delégua em qualquer navegador de internet ou em qualquer ambiente Node.js, em qualquer sistema operacional.

O código fonte de Delégua é escrito em TypeScript, um supergrupo de JavaScript, que é transpilado para JavaScript no momento em que uma nova versão de Delégua é lançada (empacotamento). Há também a interpretação direta em TypeScript quando desenvolvemos ou depuramos o motor da linguagem usando ts-node.

Aderência à Língua Portuguesa

Delégua adere à norma culta da Língua Portuguesa quanto a lexemas acentuados, mas também permite lexemas não acentuados por uma questão de acessibilidade. Certos equipamentos eletrônicos não permitem acentuação por uma série de motivos, e Delégua considera palavras reservadas com ou sem acentos equivalentes. Exemplos:

  • padrão e padrao;
  • senão e senao.

Primeiros passos

A forma mais fácil de usar Delégua é pela aplicação Delégua Web. Não é preciso instalar nada. No entanto, Delégua Web só executa um arquivo de cada vez, e o suporte a bibliotecas é reduzido.

Uma forma mais robusta de utilização é dentro do Visual Studio Code. Delégua vive dentro da extensão da Design Líquido. Basta instalar o Visual Studio Code e a extensão para ter suporte total a Delégua.

Uma terceira forma de utilização envolve a instalação do Node.js e o pacote de Delégua para Node.js. Programas podem ser executados por linha de comando. Mais informações podem ser encontradas aqui.

"Olá Mundo" em Delégua

Um programa "Olá Mundo" é escrito da seguinte forma em Delégua:

escreva("Olá Mundo")

Isso escreve na saída padrão do ambiente o texto "Olá Mundo". Em Delégua Web, a saída padrão é o painel ao lado direito:

image

No Visual Studio Code, a saída padrão é uma aba do painel inferior chamada "Console de Depuração".

image

Em um terminal ou prompt, a saída padrão é o próprio terminal.

image

Próximos Passos

A seguir, temos uma sugestão de quais tópicos seguir para um aprendizado sequencial da linguagem: