Skip to content

Dialetos

Leonel Sanches da Silva edited this page Apr 10, 2022 · 27 revisions

Delégua possui um dialeto próprio, um pouco diferente de Égua, e implementa mais um dialeto que era parte de Égua, mas foi removido: EguaP. Por isso, temos suporte a vários dialetos.

Ao executar o pacote sem parâmetros, o dialeto padrão é iniciado:

delegua
delegua ./meu-arquivo.egua

Podemos especificar um dialeto na inicialização. Por exemplo:

delegua --dialeto egua

Especifica o dialeto original de Égua (também chamado de Égua Clássico). Podemos também especificar o uso de dialetos ao executar um arquivo.

delegua --dialeto egua ./meu-arquivo.egua

Para EguaP:

delegua --dialeto eguap

A extensão do arquivo também define automaticamente o dialeto:

delegua ./meu-arquivo.eguap

Égua Clássico

Esse dialeto segue à risca a implementação da linguagem original, Égua. Sua especificação pode ser lida aqui e sua implementação, aqui.

Mais do que isso, abaixo definimos, grosso modo, as principais diferenças entre este dialeto e Delégua:

  • Em Égua, ponto-e-vírgula é obrigatório ao final de cada expressão. Em Delégua, o ponto-e-vírgula é opcional;
  • Em Égua, expressões e declarações devem ser obrigatoriamente acentuadas. Por exemplo, Égua não aceita funcao ou senao. Precisa ser, respectivamente, função e senão. Delégua suporta as duas formas;
  • Operadores += (adição + atribuição), -= (subtração + atribuição), *= (multiplicação + atribuição) e /= (divisão + atribuição) não são suportados em Égua: apenas em Delégua;
  • Égua não suporta comentários multilinha, ou seja, começados por /* e finalizados por */. Apenas comentários de uma linha só são suportados. Delégua suporta comentários tanto de uma linha, começados por // quanto multilinhas.