Protected
avaliarProtected
chamarFaz a chamada do método de uma primitiva (por exemplo, número, texto, etc.) com seus respectivos argumentos.
A expressão de chamada.
O método da primitiva chamado.
O resultado da chamada do método da primitiva.
Efetivamente executa uma declaração.
A declaração a ser executada.
Se resultado deve ser mostrado ou não. Normalmente usado pelo modo LAIR.
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.
Um vetor de declaracoes a ser executado.
Optional
ambiente: EspacoVariaveisO ambiente de execução quando houver, como parâmetros, argumentos, etc.
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.
Se verdadeiro, ambiente do topo da pilha de escopo é copiado para o ambiente imediatamente abaixo.
O resultado da execução do escopo, se houver.
Interpretação sem depurador, com medição de performance. Método que efetivamente inicia o processo de interpretação.
Um vetor de declarações gerado pelo Avaliador Sintático.
Se ambiente de execução (variáveis, classes, etc.) deve ser mantido. Normalmente usado pelo modo REPL (LAIR).
Um objeto com o resultado da interpretação.
Protected
procurarProtected
resolverProtected
resolverProtected
resolverResolve paraâmetros da chamada de acordo com o tipo da entidade chamada.
A entidade chamada.
Os parâmetros resolvidos.
Protected
retirarProtected
textoProtected
verificarProtected
verificarVerifica 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
).
O símbolo do operador.
O operando direito.
O operando esquerdo.
Se ambos os operandos são números ou não.
Executa uma declaração de classe.
Uma variável do tipo DeleguaClasse
é adicionada à pilha de escopos de execução.
A declaração de classe.
Sempre retorna nulo, por ser requerido pelo contrato de visita.
Construtos de comentários não têm utilidade para o Interpretador.
Apenas retornamos Promise.resolve()
para não termos erros.
A declaração de comentário.
Executa expressão de definição de constante.
A declaração Const
.
Sempre retorna nulo.
Executa expressão de definição de múltiplas constantes.
A declaração ConstMultiplo
.
Sempre retorna nulo.
Execução de uma escrita na saída configurada, que pode ser console
(padrão) ou
alguma função para escrever numa página Web.
A declaração.
Sempre nulo, por convenção de visita.
Execução de uma escrita na saída padrão, sem quebras de linha. Implementada para alguns dialetos, como VisuAlg.
A declaração.
Sempre nulo, por convenção de visita.
Executa uma expressão Se, que tem uma condição, pode ter um bloco Senão, e múltiplos blocos Senão-se.
A declaração Se.
O resultado da avaliação do bloco cuja condição é verdadeira.
Interpretação de uma declaração tente
.
O objeto da declaração.
Executa expressão de definição de variável.
A declaração Var
Sempre retorna nulo.
Executa expressão de definição de múltiplas variáveis.
A declaração VarMultiplo
.
Sempre retorna nulo.
Executa um acesso a método, normalmente de um objeto de classe.
A expressão de acesso.
O resultado da execução.
Optional
declaracao: ContinuaExecução de uma expressão de atribuição.
A expressão.
O valor atribuído.
Formata uma saída de acordo com o número e espaços e casas decimais solicitados.
A declaração de formatação de escrita.
A saída formatada como texto e os respectivos parâmetros aplicados.
Execução da leitura de valores da entrada configurada no início da aplicação.
Expressão do tipo Leia
Promise com o resultado da leitura.
Execução da leitura de valores da entrada configurada no início da aplicação.
Expressão do tipo LeiaMultiplo
.
Promise com o resultado da leitura.
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.
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.