@designliquido/delegua
    Preparing search index...

    Class Interpretador

    O interpretador de Delégua, usado também por Pituguês usando herança.

    InterpretadorPitugues

    Hierarchy (View Summary)

    Implements

    Index

    Constructors

    Properties

    Methods

    avaliacaoDeclaracaoVarOuConst avaliar avaliarArgumentosEscreva cederControle chamarMetodoPrimitiva eIgual encontrarMetodoExtensao eVerdadeiro executar executarBloco executarUltimoEscopo interpretar logicaComumExecucaoEnquanto logicaComumExecucaoFazer logicaComumExecucaoPara logicaComumExecucaoParaCada logicaContemOuEm paraTexto pontoInicializacaoBibliotecasGlobais procurarVariavel resolverArgumentosChamada resolverInterpolacoes resolverNomeObjectoAcessado resolverReferenciaMontao resolverValor resolverValorRecursivo retirarInterpolacao textoParaRegex verificarOperandoNumero verificarOperandosNumeros visitarDeclaracaoAjuda visitarDeclaracaoCabecalhoPrograma visitarDeclaracaoClasse visitarDeclaracaoComentario visitarDeclaracaoConst visitarDeclaracaoConstMultiplo visitarDeclaracaoDeExpressao visitarDeclaracaoDefinicaoFuncao visitarDeclaracaoEnquanto visitarDeclaracaoEscolha visitarDeclaracaoEscreva visitarDeclaracaoEscrevaMesmaLinha visitarDeclaracaoExtensao visitarDeclaracaoFazer visitarDeclaracaoImportar visitarDeclaracaoInicioAlgoritmo visitarDeclaracaoInterface visitarDeclaracaoPara visitarDeclaracaoParaCada visitarDeclaracaoSe visitarDeclaracaoTendoComo visitarDeclaracaoTente visitarDeclaracaoTextoDocumentacao visitarDeclaracaoVar visitarDeclaracaoVarMultiplo visitarExpressaoAcessoElementoMatriz visitarExpressaoAcessoIndiceVariavel visitarExpressaoAcessoIntervaloVariavel visitarExpressaoAcessoMetodo visitarExpressaoAcessoMetodoOuPropriedade visitarExpressaoAcessoPropriedade visitarExpressaoAgrupamento visitarExpressaoAjuda visitarExpressaoArgumentoReferenciaFuncao visitarExpressaoAtribuicaoPorIndice visitarExpressaoAtribuicaoPorIndicesMatriz visitarExpressaoBinaria visitarExpressaoBloco visitarExpressaoComentario visitarExpressaoContinua visitarExpressaoDeAtribuicao visitarExpressaoDeChamada visitarExpressaoDefinirValor visitarExpressaoDeVariavel visitarExpressaoDicionario visitarExpressaoElvis visitarExpressaoEnquanto visitarExpressaoExpressaoRegular visitarExpressaoFalhar visitarExpressaoFazer visitarExpressaoFimPara visitarExpressaoFormatacaoEscrita visitarExpressaoFuncaoConstruto visitarExpressaoImportar visitarExpressaoIsto visitarExpressaoLeia visitarExpressaoListaCompreensao visitarExpressaoLiteral visitarExpressaoLogica visitarExpressaoPara visitarExpressaoParaCada visitarExpressaoReferenciaFuncao visitarExpressaoRetornar visitarExpressaoSeparador visitarExpressaoSeTernario visitarExpressaoSuper visitarExpressaoSustar visitarExpressaoTipoDe visitarExpressaoTupla visitarExpressaoTuplaN visitarExpressaoUnaria visitarExpressaoVetor

    Constructors

    Properties

    acumularRetornos: boolean
    classeAtualEmExecucao: any = null

    Descritor da classe cujo método está sendo executado no momento. Nulo se fora de método de classe.

    declaracoes: Declaracao[]
    diretorioBase: string
    emDeclaracaoTente: boolean = false
    expandirPropriedadesDeObjetosEmEspacoMemoria: boolean
    extensoesGlobais: Map<string, Map<string, DeleguaFuncao>> = ...
    extensoesModulo: Map<number, Map<string, Map<string, DeleguaFuncao>>> = ...
    funcaoDeRetorno: Function = null
    funcaoDeRetornoMesmaLinha: Function = null
    hashArquivoDeclaracaoAtual: number
    interfaceDeEntrada: any = null
    interfaceEntradaSaida: any = null
    lancarErroPorDivisaoPorZero: boolean = false
    linhaDeclaracaoAtual: number
    microAvaliadorSintatico: MicroAvaliadorSintaticoBase = ...
    microLexador: MicroLexador = ...
    montao: Montao
    performance: boolean
    pilhaEscoposExecucao: PilhaEscoposExecucaoInterface
    regexInterpolacao: RegExp = ...
    requerDeclaracaoPropriedades: boolean
    resultadoInterpretador: ResultadoParcialInterpretadorInterface[] = []

    Methods

    • Faz a chamada do método de uma primitiva (por exemplo, número, texto, etc.) com seus respectivos argumentos.

      Parameters

      • expressao: Chamada

        A expressão de chamada.

      • metodoPrimitivaChamado: MetodoPrimitiva

        O método da primitiva chamado.

      Returns Promise<any>

      O resultado da chamada do método da primitiva.

    • Lógica para verificação de valores iguais, para Delégua e alguns dialetos.

      Parameters

      • esquerda: any

        Uma variável.

      • direita: any

        Outra variável.

      Returns boolean

      Verdadeiro se são iguais. Falso em caso contrário.

    • Procura um método de extensão nos registros de módulo e global, percorrendo os tipos na ordem indicada (específico antes de base).

      Parameters

      • tiposParaVerificar: string[]
      • nomeMetodo: string
      • hashArquivo: number

      Returns DeleguaFuncao

    • Empilha declarações na pilha de escopos de execução, cria um novo ambiente e executa as declarações empilhadas. Se o retorno do último bloco foi uma exceção (normalmente um erro em tempo de execução), atira a exceção daqui. Isso é usado, por exemplo, em blocos tente ... pegue ... finalmente.

      Parameters

      • declaracoes: Declaracao[]

        Um vetor de declaracoes a ser executado.

      • Optionalambiente: EspacoMemoria

        O ambiente de execução quando houver, como parâmetros, argumentos, etc.

      Returns Promise<any>

    • Executa o último escopo empilhado no topo na pilha de escopos do interpretador. Esse método pega exceções, mas apenas as devolve.

      O tratamento das exceções é feito de acordo com o bloco chamador. Por exemplo, em tente ... pegue ... finalmente, a exceção é capturada e tratada. Em outros blocos, pode ser desejável ter o erro em tela.

      Parameters

      • manterAmbiente: boolean = false

        Se verdadeiro, ambiente do topo da pilha de escopo é copiado para o ambiente imediatamente abaixo.

      Returns Promise<ResultadoParcialInterpretadorInterface>

      O resultado da execução do escopo, se houver.

    • Parameters

      • fazer: FazerInterface
      • acumularRetornos: boolean

      Returns Promise<{ tipo: string; valorRetornado: any[] }>

    • Parameters

      • para: ParaInterface
      • acumularRetornos: boolean

      Returns Promise<any>

    • Parameters

      • paraCada: ParaCadaInterface
      • acumularRetornos: boolean

      Returns Promise<any>

    • Cada dialeto que deriva deste interpretador conhece este ponto de inicialização. A partir daqui, cada dialeto pode carregar as bibliotecas globais específicas do seu dialeto.

      Returns void

    • Retira a interpolação de um texto.

      Parameters

      • texto: string

        O texto

      • interpolacoes: { expressaoInterpolacao: string; valor: any }[]

        A lista de interpolações a serem resolvidas.

      Returns string

      O texto com o valor das variáveis.