@designliquido/delegua
Version:
Linguagem de programação simples e moderna usando português estruturado.
44 lines • 2.8 kB
TypeScript
import { AcessoMetodo, AcessoMetodoOuPropriedade, AcessoIntervaloVariavel, TuplaN, AtribuicaoPorIndice, AcessoIndiceVariavel, TipoDe, Atribuir, DefinirValor, AcessoPropriedade, Morsa, Bote } from '../../../construtos';
import { Interpretador } from '../../interpretador';
import { EspacoMemoria } from '../../espaco-memoria';
import { Classe, Declaracao, ParaCada, Retorna } from '../../../declaracoes';
import { RetornoQuebra } from '../../../quebras';
import { DescritorTipoClasse } from '../../estruturas';
export declare class InterpretadorPitugues extends Interpretador {
constructor(diretorioBase: string, performance?: boolean, funcaoDeRetorno?: Function, funcaoDeRetornoMesmaLinha?: Function);
protected pontoInicializacaoBibliotecasGlobais(): void;
/**
* Sobrescreve `executarBloco` para marcar escopos de chamadas de função com
* `tipo: 'funcao'`. Quando `ambiente` é fornecido, a chamada vem de
* `DeleguaFuncao.chamar`, que repassa o espaço de memória dos parâmetros.
* Isso permite que `PilhaEscoposExecucaoPitugues` identifique fronteiras de
* função e aplique a semântica LEGB corretamente.
*/
executarBloco(declaracoes: Declaracao[], ambiente?: EspacoMemoria): Promise<any>;
visitarExpressaoAcessoMetodo(expressao: AcessoMetodo): Promise<any>;
visitarExpressaoAcessoMetodoOuPropriedade(expressao: AcessoMetodoOuPropriedade): Promise<any>;
visitarExpressaoAcessoPropriedade(expressao: AcessoPropriedade): Promise<any>;
visitarExpressaoAcessoIntervaloVariavel(expressao: AcessoIntervaloVariavel): Promise<any>;
visitarExpressaoTuplaN(expressao: TuplaN): Promise<any>;
visitarExpressaoDeAtribuicao(expressao: Atribuir): Promise<any>;
visitarExpressaoAtribuicaoPorIndice(expressao: AtribuicaoPorIndice): Promise<any>;
visitarExpressaoAcessoIndiceVariavel(expressao: AcessoIndiceVariavel): Promise<any>;
visitarExpressaoTipoDe(expressao: TipoDe): Promise<any>;
/**
* Normaliza o valor resolvido para um array iterável.
* Converte dicionários em listas de Duplas e strings em listas de caracteres.
*/
private prepararListaParaIteracao;
/**
* Resolve a lógica de atribuição das variáveis no escopo.
* Suporta variáveis simples ou pares (Dupla).
*/
private definirVariaveisIteracao;
visitarDeclaracaoParaCada(declaracao: ParaCada): Promise<any>;
visitarExpressaoRetornar(declaracao: Retorna): Promise<RetornoQuebra>;
visitarDeclaracaoClasse(declaracao: Classe): Promise<DescritorTipoClasse>;
visitarExpressaoDefinirValor(expressao: DefinirValor): Promise<any>;
visitarExpressaoMorsa(expressao: Morsa): Promise<any>;
visitarExpressaoBote(expressao: Bote): Promise<any>;
}
//# sourceMappingURL=interpretador-pitugues.d.ts.map