UNPKG

@designliquido/delegua

Version:

Linguagem de programação simples e moderna usando português estruturado.

44 lines 2.8 kB
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