@designliquido/delegua
    Preparing search index...

    Class InterpretadorBase

    O Interpretador visita todos os elementos complexos gerados pelo avaliador sintático (parser), e de fato executa a lógica de programação descrita no código. Este interpretador base é usado por Delégua e todos os seus dialetos, contendo somente os pontos em comum entre todas as linguagens.

    O Interpretador Base não contém dependências com o Node.js. É recomendado para uso em execuções que ocorrem no navegador de internet.

    Hierarchy (View Summary)

    Implements

    Index

    Constructors

    Properties

    Methods

    avaliacaoDeclaracaoVarOuConst avaliar avaliarArgumentosEscreva chamarMetodoPrimitiva eIgual eVerdadeiro executar executarBloco executarUltimoEscopo interpretar paraTexto procurarVariavel resolverArgumentosChamada resolverInterpolacoes retirarInterpolacao textoParaRegex verificarOperandoNumero verificarOperandosNumeros visitarDeclaracaoAleatorio visitarDeclaracaoCabecalhoPrograma visitarDeclaracaoClasse visitarDeclaracaoComentario visitarDeclaracaoConst visitarDeclaracaoConstMultiplo visitarDeclaracaoDeExpressao visitarDeclaracaoDefinicaoFuncao visitarDeclaracaoEnquanto visitarDeclaracaoEscolha visitarDeclaracaoEscreva visitarDeclaracaoEscrevaMesmaLinha visitarDeclaracaoFazer visitarDeclaracaoImportar visitarDeclaracaoInicioAlgoritmo visitarDeclaracaoPara visitarDeclaracaoParaCada visitarDeclaracaoSe visitarDeclaracaoTendoComo visitarDeclaracaoTente visitarDeclaracaoVar visitarDeclaracaoVarMultiplo visitarExpressaoAcessoElementoMatriz visitarExpressaoAcessoIndiceVariavel visitarExpressaoAcessoMetodo visitarExpressaoAcessoMetodoOuPropriedade visitarExpressaoAcessoPropriedade visitarExpressaoAgrupamento visitarExpressaoArgumentoReferenciaFuncao visitarExpressaoAtribuicaoPorIndice visitarExpressaoAtribuicaoPorIndicesMatriz visitarExpressaoBinaria visitarExpressaoBloco visitarExpressaoContinua visitarExpressaoDeAtribuicao visitarExpressaoDeChamada visitarExpressaoDefinirValor visitarExpressaoDeVariavel visitarExpressaoDicionario visitarExpressaoExpressaoRegular visitarExpressaoFalhar visitarExpressaoFimPara visitarExpressaoFormatacaoEscrita visitarExpressaoFuncaoConstruto visitarExpressaoIsto visitarExpressaoLeia visitarExpressaoLiteral visitarExpressaoLogica visitarExpressaoReferenciaFuncao visitarExpressaoRetornar visitarExpressaoSuper visitarExpressaoSustar visitarExpressaoTipoDe visitarExpressaoTupla visitarExpressaoUnaria visitarExpressaoVetor

    Constructors

    Properties

    declaracoes: Declaracao[]
    diretorioBase: string
    emDeclaracaoTente: boolean = false
    erros: ErroInterpretador[]
    expandirPropriedadesDeObjetosEmEspacoVariaveis: boolean
    funcaoDeRetorno: Function = null
    funcaoDeRetornoMesmaLinha: Function = null
    interfaceDeEntrada: any = null
    interfaceEntradaSaida: any = null
    microAvaliadorSintatico: MicroAvaliadorSintaticoBase = ...
    microLexador: MicroLexador = ...
    performance: boolean
    pilhaEscoposExecucao: PilhaEscoposExecucaoInterface
    regexInterpolacao: RegExp = ...
    requerDeclaracaoPropriedades: boolean
    resultadoInterpretador: string[] = []

    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.

      • entidadeChamada: 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.

    • 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: EspacoVariaveis

        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<any>

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

    • Resolve todas as interpolações em um texto.

      Parameters

      • textoOriginal: string

        O texto original com as variáveis interpoladas.

      • linha: number

      Returns Promise<any[]>

      Uma lista de variáveis interpoladas.

    • Retira a interpolação de um texto.

      Parameters

      • texto: string

        O texto

      • variaveis: any[]

        A lista de variaveis interpoladas

      Returns string

      O texto com o valor das variaveis.

    • Verifica se operandos são números, que podem ser tanto variáveis puras do JavaScript (neste caso, number), ou podem ser variáveis de Delégua com inferência (VariavelInterface).

      Parameters

      • operador: SimboloInterface

        O símbolo do operador.

      • direita: any

        O operando direito.

      • esquerda: any

        O operando esquerdo.

      Returns void

      Se ambos os operandos são números ou não.